Sacha VAUDEY 537c2b01d1
Some checks failed
Build / build-check (pull_request) Failing after 2m2s
init new version
2025-09-13 18:23:10 +02:00

631 lines
1010 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/page"],{
/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
\*******************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(app-pages-browser)/./app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGaG9tZSUyRnNhaGFtb25lJTJGRG9jdW1lbnRzJTJGTGElMjBCYW5xdWlzZSUyRndlYnNpdGUtZnJvbnQlMkZiYW5xdWlzZS13ZWJzaXRlJTJGYXBwJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPWZhbHNlISIsIm1hcHBpbmdzIjoiQUFBQSxzSkFBcUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLz80ZWI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL2hvbWUvc2FoYW1vbmUvRG9jdW1lbnRzL0xhIEJhbnF1aXNlL3dlYnNpdGUtZnJvbnQvYmFucXVpc2Utd2Vic2l0ZS9hcHAvcGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/api/image.js":
/*!*********************************************!*\
!*** ./node_modules/next/dist/api/image.js ***!
\*********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a; }\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=image.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2ltYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1RDtBQUNWOztBQUU3QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcz9hMGFkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/api/image.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/build/polyfills/process.js ***!
\***********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === \"object\" ? __webpack_require__.g.process : __webpack_require__(/*! next/dist/compiled/process */ \"(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLHFDQUFxQyxxQkFBTSxpRkFBaUYscUJBQU0sa0VBQWtFLHFCQUFNLFdBQVcsbUJBQU8sQ0FBQyw0R0FBNEI7O0FBRXpQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanM/MDQ1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfZ2xvYmFsX3Byb2Nlc3MsIF9nbG9iYWxfcHJvY2VzczE7XG5tb2R1bGUuZXhwb3J0cyA9ICgoX2dsb2JhbF9wcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MuZW52KSAmJiB0eXBlb2YgKChfZ2xvYmFsX3Byb2Nlc3MxID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MxLmVudikgPT09IFwib2JqZWN0XCIgPyBnbG9iYWwucHJvY2VzcyA6IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvY2Vzcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/compiled/picomatch/index.js ***!
\************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("var __dirname = \"/\";\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcGljb21hdGNoL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxhQUFhLE9BQU8sY0FBYyxlQUFlLHFCQUFxQix1REFBdUQseUNBQXlDLGtDQUFrQyxVQUFVLE9BQU8sZ0JBQWdCLE9BQU8sV0FBVyxPQUFPLE9BQU8sb0JBQW9CLGNBQWMsZ0NBQWdDLGlEQUFpRCxHQUFHLDBCQUEwQixnQkFBZ0IsMkJBQTJCLG9CQUFvQixTQUFTLGdCQUFnQixhQUFhLEVBQUUsR0FBRyxjQUFjLGNBQWMsY0FBYyxjQUFjLGdCQUFnQixlQUFlLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFLEVBQUUsRUFBRSxHQUFHLGNBQWMsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLFlBQVksU0FBUyx3TUFBd00sU0FBUyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsSUFBSSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLFNBQVMseUxBQXlMLGFBQWEsRUFBRSw4RUFBOEUsV0FBVyxzRUFBc0UscURBQXFELHlDQUF5QyxnR0FBZ0csNEVBQTRFLHVDQUF1QyxtM0JBQW0zQixPQUFPLEtBQUssMENBQTBDLE9BQU8sR0FBRyxNQUFNLG1DQUFtQyxNQUFNLGtDQUFrQyxNQUFNLGtDQUFrQyxNQUFNLGlDQUFpQyxjQUFjLHNCQUFzQixlQUFlLGVBQWUsY0FBYyxNQUFNLHlHQUF5RyxHQUFHLDBCQUEwQixzQ0FBc0MsNkJBQTZCLFNBQVMsWUFBWSxZQUFZLEdBQUcsSUFBSSxjQUFjLFNBQVMsK0NBQStDLFVBQVUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSwrQkFBK0Isb0JBQW9CLHdCQUF3Qix5Q0FBeUMsVUFBVSxTQUFTLE1BQU0sZ0VBQWdFLGVBQWUsUUFBUSx1Q0FBdUMsRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLFNBQVMsMENBQTBDLFlBQVksMEJBQTBCLCtCQUErQiwwQkFBMEIsTUFBTSwwSkFBMEosR0FBRyxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVLFFBQVEsbUJBQW1CLGtCQUFrQixrQ0FBa0MsY0FBYyxNQUFNLEVBQUUsR0FBRywrQkFBK0Isb0JBQW9CLFNBQVMsdUtBQXVLLHNCQUFzQixXQUFXLFdBQVcsV0FBVyxXQUFXLFFBQVEsTUFBTSw0QkFBNEIsbUNBQW1DLHVDQUF1Qyx1Q0FBdUMsMkJBQTJCLGNBQWMsWUFBWSxpQkFBaUIsMENBQTBDLGtCQUFrQixrQkFBa0IsUUFBUSwyQ0FBMkMsSUFBSSxVQUFVLElBQUksWUFBWSxhQUFhLGVBQWUsVUFBVSxhQUFhLG9CQUFvQixPQUFPLFdBQVcsb0JBQW9CLE9BQU8sU0FBUyxlQUFlLHdCQUF3Qix5REFBeUQsd0VBQXdFLCtDQUErQyw0Q0FBNEMsY0FBYyxZQUFZLFdBQVcsb0JBQW9CLCtCQUErQiw2QkFBNkIsK0JBQStCLHdDQUF3QyxxQ0FBcUMsaUJBQWlCLE9BQU8sU0FBUyxVQUFVLEtBQUssMEJBQTBCLFNBQVMsK0JBQStCLFNBQVMsa0JBQWtCLGtCQUFrQixrQ0FBa0Msb0JBQW9CLE1BQU0sb0NBQW9DLEVBQUUsTUFBTSw2Q0FBNkMsRUFBRSxXQUFXLHVCQUF1QixpQ0FBaUMsTUFBTSxzQkFBc0IsUUFBUSxxREFBcUQsY0FBYyw0Q0FBNEMsaUJBQWlCLEVBQUUsRUFBRSxtRUFBbUUsaUJBQWlCLHFCQUFxQixTQUFTLGNBQWMsRUFBRSxHQUFHLEVBQUUsR0FBRyx3QkFBd0IsdUJBQXVCLE1BQU0sMkNBQTJDLEVBQUUscUJBQXFCLDBDQUEwQyxjQUFjLFlBQVksbUNBQW1DLGFBQWEsT0FBTyxTQUFTLFlBQVksTUFBTSxxQ0FBcUMsVUFBVSxtQ0FBbUMsMEJBQTBCLFlBQVksMEJBQTBCLFlBQVksTUFBTSxvQkFBb0IsU0FBUyxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsYUFBYSxzQkFBc0Isc0JBQXNCLEtBQUssMERBQTBELDZCQUE2QixXQUFXLFNBQVMsNkJBQTZCLFNBQVMsY0FBYyxNQUFNLGFBQWEsU0FBUyxhQUFhLFlBQVksMkJBQTJCLFNBQVMsa0JBQWtCLEdBQUcsU0FBUyxPQUFPLFFBQVEsTUFBTSxvQkFBb0IsRUFBRSxTQUFTLGlDQUFpQyxRQUFRLHFCQUFxQixjQUFjLFdBQVcsWUFBWSxTQUFTLHNCQUFzQixNQUFNLEtBQUssT0FBTyxtQkFBbUIsTUFBTSxvQkFBb0IsRUFBRSxVQUFVLDJEQUEyRCw2QkFBNkIseUJBQXlCLG9CQUFvQixhQUFhLG9CQUFvQixpQ0FBaUMsMkJBQTJCLDJCQUEyQixhQUFhLE1BQU0sWUFBWSxpQkFBaUIsSUFBSSxnQ0FBZ0MsV0FBVyxZQUFZLDJDQUEyQyxPQUFPLEVBQUUsRUFBRSw2Q0FBNkMsT0FBTyxFQUFFLEVBQUUsMkNBQTJDLE1BQU0sV0FBVyxRQUFRLFFBQVEsRUFBRSxTQUFTLDBCQUEwQixtQkFBbUIsV0FBVyxRQUFRLFFBQVEsRUFBRSxTQUFTLFlBQVksMEJBQTBCLHdCQUF3QixNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSxvQkFBb0IsTUFBTSxxQkFBcUIsRUFBRSxTQUFTLFlBQVksMENBQTBDLGtEQUFrRCxzQkFBc0IsNkJBQTZCLHNCQUFzQixTQUFTLE1BQU0sK0NBQStDLEVBQUUsb0JBQW9CLFNBQVMsWUFBWSxtREFBbUQsZ0RBQWdELGtEQUFrRCxPQUFPLEVBQUUsRUFBRSxLQUFLLHNCQUFzQixNQUFNLHVCQUF1QixFQUFFLFNBQVMsWUFBWSxrRUFBa0UsTUFBTSxnQ0FBZ0MsRUFBRSxFQUFFLEVBQUUsU0FBUyxtQkFBbUIsNEJBQTRCLGtEQUFrRCxNQUFNLGdDQUFnQyxFQUFFLEVBQUUsRUFBRSxTQUFTLHNCQUFzQix5QkFBeUIsaURBQWlELE1BQU0sRUFBRSxFQUFFLFdBQVcsUUFBUSxRQUFRLEVBQUUsa0RBQWtELFNBQVMsK0JBQStCLDJDQUEyQyw2QkFBNkIsWUFBWSxVQUFVLFNBQVMsWUFBWSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsR0FBRyxrQkFBa0IsU0FBUyxTQUFTLHFCQUFxQixvQkFBb0IsU0FBUyx5RkFBeUYsVUFBVSxRQUFRLFNBQVMsU0FBUyxHQUFHLHNCQUFzQix5QkFBeUIsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLFVBQVUsa0JBQWtCLGtCQUFrQixXQUFXLHFCQUFxQixLQUFLLEtBQUssUUFBUSx3QkFBd0IsTUFBTSx1QkFBdUIsdUJBQXVCLG1CQUFtQixpQkFBaUIsa0NBQWtDLHdDQUF3QyxzQ0FBc0MscUJBQXFCLEVBQUUsUUFBUSxFQUFFLFdBQVcsa0JBQWtCLDZCQUE2QixNQUFNLDhCQUE4QixFQUFFLG9CQUFvQixRQUFRLFNBQVMsWUFBWSxlQUFlLDJCQUEyQixNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSxRQUFRLHNCQUFzQixnQ0FBZ0MsYUFBYSxNQUFNLE1BQU0sOEJBQThCLEVBQUUsU0FBUyxZQUFZLHdDQUF3QyxrQkFBa0IsY0FBYyxZQUFZLFFBQVEsSUFBSSxTQUFTLE1BQU0sOEJBQThCLEVBQUUsU0FBUyxZQUFZLCtCQUErQiw0QkFBNEIsc0JBQXNCLGNBQWMsWUFBWSxXQUFXLFlBQVksU0FBUyw0REFBNEQsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLE1BQU0sNEJBQTRCLEVBQUUsU0FBUyxZQUFZLHlCQUF5QixrREFBa0QsdUJBQXVCLFNBQVMsd0JBQXdCLFlBQVksUUFBUSxpRkFBaUYsT0FBTyxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsRUFBRSxTQUFTLHFEQUFxRCxNQUFNLDhCQUE4QixFQUFFLFNBQVMsTUFBTSw4QkFBOEIsRUFBRSxTQUFTLFlBQVksa0NBQWtDLHFDQUFxQyx3QkFBd0IsVUFBVSxtQ0FBbUMsU0FBUyxVQUFVLFlBQVksOENBQThDLHNCQUFzQixTQUFTLHNDQUFzQyxNQUFNLDZCQUE2QixFQUFFLFNBQVMsNEVBQTRFLE1BQU0sb0JBQW9CLEVBQUUsU0FBUyxNQUFNLG9CQUFvQixFQUFFLFNBQVMsWUFBWSw4Q0FBOEMsTUFBTSx5Q0FBeUMsRUFBRSxTQUFTLE1BQU0sb0JBQW9CLEVBQUUsU0FBUyxZQUFZLHFCQUFxQixPQUFPLEVBQUUsRUFBRSw0QkFBNEIsTUFBTSxRQUFRLHFCQUFxQixNQUFNLG9CQUFvQixFQUFFLFNBQVMsNENBQTRDLGNBQWMsWUFBWSxXQUFXLFdBQVcsaUJBQWlCLGdCQUFnQixXQUFXLFNBQVMsa0JBQWtCLDBDQUEwQyxzQkFBc0IsU0FBUyxvQkFBb0Isd0JBQXdCLFdBQVcsU0FBUyxlQUFlLGVBQWUseUNBQXlDLGtEQUFrRCwwQ0FBMEMsTUFBTSw4QkFBOEIsRUFBRSxTQUFTLHlEQUF5RCxzREFBc0QsaUNBQWlDLE1BQU0sOEJBQThCLEVBQUUsU0FBUyw0QkFBNEIscUJBQXFCLGVBQWUsTUFBTSxhQUFhLGlCQUFpQiwwQkFBMEIsa0JBQWtCLFdBQVcscUJBQXFCLGtCQUFrQixnQkFBZ0IsV0FBVyxTQUFTLHFEQUFxRCx1REFBdUQsZUFBZSxTQUFTLEVBQUUsa0JBQWtCLGlEQUFpRCxXQUFXLGdCQUFnQiw0QkFBNEIsV0FBVyxTQUFTLHNEQUFzRCw4QkFBOEIsdURBQXVELGVBQWUsU0FBUyxFQUFFLGtCQUFrQixZQUFZLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLDRCQUE0QixnQkFBZ0IsZUFBZSxNQUFNLGlDQUFpQyxFQUFFLFNBQVMsK0JBQStCLGtCQUFrQixXQUFXLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxFQUFFLEVBQUUsR0FBRyxrQkFBa0IsZ0JBQWdCLGVBQWUsTUFBTSxpQ0FBaUMsRUFBRSxTQUFTLDRDQUE0QyxrQkFBa0IscUJBQXFCLFdBQVcsbUJBQW1CLGdCQUFnQixXQUFXLFNBQVMsU0FBUyw4QkFBOEIsa0JBQWtCLGVBQWUscUNBQXFDLG9CQUFvQixRQUFRLFNBQVMsOERBQThELFdBQVcsUUFBUSxTQUFTLHdEQUF3RCxtQkFBbUIsWUFBWSxZQUFZLHNCQUFzQixZQUFZLFlBQVksS0FBSyxZQUFZLFlBQVksY0FBYyxZQUFZLGFBQWEsUUFBUSxvQkFBb0IsNkVBQTZFLG9DQUFvQyxzQkFBc0Isa0JBQWtCLDZFQUE2RSxvQ0FBb0Msb0JBQW9CLGtCQUFrQix5RUFBeUUsSUFBSSxpQ0FBaUMsR0FBRyxvQkFBb0Isa0VBQWtFLE1BQU0sc0NBQXNDLEVBQUUsR0FBRyxFQUFFLHVCQUF1QixZQUFZLHlCQUF5QiwwQ0FBMEMsYUFBYSxxQkFBcUIsVUFBVSx3QkFBd0IsU0FBUyxNQUFNLGdFQUFnRSxpQkFBaUIsUUFBUSx1Q0FBdUMsRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLFVBQVUsTUFBTSwrR0FBK0csd0JBQXdCLGtCQUFrQixrQkFBa0IsMEJBQTBCLFNBQVMseUJBQXlCLDRCQUE0QixjQUFjLE1BQU0sRUFBRSxHQUFHLG1CQUFtQixnQ0FBZ0MsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsU0FBUyxpQkFBaUIsVUFBVSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSw4QkFBOEIsdUJBQXVCLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLGlDQUFpQyxhQUFhLHFCQUFxQixhQUFhLG1CQUFtQiw0QkFBNEIsZ0JBQWdCLDhCQUE4QixNQUFNLEVBQUUsR0FBRyxVQUFVLGdCQUFnQixlQUFlLGVBQWUsZUFBZSxjQUFjLGVBQWUsNERBQTRELGdDQUFnQyxxQkFBcUIscUNBQXFDLHVCQUF1QixrQkFBa0IsYUFBYSxjQUFjLGNBQWMsb0JBQW9CLHVDQUF1QyxvQ0FBb0MsaUVBQWlFLGNBQWMsa0JBQWtCLG9FQUFvRSxnQkFBZ0IsZUFBZSx3QkFBd0IsYUFBYSxTQUFTLDZDQUE2QyxrQ0FBa0MsNEJBQTRCLE1BQU0sMkJBQTJCLHVCQUF1QixlQUFlLEVBQUUsU0FBUyxtRUFBbUUsbUNBQW1DLGNBQWMsY0FBYyxnQkFBZ0IsaUJBQWlCLGlCQUFpQixtQ0FBbUMsY0FBYyxnQkFBZ0IsaUJBQWlCLGtDQUFrQyxhQUFhLGlCQUFpQixNQUFNLGdCQUFnQixnQkFBZ0IsdUJBQXVCLGVBQWUsR0FBRyxJQUFJLHdCQUF3QixxREFBcUQsV0FBVyxPQUFPLHlCQUF5QixjQUFjLDRDQUE0QyxZQUFZLGtCQUFrQixjQUFjLFdBQVcsUUFBUSxnQ0FBZ0MsMENBQTBDLCtCQUErQixLQUFLLGFBQWEsT0FBTyxzQ0FBc0MsOEJBQThCLG9EQUFvRCw4QkFBOEIsNkNBQTZDLHdCQUF3Qiw0REFBNEQsWUFBWSxxQkFBcUIsR0FBRyw2QkFBNkIsNENBQTRDLGFBQWEsZ0JBQWdCLGNBQWMsMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxTQUFTLEdBQUcsRUFBRSxFQUFFLHdCQUF3QixTQUFTLEVBQUUsTUFBTSwrQkFBK0IsYUFBYSxVQUFVLFVBQVUsd0JBQXdCLG9CQUFvQiw0QkFBNEIsbURBQW1ELE9BQU8sOEJBQThCLGtEQUFrRCwwQkFBMEIsY0FBYyxTQUFTLHFDQUFxQywwQkFBMEIsSUFBSSxjQUFjLGdEQUFnRCxTQUFTLDZCQUE2QixhQUFhLHNCQUFzQixvQkFBb0IsZUFBZSxjQUFjLE1BQU0sK1NBQStTLFFBQVEsc0NBQXNDLGdCQUFnQixzQkFBc0Isa0NBQWtDLG1CQUFtQixjQUFjLG1CQUFtQiwyQ0FBMkMsV0FBVyxXQUFXLFdBQVcsUUFBUSxTQUFTLFFBQVEsUUFBUSxZQUFZLFlBQVksWUFBWSxZQUFZLFlBQVksWUFBWSxZQUFZLFlBQVksWUFBWSxZQUFZLFFBQVEsTUFBTSxNQUFNLE9BQU8sK0JBQStCLG1CQUFtQixpQ0FBaUMsbUJBQW1CLElBQUksMEJBQTBCLFdBQVcsWUFBWSxNQUFNLFVBQVUscUJBQXFCLFlBQVksVUFBVSxPQUFPLFNBQVMsb0JBQW9CLElBQUksbUNBQW1DLFVBQVUscUJBQXFCLFVBQVUsU0FBUyxVQUFVLElBQUksU0FBUyx1Q0FBdUMsaUJBQWlCLGdCQUFnQixPQUFPLGFBQWEsU0FBUyxNQUFNLG9CQUFvQixpQkFBaUIsZ0JBQWdCLE9BQU8sYUFBYSxTQUFTLE1BQU0sVUFBVSxJQUFJLFVBQVUsUUFBUSxpQkFBaUIsT0FBTyxRQUFRLGFBQWEsU0FBUyxNQUFNLFVBQVUsVUFBVSxVQUFVLEdBQUcsK0JBQStCLHFCQUFxQixtQkFBbUIsS0FBSyxTQUFTLE1BQU0sU0FBUyxtQkFBbUIsMENBQTBDLHlCQUF5QixnQkFBZ0IsbUJBQW1CLE9BQU8saUJBQWlCLE9BQU8sYUFBYSxtQ0FBbUMsVUFBVSxxQkFBcUIsWUFBWSxTQUFTLFVBQVUsZ0JBQWdCLE9BQU8sT0FBTyxTQUFTLE9BQU8sVUFBVSw2QkFBNkIsZ0JBQWdCLE9BQU8sYUFBYSxTQUFTLE1BQU0sVUFBVSxnQkFBZ0IsT0FBTyxhQUFhLFNBQVMsTUFBTSxVQUFVLG1DQUFtQyxVQUFVLHFCQUFxQixVQUFVLFNBQVMsVUFBVSxtQkFBbUIsZ0JBQWdCLE9BQU8sT0FBTyxhQUFhLFNBQVMsTUFBTSxvQ0FBb0MsaUJBQWlCLElBQUksU0FBUyw0QkFBNEIsZ0JBQWdCLGFBQWEsbUNBQW1DLFVBQVUscUJBQXFCLFlBQVksU0FBUyxVQUFVLE9BQU8sT0FBTyxTQUFTLE1BQU0sYUFBYSxPQUFPLGFBQWEsU0FBUyxPQUFPLG1CQUFtQixRQUFRLFFBQVEsUUFBUSxTQUFTLFNBQVMsUUFBUSxlQUFlLGFBQWEsS0FBSyxxQkFBcUIsZUFBZSxhQUFhLGtCQUFrQixLQUFLLElBQUksS0FBSyxJQUFJLDhCQUE4Qiw4Q0FBOEMsaUJBQWlCLHNCQUFzQiw4QkFBOEIsZ0JBQWdCLDBCQUEwQixTQUFTLDJIQUEySCxvQkFBb0IsYUFBYSx3QkFBd0IsVUFBVSxXQUFXLG9DQUFvQyxNQUFNLFlBQVksV0FBVyxLQUFLLGdCQUFnQixhQUFhLHFCQUFxQixhQUFhLGlCQUFpQixtQkFBbUIsYUFBYSxLQUFLLGFBQWEsWUFBWSx1QkFBdUIsa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0IscUJBQXFCLFVBQVUsYUFBYSxzQkFBc0IscUJBQXFCLGlDQUFpQyxZQUFZLFVBQVUsVUFBVSxlQUFlLGNBQWMsTUFBTSw4RkFBOEYsUUFBUSwrREFBK0QsNkJBQTZCLGtEQUFrRCxxQ0FBcUMscUNBQXFDLHVEQUF1RCx1QkFBdUIsMkJBQTJCLG1CQUFtQiw4Q0FBOEMsU0FBUyxhQUFhLElBQUksV0FBVyxHQUFHLHNCQUFzQixJQUFJLFFBQVEsdUJBQXVCLGFBQWEsY0FBYyxVQUFVLG9CQUFvQixLQUFLLElBQUksMEJBQTBCLDBCQUEwQixTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUFxQixZQUFZLEVBQUUsT0FBTyxVQUFVLGVBQWUsVUFBVSxHQUFHLElBQUksK0JBQStCLHNCQUFzQixXQUFXLHFCQUFxQixZQUFZLFNBQVMsZ0NBQWdDLFdBQVcsa0JBQWtCLGlCQUFpQixZQUFZLFlBQVksV0FBVyxJQUFJLHNDQUFzQyxRQUFRLFFBQVEsaUJBQWlCLGlCQUFpQixtRUFBbUUsU0FBUyxLQUFLLCtCQUErQixpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9waWNvbWF0Y2gvaW5kZXguanM/ZTczZiJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgdD17MTcwOih0LGUsdSk9Pntjb25zdCBuPXUoNTEwKTtjb25zdCBpc1dpbmRvd3M9KCk9PntpZih0eXBlb2YgbmF2aWdhdG9yIT09XCJ1bmRlZmluZWRcIiYmbmF2aWdhdG9yLnBsYXRmb3JtKXtjb25zdCB0PW5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09XCJ3aW4zMlwifHx0PT09XCJ3aW5kb3dzXCJ9aWYodHlwZW9mIHByb2Nlc3MhPT1cInVuZGVmaW5lZFwiJiZwcm9jZXNzLnBsYXRmb3JtKXtyZXR1cm4gcHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIn1yZXR1cm4gZmFsc2V9O2Z1bmN0aW9uIHBpY29tYXRjaCh0LGUsdT1mYWxzZSl7aWYoZSYmKGUud2luZG93cz09PW51bGx8fGUud2luZG93cz09PXVuZGVmaW5lZCkpe2U9ey4uLmUsd2luZG93czppc1dpbmRvd3MoKX19cmV0dXJuIG4odCxlLHUpfU9iamVjdC5hc3NpZ24ocGljb21hdGNoLG4pO3QuZXhwb3J0cz1waWNvbWF0Y2h9LDE1NDp0PT57Y29uc3QgZT1cIlxcXFxcXFxcL1wiO2NvbnN0IHU9YFteJHtlfV1gO2NvbnN0IG49XCJcXFxcLlwiO2NvbnN0IG89XCJcXFxcK1wiO2NvbnN0IHM9XCJcXFxcP1wiO2NvbnN0IHI9XCJcXFxcL1wiO2NvbnN0IGE9XCIoPz0uKVwiO2NvbnN0IGk9XCJbXi9dXCI7Y29uc3QgYz1gKD86JHtyfXwkKWA7Y29uc3QgcD1gKD86Xnwke3J9KWA7Y29uc3QgbD1gJHtufXsxLDJ9JHtjfWA7Y29uc3QgZj1gKD8hJHtufSlgO2NvbnN0IEE9YCg/ISR7cH0ke2x9KWA7Y29uc3QgXz1gKD8hJHtufXswLDF9JHtjfSlgO2NvbnN0IFI9YCg/ISR7bH0pYDtjb25zdCBFPWBbXi4ke3J9XWA7Y29uc3QgaD1gJHtpfSo/YDtjb25zdCBnPVwiL1wiO2NvbnN0IGI9e0RPVF9MSVRFUkFMOm4sUExVU19MSVRFUkFMOm8sUU1BUktfTElURVJBTDpzLFNMQVNIX0xJVEVSQUw6cixPTkVfQ0hBUjphLFFNQVJLOmksRU5EX0FOQ0hPUjpjLERPVFNfU0xBU0g6bCxOT19ET1Q6ZixOT19ET1RTOkEsTk9fRE9UX1NMQVNIOl8sTk9fRE9UU19TTEFTSDpSLFFNQVJLX05PX0RPVDpFLFNUQVI6aCxTVEFSVF9BTkNIT1I6cCxTRVA6Z307Y29uc3QgQz17Li4uYixTTEFTSF9MSVRFUkFMOmBbJHtlfV1gLFFNQVJLOnUsU1RBUjpgJHt1fSo/YCxET1RTX1NMQVNIOmAke259ezEsMn0oPzpbJHtlfV18JClgLE5PX0RPVDpgKD8hJHtufSlgLE5PX0RPVFM6YCg/ISg/Ol58WyR7ZX1dKSR7bn17MSwyfSg/Olske2V9XXwkKSlgLE5PX0RPVF9TTEFTSDpgKD8hJHtufXswLDF9KD86WyR7ZX1dfCQpKWAsTk9fRE9UU19TTEFTSDpgKD8hJHtufXsxLDJ9KD86WyR7ZX1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2V9XWAsU1RBUlRfQU5DSE9SOmAoPzpefFske2V9XSlgLEVORF9BTkNIT1I6YCg/Olske2V9XXwkKWAsU0VQOlwiXFxcXFwifTtjb25zdCB5PXthbG51bTpcImEtekEtWjAtOVwiLGFscGhhOlwiYS16QS1aXCIsYXNjaWk6XCJcXFxceDAwLVxcXFx4N0ZcIixibGFuazpcIiBcXFxcdFwiLGNudHJsOlwiXFxcXHgwMC1cXFxceDFGXFxcXHg3RlwiLGRpZ2l0OlwiMC05XCIsZ3JhcGg6XCJcXFxceDIxLVxcXFx4N0VcIixsb3dlcjpcImEtelwiLHByaW50OlwiXFxcXHgyMC1cXFxceDdFIFwiLHB1bmN0OlwiXFxcXC0hXFxcIiMkJSYnKClcXFxcKissLi86Ozw9Pj9AW1xcXFxdXl9ge3x9flwiLHNwYWNlOlwiIFxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGZcIix1cHBlcjpcIkEtWlwiLHdvcmQ6XCJBLVphLXowLTlfXCIseGRpZ2l0OlwiQS1GYS1mMC05XCJ9O3QuZXhwb3J0cz17TUFYX0xFTkdUSDoxMDI0KjY0LFBPU0lYX1JFR0VYX1NPVVJDRTp5LFJFR0VYX0JBQ0tTTEFTSDovXFxcXCg/IVsqKz9eJHt9KHwpW1xcXV0pL2csUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlM6L15bXkAhW1xcXS4sJCorP157fSgpfFxcXFwvXSsvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6L1stKis/Ll4ke30ofClbXFxdXS8sUkVHRVhfU1BFQ0lBTF9DSEFSU19CQUNLUkVGOi8oXFxcXD8pKChcXFcpKFxcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXF1dKS9nLFJFR0VYX1JFTU9WRV9CQUNLU0xBU0g6Lyg/OlxcWy4qP1teXFxcXF1cXF18XFxcXCg/PS4pKS9nLFJFUExBQ0VNRU5UUzp7XCIqKipcIjpcIipcIixcIioqLyoqXCI6XCIqKlwiLFwiKiovKiovKipcIjpcIioqXCJ9LENIQVJfMDo0OCxDSEFSXzk6NTcsQ0hBUl9VUFBFUkNBU0VfQTo2NSxDSEFSX0xPV0VSQ0FTRV9BOjk3LENIQVJfVVBQRVJDQVNFX1o6OTAsQ0hBUl9MT1dFUkNBU0VfWjoxMjIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOjQwLENIQVJfUklHSFRfUEFSRU5USEVTRVM6NDEsQ0hBUl9BU1RFUklTSzo0MixDSEFSX0FNUEVSU0FORDozOCxDSEFSX0FUOjY0LENIQVJfQkFDS1dBUkRfU0xBU0g6OTIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46MTMsQ0hBUl9DSVJDVU1GTEVYX0FDQ0VOVDo5NCxDSEFSX0NPTE9OOjU4LENIQVJfQ09NTUE6NDQsQ0hBUl9ET1Q6NDYsQ0hBUl9ET1VCTEVfUVVPVEU6MzQsQ0hBUl9FUVVBTDo2MSxDSEFSX0VYQ0xBTUFUSU9OX01BUks6MzMsQ0hBUl9GT1JNX0ZFRUQ6MTIsQ0hBUl9GT1JXQVJEX1NMQVNIOjQ3LENIQVJfR1JBVkVfQUNDRU5UOjk2LENIQVJfSEFTSDozNSxDSEFSX0hZUEhFTl9NSU5VUzo0NSxDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDo2MCxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6MTIzLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDo5MSxDSEFSX0xJTkVfRkVFRDoxMCxDSEFSX05PX0JSRUFLX1NQQUNFOjE2MCxDSEFSX1BFUkNFTlQ6MzcsQ0hBUl9QTFVTOjQzLENIQVJfUVVFU1RJT05fTUFSSzo2MyxDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6NjIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToxMjUsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDo5MyxDSEFSX1NFTUlDT0xPTjo1OSxDSEFSX1NJTkdMRV9RVU9URTozOSxDSEFSX1NQQUNFOjMyLENIQVJfVEFCOjksQ0hBUl9VTkRFUlNDT1JFOjk1LENIQVJfVkVSVElDQUxfTElORToxMjQsQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0U6NjUyNzksZXh0Z2xvYkNoYXJzKHQpe3JldHVybntcIiFcIjp7dHlwZTpcIm5lZ2F0ZVwiLG9wZW46XCIoPzooPyEoPzpcIixjbG9zZTpgKSkke3QuU1RBUn0pYH0sXCI/XCI6e3R5cGU6XCJxbWFya1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIik/XCJ9LFwiK1wiOnt0eXBlOlwicGx1c1wiLG9wZW46XCIoPzpcIixjbG9zZTpcIikrXCJ9LFwiKlwiOnt0eXBlOlwic3RhclwiLG9wZW46XCIoPzpcIixjbG9zZTpcIikqXCJ9LFwiQFwiOnt0eXBlOlwiYXRcIixvcGVuOlwiKD86XCIsY2xvc2U6XCIpXCJ9fX0sZ2xvYkNoYXJzKHQpe3JldHVybiB0PT09dHJ1ZT9DOmJ9fX0sNjk3Oih0LGUsdSk9Pntjb25zdCBuPXUoMTU0KTtjb25zdCBvPXUoOTYpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6cixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzphLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjppLFJFUExBQ0VNRU5UUzpjfT1uO2NvbnN0IGV4cGFuZFJhbmdlPSh0LGUpPT57aWYodHlwZW9mIGUuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiBlLmV4cGFuZFJhbmdlKC4uLnQsZSl9dC5zb3J0KCk7Y29uc3QgdT1gWyR7dC5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cCh1KX1jYXRjaChlKXtyZXR1cm4gdC5tYXAoKHQ9Pm8uZXNjYXBlUmVnZXgodCkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHV9O2NvbnN0IHN5bnRheEVycm9yPSh0LGUpPT5gTWlzc2luZyAke3R9OiBcIiR7ZX1cIiAtIHVzZSBcIlxcXFxcXFxcJHtlfVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KHQsZSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX10PWNbdF18fHQ7Y29uc3QgdT17Li4uZX07Y29uc3QgcD10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7bGV0IGw9dC5sZW5ndGg7aWYobD5wKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke3B9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnUucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgXz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgUj1uLmdsb2JDaGFycyh1LndpbmRvd3MpO2NvbnN0IEU9bi5leHRnbG9iQ2hhcnMoUik7Y29uc3R7RE9UX0xJVEVSQUw6aCxQTFVTX0xJVEVSQUw6ZyxTTEFTSF9MSVRFUkFMOmIsT05FX0NIQVI6QyxET1RTX1NMQVNIOnksTk9fRE9UOiQsTk9fRE9UX1NMQVNIOngsTk9fRE9UU19TTEFTSDpTLFFNQVJLOkgsUU1BUktfTk9fRE9UOnYsU1RBUjpkLFNUQVJUX0FOQ0hPUjpMfT1SO2NvbnN0IGdsb2JzdGFyPXQ9PmAoJHtffSg/Oig/ISR7TH0ke3QuZG90P3k6aH0pLikqPylgO2NvbnN0IFQ9dS5kb3Q/XCJcIjokO2NvbnN0IE89dS5kb3Q/SDp2O2xldCBrPXUuYmFzaD09PXRydWU/Z2xvYnN0YXIodSk6ZDtpZih1LmNhcHR1cmUpe2s9YCgke2t9KWB9aWYodHlwZW9mIHUubm9leHQ9PT1cImJvb2xlYW5cIil7dS5ub2V4dGdsb2I9dS5ub2V4dH1jb25zdCBtPXtpbnB1dDp0LGluZGV4Oi0xLHN0YXJ0OjAsZG90OnUuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O3Q9by5yZW1vdmVQcmVmaXgodCxtKTtsPXQubGVuZ3RoO2NvbnN0IHc9W107Y29uc3QgTj1bXTtjb25zdCBJPVtdO2xldCBCPWY7bGV0IEc7Y29uc3QgZW9zPSgpPT5tLmluZGV4PT09bC0xO2NvbnN0IEQ9bS5wZWVrPShlPTEpPT50W20uaW5kZXgrZV07Y29uc3QgTT1tLmFkdmFuY2U9KCk9PnRbKyttLmluZGV4XXx8XCJcIjtjb25zdCByZW1haW5pbmc9KCk9PnQuc2xpY2UobS5pbmRleCsxKTtjb25zdCBjb25zdW1lPSh0PVwiXCIsZT0wKT0+e20uY29uc3VtZWQrPXQ7bS5pbmRleCs9ZX07Y29uc3QgYXBwZW5kPXQ9PnttLm91dHB1dCs9dC5vdXRwdXQhPW51bGw/dC5vdXRwdXQ6dC52YWx1ZTtjb25zdW1lKHQudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgdD0xO3doaWxlKEQoKT09PVwiIVwiJiYoRCgyKSE9PVwiKFwifHxEKDMpPT09XCI/XCIpKXtNKCk7bS5zdGFydCsrO3QrK31pZih0JTI9PT0wKXtyZXR1cm4gZmFsc2V9bS5uZWdhdGVkPXRydWU7bS5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9dD0+e21bdF0rKztJLnB1c2godCl9O2NvbnN0IGRlY3JlbWVudD10PT57bVt0XS0tO0kucG9wKCl9O2NvbnN0IHB1c2g9dD0+e2lmKEIudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgZT1tLmJyYWNlcz4wJiYodC50eXBlPT09XCJjb21tYVwifHx0LnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHU9dC5leHRnbG9iPT09dHJ1ZXx8dy5sZW5ndGgmJih0LnR5cGU9PT1cInBpcGVcInx8dC50eXBlPT09XCJwYXJlblwiKTtpZih0LnR5cGUhPT1cInNsYXNoXCImJnQudHlwZSE9PVwicGFyZW5cIiYmIWUmJiF1KXttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLm91dHB1dC5sZW5ndGgpO0IudHlwZT1cInN0YXJcIjtCLnZhbHVlPVwiKlwiO0Iub3V0cHV0PWs7bS5vdXRwdXQrPUIub3V0cHV0fX1pZih3Lmxlbmd0aCYmdC50eXBlIT09XCJwYXJlblwiKXt3W3cubGVuZ3RoLTFdLmlubmVyKz10LnZhbHVlfWlmKHQudmFsdWV8fHQub3V0cHV0KWFwcGVuZCh0KTtpZihCJiZCLnR5cGU9PT1cInRleHRcIiYmdC50eXBlPT09XCJ0ZXh0XCIpe0Iub3V0cHV0PShCLm91dHB1dHx8Qi52YWx1ZSkrdC52YWx1ZTtCLnZhbHVlKz10LnZhbHVlO3JldHVybn10LnByZXY9QjtBLnB1c2godCk7Qj10fTtjb25zdCBleHRnbG9iT3Blbj0odCxlKT0+e2NvbnN0IG49ey4uLkVbZV0sY29uZGl0aW9uczoxLGlubmVyOlwiXCJ9O24ucHJldj1CO24ucGFyZW5zPW0ucGFyZW5zO24ub3V0cHV0PW0ub3V0cHV0O2NvbnN0IG89KHUuY2FwdHVyZT9cIihcIjpcIlwiKStuLm9wZW47aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6dCx2YWx1ZTplLG91dHB1dDptLm91dHB1dD9cIlwiOkN9KTtwdXNoKHt0eXBlOlwicGFyZW5cIixleHRnbG9iOnRydWUsdmFsdWU6TSgpLG91dHB1dDpvfSk7dy5wdXNoKG4pfTtjb25zdCBleHRnbG9iQ2xvc2U9dD0+e2xldCBuPXQuY2xvc2UrKHUuY2FwdHVyZT9cIilcIjpcIlwiKTtsZXQgbztpZih0LnR5cGU9PT1cIm5lZ2F0ZVwiKXtsZXQgcz1rO2lmKHQuaW5uZXImJnQuaW5uZXIubGVuZ3RoPjEmJnQuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKXtzPWdsb2JzdGFyKHUpfWlmKHMhPT1rfHxlb3MoKXx8L15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpe249dC5jbG9zZT1gKSQpKSR7c31gfWlmKHQuaW5uZXIuaW5jbHVkZXMoXCIqXCIpJiYobz1yZW1haW5pbmcoKSkmJi9eXFwuW15cXFxcLy5dKyQvLnRlc3Qobykpe2NvbnN0IHU9cGFyc2Uobyx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KS5vdXRwdXQ7bj10LmNsb3NlPWApJHt1fSkke3N9KWB9aWYodC5wcmV2LnR5cGU9PT1cImJvc1wiKXttLm5lZ2F0ZWRFeHRnbG9iPXRydWV9fXB1c2goe3R5cGU6XCJwYXJlblwiLGV4dGdsb2I6dHJ1ZSx2YWx1ZTpHLG91dHB1dDpufSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpfTtpZih1LmZhc3RwYXRocyE9PWZhbHNlJiYhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdCh0KSl7bGV0IG49ZmFsc2U7bGV0IHM9dC5yZXBsYWNlKGksKCh0LGUsdSxvLHMscik9PntpZihvPT09XCJcXFxcXCIpe249dHJ1ZTtyZXR1cm4gdH1pZihvPT09XCI/XCIpe2lmKGUpe3JldHVybiBlK28rKHM/SC5yZXBlYXQocy5sZW5ndGgpOlwiXCIpfWlmKHI9PT0wKXtyZXR1cm4gTysocz9ILnJlcGVhdChzLmxlbmd0aCk6XCJcIil9cmV0dXJuIEgucmVwZWF0KHUubGVuZ3RoKX1pZihvPT09XCIuXCIpe3JldHVybiBoLnJlcGVhdCh1Lmxlbmd0aCl9aWYobz09PVwiKlwiKXtpZihlKXtyZXR1cm4gZStvKyhzP2s6XCJcIil9cmV0dXJuIGt9cmV0dXJuIGU/dDpgXFxcXCR7dH1gfSkpO2lmKG49PT10cnVlKXtpZih1LnVuZXNjYXBlPT09dHJ1ZSl7cz1zLnJlcGxhY2UoL1xcXFwvZyxcIlwiKX1lbHNle3M9cy5yZXBsYWNlKC9cXFxcKy9nLCh0PT50Lmxlbmd0aCUyPT09MD9cIlxcXFxcXFxcXCI6dD9cIlxcXFxcIjpcIlwiKSl9fWlmKHM9PT10JiZ1LmNvbnRhaW5zPT09dHJ1ZSl7bS5vdXRwdXQ9dDtyZXR1cm4gbX1tLm91dHB1dD1vLndyYXBPdXRwdXQocyxtLGUpO3JldHVybiBtfXdoaWxlKCFlb3MoKSl7Rz1NKCk7aWYoRz09PVwiXFwwXCIpe2NvbnRpbnVlfWlmKEc9PT1cIlxcXFxcIil7Y29uc3QgdD1EKCk7aWYodD09PVwiL1wiJiZ1LmJhc2ghPT10cnVlKXtjb250aW51ZX1pZih0PT09XCIuXCJ8fHQ9PT1cIjtcIil7Y29udGludWV9aWYoIXQpe0crPVwiXFxcXFwiO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6R30pO2NvbnRpbnVlfWNvbnN0IGU9L15cXFxcKy8uZXhlYyhyZW1haW5pbmcoKSk7bGV0IG49MDtpZihlJiZlWzBdLmxlbmd0aD4yKXtuPWVbMF0ubGVuZ3RoO20uaW5kZXgrPW47aWYobiUyIT09MCl7Rys9XCJcXFxcXCJ9fWlmKHUudW5lc2NhcGU9PT10cnVlKXtHPU0oKX1lbHNle0crPU0oKX1pZihtLmJyYWNrZXRzPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9fWlmKG0uYnJhY2tldHM+MCYmKEchPT1cIl1cInx8Qi52YWx1ZT09PVwiW1wifHxCLnZhbHVlPT09XCJbXlwiKSl7aWYodS5wb3NpeCE9PWZhbHNlJiZHPT09XCI6XCIpe2NvbnN0IHQ9Qi52YWx1ZS5zbGljZSgxKTtpZih0LmluY2x1ZGVzKFwiW1wiKSl7Qi5wb3NpeD10cnVlO2lmKHQuaW5jbHVkZXMoXCI6XCIpKXtjb25zdCB0PUIudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO2NvbnN0IGU9Qi52YWx1ZS5zbGljZSgwLHQpO2NvbnN0IHU9Qi52YWx1ZS5zbGljZSh0KzIpO2NvbnN0IG49clt1XTtpZihuKXtCLnZhbHVlPWUrbjttLmJhY2t0cmFjaz10cnVlO00oKTtpZighZi5vdXRwdXQmJkEuaW5kZXhPZihCKT09PTEpe2Yub3V0cHV0PUN9Y29udGludWV9fX19aWYoRz09PVwiW1wiJiZEKCkhPT1cIjpcInx8Rz09PVwiLVwiJiZEKCk9PT1cIl1cIil7Rz1gXFxcXCR7R31gfWlmKEc9PT1cIl1cIiYmKEIudmFsdWU9PT1cIltcInx8Qi52YWx1ZT09PVwiW15cIikpe0c9YFxcXFwke0d9YH1pZih1LnBvc2l4PT09dHJ1ZSYmRz09PVwiIVwiJiZCLnZhbHVlPT09XCJbXCIpe0c9XCJeXCJ9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihtLnF1b3Rlcz09PTEmJkchPT0nXCInKXtHPW8uZXNjYXBlUmVnZXgoRyk7Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09J1wiJyl7bS5xdW90ZXM9bS5xdW90ZXM9PT0xPzA6MTtpZih1LmtlZXBRdW90ZXM9PT10cnVlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KX1jb250aW51ZX1pZihHPT09XCIoXCIpe2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpHfSk7Y29udGludWV9aWYoRz09PVwiKVwiKXtpZihtLnBhcmVucz09PTAmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCIoXCIpKX1jb25zdCB0PXdbdy5sZW5ndGgtMV07aWYodCYmbS5wYXJlbnM9PT10LnBhcmVucysxKXtleHRnbG9iQ2xvc2Uody5wb3AoKSk7Y29udGludWV9cHVzaCh7dHlwZTpcInBhcmVuXCIsdmFsdWU6RyxvdXRwdXQ6bS5wYXJlbnM/XCIpXCI6XCJcXFxcKVwifSk7ZGVjcmVtZW50KFwicGFyZW5zXCIpO2NvbnRpbnVlfWlmKEc9PT1cIltcIil7aWYodS5ub2JyYWNrZXQ9PT10cnVlfHwhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKXtpZih1Lm5vYnJhY2tldCE9PXRydWUmJnUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJdXCIpKX1HPWBcXFxcJHtHfWB9ZWxzZXtpbmNyZW1lbnQoXCJicmFja2V0c1wiKX1wdXNoKHt0eXBlOlwiYnJhY2tldFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCJdXCIpe2lmKHUubm9icmFja2V0PT09dHJ1ZXx8QiYmQi50eXBlPT09XCJicmFja2V0XCImJkIudmFsdWUubGVuZ3RoPT09MSl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpgXFxcXCR7R31gfSk7Y29udGludWV9aWYobS5icmFja2V0cz09PTApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXt0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJvcGVuaW5nXCIsXCJbXCIpKX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkcsb3V0cHV0OmBcXFxcJHtHfWB9KTtjb250aW51ZX1kZWNyZW1lbnQoXCJicmFja2V0c1wiKTtjb25zdCB0PUIudmFsdWUuc2xpY2UoMSk7aWYoQi5wb3NpeCE9PXRydWUmJnRbMF09PT1cIl5cIiYmIXQuaW5jbHVkZXMoXCIvXCIpKXtHPWAvJHtHfWB9Qi52YWx1ZSs9RzthcHBlbmQoe3ZhbHVlOkd9KTtpZih1LmxpdGVyYWxCcmFja2V0cz09PWZhbHNlfHxvLmhhc1JlZ2V4Q2hhcnModCkpe2NvbnRpbnVlfWNvbnN0IGU9by5lc2NhcGVSZWdleChCLnZhbHVlKTttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC1CLnZhbHVlLmxlbmd0aCk7aWYodS5saXRlcmFsQnJhY2tldHM9PT10cnVlKXttLm91dHB1dCs9ZTtCLnZhbHVlPWU7Y29udGludWV9Qi52YWx1ZT1gKCR7X30ke2V9fCR7Qi52YWx1ZX0pYDttLm91dHB1dCs9Qi52YWx1ZTtjb250aW51ZX1pZihHPT09XCJ7XCImJnUubm9icmFjZSE9PXRydWUpe2luY3JlbWVudChcImJyYWNlc1wiKTtjb25zdCB0PXt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDpcIihcIixvdXRwdXRJbmRleDptLm91dHB1dC5sZW5ndGgsdG9rZW5zSW5kZXg6bS50b2tlbnMubGVuZ3RofTtOLnB1c2godCk7cHVzaCh0KTtjb250aW51ZX1pZihHPT09XCJ9XCIpe2NvbnN0IHQ9TltOLmxlbmd0aC0xXTtpZih1Lm5vYnJhY2U9PT10cnVlfHwhdCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHLG91dHB1dDpHfSk7Y29udGludWV9bGV0IGU9XCIpXCI7aWYodC5kb3RzPT09dHJ1ZSl7Y29uc3QgdD1BLnNsaWNlKCk7Y29uc3Qgbj1bXTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7QS5wb3AoKTtpZih0W2VdLnR5cGU9PT1cImJyYWNlXCIpe2JyZWFrfWlmKHRbZV0udHlwZSE9PVwiZG90c1wiKXtuLnVuc2hpZnQodFtlXS52YWx1ZSl9fWU9ZXhwYW5kUmFuZ2Uobix1KTttLmJhY2t0cmFjaz10cnVlfWlmKHQuY29tbWEhPT10cnVlJiZ0LmRvdHMhPT10cnVlKXtjb25zdCB1PW0ub3V0cHV0LnNsaWNlKDAsdC5vdXRwdXRJbmRleCk7Y29uc3Qgbj1tLnRva2Vucy5zbGljZSh0LnRva2Vuc0luZGV4KTt0LnZhbHVlPXQub3V0cHV0PVwiXFxcXHtcIjtHPWU9XCJcXFxcfVwiO20ub3V0cHV0PXU7Zm9yKGNvbnN0IHQgb2Ygbil7bS5vdXRwdXQrPXQub3V0cHV0fHx0LnZhbHVlfX1wdXNoKHt0eXBlOlwiYnJhY2VcIix2YWx1ZTpHLG91dHB1dDplfSk7ZGVjcmVtZW50KFwiYnJhY2VzXCIpO04ucG9wKCk7Y29udGludWV9aWYoRz09PVwifFwiKXtpZih3Lmxlbmd0aD4wKXt3W3cubGVuZ3RoLTFdLmNvbmRpdGlvbnMrK31wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHPT09XCIsXCIpe2xldCB0PUc7Y29uc3QgZT1OW04ubGVuZ3RoLTFdO2lmKGUmJklbSS5sZW5ndGgtMV09PT1cImJyYWNlc1wiKXtlLmNvbW1hPXRydWU7dD1cInxcIn1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTpHLG91dHB1dDp0fSk7Y29udGludWV9aWYoRz09PVwiL1wiKXtpZihCLnR5cGU9PT1cImRvdFwiJiZtLmluZGV4PT09bS5zdGFydCsxKXttLnN0YXJ0PW0uaW5kZXgrMTttLmNvbnN1bWVkPVwiXCI7bS5vdXRwdXQ9XCJcIjtBLnBvcCgpO0I9Zjtjb250aW51ZX1wdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpHLG91dHB1dDpifSk7Y29udGludWV9aWYoRz09PVwiLlwiKXtpZihtLmJyYWNlcz4wJiZCLnR5cGU9PT1cImRvdFwiKXtpZihCLnZhbHVlPT09XCIuXCIpQi5vdXRwdXQ9aDtjb25zdCB0PU5bTi5sZW5ndGgtMV07Qi50eXBlPVwiZG90c1wiO0Iub3V0cHV0Kz1HO0IudmFsdWUrPUc7dC5kb3RzPXRydWU7Y29udGludWV9aWYobS5icmFjZXMrbS5wYXJlbnM9PT0wJiZCLnR5cGUhPT1cImJvc1wiJiZCLnR5cGUhPT1cInNsYXNoXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6aH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJkb3RcIix2YWx1ZTpHLG91dHB1dDpofSk7Y29udGludWV9aWYoRz09PVwiP1wiKXtjb25zdCB0PUImJkIudmFsdWU9PT1cIihcIjtpZighdCYmdS5ub2V4dGdsb2IhPT10cnVlJiZEKCk9PT1cIihcIiYmRCgyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInFtYXJrXCIsRyk7Y29udGludWV9aWYoQiYmQi50eXBlPT09XCJwYXJlblwiKXtjb25zdCB0PUQoKTtsZXQgZT1HO2lmKEIudmFsdWU9PT1cIihcIiYmIS9bIT08Ol0vLnRlc3QodCl8fHQ9PT1cIjxcIiYmIS88KFshPV18XFx3Kz4pLy50ZXN0KHJlbWFpbmluZygpKSl7ZT1gXFxcXCR7R31gfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RyxvdXRwdXQ6ZX0pO2NvbnRpbnVlfWlmKHUuZG90IT09dHJ1ZSYmKEIudHlwZT09PVwic2xhc2hcInx8Qi50eXBlPT09XCJib3NcIikpe3B1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkcsb3V0cHV0OnZ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicW1hcmtcIix2YWx1ZTpHLG91dHB1dDpIfSk7Y29udGludWV9aWYoRz09PVwiIVwiKXtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJkQoKT09PVwiKFwiKXtpZihEKDIpIT09XCI/XCJ8fCEvWyE9PDpdLy50ZXN0KEQoMykpKXtleHRnbG9iT3BlbihcIm5lZ2F0ZVwiLEcpO2NvbnRpbnVlfX1pZih1Lm5vbmVnYXRlIT09dHJ1ZSYmbS5pbmRleD09PTApe25lZ2F0ZSgpO2NvbnRpbnVlfX1pZihHPT09XCIrXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7ZXh0Z2xvYk9wZW4oXCJwbHVzXCIsRyk7Y29udGludWV9aWYoQiYmQi52YWx1ZT09PVwiKFwifHx1LnJlZ2V4PT09ZmFsc2Upe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6RyxvdXRwdXQ6Z30pO2NvbnRpbnVlfWlmKEImJihCLnR5cGU9PT1cImJyYWNrZXRcInx8Qi50eXBlPT09XCJwYXJlblwifHxCLnR5cGU9PT1cImJyYWNlXCIpfHxtLnBhcmVucz4wKXtwdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOkd9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGx1c1wiLHZhbHVlOmd9KTtjb250aW51ZX1pZihHPT09XCJAXCIpe2lmKHUubm9leHRnbG9iIT09dHJ1ZSYmRCgpPT09XCIoXCImJkQoMikhPT1cIj9cIil7cHVzaCh7dHlwZTpcImF0XCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkd9KTtjb250aW51ZX1pZihHIT09XCIqXCIpe2lmKEc9PT1cIiRcInx8Rz09PVwiXlwiKXtHPWBcXFxcJHtHfWB9Y29uc3QgdD1hLmV4ZWMocmVtYWluaW5nKCkpO2lmKHQpe0crPXRbMF07bS5pbmRleCs9dFswXS5sZW5ndGh9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpHfSk7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiZ2xvYnN0YXJcInx8Qi5zdGFyPT09dHJ1ZSkpe0IudHlwZT1cInN0YXJcIjtCLnN0YXI9dHJ1ZTtCLnZhbHVlKz1HO0Iub3V0cHV0PWs7bS5iYWNrdHJhY2s9dHJ1ZTttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1sZXQgZT1yZW1haW5pbmcoKTtpZih1Lm5vZXh0Z2xvYiE9PXRydWUmJi9eXFwoW14/XS8udGVzdChlKSl7ZXh0Z2xvYk9wZW4oXCJzdGFyXCIsRyk7Y29udGludWV9aWYoQi50eXBlPT09XCJzdGFyXCIpe2lmKHUubm9nbG9ic3Rhcj09PXRydWUpe2NvbnN1bWUoRyk7Y29udGludWV9Y29uc3Qgbj1CLnByZXY7Y29uc3Qgbz1uLnByZXY7Y29uc3Qgcz1uLnR5cGU9PT1cInNsYXNoXCJ8fG4udHlwZT09PVwiYm9zXCI7Y29uc3Qgcj1vJiYoby50eXBlPT09XCJzdGFyXCJ8fG8udHlwZT09PVwiZ2xvYnN0YXJcIik7aWYodS5iYXNoPT09dHJ1ZSYmKCFzfHxlWzBdJiZlWzBdIT09XCIvXCIpKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1jb25zdCBhPW0uYnJhY2VzPjAmJihuLnR5cGU9PT1cImNvbW1hXCJ8fG4udHlwZT09PVwiYnJhY2VcIik7Y29uc3QgaT13Lmxlbmd0aCYmKG4udHlwZT09PVwicGlwZVwifHxuLnR5cGU9PT1cInBhcmVuXCIpO2lmKCFzJiZuLnR5cGUhPT1cInBhcmVuXCImJiFhJiYhaSl7cHVzaCh7dHlwZTpcInN0YXJcIix2YWx1ZTpHLG91dHB1dDpcIlwifSk7Y29udGludWV9d2hpbGUoZS5zbGljZSgwLDMpPT09XCIvKipcIil7Y29uc3QgdT10W20uaW5kZXgrNF07aWYodSYmdSE9PVwiL1wiKXticmVha31lPWUuc2xpY2UoMyk7Y29uc3VtZShcIi8qKlwiLDMpfWlmKG4udHlwZT09PVwiYm9zXCImJmVvcygpKXtCLnR5cGU9XCJnbG9ic3RhclwiO0IudmFsdWUrPUc7Qi5vdXRwdXQ9Z2xvYnN0YXIodSk7bS5vdXRwdXQ9Qi5vdXRwdXQ7bS5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoRyk7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJiFyJiZlb3MoKSl7bS5vdXRwdXQ9bS5vdXRwdXQuc2xpY2UoMCwtKG4ub3V0cHV0K0Iub3V0cHV0KS5sZW5ndGgpO24ub3V0cHV0PWAoPzoke24ub3V0cHV0fWA7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KSsodS5zdHJpY3RTbGFzaGVzP1wiKVwiOlwifCQpXCIpO0IudmFsdWUrPUc7bS5nbG9ic3Rhcj10cnVlO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDtjb25zdW1lKEcpO2NvbnRpbnVlfWlmKG4udHlwZT09PVwic2xhc2hcIiYmbi5wcmV2LnR5cGUhPT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe2NvbnN0IHQ9ZVsxXSE9PXZvaWQgMD9cInwkXCI6XCJcIjttLm91dHB1dD1tLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrQi5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtCLnR5cGU9XCJnbG9ic3RhclwiO0Iub3V0cHV0PWAke2dsb2JzdGFyKHUpfSR7Yn18JHtifSR7dH0pYDtCLnZhbHVlKz1HO20ub3V0cHV0Kz1uLm91dHB1dCtCLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHK00oKSk7cHVzaCh7dHlwZTpcInNsYXNoXCIsdmFsdWU6XCIvXCIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX1pZihuLnR5cGU9PT1cImJvc1wiJiZlWzBdPT09XCIvXCIpe0IudHlwZT1cImdsb2JzdGFyXCI7Qi52YWx1ZSs9RztCLm91dHB1dD1gKD86Xnwke2J9fCR7Z2xvYnN0YXIodSl9JHtifSlgO20ub3V0cHV0PUIub3V0cHV0O20uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEcrTSgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfW0ub3V0cHV0PW0ub3V0cHV0LnNsaWNlKDAsLUIub3V0cHV0Lmxlbmd0aCk7Qi50eXBlPVwiZ2xvYnN0YXJcIjtCLm91dHB1dD1nbG9ic3Rhcih1KTtCLnZhbHVlKz1HO20ub3V0cHV0Kz1CLm91dHB1dDttLmdsb2JzdGFyPXRydWU7Y29uc3VtZShHKTtjb250aW51ZX1jb25zdCBuPXt0eXBlOlwic3RhclwiLHZhbHVlOkcsb3V0cHV0Omt9O2lmKHUuYmFzaD09PXRydWUpe24ub3V0cHV0PVwiLio/XCI7aWYoQi50eXBlPT09XCJib3NcInx8Qi50eXBlPT09XCJzbGFzaFwiKXtuLm91dHB1dD1UK24ub3V0cHV0fXB1c2gobik7Y29udGludWV9aWYoQiYmKEIudHlwZT09PVwiYnJhY2tldFwifHxCLnR5cGU9PT1cInBhcmVuXCIpJiZ1LnJlZ2V4PT09dHJ1ZSl7bi5vdXRwdXQ9RztwdXNoKG4pO2NvbnRpbnVlfWlmKG0uaW5kZXg9PT1tLnN0YXJ0fHxCLnR5cGU9PT1cInNsYXNoXCJ8fEIudHlwZT09PVwiZG90XCIpe2lmKEIudHlwZT09PVwiZG90XCIpe20ub3V0cHV0Kz14O0Iub3V0cHV0Kz14fWVsc2UgaWYodS5kb3Q9PT10cnVlKXttLm91dHB1dCs9UztCLm91dHB1dCs9U31lbHNle20ub3V0cHV0Kz1UO0Iub3V0cHV0Kz1UfWlmKEQoKSE9PVwiKlwiKXttLm91dHB1dCs9QztCLm91dHB1dCs9Q319cHVzaChuKX13aGlsZShtLmJyYWNrZXRzPjApe2lmKHUuc3RyaWN0QnJhY2tldHM9PT10cnVlKXRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpO20ub3V0cHV0PW8uZXNjYXBlTGFzdChtLm91dHB1dCxcIltcIik7ZGVjcmVtZW50KFwiYnJhY2tldHNcIil9d2hpbGUobS5wYXJlbnM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiKVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwiKFwiKTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9d2hpbGUobS5icmFjZXM+MCl7aWYodS5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwifVwiKSk7bS5vdXRwdXQ9by5lc2NhcGVMYXN0KG0ub3V0cHV0LFwie1wiKTtkZWNyZW1lbnQoXCJicmFjZXNcIil9aWYodS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSYmKEIudHlwZT09PVwic3RhclwifHxCLnR5cGU9PT1cImJyYWNrZXRcIikpe3B1c2goe3R5cGU6XCJtYXliZV9zbGFzaFwiLHZhbHVlOlwiXCIsb3V0cHV0OmAke2J9P2B9KX1pZihtLmJhY2t0cmFjaz09PXRydWUpe20ub3V0cHV0PVwiXCI7Zm9yKGNvbnN0IHQgb2YgbS50b2tlbnMpe20ub3V0cHV0Kz10Lm91dHB1dCE9bnVsbD90Lm91dHB1dDp0LnZhbHVlO2lmKHQuc3VmZml4KXttLm91dHB1dCs9dC5zdWZmaXh9fX1yZXR1cm4gbX07cGFyc2UuZmFzdHBhdGhzPSh0LGUpPT57Y29uc3QgdT17Li4uZX07Y29uc3Qgcj10eXBlb2YgdS5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsdS5tYXhMZW5ndGgpOnM7Y29uc3QgYT10Lmxlbmd0aDtpZihhPnIpe3Rocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2F9LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7cn1gKX10PWNbdF18fHQ7Y29uc3R7RE9UX0xJVEVSQUw6aSxTTEFTSF9MSVRFUkFMOnAsT05FX0NIQVI6bCxET1RTX1NMQVNIOmYsTk9fRE9UOkEsTk9fRE9UUzpfLE5PX0RPVFNfU0xBU0g6UixTVEFSOkUsU1RBUlRfQU5DSE9SOmh9PW4uZ2xvYkNoYXJzKHUud2luZG93cyk7Y29uc3QgZz11LmRvdD9fOkE7Y29uc3QgYj11LmRvdD9SOkE7Y29uc3QgQz11LmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgeT17bmVnYXRlZDpmYWxzZSxwcmVmaXg6XCJcIn07bGV0ICQ9dS5iYXNoPT09dHJ1ZT9cIi4qP1wiOkU7aWYodS5jYXB0dXJlKXskPWAoJHskfSlgfWNvbnN0IGdsb2JzdGFyPXQ9PntpZih0Lm5vZ2xvYnN0YXI9PT10cnVlKXJldHVybiAkO3JldHVybmAoJHtDfSg/Oig/ISR7aH0ke3QuZG90P2Y6aX0pLikqPylgfTtjb25zdCBjcmVhdGU9dD0+e3N3aXRjaCh0KXtjYXNlXCIqXCI6cmV0dXJuYCR7Z30ke2x9JHskfWA7Y2FzZVwiLipcIjpyZXR1cm5gJHtpfSR7bH0keyR9YDtjYXNlXCIqLipcIjpyZXR1cm5gJHtnfSR7JH0ke2l9JHtsfSR7JH1gO2Nhc2VcIiovKlwiOnJldHVybmAke2d9JHskfSR7cH0ke2x9JHtifSR7JH1gO2Nhc2VcIioqXCI6cmV0dXJuIGcrZ2xvYnN0YXIodSk7Y2FzZVwiKiovKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHtsfSR7JH1gO2Nhc2VcIioqLyouKlwiOnJldHVybmAoPzoke2d9JHtnbG9ic3Rhcih1KX0ke3B9KT8ke2J9JHskfSR7aX0ke2x9JHskfWA7Y2FzZVwiKiovLipcIjpyZXR1cm5gKD86JHtnfSR7Z2xvYnN0YXIodSl9JHtwfSk/JHtpfSR7bH0keyR9YDtkZWZhdWx0Ontjb25zdCBlPS9eKC4qPylcXC4oXFx3KykkLy5leGVjKHQpO2lmKCFlKXJldHVybjtjb25zdCB1PWNyZWF0ZShlWzFdKTtpZighdSlyZXR1cm47cmV0dXJuIHUraStlWzJdfX19O2NvbnN0IHg9by5yZW1vdmVQcmVmaXgodCx5KTtsZXQgUz1jcmVhdGUoeCk7aWYoUyYmdS5zdHJpY3RTbGFzaGVzIT09dHJ1ZSl7Uys9YCR7cH0/YH1yZXR1cm4gU307dC5leHBvcnRzPXBhcnNlfSw1MTA6KHQsZSx1KT0+e2NvbnN0IG49dSg3MTYpO2NvbnN0IG89dSg2OTcpO2NvbnN0IHM9dSg5Nik7Y29uc3Qgcj11KDE1NCk7Y29uc3QgaXNPYmplY3Q9dD0+dCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtjb25zdCBwaWNvbWF0Y2g9KHQsZSx1PWZhbHNlKT0+e2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnBpY29tYXRjaCh0LGUsdSkpKTtjb25zdCBhcnJheU1hdGNoZXI9dD0+e2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHU9ZSh0KTtpZih1KXJldHVybiB1fXJldHVybiBmYWxzZX07cmV0dXJuIGFycmF5TWF0Y2hlcn1jb25zdCBuPWlzT2JqZWN0KHQpJiZ0LnRva2VucyYmdC5pbnB1dDtpZih0PT09XCJcInx8dHlwZW9mIHQhPT1cInN0cmluZ1wiJiYhbil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpfWNvbnN0IG89ZXx8e307Y29uc3Qgcz1vLndpbmRvd3M7Y29uc3Qgcj1uP3BpY29tYXRjaC5jb21waWxlUmUodCxlKTpwaWNvbWF0Y2gubWFrZVJlKHQsZSxmYWxzZSx0cnVlKTtjb25zdCBhPXIuc3RhdGU7ZGVsZXRlIHIuc3RhdGU7bGV0IGlzSWdub3JlZD0oKT0+ZmFsc2U7aWYoby5pZ25vcmUpe2NvbnN0IHQ9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2lzSWdub3JlZD1waWNvbWF0Y2goby5pZ25vcmUsdCx1KX1jb25zdCBtYXRjaGVyPSh1LG49ZmFsc2UpPT57Y29uc3R7aXNNYXRjaDppLG1hdGNoOmMsb3V0cHV0OnB9PXBpY29tYXRjaC50ZXN0KHUscixlLHtnbG9iOnQscG9zaXg6c30pO2NvbnN0IGw9e2dsb2I6dCxzdGF0ZTphLHJlZ2V4OnIscG9zaXg6cyxpbnB1dDp1LG91dHB1dDpwLG1hdGNoOmMsaXNNYXRjaDppfTtpZih0eXBlb2Ygby5vblJlc3VsdD09PVwiZnVuY3Rpb25cIil7by5vblJlc3VsdChsKX1pZihpPT09ZmFsc2Upe2wuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9sOmZhbHNlfWlmKGlzSWdub3JlZCh1KSl7aWYodHlwZW9mIG8ub25JZ25vcmU9PT1cImZ1bmN0aW9uXCIpe28ub25JZ25vcmUobCl9bC5pc01hdGNoPWZhbHNlO3JldHVybiBuP2w6ZmFsc2V9aWYodHlwZW9mIG8ub25NYXRjaD09PVwiZnVuY3Rpb25cIil7by5vbk1hdGNoKGwpfXJldHVybiBuP2w6dHJ1ZX07aWYodSl7bWF0Y2hlci5zdGF0ZT1hfXJldHVybiBtYXRjaGVyfTtwaWNvbWF0Y2gudGVzdD0odCxlLHUse2dsb2I6bixwb3NpeDpvfT17fSk9PntpZih0eXBlb2YgdCE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKX1pZih0PT09XCJcIil7cmV0dXJue2lzTWF0Y2g6ZmFsc2Usb3V0cHV0OlwiXCJ9fWNvbnN0IHI9dXx8e307Y29uc3QgYT1yLmZvcm1hdHx8KG8/cy50b1Bvc2l4U2xhc2hlczpudWxsKTtsZXQgaT10PT09bjtsZXQgYz1pJiZhP2EodCk6dDtpZihpPT09ZmFsc2Upe2M9YT9hKHQpOnQ7aT1jPT09bn1pZihpPT09ZmFsc2V8fHIuY2FwdHVyZT09PXRydWUpe2lmKHIubWF0Y2hCYXNlPT09dHJ1ZXx8ci5iYXNlbmFtZT09PXRydWUpe2k9cGljb21hdGNoLm1hdGNoQmFzZSh0LGUsdSxvKX1lbHNle2k9ZS5leGVjKGMpfX1yZXR1cm57aXNNYXRjaDpCb29sZWFuKGkpLG1hdGNoOmksb3V0cHV0OmN9fTtwaWNvbWF0Y2gubWF0Y2hCYXNlPSh0LGUsdSk9Pntjb25zdCBuPWUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpwaWNvbWF0Y2gubWFrZVJlKGUsdSk7cmV0dXJuIG4udGVzdChzLmJhc2VuYW1lKHQpKX07cGljb21hdGNoLmlzTWF0Y2g9KHQsZSx1KT0+cGljb21hdGNoKGUsdSkodCk7cGljb21hdGNoLnBhcnNlPSh0LGUpPT57aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHQ9PnBpY29tYXRjaC5wYXJzZSh0LGUpKSk7cmV0dXJuIG8odCx7Li4uZSxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KHQsZSk9Pm4odCxlKTtwaWNvbWF0Y2guY29tcGlsZVJlPSh0LGUsdT1mYWxzZSxuPWZhbHNlKT0+e2lmKHU9PT10cnVlKXtyZXR1cm4gdC5vdXRwdXR9Y29uc3Qgbz1lfHx7fTtjb25zdCBzPW8uY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCByPW8uY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgYT1gJHtzfSg/OiR7dC5vdXRwdXR9KSR7cn1gO2lmKHQmJnQubmVnYXRlZD09PXRydWUpe2E9YF4oPyEke2F9KS4qJGB9Y29uc3QgaT1waWNvbWF0Y2gudG9SZWdleChhLGUpO2lmKG49PT10cnVlKXtpLnN0YXRlPXR9cmV0dXJuIGl9O3BpY29tYXRjaC5tYWtlUmU9KHQsZT17fSx1PWZhbHNlLG49ZmFsc2UpPT57aWYoIXR8fHR5cGVvZiB0IT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1sZXQgcz17bmVnYXRlZDpmYWxzZSxmYXN0cGF0aHM6dHJ1ZX07aWYoZS5mYXN0cGF0aHMhPT1mYWxzZSYmKHRbMF09PT1cIi5cInx8dFswXT09PVwiKlwiKSl7cy5vdXRwdXQ9by5mYXN0cGF0aHModCxlKX1pZighcy5vdXRwdXQpe3M9byh0LGUpfXJldHVybiBwaWNvbWF0Y2guY29tcGlsZVJlKHMsZSx1LG4pfTtwaWNvbWF0Y2gudG9SZWdleD0odCxlKT0+e3RyeXtjb25zdCB1PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHQsdS5mbGFnc3x8KHUubm9jYXNlP1wiaVwiOlwiXCIpKX1jYXRjaCh0KXtpZihlJiZlLmRlYnVnPT09dHJ1ZSl0aHJvdyB0O3JldHVybi8kXi99fTtwaWNvbWF0Y2guY29uc3RhbnRzPXI7dC5leHBvcnRzPXBpY29tYXRjaH0sNzE2Oih0LGUsdSk9Pntjb25zdCBuPXUoOTYpO2NvbnN0e0NIQVJfQVNURVJJU0s6byxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpyLENIQVJfQ09NTUE6YSxDSEFSX0RPVDppLENIQVJfRVhDTEFNQVRJT05fTUFSSzpjLENIQVJfRk9SV0FSRF9TTEFTSDpwLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpsLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpfLENIQVJfUVVFU1RJT05fTUFSSzpSLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6RSxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmgsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpnfT11KDE1NCk7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPXQ9PnQ9PT1wfHx0PT09cjtjb25zdCBkZXB0aD10PT57aWYodC5pc1ByZWZpeCE9PXRydWUpe3QuZGVwdGg9dC5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPSh0LGUpPT57Y29uc3QgdT1lfHx7fTtjb25zdCBiPXQubGVuZ3RoLTE7Y29uc3QgQz11LnBhcnRzPT09dHJ1ZXx8dS5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IHk9W107Y29uc3QgJD1bXTtjb25zdCB4PVtdO2xldCBTPXQ7bGV0IEg9LTE7bGV0IHY9MDtsZXQgZD0wO2xldCBMPWZhbHNlO2xldCBUPWZhbHNlO2xldCBPPWZhbHNlO2xldCBrPWZhbHNlO2xldCBtPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBJPWZhbHNlO2xldCBCPWZhbHNlO2xldCBHPWZhbHNlO2xldCBEPTA7bGV0IE07bGV0IFA7bGV0IEs9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Yjtjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57TT1QO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxiKXtQPWFkdmFuY2UoKTtsZXQgdDtpZihQPT09cil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7aWYoUD09PWwpe3c9dHJ1ZX1jb250aW51ZX1pZih3PT09dHJ1ZXx8UD09PWwpe0QrKzt3aGlsZShlb3MoKSE9PXRydWUmJihQPWFkdmFuY2UoKSkpe2lmKFA9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWwpe0QrKztjb250aW51ZX1pZih3IT09dHJ1ZSYmUD09PWkmJihQPWFkdmFuY2UoKSk9PT1pKXtMPUsuaXNCcmFjZT10cnVlO089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKHchPT10cnVlJiZQPT09YSl7TD1LLmlzQnJhY2U9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2lmKEM9PT10cnVlKXtjb250aW51ZX1icmVha31pZihQPT09RSl7RC0tO2lmKEQ9PT0wKXt3PWZhbHNlO0w9Sy5pc0JyYWNlPXRydWU7Rz10cnVlO2JyZWFrfX19aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1wKXt5LnB1c2goSCk7JC5wdXNoKEspO0s9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKEc9PT10cnVlKWNvbnRpbnVlO2lmKE09PT1pJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfWQ9SCsxO2NvbnRpbnVlfWlmKHUubm9leHQhPT10cnVlKXtjb25zdCB0PVA9PT1ffHxQPT09c3x8UD09PW98fFA9PT1SfHxQPT09YztpZih0PT09dHJ1ZSYmcGVlaygpPT09Zil7Tz1LLmlzR2xvYj10cnVlO2s9Sy5pc0V4dGdsb2I9dHJ1ZTtHPXRydWU7aWYoUD09PWMmJkg9PT12KXtCPXRydWV9aWYoQz09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKFA9YWR2YW5jZSgpKSl7aWYoUD09PXIpe049Sy5iYWNrc2xhc2hlcz10cnVlO1A9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKFA9PT1oKXtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoUD09PW8pe2lmKE09PT1vKW09Sy5pc0dsb2JzdGFyPXRydWU7Tz1LLmlzR2xvYj10cnVlO0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoUD09PVIpe089Sy5pc0dsb2I9dHJ1ZTtHPXRydWU7aWYoQz09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKFA9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJih0PWFkdmFuY2UoKSkpe2lmKHQ9PT1yKXtOPUsuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYodD09PWcpe1Q9Sy5pc0JyYWNrZXQ9dHJ1ZTtPPUsuaXNHbG9iPXRydWU7Rz10cnVlO2JyZWFrfX1pZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYodS5ub25lZ2F0ZSE9PXRydWUmJlA9PT1jJiZIPT09dil7ST1LLm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYodS5ub3BhcmVuIT09dHJ1ZSYmUD09PWYpe089Sy5pc0dsb2I9dHJ1ZTtpZihDPT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoUD1hZHZhbmNlKCkpKXtpZihQPT09Zil7Tj1LLmJhY2tzbGFzaGVzPXRydWU7UD1hZHZhbmNlKCk7Y29udGludWV9aWYoUD09PWgpe0c9dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTz09PXRydWUpe0c9dHJ1ZTtpZihDPT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHUubm9leHQ9PT10cnVlKXtrPWZhbHNlO089ZmFsc2V9bGV0IFU9UztsZXQgWD1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtYPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7ZC09dn1pZihVJiZPPT09dHJ1ZSYmZD4wKXtVPVMuc2xpY2UoMCxkKTtGPVMuc2xpY2UoZCl9ZWxzZSBpZihPPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYodS51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJk49PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpYLGlucHV0OnQsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6TCxpc0JyYWNrZXQ6VCxpc0dsb2I6Tyxpc0V4dGdsb2I6ayxpc0dsb2JzdGFyOm0sbmVnYXRlZDpJLG5lZ2F0ZWRFeHRnbG9iOkJ9O2lmKHUudG9rZW5zPT09dHJ1ZSl7US5tYXhEZXB0aD0wO2lmKCFpc1BhdGhTZXBhcmF0b3IoUCkpeyQucHVzaChLKX1RLnRva2Vucz0kfWlmKHUucGFydHM9PT10cnVlfHx1LnRva2Vucz09PXRydWUpe2xldCBlO2ZvcihsZXQgbj0wO248eS5sZW5ndGg7bisrKXtjb25zdCBvPWU/ZSsxOnY7Y29uc3Qgcz15W25dO2NvbnN0IHI9dC5zbGljZShvLHMpO2lmKHUudG9rZW5zKXtpZihuPT09MCYmdiE9PTApeyRbbl0uaXNQcmVmaXg9dHJ1ZTskW25dLnZhbHVlPVh9ZWxzZXskW25dLnZhbHVlPXJ9ZGVwdGgoJFtuXSk7US5tYXhEZXB0aCs9JFtuXS5kZXB0aH1pZihuIT09MHx8ciE9PVwiXCIpe3gucHVzaChyKX1lPXN9aWYoZSYmZSsxPHQubGVuZ3RoKXtjb25zdCBuPXQuc2xpY2UoZSsxKTt4LnB1c2gobik7aWYodS50b2tlbnMpeyRbJC5sZW5ndGgtMV0udmFsdWU9bjtkZXB0aCgkWyQubGVuZ3RoLTFdKTtRLm1heERlcHRoKz0kWyQubGVuZ3RoLTFdLmRlcHRofX1RLnNsYXNoZXM9eTtRLnBhcnRzPXh9cmV0dXJuIFF9O3QuZXhwb3J0cz1zY2FufSw5NjoodCxlLHUpPT57Y29uc3R7UkVHRVhfQkFDS1NMQVNIOm4sUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDpvLFJFR0VYX1NQRUNJQUxfQ0hBUlM6cyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDpyfT11KDE1NCk7ZS5pc09iamVjdD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PT1cIm9iamVjdFwiJiYhQXJyYXkuaXNBcnJheSh0KTtlLmhhc1JlZ2V4Q2hhcnM9dD0+cy50ZXN0KHQpO2UuaXNSZWdleENoYXI9dD0+dC5sZW5ndGg9PT0xJiZlLmhhc1JlZ2V4Q2hhcnModCk7ZS5lc2NhcGVSZWdleD10PT50LnJlcGxhY2UocixcIlxcXFwkMVwiKTtlLnRvUG9zaXhTbGFzaGVzPXQ9PnQucmVwbGFjZShuLFwiL1wiKTtlLnJlbW92ZUJhY2tzbGFzaGVzPXQ9PnQucmVwbGFjZShvLCh0PT50PT09XCJcXFxcXCI/XCJcIjp0KSk7ZS5lc2NhcGVMYXN0PSh0LHUsbik9Pntjb25zdCBvPXQubGFzdEluZGV4T2YodSxuKTtpZihvPT09LTEpcmV0dXJuIHQ7aWYodFtvLTFdPT09XCJcXFxcXCIpcmV0dXJuIGUuZXNjYXBlTGFzdCh0LHUsby0xKTtyZXR1cm5gJHt0LnNsaWNlKDAsbyl9XFxcXCR7dC5zbGljZShvKX1gfTtlLnJlbW92ZVByZWZpeD0odCxlPXt9KT0+e2xldCB1PXQ7aWYodS5zdGFydHNXaXRoKFwiLi9cIikpe3U9dS5zbGljZSgyKTtlLnByZWZpeD1cIi4vXCJ9cmV0dXJuIHV9O2Uud3JhcE91dHB1dD0odCxlPXt9LHU9e30pPT57Y29uc3Qgbj11LmNvbnRhaW5zP1wiXCI6XCJeXCI7Y29uc3Qgbz11LmNvbnRhaW5zP1wiXCI6XCIkXCI7bGV0IHM9YCR7bn0oPzoke3R9KSR7b31gO2lmKGUubmVnYXRlZD09PXRydWUpe3M9YCg/Ol4oPyEke3N9KS4qJClgfXJldHVybiBzfTtlLmJhc2VuYW1lPSh0LHt3aW5kb3dzOmV9PXt9KT0+e2NvbnN0IHU9dC5zcGxpdChlPy9bXFxcXC9dLzpcIi9cIik7Y29uc3Qgbj11W3UubGVuZ3RoLTFdO2lmKG49PT1cIlwiKXtyZXR1cm4gdVt1Lmxlbmd0aC0yXX1yZXR1cm4gbn19fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHUpe3ZhciBuPWVbdV07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgbz1lW3VdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXt0W3VdKG8sby5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSBlW3VdfXJldHVybiBvLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTcwKTttb2R1bGUuZXhwb3J0cz11fSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/picomatch/index.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/compiled/process/browser.js ***!
\************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("var __dirname = \"/\";\n(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzcy9icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxZQUFZLE9BQU8sZ0JBQWdCLG1CQUFtQixNQUFNLE1BQU0sNEJBQTRCLG1EQUFtRCwrQkFBK0IscURBQXFELFlBQVksSUFBSSxtQ0FBbUMsYUFBYSxLQUFLLG9CQUFvQixTQUFTLG1CQUFtQixJQUFJLHFDQUFxQyxlQUFlLEtBQUssdUJBQXVCLFNBQVMsdUJBQXVCLElBQUksdUJBQXVCLG1CQUFtQix1QkFBdUIsMkNBQTJDLGFBQWEsdUJBQXVCLElBQUksY0FBYyxTQUFTLElBQUksd0JBQXdCLFNBQVMsMEJBQTBCLDRCQUE0QixxQkFBcUIsdUJBQXVCLGdEQUFnRCxlQUFlLHVCQUF1QixJQUFJLFlBQVksU0FBUyxJQUFJLHNCQUFzQixTQUFTLHdCQUF3QixTQUFTLFlBQVksTUFBTSxTQUFTLDJCQUEyQixXQUFXLE9BQU8sUUFBUSxhQUFhLGNBQWMsS0FBSyxLQUFLLGFBQWEsY0FBYyxzQkFBc0IsTUFBTSxPQUFPLGtDQUFrQyxPQUFPLGVBQWUsU0FBUyxJQUFJLEtBQUssYUFBYSxNQUFNLFlBQVksS0FBSyxXQUFXLE9BQU8sUUFBUSxtQkFBbUIsdUJBQXVCLG9DQUFvQyx1QkFBdUIsWUFBWSxtQkFBbUIsS0FBSyxxQkFBcUIsc0JBQXNCLHFCQUFxQix5QkFBeUIsbUJBQW1CLFdBQVcsYUFBYSw4QkFBOEIsaUNBQWlDLGtCQUFrQixlQUFlLFNBQVMsVUFBVSxhQUFhLGNBQWMsaUJBQWlCLFVBQVUsbUJBQW1CLFlBQVksV0FBVyxzQkFBc0IsMEJBQTBCLFlBQVksdUJBQXVCLDJCQUEyQix3QkFBd0IsVUFBVSxzQkFBc0IscURBQXFELGlCQUFpQixXQUFXLG9CQUFvQixtREFBbUQsbUJBQW1CLFlBQVksU0FBUyxnQ0FBZ0MsV0FBVyxrQkFBa0IsaUJBQWlCLFlBQVksWUFBWSxXQUFXLElBQUksc0NBQXNDLFFBQVEsUUFBUSxpQkFBaUIsaUJBQWlCLG1FQUFtRSxTQUFTLEtBQUssK0JBQStCLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvYnJvd3Nlci5qcz9hMDNjIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe3ZhciBlPXsyMjk6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5leHBvcnRzPXt9O3ZhciByO3ZhciBuO2Z1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiBzZXRUaW1lb3V0PT09XCJmdW5jdGlvblwiKXtyPXNldFRpbWVvdXR9ZWxzZXtyPWRlZmF1bHRTZXRUaW1vdXR9fWNhdGNoKGUpe3I9ZGVmYXVsdFNldFRpbW91dH10cnl7aWYodHlwZW9mIGNsZWFyVGltZW91dD09PVwiZnVuY3Rpb25cIil7bj1jbGVhclRpbWVvdXR9ZWxzZXtuPWRlZmF1bHRDbGVhclRpbWVvdXR9fWNhdGNoKGUpe249ZGVmYXVsdENsZWFyVGltZW91dH19KSgpO2Z1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYocj09PXNldFRpbWVvdXQpe3JldHVybiBzZXRUaW1lb3V0KGUsMCl9aWYoKHI9PT1kZWZhdWx0U2V0VGltb3V0fHwhcikmJnNldFRpbWVvdXQpe3I9c2V0VGltZW91dDtyZXR1cm4gc2V0VGltZW91dChlLDApfXRyeXtyZXR1cm4gcihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gci5jYWxsKHRoaXMsZSwwKX19fWZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfWlmKChuPT09ZGVmYXVsdENsZWFyVGltZW91dHx8IW4pJiZjbGVhclRpbWVvdXQpe249Y2xlYXJUaW1lb3V0O3JldHVybiBjbGVhclRpbWVvdXQoZSl9dHJ5e3JldHVybiBuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19dmFyIGk9W107dmFyIG89ZmFsc2U7dmFyIHU7dmFyIGE9LTE7ZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCl7aWYoIW98fCF1KXtyZXR1cm59bz1mYWxzZTtpZih1Lmxlbmd0aCl7aT11LmNvbmNhdChpKX1lbHNle2E9LTF9aWYoaS5sZW5ndGgpe2RyYWluUXVldWUoKX19ZnVuY3Rpb24gZHJhaW5RdWV1ZSgpe2lmKG8pe3JldHVybn12YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7bz10cnVlO3ZhciB0PWkubGVuZ3RoO3doaWxlKHQpe3U9aTtpPVtdO3doaWxlKCsrYTx0KXtpZih1KXt1W2FdLnJ1bigpfX1hPS0xO3Q9aS5sZW5ndGh9dT1udWxsO289ZmFsc2U7cnVuQ2xlYXJUaW1lb3V0KGUpfXQubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt0W3ItMV09YXJndW1lbnRzW3JdfX1pLnB1c2gobmV3IEl0ZW0oZSx0KSk7aWYoaS5sZW5ndGg9PT0xJiYhbyl7cnVuVGltZW91dChkcmFpblF1ZXVlKX19O2Z1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lO3RoaXMuYXJyYXk9dH1JdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfTt0LnRpdGxlPVwiYnJvd3NlclwiO3QuYnJvd3Nlcj10cnVlO3QuZW52PXt9O3QuYXJndj1bXTt0LnZlcnNpb249XCJcIjt0LnZlcnNpb25zPXt9O2Z1bmN0aW9uIG5vb3AoKXt9dC5vbj1ub29wO3QuYWRkTGlzdGVuZXI9bm9vcDt0Lm9uY2U9bm9vcDt0Lm9mZj1ub29wO3QucmVtb3ZlTGlzdGVuZXI9bm9vcDt0LnJlbW92ZUFsbExpc3RlbmVycz1ub29wO3QuZW1pdD1ub29wO3QucHJlcGVuZExpc3RlbmVyPW5vb3A7dC5wcmVwZW5kT25jZUxpc3RlbmVyPW5vb3A7dC5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119O3QuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZFwiKX07dC5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm5cIi9cIn07dC5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWRcIil9O3QudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgaT10W3JdPXtleHBvcnRzOnt9fTt2YXIgbz10cnVlO3RyeXtlW3JdKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO289ZmFsc2V9ZmluYWxseXtpZihvKWRlbGV0ZSB0W3JdfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oMjI5KTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/assets/Gitea_Logo.png":
/*!***********************************!*\
!*** ./src/assets/Gitea_Logo.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/Gitea_Logo.73e68077.png\",\"height\":1579,\"width\":2560,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FGitea_Logo.73e68077.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":5});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hc3NldHMvR2l0ZWFfTG9nby5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsME1BQTBNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hc3NldHMvR2l0ZWFfTG9nby5wbmc/NzM2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvR2l0ZWFfTG9nby43M2U2ODA3Ny5wbmdcIixcImhlaWdodFwiOjE1NzksXCJ3aWR0aFwiOjI1NjAsXCJibHVyRGF0YVVSTFwiOlwiL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGR2l0ZWFfTG9nby43M2U2ODA3Ny5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6NX07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/assets/Gitea_Logo.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/assets/banquise_server.svg":
/*!****************************************!*\
!*** ./src/assets/banquise_server.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/banquise_server.c100796f.svg\",\"height\":6000,\"width\":6000,\"blurWidth\":0,\"blurHeight\":0});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hc3NldHMvYmFucXVpc2Vfc2VydmVyLnN2ZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxpSEFBaUgiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2Fzc2V0cy9iYW5xdWlzZV9zZXJ2ZXIuc3ZnPzE3ZWUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL2JhbnF1aXNlX3NlcnZlci5jMTAwNzk2Zi5zdmdcIixcImhlaWdodFwiOjYwMDAsXCJ3aWR0aFwiOjYwMDAsXCJibHVyV2lkdGhcIjowLFwiYmx1ckhlaWdodFwiOjB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/assets/banquise_server.svg\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/assets/opencloud_logo_white.png":
/*!*********************************************!*\
!*** ./src/assets/opencloud_logo_white.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/opencloud_logo_white.2134cc99.png\",\"height\":800,\"width\":800,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fopencloud_logo_white.2134cc99.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hc3NldHMvb3BlbmNsb3VkX2xvZ29fd2hpdGUucG5nIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxDQUFDLDROQUE0TiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvYXNzZXRzL29wZW5jbG91ZF9sb2dvX3doaXRlLnBuZz9jNjI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9tZWRpYS9vcGVuY2xvdWRfbG9nb193aGl0ZS4yMTM0Y2M5OS5wbmdcIixcImhlaWdodFwiOjgwMCxcIndpZHRoXCI6ODAwLFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRm9wZW5jbG91ZF9sb2dvX3doaXRlLjIxMzRjYzk5LnBuZyZ3PTgmcT03MFwiLFwiYmx1cldpZHRoXCI6OCxcImJsdXJIZWlnaHRcIjo4fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/assets/opencloud_logo_white.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/assets/pelican.png":
/*!********************************!*\
!*** ./src/assets/pelican.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/pelican.d4e6f950.png\",\"height\":502,\"width\":497,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fpelican.d4e6f950.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hc3NldHMvcGVsaWNhbi5wbmciLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLENBQUMsa01BQWtNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hc3NldHMvcGVsaWNhbi5wbmc/ZjIzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvbWVkaWEvcGVsaWNhbi5kNGU2Zjk1MC5wbmdcIixcImhlaWdodFwiOjUwMixcIndpZHRoXCI6NDk3LFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRnBlbGljYW4uZDRlNmY5NTAucG5nJnc9OCZxPTcwXCIsXCJibHVyV2lkdGhcIjo4LFwiYmx1ckhlaWdodFwiOjh9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/assets/pelican.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/assets/wikijs.png":
/*!*******************************!*\
!*** ./src/assets/wikijs.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/wikijs.4b00d557.png\",\"height\":512,\"width\":512,\"blurDataURL\":\"/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fwikijs.4b00d557.png&w=8&q=70\",\"blurWidth\":8,\"blurHeight\":8});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hc3NldHMvd2lraWpzLnBuZyIsIm1hcHBpbmdzIjoiO0FBQUEsK0RBQWUsQ0FBQyxnTUFBZ00iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2Fzc2V0cy93aWtpanMucG5nP2YyMTUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1wic3JjXCI6XCIvX25leHQvc3RhdGljL21lZGlhL3dpa2lqcy40YjAwZDU1Ny5wbmdcIixcImhlaWdodFwiOjUxMixcIndpZHRoXCI6NTEyLFwiYmx1ckRhdGFVUkxcIjpcIi9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRndpa2lqcy40YjAwZDU1Ny5wbmcmdz04JnE9NzBcIixcImJsdXJXaWR0aFwiOjgsXCJibHVySGVpZ2h0XCI6OH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/assets/wikijs.png\n"));
/***/ }),
/***/ "(app-pages-browser)/./app/page.tsx":
/*!**********************!*\
!*** ./app/page.tsx ***!
\**********************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Page; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _src_App__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../src/App */ \"(app-pages-browser)/./src/App.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\nfunction Page() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_src_App__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/app/page.tsx\",\n lineNumber: 6,\n columnNumber: 10\n }, this);\n}\n_c = Page;\nvar _c;\n$RefreshReg$(_c, \"Page\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFDRztBQUViLFNBQVNFO0lBQ3RCLHFCQUFPLDhEQUFDRCxnREFBR0E7Ozs7O0FBQ2I7S0FGd0JDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2FwcC9wYWdlLnRzeD83NjAzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgQXBwIGZyb20gJy4uL3NyYy9BcHAnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBhZ2UoKSB7XG4gIHJldHVybiA8QXBwIC8+XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJBcHAiLCJQYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/page.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/client/image-component.js":
/*!**********************************************************!*\
!*** ./node_modules/next/dist/client/image-component.js ***!
\**********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]};\nif (typeof window === \"undefined\") {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!sizesInput || sizesInput === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n if (sizesInput === \"100vw\") {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n } else {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n if (Boolean(_react.use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, sizesInput, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized, sizesInput);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\n_c = ImagePreload;\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ltYWdlLWNvbXBvbmVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OzsrRUFhaUI7cURBQ1dBLENBQUEsQ0FBQUMsbUJBQUFBLENBQUE7eUNBWU87O3lDQUVWQSxtQkFBQUEsQ0FBQTs7O0FBTXpCLE1BQUFDLGVBQUEsY0FBQUMseUJBQTRDSCxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO0FBQzVDLDRDQUE4Qkc7QUFFOUIsTUFBSUMsWUFBT0MsME5BQXdCO0lBQy9CRSxPQUFBQSxXQUFtQkMsYUFBQUE7SUFDdkJELFdBQUFDLHFCQUFBO0FBbUJBO0FBQ0EsMEVBQWlEO0FBQ2pELGlEQUdFQztTQU1BQyxjQUFZQyxHQUFBQSxFQUFBQSxXQUFBQSxFQUFBQSxTQUFRLEVBQUFDLG9CQUFBLEVBQUFDLGVBQUEsRUFBQUMsV0FBQSxFQUFBQyxVQUFBO0lBQ3BCLE1BQUtKLE1BQU9BLE9BQUksZ0JBQWtCQSxJQUFLSyxHQUFBQTtRQUNyQyxDQUFBTCxPQUFBQSxHQUFBLHdCQUFBSyxLQUFBO1FBQ0Y7SUFDQUw7SUFDQUEsR0FBQSxtQkFBc0JBLEdBQUFBO0lBQ3RCTSxNQUFFQyxJQUFNLFlBQWVQLE1BQUFBLElBQUFRLE1BQUEsS0FBQUMsUUFBQUMsT0FBQTtXQUNyQixDQUFJLEtBQUtDLEdBQUFBLElBQUFBLENBQUFBO1lBQ1AsQ0FBQVgsSUFBQVcsYUFBQSxLQUFBWCxJQUFBWSxXQUFBLEVBQXdDO1lBQ3hDLHdDQUF1QjtZQUN2QjtZQUNBLHNDQUFzQjtZQUN0QjtZQUNBO1lBQ0Y7UUFDQTtZQUNFVixnQkFBZ0I7WUFDbEJBLGdCQUFBO1FBQ0E7WUFDRUosYUFBQSxnQkFBQUEsVUFBQWUsT0FBQSxFQUErQztZQUMvQywrQ0FBMEM7WUFDMUM7WUFDQSwyQ0FBd0I7WUFDeEJDLE1BQUFBLFFBQU9DLElBQUFBLE1BQWVDO21CQUFtQkMsY0FBVSxDQUFBRCxPQUFBO2dCQUFP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QTtRQUNiQyxlQUFTekIsYUFBQUEsT0FBQUE7UUFDVDBCLFNBQUFBO1FBQ0FUO1FBQ0ZBO0lBRUE7Ozt1QkFJWXhDLEdBQUFBLENBQUFBLEdBQUFBLFlBQWFmLEdBQUEsRUFBQWlFLGNBQUE7Z0JBQ2pCN0gsR0FBQUEsYUFBYXNIO2dCQUNiaEQsYUFBYWdELFFBQVFoRCxXQUFXO2dCQUNoQ3dELGFBQU1SLFFBQVloRCxXQUFBO2dCQUNsQjNFLE1BQUFBLFFBQVdBLElBQUFBO2dCQUNYRyxXQUFBQTtnQkFDQUMsc0JBQWlCQTtnQkFDakJ5RSxpQkFBZ0JBO2dCQUNoQnZFLGdCQUFZeUg7Z0JBQ1oxRCxZQUFLRSxNQUFBQSxLQUFBQTs7WUFHUm9EO29CQUVHcEMsUUFBQUEsR0FBYUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsY0FBQUE7Z0JBQ2JQLGFBQUFBOytCQUVBQTs7O0lBR1YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL3NyYy9jbGllbnQvaW1hZ2UtY29tcG9uZW50LnRzeD81MWUxIl0sIm5hbWVzIjpbIl8iLCJyZXF1aXJlIiwiX2ltYWdlbG9hZGVyIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwiX19ORVhUX0lNQUdFX09QVFMiLCJjb25maWdFbnYiLCJ3aW5kb3ciLCJlbnYiLCJnbG9iYWxUaGlzIiwiX19ORVhUX0lNQUdFX0lNUE9SVEVEIiwib25Mb2FkUmVmIiwiaGFuZGxlTG9hZGluZyIsImltZyIsIm9uTG9hZGluZ0NvbXBsZXRlUmVmIiwic2V0Qmx1ckNvbXBsZXRlIiwidW5vcHRpbWl6ZWQiLCJzaXplc0lucHV0Iiwic3JjIiwicCIsImNhdGNoIiwiZGVjb2RlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwYXJlbnRFbGVtZW50IiwiaXNDb25uZWN0ZWQiLCJjdXJyZW50IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJldmVudCIsIndyaXRhYmxlIiwidmFsdWUiLCJzdG9wcGVkIiwibmF0aXZlRXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiaXNEZWZhdWx0UHJldmVudGVkIiwiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCJwcmV2ZW50ZWQiLCJwZXJzaXN0IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcm9jZXNzIiwiZ2V0QXR0cmlidXRlIiwiVVJMIiwic2VhcmNoUGFyYW1zIiwiZ2V0Iiwid2lkdGhWaWV3cG9ydFJhdGlvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJpbm5lcldpZHRoIiwid2Fybk9uY2UiLCJfd2Fybm9uY2UiLCJvcmlnU3JjIiwidmFsaWQiLCJnZXRDb21wdXRlZFN0eWxlIiwicG9zaXRpb24iLCJtYXAiLCJTdHJpbmciLCJqb2luIiwid2lkdGhNb2RpZmllZCIsInRvU3RyaW5nIiwiaGVpZ2h0TW9kaWZpZWQiLCJCb29sZWFuIiwidXNlIiwiX3JlYWN0IiwiZmV0Y2hQcmlvcml0eSIsImZldGNocHJpb3JpdHkiLCJoZWlnaHQiLCJkZWNvZGluZyIsImNsYXNzTmFtZSIsInN0eWxlIiwic3JjU2V0Iiwic2l6ZXMiLCJyZXN0IiwiX2pzeHJ1bnRpbWUiLCJqc3giLCJnZXREeW5hbWljUHJvcHMiLCJsb2FkaW5nIiwiZGF0YS1uaW1nIiwicmVmIiwidXNlQ2FsbGJhY2siLCJmb3J3YXJkZWRSZWYiLCJvbkVycm9yIiwiY29uc29sZSIsImVycm9yIiwicGxhY2Vob2xkZXIiLCJvbkxvYWQiLCJzZXRTaG93QWx0VGV4dCIsIkltYWdlUHJlbG9hZCIsInBhcmFtIiwiaW1nQXR0cmlidXRlcyIsIm9wdHMiLCJhcyIsImltYWdlU3JjU2V0IiwiaW1hZ2VTaXplcyIsImNyb3NzT3JpZ2luIiwicmVmZXJyZXJQb2xpY3kiLCJpc0FwcFJvdXRlciIsIl9yZWFjdGRvbSIsImRlZmF1bHQiLCJwcmVsb2FkIiwiUmVhY3RET00iLCJfaGVhZCIsImxpbmsiLCJyZWwiLCJocmVmIiwidW5kZWZpbmVkIiwiSW1hZ2UiLCJ1c2VDb250ZXh0IiwicGFnZXNSb3V0ZXIiLCJSb3V0ZXJDb250ZXh0IiwiX3JvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiY29uZmlnQ29udGV4dCIsImNvbmZpZyIsInVzZU1lbW8iLCJfaW1hZ2Vjb25maWdjb250ZXh0c2hhcmVkcnVudGltZSIsIkltYWdlQ29uZmlnQ29udGV4dCIsImMiLCJfY19xdWFsaXRpZXMiLCJhbGxTaXplcyIsIl9pbWFnZWNvbmZpZyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImRldmljZVNpemVzIiwiYSIsImIiLCJzb3J0IiwicXVhbGl0aWVzIiwidXNlUmVmIiwidXNlRWZmZWN0Iiwib25Mb2FkaW5nQ29tcGxldGUiLCJzaG93QWx0VGV4dCIsInVzZVN0YXRlIiwibWV0YSIsImltZ01ldGEiLCJnZXRJbWdQcm9wcyIsImRlZmF1bHRMb2FkZXIiLCJfZ2V0aW1ncHJvcHMiLCJwcm9wcyIsImltZ0NvbmYiLCJibHVyQ29tcGxldGUiLCJJbWFnZUVsZW1lbnQiLCJmaWxsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/image-component.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js":
/*!*************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js ***!
\*************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AmpStateContext\", ({\n enumerable: true,\n get: function() {\n return AmpStateContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst AmpStateContext = _react.default.createContext({});\nif (true) {\n AmpStateContext.displayName = \"AmpStateContext\";\n} //# sourceMappingURL=amp-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O21EQUVhQTs7O2VBQUFBOzs7OzRFQUZLO0FBRVgsTUFBTUEsa0JBQXNDQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0FBRXhFLElBQUlDLElBQXlCLEVBQWM7SUFDekNILGdCQUFnQkksV0FBVyxHQUFHO0FBQ2hDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZS50cz85NjQxIl0sIm5hbWVzIjpbIkFtcFN0YXRlQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInByb2Nlc3MiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js":
/*!*******************************************************!*\
!*** ./node_modules/next/dist/shared/lib/amp-mode.js ***!
\*******************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9hbXAtbW9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQUFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFBWUMsS0FBQTtJQUFBLE1BQzFCQyxXQUFXLEtBQUssRUFDaEJDLFNBQVMsS0FBSyxFQUNkQyxXQUFXLEtBQUssRUFDakIsR0FKMkJILFVBQUEsU0FJeEIsQ0FBQyxJQUp1QkE7SUFLMUIsT0FBT0MsWUFBYUMsVUFBVUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2FtcC1tb2RlLnRzP2NlMDQiXSwibmFtZXMiOlsiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js":
/*!************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/get-img-props.js ***!
\************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, overrideSrc, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBMk9nQkE7OztlQUFBQTs7O3NDQTNPUzswQ0FDTzt5Q0FDRztBQTZFbkMsTUFBTUMsdUJBQXVCO0lBQUM7SUFBUTtJQUFTQztDQUFVO0FBa0J6RCxTQUFTQyxnQkFDUEMsR0FBb0M7SUFFcEMsT0FBT0EsSUFBdUJDLE9BQU8sS0FBS0g7QUFDNUM7QUFFQSxTQUFTSSxrQkFDUEYsR0FBb0M7SUFFcEMsT0FBT0EsSUFBeUJBLEdBQUcsS0FBS0Y7QUFDMUM7QUFFQSxTQUFTSyxlQUFlSCxHQUEwQjtJQUNoRCxPQUNFLE9BQU9BLFFBQVEsWUFDZEQsQ0FBQUEsZ0JBQWdCQyxRQUNmRSxrQkFBa0JGLElBQUFBO0FBRXhCO0FBRUEsTUFBTUksVUFBVSxJQUFJQztBQUlwQixJQUFJQztBQUVKLFNBQVNDLE9BQU9DLENBQVU7SUFDeEIsSUFBSSxPQUFPQSxNQUFNLGFBQWE7UUFDNUIsT0FBT0E7SUFDVDtJQUNBLElBQUksT0FBT0EsTUFBTSxVQUFVO1FBQ3pCLE9BQU9DLE9BQU9DLFFBQVEsQ0FBQ0YsS0FBS0EsSUFBSUc7SUFDbEM7SUFDQSxJQUFJLE9BQU9ILE1BQU0sWUFBWSxXQUFXSSxJQUFJLENBQUNKLElBQUk7UUFDL0MsT0FBT0ssU0FBU0wsR0FBRztJQUNyQjtJQUNBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTRyxVQUNQQyxLQUFzQyxFQUN0Q0MsS0FBeUIsRUFDekJDLEtBQXlCO0lBRnpCLE1BQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFlLEdBQXRDSjtJQUlBLElBQUlFLE9BQU87UUFDVCx5REFBeUQ7UUFDekQsTUFBTUcsa0JBQWtCO1FBQ3hCLE1BQU1DLGVBQWUsRUFBRTtRQUN2QixJQUFLLElBQUlDLE9BQVFBLFFBQVFGLGdCQUFnQkcsSUFBSSxDQUFDTixRQUFTSyxNQUFPO1lBQzVERCxhQUFhRyxJQUFJLENBQUNYLFNBQVNTLEtBQUssQ0FBQyxFQUFFO1FBQ3JDO1FBQ0EsSUFBSUQsYUFBYUksTUFBTSxFQUFFO1lBQ3ZCLE1BQU1DLGdCQUFnQkMsS0FBS0MsR0FBRyxJQUFJUCxnQkFBZ0I7WUFDbEQsT0FBTztnQkFDTFEsUUFBUVYsU0FBU1csTUFBTSxDQUFDLENBQUNDLElBQU1BLEtBQUtiLFdBQVcsQ0FBQyxFQUFFLEdBQUdRO2dCQUNyRE0sTUFBTTtZQUNSO1FBQ0Y7UUFDQSxPQUFPO1lBQUVILFFBQVFWO1lBQVVhLE1BQU07UUFBSTtJQUN2QztJQUNBLElBQUksT0FBT2hCLFVBQVUsVUFBVTtRQUM3QixPQUFPO1lBQUVhLFFBQVFYO1lBQWFjLE1BQU07UUFBSTtJQUMxQztJQUVBLE1BQU1ILFNBQVM7V0FDVixJQUFJSSxJQUVMLHFFQUFxRTtRQUNyRSxrRUFBa0U7UUFDbEUsb0VBQW9FO1FBQ3BFLHVFQUF1RTtRQUN2RSxzRUFBc0U7UUFDdEUsdUNBQXVDO1FBQ3ZDLHFJQUFxSTtRQUNySTtZQUFDakI7WUFBT0EsUUFBUSxFQUFFLGFBQWE7U0FBRyxDQUFDa0IsR0FBRyxDQUNwQyxDQUFDQyxJQUFNaEIsU0FBU2lCLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxLQUFLRixNQUFNaEIsUUFBUSxDQUFDQSxTQUFTTSxNQUFNLEdBQUcsRUFBRTtLQUd6RTtJQUNELE9BQU87UUFBRUk7UUFBUUcsTUFBTTtJQUFJO0FBQzdCO0FBa0JBLFNBQVNNLGlCQUFpQnZCLEtBUVI7SUFSUSxNQUN4QndCLE1BQU0sRUFDTnZDLEdBQUcsRUFDSHdDLFdBQVcsRUFDWHhCLEtBQUssRUFDTHlCLE9BQU8sRUFDUHhCLEtBQUssRUFDTHlCLE1BQU0sRUFDVSxHQVJRM0I7SUFTeEIsSUFBSXlCLGFBQWE7UUFDZixPQUFPO1lBQUV4QztZQUFLMkMsUUFBUTdDO1lBQVdtQixPQUFPbkI7UUFBVTtJQUNwRDtJQUVBLE1BQU0sRUFBRStCLE1BQU0sRUFBRUcsSUFBSSxFQUFFLEdBQUdsQixVQUFVeUIsUUFBUXZCLE9BQU9DO0lBQ2xELE1BQU0yQixPQUFPZixPQUFPSixNQUFNLEdBQUc7SUFFN0IsT0FBTztRQUNMUixPQUFPLENBQUNBLFNBQVNlLFNBQVMsTUFBTSxVQUFVZjtRQUMxQzBCLFFBQVFkLE9BQ0xLLEdBQUcsQ0FDRixDQUFDQyxHQUFHVSxJQUNGSCxPQUFVO2dCQUFFSDtnQkFBUXZDO2dCQUFLeUM7Z0JBQVN6QixPQUFPbUI7WUFBRSxLQUFHLE1BQzVDSCxDQUFBQSxTQUFTLE1BQU1HLElBQUlVLElBQUksS0FDdEJiLE1BRU5jLElBQUksQ0FBQztRQUVSLHVFQUF1RTtRQUN2RSxtRUFBbUU7UUFDbkUseUVBQXlFO1FBQ3pFLDBFQUEwRTtRQUMxRSwyQkFBMkI7UUFDM0Isc0RBQXNEO1FBQ3REOUMsS0FBSzBDLE9BQU87WUFBRUg7WUFBUXZDO1lBQUt5QztZQUFTekIsT0FBT2EsTUFBTSxDQUFDZSxLQUFLO1FBQUM7SUFDMUQ7QUFDRjtBQUtPLFNBQVNoRCxZQUNkbUIsS0F5QmEsRUFDYmdDLE1BS0M7SUEvQkQsTUFDRS9DLEdBQUcsRUFDSGlCLEtBQUssRUFDTHVCLGNBQWMsS0FBSyxFQUNuQlEsV0FBVyxLQUFLLEVBQ2hCQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVFQsT0FBTyxFQUNQekIsS0FBSyxFQUNMbUMsTUFBTSxFQUNOQyxPQUFPLEtBQUssRUFDWkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsaUJBQWlCLEVBQ2pCQyxjQUFjLE9BQU8sRUFDckJDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxXQUFXLE9BQU8sRUFDbEJDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxjQUFjLEVBQ2RDLFlBQVksRUFDWkMsUUFBUSxFQUNSLEdBQUdDLE1BQ1EsR0F6QmJuRDtJQXlDQSxNQUFNLEVBQUVvRCxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLEVBQUUsR0FBR3ZCO0lBQzlELElBQUlSO0lBQ0osSUFBSWdDLElBQUlKLFdBQVdLLGFBQUFBLGtCQUFrQjtJQUNyQyxJQUFJLGNBQWNELEdBQUc7UUFDbkJoQyxTQUFTZ0M7SUFDWCxPQUFPO1lBR2FBO1FBRmxCLE1BQU1wRCxXQUFXO2VBQUlvRCxFQUFFckQsV0FBVztlQUFLcUQsRUFBRUUsVUFBVTtTQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDQyxHQUFHQyxJQUFNRCxJQUFJQztRQUN4RSxNQUFNMUQsY0FBY3FELEVBQUVyRCxXQUFXLENBQUN3RCxJQUFJLENBQUMsQ0FBQ0MsR0FBR0MsSUFBTUQsSUFBSUM7UUFDckQsTUFBTUMsWUFBQUEsQ0FBWU4sZUFBQUEsRUFBRU0sU0FBUyxxQkFBWE4sYUFBYUcsSUFBSSxDQUFDLENBQUNDLEdBQUdDLElBQU1ELElBQUlDO1FBQ2xEckMsU0FBUztZQUFFLEdBQUdnQyxDQUFDO1lBQUVwRDtZQUFVRDtZQUFhMkQ7UUFBVTtJQUNwRDtJQUVBLElBQUksT0FBT1Asa0JBQWtCLGFBQWE7UUFDeEMsTUFBTSxJQUFJUSxNQUNSO0lBRUo7SUFDQSxJQUFJcEMsU0FBZ0N3QixLQUFLeEIsTUFBTSxJQUFJNEI7SUFFbkQsc0RBQXNEO0lBQ3RELE9BQU9KLEtBQUt4QixNQUFNO0lBQ2xCLE9BQU93QixLQUFjdkIsTUFBTTtJQUUzQiw2Q0FBNkM7SUFDN0Msb0RBQW9EO0lBQ3BELE1BQU1vQyxrQkFBa0Isd0JBQXdCckM7SUFFaEQsSUFBSXFDLGlCQUFpQjtRQUNuQixJQUFJeEMsT0FBT0csTUFBTSxLQUFLLFVBQVU7WUFDOUIsTUFBTSxJQUFJb0MsTUFDUixxQkFBbUI5RSxNQUFJLGdDQUNwQjtRQUVQO0lBQ0YsT0FBTztRQUNMLDhDQUE4QztRQUM5QywrQ0FBK0M7UUFDL0MsaURBQWlEO1FBQ2pELE1BQU1nRixvQkFBb0J0QztRQUMxQkEsU0FBUyxDQUFDdUM7WUFDUixNQUFNLEVBQUUxQyxRQUFRMkMsQ0FBQyxFQUFFLEdBQUdDLE1BQU0sR0FBR0Y7WUFDL0IsT0FBT0Qsa0JBQWtCRztRQUMzQjtJQUNGO0lBRUEsSUFBSXRCLFFBQVE7UUFDVixJQUFJQSxXQUFXLFFBQVE7WUFDckJULE9BQU87UUFDVDtRQUNBLE1BQU1nQyxnQkFBb0U7WUFDeEVDLFdBQVc7Z0JBQUVDLFVBQVU7Z0JBQVFuQyxRQUFRO1lBQU87WUFDOUNvQyxZQUFZO2dCQUFFdkUsT0FBTztnQkFBUW1DLFFBQVE7WUFBTztRQUM5QztRQUNBLE1BQU1xQyxnQkFBb0Q7WUFDeERELFlBQVk7WUFDWm5DLE1BQU07UUFDUjtRQUNBLE1BQU1xQyxjQUFjTCxhQUFhLENBQUN2QixPQUFPO1FBQ3pDLElBQUk0QixhQUFhO1lBQ2ZwQyxRQUFRO2dCQUFFLEdBQUdBLEtBQUs7Z0JBQUUsR0FBR29DLFdBQVc7WUFBQztRQUNyQztRQUNBLE1BQU1DLGNBQWNGLGFBQWEsQ0FBQzNCLE9BQU87UUFDekMsSUFBSTZCLGVBQWUsQ0FBQ3pFLE9BQU87WUFDekJBLFFBQVF5RTtRQUNWO0lBQ0Y7SUFFQSxJQUFJQyxZQUFZO0lBQ2hCLElBQUlDLFdBQVdyRixPQUFPUztJQUN0QixJQUFJNkUsWUFBWXRGLE9BQU80QztJQUN2QixJQUFJMkM7SUFDSixJQUFJQztJQUNKLElBQUk1RixlQUFlSCxNQUFNO1FBQ3ZCLE1BQU1nRyxrQkFBa0JqRyxnQkFBZ0JDLE9BQU9BLElBQUlDLE9BQU8sR0FBR0Q7UUFFN0QsSUFBSSxDQUFDZ0csZ0JBQWdCaEcsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sSUFBSThFLE1BQ1IsZ0pBQThJbUIsS0FBS0MsU0FBUyxDQUMxSkY7UUFHTjtRQUNBLElBQUksQ0FBQ0EsZ0JBQWdCN0MsTUFBTSxJQUFJLENBQUM2QyxnQkFBZ0JoRixLQUFLLEVBQUU7WUFDckQsTUFBTSxJQUFJOEQsTUFDUiw2SkFBMkptQixLQUFLQyxTQUFTLENBQ3ZLRjtRQUdOO1FBRUFGLFlBQVlFLGdCQUFnQkYsU0FBUztRQUNyQ0MsYUFBYUMsZ0JBQWdCRCxVQUFVO1FBQ3ZDckMsY0FBY0EsZUFBZXNDLGdCQUFnQnRDLFdBQVc7UUFDeERpQyxZQUFZSyxnQkFBZ0JoRyxHQUFHO1FBRS9CLElBQUksQ0FBQ29ELE1BQU07WUFDVCxJQUFJLENBQUN3QyxZQUFZLENBQUNDLFdBQVc7Z0JBQzNCRCxXQUFXSSxnQkFBZ0JoRixLQUFLO2dCQUNoQzZFLFlBQVlHLGdCQUFnQjdDLE1BQU07WUFDcEMsT0FBTyxJQUFJeUMsWUFBWSxDQUFDQyxXQUFXO2dCQUNqQyxNQUFNTSxRQUFRUCxXQUFXSSxnQkFBZ0JoRixLQUFLO2dCQUM5QzZFLFlBQVlsRSxLQUFLeUUsS0FBSyxDQUFDSixnQkFBZ0I3QyxNQUFNLEdBQUdnRDtZQUNsRCxPQUFPLElBQUksQ0FBQ1AsWUFBWUMsV0FBVztnQkFDakMsTUFBTU0sUUFBUU4sWUFBWUcsZ0JBQWdCN0MsTUFBTTtnQkFDaER5QyxXQUFXakUsS0FBS3lFLEtBQUssQ0FBQ0osZ0JBQWdCaEYsS0FBSyxHQUFHbUY7WUFDaEQ7UUFDRjtJQUNGO0lBQ0FuRyxNQUFNLE9BQU9BLFFBQVEsV0FBV0EsTUFBTTJGO0lBRXRDLElBQUlVLFNBQ0YsQ0FBQ3JELFlBQWFDLENBQUFBLFlBQVksVUFBVSxPQUFPQSxZQUFZO0lBQ3pELElBQUksQ0FBQ2pELE9BQU9BLElBQUlzRyxVQUFVLENBQUMsWUFBWXRHLElBQUlzRyxVQUFVLENBQUMsVUFBVTtRQUM5RCx1RUFBdUU7UUFDdkU5RCxjQUFjO1FBQ2Q2RCxTQUFTO0lBQ1g7SUFDQSxJQUFJOUQsT0FBT0MsV0FBVyxFQUFFO1FBQ3RCQSxjQUFjO0lBQ2hCO0lBQ0EsSUFBSXVDLG1CQUFtQi9FLElBQUl1RyxRQUFRLENBQUMsV0FBVyxDQUFDaEUsT0FBT2lFLG1CQUFtQixFQUFFO1FBQzFFLHlEQUF5RDtRQUN6RCwrQ0FBK0M7UUFDL0NoRSxjQUFjO0lBQ2hCO0lBQ0EsSUFBSVEsVUFBVTtRQUNaVyxnQkFBZ0I7SUFDbEI7SUFFQSxNQUFNOEMsYUFBYWxHLE9BQU9rQztJQUUxQixJQUFJaUUsSUFBeUIsRUFBYztRQUN6QyxJQUFJbkUsT0FBT29FLE1BQU0sS0FBSyxZQUFZNUIsbUJBQW1CLENBQUN2QyxhQUFhO1lBQ2pFLE1BQU0sSUFBSXNDLE1BQ1A7UUFNTDtRQUNBLElBQUksQ0FBQzlFLEtBQUs7WUFDUixpREFBaUQ7WUFDakQsK0NBQStDO1lBQy9DLDJDQUEyQztZQUMzQ3dDLGNBQWM7UUFDaEIsT0FBTztZQUNMLElBQUlZLE1BQU07Z0JBQ1IsSUFBSXBDLE9BQU87b0JBQ1QsTUFBTSxJQUFJOEQsTUFDUixxQkFBbUI5RSxNQUFJO2dCQUUzQjtnQkFDQSxJQUFJbUQsUUFBUTtvQkFDVixNQUFNLElBQUkyQixNQUNSLHFCQUFtQjlFLE1BQUk7Z0JBRTNCO2dCQUNBLElBQUlxRCxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFPdUQsUUFBUSxLQUFJdkQsTUFBTXVELFFBQVEsS0FBSyxZQUFZO29CQUNwRCxNQUFNLElBQUk5QixNQUNSLHFCQUFtQjlFLE1BQUk7Z0JBRTNCO2dCQUNBLElBQUlxRCxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFPckMsS0FBSyxLQUFJcUMsTUFBTXJDLEtBQUssS0FBSyxRQUFRO29CQUMxQyxNQUFNLElBQUk4RCxNQUNSLHFCQUFtQjlFLE1BQUk7Z0JBRTNCO2dCQUNBLElBQUlxRCxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFPRixNQUFNLEtBQUlFLE1BQU1GLE1BQU0sS0FBSyxRQUFRO29CQUM1QyxNQUFNLElBQUkyQixNQUNSLHFCQUFtQjlFLE1BQUk7Z0JBRTNCO1lBQ0YsT0FBTztnQkFDTCxJQUFJLE9BQU80RixhQUFhLGFBQWE7b0JBQ25DLE1BQU0sSUFBSWQsTUFDUixxQkFBbUI5RSxNQUFJO2dCQUUzQixPQUFPLElBQUk2RyxNQUFNakIsV0FBVztvQkFDMUIsTUFBTSxJQUFJZCxNQUNSLHFCQUFtQjlFLE1BQUksc0ZBQW1GZ0IsUUFBTTtnQkFFcEg7Z0JBQ0EsSUFBSSxPQUFPNkUsY0FBYyxhQUFhO29CQUNwQyxNQUFNLElBQUlmLE1BQ1IscUJBQW1COUUsTUFBSTtnQkFFM0IsT0FBTyxJQUFJNkcsTUFBTWhCLFlBQVk7b0JBQzNCLE1BQU0sSUFBSWYsTUFDUixxQkFBbUI5RSxNQUFJLHVGQUFvRm1ELFNBQU87Z0JBRXRIO1lBQ0Y7UUFDRjtRQUNBLElBQUksQ0FBQ3RELHFCQUFxQmlILFFBQVEsQ0FBQzdELFVBQVU7WUFDM0MsTUFBTSxJQUFJNkIsTUFDUixxQkFBbUI5RSxNQUFJLGlEQUE4Q2lELFVBQVEsd0JBQXFCcEQscUJBQXFCcUMsR0FBRyxDQUN4SDZFLFFBQ0FqRSxJQUFJLENBQUMsT0FBSztRQUVoQjtRQUNBLElBQUlFLFlBQVlDLFlBQVksUUFBUTtZQUNsQyxNQUFNLElBQUk2QixNQUNSLHFCQUFtQjlFLE1BQUk7UUFFM0I7UUFDQSxJQUNFeUQsZ0JBQWdCLFdBQ2hCQSxnQkFBZ0IsVUFDaEIsQ0FBQ0EsWUFBWTZDLFVBQVUsQ0FBQyxnQkFDeEI7WUFDQSxNQUFNLElBQUl4QixNQUNSLHFCQUFtQjlFLE1BQUksMkNBQXdDeUQsY0FBWTtRQUUvRTtRQUNBLElBQUlBLGdCQUFnQixTQUFTO1lBQzNCLElBQUltQyxZQUFZQyxhQUFhRCxXQUFXQyxZQUFZLE1BQU07Z0JBQ3hEbUIsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBUSxFQUNOLHFCQUFtQmhILE1BQUk7WUFFM0I7UUFDRjtRQUNBLElBQUl5RCxnQkFBZ0IsVUFBVSxDQUFDQyxhQUFhO1lBQzFDLE1BQU11RCxpQkFBaUI7Z0JBQUM7Z0JBQVE7Z0JBQU87Z0JBQVE7YUFBTyxDQUFDLGlDQUFpQzs7WUFFeEYsTUFBTSxJQUFJbkMsTUFDUixxQkFBbUI5RSxNQUFJLDZUQUdrRWlILGVBQWVuRSxJQUFJLENBQ3hHLE9BQ0E7UUFJUjtRQUNBLElBQUksU0FBU29CLE1BQU07WUFDakI4QyxDQUFBQSxHQUFBQSxVQUFBQSxRQUFRLEVBQ04scUJBQW1CaEgsTUFBSTtRQUUzQjtRQUVBLElBQUksQ0FBQ3dDLGVBQWUsQ0FBQ3VDLGlCQUFpQjtZQUNwQyxNQUFNbUMsU0FBU3hFLE9BQU87Z0JBQ3BCSDtnQkFDQXZDO2dCQUNBZ0IsT0FBTzRFLFlBQVk7Z0JBQ25CbkQsU0FBU2dFLGNBQWM7WUFDekI7WUFDQSxJQUFJVTtZQUNKLElBQUk7Z0JBQ0ZBLE1BQU0sSUFBSUMsSUFBSUY7WUFDaEIsRUFBRSxPQUFPRyxLQUFLLENBQUM7WUFDZixJQUFJSCxXQUFXbEgsT0FBUW1ILE9BQU9BLElBQUlHLFFBQVEsS0FBS3RILE9BQU8sQ0FBQ21ILElBQUlJLE1BQU0sRUFBRztnQkFDbEVQLENBQUFBLEdBQUFBLFVBQUFBLFFBQVEsRUFDTixxQkFBbUJoSCxNQUFJLDRIQUNwQjtZQUVQO1FBQ0Y7UUFFQSxJQUFJd0QsbUJBQW1CO1lBQ3JCd0QsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBUSxFQUNOLHFCQUFtQmhILE1BQUk7UUFFM0I7UUFFQSxLQUFLLE1BQU0sQ0FBQ3dILFdBQVdDLFlBQVksSUFBSUMsT0FBT0MsT0FBTyxDQUFDO1lBQ3BEOUQ7WUFDQUM7WUFDQUM7WUFDQUM7WUFDQUM7UUFDRixHQUFJO1lBQ0YsSUFBSXdELGFBQWE7Z0JBQ2ZULENBQUFBLEdBQUFBLFVBQUFBLFFBQVEsRUFDTixxQkFBbUJoSCxNQUFJLHdCQUFxQndILFlBQVUsMENBQ25EO1lBRVA7UUFDRjtRQUVBLElBQ0UsT0FBT0ksV0FBVyxlQUNsQixDQUFDdEgsZ0JBQ0RzSCxPQUFPQyxtQkFBbUIsRUFDMUI7WUFDQXZILGVBQWUsSUFBSXVILG9CQUFvQixDQUFDQztnQkFDdEMsS0FBSyxNQUFNQyxTQUFTRCxVQUFVRSxVQUFVLEdBQUk7d0JBRTNCRDtvQkFEZiwwRUFBMEU7b0JBQzFFLE1BQU1FLFNBQVNGLENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGlCQUFBQSxNQUFPRyxPQUFPLHFCQUFkSCxlQUFnQi9ILEdBQUcsS0FBSTtvQkFDdEMsTUFBTW1JLFdBQVcvSCxRQUFRZ0ksR0FBRyxDQUFDSDtvQkFDN0IsSUFDRUUsWUFDQSxDQUFDQSxTQUFTbkYsUUFBUSxJQUNsQm1GLFNBQVMxRSxXQUFXLEtBQUssV0FDekIsQ0FBQzBFLFNBQVNuSSxHQUFHLENBQUNzRyxVQUFVLENBQUMsWUFDekIsQ0FBQzZCLFNBQVNuSSxHQUFHLENBQUNzRyxVQUFVLENBQUMsVUFDekI7d0JBQ0EsaURBQWlEO3dCQUNqRFUsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBUSxFQUNOLHFCQUFtQm1CLFNBQVNuSSxHQUFHLEdBQUMsOEhBQzdCO29CQUVQO2dCQUNGO1lBQ0Y7WUFDQSxJQUFJO2dCQUNGTSxhQUFhK0gsT0FBTyxDQUFDO29CQUNuQkMsTUFBTTtvQkFDTkMsVUFBVTtnQkFDWjtZQUNGLEVBQUUsT0FBT2xCLEtBQUs7Z0JBQ1osb0NBQW9DO2dCQUNwQ21CLFFBQVFDLEtBQUssQ0FBQ3BCO1lBQ2hCO1FBQ0Y7SUFDRjtJQUNBLE1BQU1xQixXQUFXaEIsT0FBT2lCLE1BQU0sQ0FDNUJ2RixPQUNJO1FBQ0V3RCxVQUFVO1FBQ1Z6RCxRQUFRO1FBQ1JuQyxPQUFPO1FBQ1A0SCxNQUFNO1FBQ05DLEtBQUs7UUFDTEMsT0FBTztRQUNQQyxRQUFRO1FBQ1JqRjtRQUNBQztJQUNGLElBQ0EsQ0FBQyxHQUNMSyxjQUFjLENBQUMsSUFBSTtRQUFFNEUsT0FBTztJQUFjLEdBQzFDM0Y7SUFHRixNQUFNNEYsa0JBQ0osQ0FBQzVFLGdCQUFnQlosZ0JBQWdCLFVBQzdCQSxnQkFBZ0IsU0FDZCwyQ0FBeUN5RixDQUFBQSxHQUFBQSxjQUFBQSxlQUFlLEVBQUM7UUFDdkR0RDtRQUNBQztRQUNBQztRQUNBQztRQUNBckMsYUFBYUEsZUFBZTtRQUM1QkksV0FBVzRFLFNBQVM1RSxTQUFTO0lBQy9CLEtBQUcsT0FDSCxVQUFRTCxjQUFZLEtBQUksdUJBQXVCO09BQ2pEO0lBRU4sSUFBSTBGLG1CQUFtQkYsa0JBQ25CO1FBQ0VHLGdCQUFnQlYsU0FBUzVFLFNBQVMsSUFBSTtRQUN0Q3VGLG9CQUFvQlgsU0FBUzNFLGNBQWMsSUFBSTtRQUMvQ3VGLGtCQUFrQjtRQUNsQkw7SUFDRixJQUNBLENBQUM7SUFFTCxJQUFJdkMsSUFBeUIsRUFBZTtRQUMxQyxJQUNFeUMsaUJBQWlCRixlQUFlLElBQ2hDeEYsZ0JBQWdCLFVBQ2hCQyxDQUFBQSxlQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxZQUFhNEMsVUFBVSxDQUFDLE9BQ3hCO1lBQ0EsOEVBQThFO1lBQzlFLGdGQUFnRjtZQUNoRixxRkFBcUY7WUFDckY2QyxpQkFBaUJGLGVBQWUsR0FBRyxVQUFRdkYsY0FBWTtRQUN6RDtJQUNGO0lBRUEsTUFBTTZGLGdCQUFnQmpILGlCQUFpQjtRQUNyQ0M7UUFDQXZDO1FBQ0F3QztRQUNBeEIsT0FBTzRFO1FBQ1BuRCxTQUFTZ0U7UUFDVHhGO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSWdFLElBQXlCLEVBQWM7UUFDekMsSUFBSSxPQUFPa0IsV0FBVyxhQUFhO1lBQ2pDLElBQUk0QjtZQUNKLElBQUk7Z0JBQ0ZBLFVBQVUsSUFBSXBDLElBQUltQyxjQUFjdkosR0FBRztZQUNyQyxFQUFFLE9BQU95SixHQUFHO2dCQUNWRCxVQUFVLElBQUlwQyxJQUFJbUMsY0FBY3ZKLEdBQUcsRUFBRTRILE9BQU84QixRQUFRLENBQUNDLElBQUk7WUFDM0Q7WUFDQXZKLFFBQVF3SixHQUFHLENBQUNKLFFBQVFHLElBQUksRUFBRTtnQkFBRTNKO2dCQUFLZ0Q7Z0JBQVVTO1lBQVk7UUFDekQ7SUFDRjtJQUVBLE1BQU1vRyxRQUFrQjtRQUN0QixHQUFHM0YsSUFBSTtRQUNQakIsU0FBU29ELFNBQVMsU0FBU3BEO1FBQzNCVTtRQUNBM0MsT0FBTzRFO1FBQ1B6QyxRQUFRMEM7UUFDUmpDO1FBQ0FWO1FBQ0FHLE9BQU87WUFBRSxHQUFHcUYsUUFBUTtZQUFFLEdBQUdTLGdCQUFnQjtRQUFDO1FBQzFDbEksT0FBT3NJLGNBQWN0SSxLQUFLO1FBQzFCMEIsUUFBUTRHLGNBQWM1RyxNQUFNO1FBQzVCM0MsS0FBS3NELGVBQWVpRyxjQUFjdkosR0FBRztJQUN2QztJQUNBLE1BQU04SixPQUFPO1FBQUV0SDtRQUFhUTtRQUFVUztRQUFhTDtJQUFLO0lBQ3hELE9BQU87UUFBRXlHO1FBQU9DO0lBQUs7QUFDdkIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2dldC1pbWctcHJvcHMudHM/ZWM5MSJdLCJuYW1lcyI6WyJnZXRJbWdQcm9wcyIsIlZBTElEX0xPQURJTkdfVkFMVUVTIiwidW5kZWZpbmVkIiwiaXNTdGF0aWNSZXF1aXJlIiwic3JjIiwiZGVmYXVsdCIsImlzU3RhdGljSW1hZ2VEYXRhIiwiaXNTdGF0aWNJbXBvcnQiLCJhbGxJbWdzIiwiTWFwIiwicGVyZk9ic2VydmVyIiwiZ2V0SW50IiwieCIsIk51bWJlciIsImlzRmluaXRlIiwiTmFOIiwidGVzdCIsInBhcnNlSW50IiwiZ2V0V2lkdGhzIiwicGFyYW0iLCJ3aWR0aCIsInNpemVzIiwiZGV2aWNlU2l6ZXMiLCJhbGxTaXplcyIsInZpZXdwb3J0V2lkdGhSZSIsInBlcmNlbnRTaXplcyIsIm1hdGNoIiwiZXhlYyIsInB1c2giLCJsZW5ndGgiLCJzbWFsbGVzdFJhdGlvIiwiTWF0aCIsIm1pbiIsIndpZHRocyIsImZpbHRlciIsInMiLCJraW5kIiwiU2V0IiwibWFwIiwidyIsImZpbmQiLCJwIiwiZ2VuZXJhdGVJbWdBdHRycyIsImNvbmZpZyIsInVub3B0aW1pemVkIiwicXVhbGl0eSIsImxvYWRlciIsInNyY1NldCIsImxhc3QiLCJpIiwiam9pbiIsIl9zdGF0ZSIsInByaW9yaXR5IiwibG9hZGluZyIsImNsYXNzTmFtZSIsImhlaWdodCIsImZpbGwiLCJzdHlsZSIsIm92ZXJyaWRlU3JjIiwib25Mb2FkIiwib25Mb2FkaW5nQ29tcGxldGUiLCJwbGFjZWhvbGRlciIsImJsdXJEYXRhVVJMIiwiZmV0Y2hQcmlvcml0eSIsImRlY29kaW5nIiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJxdWFsaXRpZXMiLCJFcnJvciIsImlzRGVmYXVsdExvYWRlciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJpbWdTcmMiLCJlbGVtZW50IiwibGNwSW1hZ2UiLCJnZXQiLCJvYnNlcnZlIiwidHlwZSIsImJ1ZmZlcmVkIiwiY29uc29sZSIsImVycm9yIiwiaW1nU3R5bGUiLCJhc3NpZ24iLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJjb2xvciIsImJhY2tncm91bmRJbWFnZSIsImdldEltYWdlQmx1clN2ZyIsInBsYWNlaG9sZGVyU3R5bGUiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRSZXBlYXQiLCJpbWdBdHRyaWJ1dGVzIiwiZnVsbFVybCIsImUiLCJsb2NhdGlvbiIsImhyZWYiLCJzZXQiLCJwcm9wcyIsIm1ldGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js":
/*!***************************************************!*\
!*** ./node_modules/next/dist/shared/lib/head.js ***!
\***************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n defaultHead: function() {\n return defaultHead;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-context.shared-runtime.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\n_c = Head;\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\nvar _c;\n$RefreshReg$(_c, \"Head\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBcU1BQSxTQUFtQjs7O0lBeExIQztpQkFBQUE7Ozs7Ozs7OzJEQVRnQkMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7eUNBRUpBLG1CQUFBQSxDQUFBOztBQU9yQixNQUFBQyxZQUFTSCxtQkFBQUEsQ0FBWUkscUdBQUFBO1NBQUFBLFlBQUFBLFNBQUFBO0lBQzFCLElBQUFBLGNBQWEsUUFBQUEsWUFBQTs7bUJBQU9DLEdBQVEsSUFBQUMsWUFBQUMsR0FBQTs7UUFBVztLQUN2QztRQUNFQyxDQUFBQSxXQUFTO2FBQU9DLElBQUFBLENBQUssa0JBQUFILFlBQUFDLEdBQUE7WUFBV0csTUFBQUE7O1FBQ2xDO0lBQ0E7SUFDRixPQUFBRjtBQUVBO1NBSUVHLGlCQUFBQyxJQUFBLEVBQUFDLEtBQUE7SUFDQSw4RkFBNEQ7UUFDMUQsT0FBT0QsVUFBQUEsWUFBQUEsT0FBQUEsVUFBQUEsVUFBQUE7UUFDVCxPQUFBQTtJQUNBO0lBQ0Esa0NBQXlCRTtRQUN2QkQsTUFBQUUsSUFBT0gsS0FBS0ksT0FDVkMsT0FBQSxDQUFBSCxRQUFBO1FBQ0FJLE9BQUFBLEtBQUFBLE1BQU1DLENBRUpDLE9BQ0VDLE9BQUFBLENBQ0FDLFFBQUFBLENBQUFBLE9BQUFBLENBQUFBLE1BQUFBLEtBQUFBLENBQUFBLFFBQUFBLEVBQUFBLE1BQUFBLGdCQUdTQTtnQkFHUCxPQUFPRCxrQkFBQUEsWUFBQUEsT0FBQUEsa0JBQUFBLFVBQUFBO2dCQUNULE9BQUFBO1lBQ0E7WUFFRixPQUFFQSxhQUFBTCxNQUFBLENBQUFNO1FBR1I7SUFDQTtJQUNGLE9BQUFWLEtBQUFJLE1BQUEsQ0FBQUg7QUFFQTtNQUFtQlUsWUFBQTtJQUFRO0lBQWE7SUFBVztJQUFXO0NBRTlEOzs7OztZQU1RQztJQUNOLE1BQU1DLE9BQU8sSUFBSUM7SUFDakIsTUFB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QSxDQUNFLEdBQUF6QyxPQUFBd0MsVUFBQSxFQUFDRyxpQ0FBTUQsa0JBQUE7V0FDTEUsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBeUJDLEdBQUFBLEVBQUFBLFlBQUFBLE9BQUFBLEVBQUFBO1FBQ3pCSix5QkFBYUE7UUFDYnpELGFBQVc4RDttQkFFVlQsQ0FBQUEsR0FBQUEsU0FBQUEsV0FBQUEsRUFBQUE7O0lBR1A7O0tBWmdCQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvaGVhZC50c3g/MzY3MCJdLCJuYW1lcyI6WyJleHBvcnRzIiwiZGVmYXVsdEhlYWQiLCJfIiwicmVxdWlyZSIsIl93YXJub25jZSIsImluQW1wTW9kZSIsImNoYXJTZXQiLCJfanN4cnVudGltZSIsImpzeCIsImhlYWQiLCJuYW1lIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJGcmFnbWVudCIsInR5cGUiLCJjb25jYXQiLCJkZWZhdWx0IiwiUmVhY3QiLCJDaGlsZHJlbiIsIl9yZWFjdCIsImZyYWdtZW50TGlzdCIsImZyYWdtZW50Q2hpbGQiLCJNRVRBVFlQRVMiLCJrZXlzIiwidGFncyIsIlNldCIsIm1ldGFUeXBlcyIsIm1ldGFDYXRlZ29yaWVzIiwiaCIsImlzVW5pcXVlIiwiaGFzS2V5Iiwia2V5IiwiaW5kZXhPZiIsImFkZCIsImkiLCJtZXRhdHlwZSIsImxlbiIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcmllcyIsImhhcyIsImNhdGVnb3J5IiwicHJvcHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImMiLCJfX05FWFRfT1BUSU1JWkVfRk9OVFMiLCJzb21lIiwidXJsIiwibmV3UHJvcHMiLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiY2xvbmVFbGVtZW50Iiwic3JjTWVzc2FnZSIsIndhcm5PbmNlIiwiY2hpbGRyZW4iLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiRWZmZWN0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJyZWR1Y2VDb21wb25lbnRzIiwiaXNJbkFtcE1vZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/head.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js":
/*!*************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***!
\*************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OzttREFDZUE7OztlQUFBQTs7O0FBQVQsU0FBU0EsZ0JBQWdCQyxLQWMvQjtJQWQrQixNQUM5QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFNBQVMsRUFRVixHQWQrQk47SUFlOUIsTUFBTU8sTUFBTTtJQUNaLE1BQU1DLFdBQVdMLFlBQVlBLFlBQVksS0FBS0Y7SUFDOUMsTUFBTVEsWUFBWUwsYUFBYUEsYUFBYSxLQUFLRjtJQUVqRCxNQUFNUSxVQUNKRixZQUFZQyxZQUFZLGtCQUFnQkQsV0FBUyxNQUFHQyxZQUFVLE1BQUs7SUFDckUsTUFBTUUsc0JBQXNCRCxVQUN4QixTQUNBSixjQUFjLFlBQ2QsYUFDQUEsY0FBYyxVQUNkLG1CQUNBO0lBRUosT0FBTywrQ0FBNkNJLFVBQVEsOEZBQTJGSCxNQUFJLG9RQUFpUUEsTUFBSSxnR0FBNkZJLHNCQUFvQix3Q0FBcUNOLGNBQVk7QUFDcGtCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1ibHVyLXN2Zy50cz9jNzljIl0sIm5hbWVzIjpbImdldEltYWdlQmx1clN2ZyIsInBhcmFtIiwid2lkdGhJbnQiLCJoZWlnaHRJbnQiLCJibHVyV2lkdGgiLCJibHVySGVpZ2h0IiwiYmx1ckRhdGFVUkwiLCJvYmplY3RGaXQiLCJzdGQiLCJzdmdXaWR0aCIsInN2Z0hlaWdodCIsInZpZXdCb3giLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js":
/*!**********************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js ***!
\**********************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageConfigContext\", ({\n enumerable: true,\n get: function() {\n return ImageConfigContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst ImageConfigContext = _react.default.createContext(_imageconfig.imageConfigDefault);\nif (true) {\n ImageConfigContext.displayName = \"ImageConfigContext\";\n} //# sourceMappingURL=image-config-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWctY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O3NEQUlhQTs7O2VBQUFBOzs7OzRFQUpLO3lDQUVpQjtBQUU1QixNQUFNQSxxQkFDWEMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhLENBQXNCQyxhQUFBQSxrQkFBa0I7QUFFN0QsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0osbUJBQW1CSyxXQUFXLEdBQUc7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lLnRzPzNkNzUiXSwibmFtZXMiOlsiSW1hZ2VDb25maWdDb250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiaW1hZ2VDb25maWdEZWZhdWx0IiwicHJvY2VzcyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-config.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1jb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLGVBQWE7ZUFBYkE7O0lBaUlBQyxvQkFBa0I7ZUFBbEJBOzs7QUFqSU4sTUFBTUQsZ0JBQWdCO0lBQzNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQTJITSxNQUFNQyxxQkFBMEM7SUFDckRDLGFBQWE7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUs7SUFDMURDLFlBQVk7UUFBQztRQUFJO1FBQUk7UUFBSTtRQUFJO1FBQUk7UUFBSztRQUFLO0tBQUk7SUFDL0NDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUFDO0tBQWE7SUFDdkJDLHFCQUFxQjtJQUNyQkMsdUJBQXdCO0lBQ3hCQyx3QkFBd0I7SUFDeEJDLGVBQWVDO0lBQ2ZDLGdCQUFnQixFQUFFO0lBQ2xCQyxXQUFXRjtJQUNYRyxhQUFhO0FBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy50cz8xMzRhIl0sIm5hbWVzIjpbIlZBTElEX0xPQURFUlMiLCJpbWFnZUNvbmZpZ0RlZmF1bHQiLCJkZXZpY2VTaXplcyIsImltYWdlU2l6ZXMiLCJwYXRoIiwibG9hZGVyIiwibG9hZGVyRmlsZSIsImRvbWFpbnMiLCJkaXNhYmxlU3RhdGljSW1hZ2VzIiwibWluaW11bUNhY2hlVFRMIiwiZm9ybWF0cyIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJjb250ZW50U2VjdXJpdHlQb2xpY3kiLCJjb250ZW50RGlzcG9zaXRpb25UeXBlIiwibG9jYWxQYXR0ZXJucyIsInVuZGVmaW5lZCIsInJlbW90ZVBhdHRlcm5zIiwicXVhbGl0aWVzIiwidW5vcHRpbWl6ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-config.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js":
/*!*************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-external.js ***!
\*************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return _default;\n },\n getImageProps: function() {\n return getImageProps;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(app-pages-browser)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nfunction getImageProps(imgProps) {\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n}\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFpQ0FBLFNBQW9CO2VBQXBCQzs7SUFqQmdCQyxlQUFhO2VBQWJBOzs7O3lDQWJZOzRDQUNOO2tGQUdJO0FBU25CLFNBQVNBLGNBQWNDLFFBQW9CO0lBQ2hELE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdDLENBQUFBLEdBQUFBLGFBQUFBLFdBQVcsRUFBQ0YsVUFBVTtRQUN0Q0csZUFBQUEsYUFBQUEsT0FBYTtRQUNiLDRDQUE0QztRQUM1Q0MsU0FBU0MsME5BQTZCO0lBQ3hDO0lBQ0EsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSx3REFBd0Q7SUFDeEQsS0FBSyxNQUFNLENBQUNHLEtBQUtDLE1BQU0sSUFBSUMsT0FBT0MsT0FBTyxDQUFDVixPQUFRO1FBQ2hELElBQUlRLFVBQVVHLFdBQVc7WUFDdkIsT0FBT1gsS0FBSyxDQUFDTyxJQUEwQjtRQUN6QztJQUNGO0lBQ0EsT0FBTztRQUFFUDtJQUFNO0FBQ2pCO01BRUFILFdBQWVlLGdCQUFBQSxLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC50c3g/MzgyNiJdLCJuYW1lcyI6WyJkZWZhdWx0IiwiX2RlZmF1bHQiLCJnZXRJbWFnZVByb3BzIiwiaW1nUHJvcHMiLCJwcm9wcyIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJJbWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-external.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js":
/*!***********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/image-loader.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\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/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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F1R0E7OztlQUFBQTs7O0FBckdBLE1BQU1DLFlBQVk7QUFFbEIsU0FBU0MsY0FBY0MsS0FLTTtJQUxOLE1BQ3JCQyxNQUFNLEVBQ05DLEdBQUcsRUFDSEMsS0FBSyxFQUNMQyxPQUFPLEVBQ29CLEdBTE5KO1FBbUZuQkM7SUE3RUYsSUFBSUksSUFBeUIsRUFBYztRQUN6QyxNQUFNQyxnQkFBZ0IsRUFBRTtRQUV4Qix5REFBeUQ7UUFDekQsSUFBSSxDQUFDSixLQUFLSSxjQUFjQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDSixPQUFPRyxjQUFjQyxJQUFJLENBQUM7UUFFL0IsSUFBSUQsY0FBY0UsTUFBTSxHQUFHLEdBQUc7WUFDNUIsTUFBTSxJQUFJQyxNQUNSLHNDQUFvQ0gsY0FBY0ksSUFBSSxDQUNwRCxRQUNBLGdHQUErRkMsS0FBS0MsU0FBUyxDQUM3RztnQkFBRVY7Z0JBQUtDO2dCQUFPQztZQUFRO1FBRzVCO1FBRUEsSUFBSUYsSUFBSVcsVUFBVSxDQUFDLE9BQU87WUFDeEIsTUFBTSxJQUFJSixNQUNSLDBCQUF3QlAsTUFBSTtRQUVoQztRQUVBLElBQUlBLElBQUlXLFVBQVUsQ0FBQyxRQUFRWixPQUFPYSxhQUFhLEVBQUU7WUFDL0MsSUFDRVQsSUFFNkIsRUFDN0I7Z0JBQ0EsdUVBQXVFO2dCQUN2RSxNQUFNLEVBQUVZLGFBQWEsRUFBRSxHQUFHQyxtQkFBQUEsQ0FBUTtnQkFDbEMsSUFBSSxDQUFDRCxjQUFjaEIsT0FBT2EsYUFBYSxFQUFFWixNQUFNO29CQUM3QyxNQUFNLElBQUlPLE1BQ1IsdUJBQXFCUCxNQUFJLGtHQUN0QjtnQkFFUDtZQUNGO1FBQ0Y7UUFFQSxJQUFJLENBQUNBLElBQUlXLFVBQVUsQ0FBQyxRQUFTWixDQUFBQSxPQUFPa0IsT0FBTyxJQUFJbEIsT0FBT21CLGNBQWMsR0FBRztZQUNyRSxJQUFJQztZQUNKLElBQUk7Z0JBQ0ZBLFlBQVksSUFBSUMsSUFBSXBCO1lBQ3RCLEVBQUUsT0FBT3FCLEtBQUs7Z0JBQ1pDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJZCxNQUNSLDBCQUF3QlAsTUFBSTtZQUVoQztZQUVBLElBQ0VHLElBRTZCLEVBQzdCO2dCQUNBLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFcUIsY0FBYyxFQUFFLEdBQUdSLG1CQUFBQSxDQUFRO2dCQUNuQyxJQUFJLENBQUNRLGVBQWV6QixPQUFPa0IsT0FBTyxFQUFFbEIsT0FBT21CLGNBQWMsRUFBRUMsWUFBWTtvQkFDckUsTUFBTSxJQUFJWixNQUNSLHVCQUFxQlAsTUFBSSxrQ0FBaUNtQixVQUFVTSxRQUFRLEdBQUMsZ0VBQzFFO2dCQUVQO1lBQ0Y7UUFDRjtRQUVBLElBQUl2QixXQUFXSCxPQUFPMkIsU0FBUyxJQUFJLENBQUMzQixPQUFPMkIsU0FBUyxDQUFDQyxRQUFRLENBQUN6QixVQUFVO1lBQ3RFLE1BQU0sSUFBSUssTUFDUiwyQkFBeUJMLFVBQVEsOEZBQzlCO1FBRVA7SUFDRjtJQUVBLE1BQU0wQixJQUNKMUIsV0FBQUEsQ0FBQUEsQ0FDQUgsb0JBQUFBLE9BQU8yQixTQUFTLHFCQUFoQjNCLGtCQUFrQjhCLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxNQUM5QkMsS0FBS0MsR0FBRyxDQUFDRixNQUFNbkMsYUFBYW9DLEtBQUtDLEdBQUcsQ0FBQ0gsT0FBT2xDLGFBQWFtQyxNQUFNRCxLQUFBQSxLQUVqRWxDO0lBRUYsT0FBT0csT0FBVW1DLElBQUksR0FBQyxVQUFPQyxtQkFBbUJuQyxPQUFLLFFBQUtDLFFBQU0sUUFBSzJCLElBQ25FekIsQ0FBQUEsTUFBOEIsR0FDMUIsQ0FBc0MsR0FDdEM7QUFFUjtBQUVBLCtEQUErRDtBQUMvRCwyREFBMkQ7QUFDM0ROLGNBQWN3QyxrQkFBa0IsR0FBRztNQUVuQzFDLFdBQWVFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXIudHM/ZDI4MCJdLCJuYW1lcyI6WyJfZGVmYXVsdCIsIkRFRkFVTFRfUSIsImRlZmF1bHRMb2FkZXIiLCJwYXJhbSIsImNvbmZpZyIsInNyYyIsIndpZHRoIiwicXVhbGl0eSIsInByb2Nlc3MiLCJtaXNzaW5nVmFsdWVzIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydHNXaXRoIiwibG9jYWxQYXR0ZXJucyIsImVudiIsIk5FWFRfUlVOVElNRSIsImhhc0xvY2FsTWF0Y2giLCJyZXF1aXJlIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwicGFyc2VkU3JjIiwiVVJMIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaGFzUmVtb3RlTWF0Y2giLCJob3N0bmFtZSIsInF1YWxpdGllcyIsImluY2x1ZGVzIiwicSIsInJlZHVjZSIsInByZXYiLCJjdXIiLCJNYXRoIiwiYWJzIiwicGF0aCIsImVuY29kZVVSSUNvbXBvbmVudCIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsIl9fbmV4dF9pbWdfZGVmYXVsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/image-loader.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-local-pattern.js":
/*!******************************************************************!*\
!*** ./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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1sb2NhbC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQWtCZ0JBLGVBQWE7ZUFBYkE7O0lBZEFDLG1CQUFpQjtlQUFqQkE7Ozt1Q0FITztBQUdoQixTQUFTQSxrQkFBa0JDLE9BQXFCLEVBQUVDLEdBQVE7SUFDL0QsSUFBSUQsUUFBUUUsTUFBTSxLQUFLQyxXQUFXO1FBQ2hDLElBQUlILFFBQVFFLE1BQU0sS0FBS0QsSUFBSUMsTUFBTSxFQUFFO1lBQ2pDLE9BQU87UUFDVDtJQUNGO1FBRVlGO0lBQVosSUFBSSxDQUFDSSxDQUFBQSxHQUFBQSxXQUFBQSxNQUFNLEVBQUNKLENBQUFBLG9CQUFBQSxRQUFRSyxRQUFRLFlBQWhCTCxvQkFBb0IsTUFBTTtRQUFFTSxLQUFLO0lBQUssR0FBR0MsSUFBSSxDQUFDTixJQUFJSSxRQUFRLEdBQUc7UUFDdkUsT0FBTztJQUNUO0lBRUEsT0FBTztBQUNUO0FBRU8sU0FBU1AsY0FDZFUsYUFBeUMsRUFDekNDLGVBQXVCO0lBRXZCLElBQUksQ0FBQ0QsZUFBZTtRQUNsQix1RUFBdUU7UUFDdkUsT0FBTztJQUNUO0lBQ0EsTUFBTVAsTUFBTSxJQUFJUyxJQUFJRCxpQkFBaUI7SUFDckMsT0FBT0QsY0FBY0csSUFBSSxDQUFDLENBQUNDLElBQU1iLGtCQUFrQmEsR0FBR1g7QUFDeEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uLy4uL3NyYy9zaGFyZWQvbGliL21hdGNoLWxvY2FsLXBhdHRlcm4udHM/NjM1ZCJdLCJuYW1lcyI6WyJoYXNMb2NhbE1hdGNoIiwibWF0Y2hMb2NhbFBhdHRlcm4iLCJwYXR0ZXJuIiwidXJsIiwic2VhcmNoIiwidW5kZWZpbmVkIiwibWFrZVJlIiwicGF0aG5hbWUiLCJkb3QiLCJ0ZXN0IiwibG9jYWxQYXR0ZXJucyIsInVybFBhdGhBbmRRdWVyeSIsIlVSTCIsInNvbWUiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-local-pattern.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js":
/*!*******************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***!
\*******************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n 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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5Q2dCQSxnQkFBYztlQUFkQTs7SUFyQ0FDLG9CQUFrQjtlQUFsQkE7Ozt1Q0FITztBQUdoQixTQUFTQSxtQkFBbUJDLE9BQXNCLEVBQUVDLEdBQVE7SUFDakUsSUFBSUQsUUFBUUUsUUFBUSxLQUFLQyxXQUFXO1FBQ2xDLE1BQU1DLGNBQWNILElBQUlDLFFBQVEsQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFJTCxRQUFRRSxRQUFRLEtBQUtFLGFBQWE7WUFDcEMsT0FBTztRQUNUO0lBQ0Y7SUFDQSxJQUFJSixRQUFRTSxJQUFJLEtBQUtILFdBQVc7UUFDOUIsSUFBSUgsUUFBUU0sSUFBSSxLQUFLTCxJQUFJSyxJQUFJLEVBQUU7WUFDN0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJTixRQUFRTyxRQUFRLEtBQUtKLFdBQVc7UUFDbEMsTUFBTSxJQUFJSyxNQUNSLCtDQUE2Q0MsS0FBS0MsU0FBUyxDQUFDVjtJQUVoRSxPQUFPO1FBQ0wsSUFBSSxDQUFDVyxDQUFBQSxHQUFBQSxXQUFBQSxNQUFNLEVBQUNYLFFBQVFPLFFBQVEsRUFBRUssSUFBSSxDQUFDWCxJQUFJTSxRQUFRLEdBQUc7WUFDaEQsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJUCxRQUFRYSxNQUFNLEtBQUtWLFdBQVc7UUFDaEMsSUFBSUgsUUFBUWEsTUFBTSxLQUFLWixJQUFJWSxNQUFNLEVBQUU7WUFDakMsT0FBTztRQUNUO0lBQ0Y7UUFHWWI7SUFEWiw4Q0FBOEM7SUFDOUMsSUFBSSxDQUFDVyxDQUFBQSxHQUFBQSxXQUFBQSxNQUFNLEVBQUNYLENBQUFBLG9CQUFBQSxRQUFRYyxRQUFRLFlBQWhCZCxvQkFBb0IsTUFBTTtRQUFFZSxLQUFLO0lBQUssR0FBR0gsSUFBSSxDQUFDWCxJQUFJYSxRQUFRLEdBQUc7UUFDdkUsT0FBTztJQUNUO0lBRUEsT0FBTztBQUNUO0FBRU8sU0FBU2hCLGVBQ2RrQixPQUFpQixFQUNqQkMsY0FBK0IsRUFDL0JoQixHQUFRO0lBRVIsT0FDRWUsUUFBUUUsSUFBSSxDQUFDLENBQUNDLFNBQVdsQixJQUFJTSxRQUFRLEtBQUtZLFdBQzFDRixlQUFlQyxJQUFJLENBQUMsQ0FBQ0UsSUFBTXJCLG1CQUFtQnFCLEdBQUduQjtBQUVyRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvbWF0Y2gtcmVtb3RlLXBhdHRlcm4udHM/ZDYxZCJdLCJuYW1lcyI6WyJoYXNSZW1vdGVNYXRjaCIsIm1hdGNoUmVtb3RlUGF0dGVybiIsInBhdHRlcm4iLCJ1cmwiLCJwcm90b2NvbCIsInVuZGVmaW5lZCIsImFjdHVhbFByb3RvIiwic2xpY2UiLCJwb3J0IiwiaG9zdG5hbWUiLCJFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJtYWtlUmUiLCJ0ZXN0Iiwic2VhcmNoIiwicGF0aG5hbWUiLCJkb3QiLCJkb21haW5zIiwicmVtb3RlUGF0dGVybnMiLCJzb21lIiwiZG9tYWluIiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js":
/*!****************************************************************************!*\
!*** ./node_modules/next/dist/shared/lib/router-context.shared-runtime.js ***!
\****************************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouterContext\", ({\n enumerable: true,\n get: function() {\n return RouterContext;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst RouterContext = _react.default.createContext(null);\nif (true) {\n RouterContext.displayName = \"RouterContext\";\n} //# sourceMappingURL=router-context.shared-runtime.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS5qcyIsIm1hcHBpbmdzIjoiOzs7O2lEQUdhQTs7O2VBQUFBOzs7OzRFQUhLO0FBR1gsTUFBTUEsZ0JBQWdCQyxPQUFBQSxPQUFLLENBQUNDLGFBQWEsQ0FBb0I7QUFFcEUsSUFBSUMsSUFBeUIsRUFBYztJQUN6Q0gsY0FBY0ksV0FBVyxHQUFHO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZS50cz82MzZjIl0sIm5hbWVzIjpbIlJvdXRlckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJwcm9jZXNzIiwiZGlzcGxheU5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/router-context.shared-runtime.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js":
/*!**********************************************************!*\
!*** ./node_modules/next/dist/shared/lib/side-effect.js ***!
\**********************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst isServer = typeof window === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n _s();\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n_s(SideEffect, \"gHVkikNHNxjVdD11eJBzaqkCiPY=\", false, function() {\n return [\n useClientOnlyLayoutEffect,\n useClientOnlyLayoutEffect,\n useClientOnlyEffect\n ];\n});\n_c = SideEffect;\nvar _c;\n$RefreshReg$(_c, \"SideEffect\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7MkNBb0JBOzs7ZUFBd0JBOzs7bUNBbkI2QjtBQWVyRCxNQUFNQyxXQUFXLE9BQU9DLFdBQVc7QUFDbkMsTUFBTUMsNEJBQTRCRixXQUFXLEtBQU8sSUFBSUcsT0FBQUEsZUFBZTtBQUN2RSxNQUFNQyxzQkFBc0JKLFdBQVcsS0FBTyxJQUFJSyxPQUFBQSxTQUFTO0FBRTVDLFNBQVNOLFdBQVdPLEtBQXNCOztJQUN2RCxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsdUJBQXVCLEVBQUUsR0FBR0Y7SUFFakQsU0FBU0c7UUFDUCxJQUFJRixlQUFlQSxZQUFZRyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNQyxlQUFlQyxPQUFBQSxRQUFRLENBQUNDLE9BQU8sQ0FDbkNDLE1BQU1DLElBQUksQ0FBQ1IsWUFBWUcsZ0JBQWdCLEVBQTBCTSxNQUFNLENBQ3JFQztZQUdKVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDL0Q7SUFDRjtJQUVBLElBQUlOLFVBQVU7WUFDWk87UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pEWDtJQUNGO0lBRUFQLDBCQUEwQjtZQUN4Qks7UUFBQUEsZUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLFlBQWFHLGdCQUFnQixxQkFBN0JILDhCQUErQlksR0FBRyxDQUFDYixNQUFNYyxRQUFRO1FBQ2pELE9BQU87Z0JBQ0xiO1lBQUFBLGVBQUFBLE9BQUFBLEtBQUFBLElBQUFBLENBQUFBLGdDQUFBQSxZQUFhRyxnQkFBZ0IscUJBQTdCSCw4QkFBK0JjLE1BQU0sQ0FBQ2YsTUFBTWMsUUFBUTtRQUN0RDtJQUNGO0lBRUEsa0ZBQWtGO0lBQ2xGLG9GQUFvRjtJQUNwRixnRUFBZ0U7SUFDaEUscUZBQXFGO0lBQ3JGLG1GQUFtRjtJQUNuRmxCLDBCQUEwQjtRQUN4QixJQUFJSyxhQUFhO1lBQ2ZBLFlBQVllLGNBQWMsR0FBR2I7UUFDL0I7UUFDQSxPQUFPO1lBQ0wsSUFBSUYsYUFBYTtnQkFDZkEsWUFBWWUsY0FBYyxHQUFHYjtZQUMvQjtRQUNGO0lBQ0Y7SUFFQUwsb0JBQW9CO1FBQ2xCLElBQUlHLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtZQUM3Q2YsWUFBWWUsY0FBYztZQUMxQmYsWUFBWWUsY0FBYyxHQUFHO1FBQy9CO1FBQ0EsT0FBTztZQUNMLElBQUlmLGVBQWVBLFlBQVllLGNBQWMsRUFBRTtnQkFDN0NmLFlBQVllLGNBQWM7Z0JBQzFCZixZQUFZZSxjQUFjLEdBQUc7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBTztBQUNUO0dBeER3QnZCOztRQW1CdEJHO1FBWUFBO1FBV0FFOzs7S0ExQ3NCTCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vLi4vc3JjL3NoYXJlZC9saWIvc2lkZS1lZmZlY3QudHN4P2U4ZGQiXSwibmFtZXMiOlsiU2lkZUVmZmVjdCIsImlzU2VydmVyIiwid2luZG93IiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/shared/lib/side-effect.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/App.tsx":
/*!*********************!*\
!*** ./src/App.tsx ***!
\*********************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_layout_ModernNavigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/layout/ModernNavigation */ \"(app-pages-browser)/./src/components/layout/ModernNavigation.tsx\");\n/* harmony import */ var _components_sections_HeroSection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/sections/HeroSection */ \"(app-pages-browser)/./src/components/sections/HeroSection.tsx\");\n/* harmony import */ var _components_sections_ServicesSection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/sections/ServicesSection */ \"(app-pages-browser)/./src/components/sections/ServicesSection.tsx\");\n/* harmony import */ var _components_sections_TechFeaturesSection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/sections/TechFeaturesSection */ \"(app-pages-browser)/./src/components/sections/TechFeaturesSection.tsx\");\n/* harmony import */ var _components_sections_AboutSection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/sections/AboutSection */ \"(app-pages-browser)/./src/components/sections/AboutSection.tsx\");\n/* harmony import */ var _components_layout_Footer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/layout/Footer */ \"(app-pages-browser)/./src/components/layout/Footer.tsx\");\n/* harmony import */ var _components_ui_Popup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/ui/Popup */ \"(app-pages-browser)/./src/components/ui/Popup.tsx\");\n/* harmony import */ var _components_ui_ScrollToTopButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/ui/ScrollToTopButton */ \"(app-pages-browser)/./src/components/ui/ScrollToTopButton.tsx\");\n/* harmony import */ var _components_ui_ModernLanguageSwitcher__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/ui/ModernLanguageSwitcher */ \"(app-pages-browser)/./src/components/ui/ModernLanguageSwitcher.tsx\");\n/* harmony import */ var _hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./hooks/useTranslation */ \"(app-pages-browser)/./src/hooks/useTranslation.tsx\");\n/* harmony import */ var _hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./hooks/useServiceModal */ \"(app-pages-browser)/./src/hooks/useServiceModal.ts\");\n/* harmony import */ var _hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./hooks/useAccordion */ \"(app-pages-browser)/./src/hooks/useAccordion.ts\");\n/* harmony import */ var _hooks_useOceanDepthEffect__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./hooks/useOceanDepthEffect */ \"(app-pages-browser)/./src/hooks/useOceanDepthEffect.ts\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst App = ()=>{\n _s();\n const { t, currentLanguage, changeLanguage, availableLanguages } = (0,_hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__.useTranslation)();\n const { selectedService, openServiceModal, closeServiceModal } = (0,_hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__.useServiceModal)();\n const { openAccordion, toggleAccordion } = (0,_hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__.useAccordion)();\n const scrollDepth = (0,_hooks_useOceanDepthEffect__WEBPACK_IMPORTED_MODULE_14__.useOceanDepthEffect)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen relative overflow-x-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 pointer-events-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-banquise-blue-light via-banquise-blue via-banquise-blue-dark to-banquise-blue-dark\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-transparent via-banquise-blue-dark/60 to-banquise-blue-dark transition-opacity duration-500\",\n style: {\n opacity: scrollDepth * 0.9\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 30,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-transparent via-banquise-blue-dark/70 to-banquise-blue-dark transition-opacity duration-500\",\n style: {\n opacity: Math.max(0, (scrollDepth - 0.2) * 1.5)\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-transparent via-banquise-blue-dark/80 to-slate-900 transition-opacity duration-500\",\n style: {\n opacity: Math.max(0, (scrollDepth - 0.5) * 2)\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-banquise-blue-dark/50 to-slate-900 transition-opacity duration-500\",\n style: {\n opacity: Math.max(0, (scrollDepth - 0.7) * 2.5)\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-br from-banquise-blue-lightest/4 via-transparent to-transparent\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 54,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-bl from-transparent via-banquise-blue-lightest/2 to-transparent\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 55,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 left-1/4 w-px h-full bg-gradient-to-b from-banquise-blue-lightest/20 via-banquise-blue-lightest/8 to-transparent animate-ocean-shimmer\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 59,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 left-2/3 w-px h-full bg-gradient-to-b from-banquise-blue-lightest/15 via-banquise-blue-lightest/6 to-transparent animate-ocean-shimmer delay-1000\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 60,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 left-3/4 w-px h-full bg-gradient-to-b from-banquise-blue-lightest/10 via-banquise-blue-lightest/4 to-transparent animate-ocean-shimmer delay-2000\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 61,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 58,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/6 left-1/5 w-2 h-2 bg-banquise-blue-lightest/20 rounded-full animate-bubble-float\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 67,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/4 left-3/4 w-1 h-1 bg-banquise-blue-lightest/15 rounded-full animate-bubble-float-fast delay-500\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 68,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/3 left-1/3 w-3 h-3 bg-banquise-blue-lightest/10 rounded-full animate-bubble-float-slow\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/2 left-4/5 w-1.5 h-1.5 bg-banquise-blue-lightest/18 rounded-full animate-bubble-float delay-1000\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 70,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-2/3 left-1/6 w-2.5 h-2.5 bg-banquise-blue-lightest/8 rounded-full animate-bubble-float-slow delay-1500\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 71,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-3/4 left-2/3 w-1 h-1 bg-banquise-blue-lightest/22 rounded-full animate-bubble-float-fast delay-700\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 72,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-5/6 left-1/2 w-1.5 h-1.5 bg-banquise-blue-lightest/12 rounded-full animate-bubble-float delay-300\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 73,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-11/12 left-3/5 w-2 h-2 bg-banquise-blue-lightest/6 rounded-full animate-bubble-float-slow delay-2000\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 74,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/8 left-1/2 w-1.5 h-1.5 bg-banquise-blue-lightest/25 rounded-full animate-bubble-float-fast delay-800\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 77,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-3/8 left-1/8 w-2 h-2 bg-banquise-blue-lightest/12 rounded-full animate-bubble-float delay-1200\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 78,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-5/8 left-7/8 w-1 h-1 bg-banquise-blue-lightest/20 rounded-full animate-bubble-float-slow delay-600\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 79,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-7/8 left-1/4 w-2.5 h-2.5 bg-banquise-blue-lightest/8 rounded-full animate-bubble-float-fast delay-1800\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/7 left-5/6 w-1 h-1 bg-banquise-blue-lightest/28 rounded-full animate-bubble-float delay-400\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 81,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-2/7 left-2/5 w-1.5 h-1.5 bg-banquise-blue-lightest/15 rounded-full animate-bubble-float-slow delay-900\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-4/7 left-3/8 w-2 h-2 bg-banquise-blue-lightest/10 rounded-full animate-bubble-float-fast delay-1400\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 83,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-6/7 left-4/5 w-1 h-1 bg-banquise-blue-lightest/18 rounded-full animate-bubble-float delay-200\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 84,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/10 left-3/10 w-0.5 h-0.5 bg-banquise-blue-lightest/30 rounded-full animate-bubble-float-fast delay-100\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 87,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-3/10 left-7/10 w-0.5 h-0.5 bg-banquise-blue-lightest/25 rounded-full animate-bubble-float delay-1100\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-7/10 left-1/10 w-0.5 h-0.5 bg-banquise-blue-lightest/20 rounded-full animate-bubble-float-slow delay-1700\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 89,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-9/10 left-9/10 w-0.5 h-0.5 bg-banquise-blue-lightest/15 rounded-full animate-bubble-float-fast delay-2200\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 90,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-1/5 left-4/7 w-3 h-3 bg-banquise-blue-lightest/5 rounded-full animate-bubble-float-slow delay-1600\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 93,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-2/5 left-6/7 w-2.5 h-2.5 bg-banquise-blue-lightest/7 rounded-full animate-bubble-float delay-800\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 94,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-4/5 left-2/7 w-3.5 h-3.5 bg-banquise-blue-lightest/4 rounded-full animate-bubble-float-slow delay-2400\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 95,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 65,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative z-10 text-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_layout_ModernNavigation__WEBPACK_IMPORTED_MODULE_2__.ModernNavigation, {\n translations: t.navigation,\n languageSwitcher: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ModernLanguageSwitcher__WEBPACK_IMPORTED_MODULE_10__.ModernLanguageSwitcher, {\n currentLanguage: currentLanguage,\n onLanguageChange: changeLanguage,\n availableLanguages: availableLanguages\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 105,\n columnNumber: 13\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 102,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_HeroSection__WEBPACK_IMPORTED_MODULE_3__.HeroSection, {\n translations: t.hero\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 114,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_ServicesSection__WEBPACK_IMPORTED_MODULE_4__.ServicesSection, {\n services: t.services,\n onServiceClick: openServiceModal,\n translations: t.common\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 117,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_TechFeaturesSection__WEBPACK_IMPORTED_MODULE_5__.TechFeaturesSection, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 124,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sections_AboutSection__WEBPACK_IMPORTED_MODULE_6__.AboutSection, {\n openAccordion: openAccordion,\n toggleAccordion: toggleAccordion\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 127,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_layout_Footer__WEBPACK_IMPORTED_MODULE_7__.Footer, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 130,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 100,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ScrollToTopButton__WEBPACK_IMPORTED_MODULE_9__.ScrollToTopButton, {}, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 134,\n columnNumber: 7\n }, undefined),\n selectedService && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Popup__WEBPACK_IMPORTED_MODULE_8__.Popup, {\n service: selectedService,\n onClose: closeServiceModal,\n translations: t.common\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 137,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/App.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined);\n};\n_s(App, \"XyxuxO9FK1wC2ucMwXJlItE/+yw=\", false, function() {\n return [\n _hooks_useTranslation__WEBPACK_IMPORTED_MODULE_11__.useTranslation,\n _hooks_useServiceModal__WEBPACK_IMPORTED_MODULE_12__.useServiceModal,\n _hooks_useAccordion__WEBPACK_IMPORTED_MODULE_13__.useAccordion,\n _hooks_useOceanDepthEffect__WEBPACK_IMPORTED_MODULE_14__.useOceanDepthEffect\n ];\n});\n_c = App;\n/* harmony default export */ __webpack_exports__[\"default\"] = (App);\nvar _c;\n$RefreshReg$(_c, \"App\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9BcHAudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMEI7QUFDOEM7QUFDUjtBQUNRO0FBQ1E7QUFDZDtBQUNkO0FBQ047QUFDd0I7QUFDVTtBQUN4QjtBQUNFO0FBQ047QUFDYztBQUVsRSxNQUFNYyxNQUFnQjs7SUFDcEIsTUFBTSxFQUFFQyxDQUFDLEVBQUVDLGVBQWUsRUFBRUMsY0FBYyxFQUFFQyxrQkFBa0IsRUFBRSxHQUFHUixzRUFBY0E7SUFDakYsTUFBTSxFQUFFUyxlQUFlLEVBQUVDLGdCQUFnQixFQUFFQyxpQkFBaUIsRUFBRSxHQUFHVix3RUFBZUE7SUFDaEYsTUFBTSxFQUFFVyxhQUFhLEVBQUVDLGVBQWUsRUFBRSxHQUFHWCxrRUFBWUE7SUFDdkQsTUFBTVksY0FBY1gsZ0ZBQW1CQTtJQUV2QyxxQkFDRSw4REFBQ1k7UUFBSUMsV0FBVTs7MEJBRWIsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FFYiw4REFBQ0Q7d0JBQUlDLFdBQVU7Ozs7OztrQ0FHZiw4REFBQ0Q7d0JBQ0NDLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQUVDLFNBQVNKLGNBQWM7d0JBQUk7Ozs7OztrQ0FJdEMsOERBQUNDO3dCQUNDQyxXQUFVO3dCQUNWQyxPQUFPOzRCQUFFQyxTQUFTQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxDQUFDTixjQUFjLEdBQUUsSUFBSzt3QkFBSzs7Ozs7O2tDQUkzRCw4REFBQ0M7d0JBQ0NDLFdBQVU7d0JBQ1ZDLE9BQU87NEJBQUVDLFNBQVNDLEtBQUtDLEdBQUcsQ0FBQyxHQUFHLENBQUNOLGNBQWMsR0FBRSxJQUFLO3dCQUFHOzs7Ozs7a0NBSXpELDhEQUFDQzt3QkFDQ0MsV0FBVTt3QkFDVkMsT0FBTzs0QkFBRUMsU0FBU0MsS0FBS0MsR0FBRyxDQUFDLEdBQUcsQ0FBQ04sY0FBYyxHQUFFLElBQUs7d0JBQUs7Ozs7OztrQ0FJM0QsOERBQUNDO3dCQUFJQyxXQUFVOzs7Ozs7a0NBQ2YsOERBQUNEO3dCQUFJQyxXQUFVOzs7Ozs7a0NBR2YsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7OztrQ0FJakIsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FFYiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FHZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FHZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FHZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0Q7Z0NBQUlDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFLbkIsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FFYiw4REFBQ3pCLGlGQUFnQkE7d0JBQ2Y4QixjQUFjaEIsRUFBRWlCLFVBQVU7d0JBQzFCQyxnQ0FDRSw4REFBQ3hCLDBGQUFzQkE7NEJBQ3JCTyxpQkFBaUJBOzRCQUNqQmtCLGtCQUFrQmpCOzRCQUNsQkMsb0JBQW9CQTs7Ozs7Ozs7Ozs7a0NBTTFCLDhEQUFDaEIseUVBQVdBO3dCQUFDNkIsY0FBY2hCLEVBQUVvQixJQUFJOzs7Ozs7a0NBR2pDLDhEQUFDaEMsaUZBQWVBO3dCQUNkaUMsVUFBVXJCLEVBQUVxQixRQUFRO3dCQUNwQkMsZ0JBQWdCakI7d0JBQ2hCVyxjQUFjaEIsRUFBRXVCLE1BQU07Ozs7OztrQ0FJeEIsOERBQUNsQyx5RkFBbUJBOzs7OztrQ0FHcEIsOERBQUNDLDJFQUFZQTt3QkFBQ2lCLGVBQWVBO3dCQUFlQyxpQkFBaUJBOzs7Ozs7a0NBRzdELDhEQUFDakIsNkRBQU1BOzs7Ozs7Ozs7OzswQkFJVCw4REFBQ0UsK0VBQWlCQTs7Ozs7WUFFakJXLGlDQUNDLDhEQUFDWix1REFBS0E7Z0JBQ0pnQyxTQUFTcEI7Z0JBQ1RxQixTQUFTbkI7Z0JBQ1RVLGNBQWNoQixFQUFFdUIsTUFBTTs7Ozs7Ozs7Ozs7O0FBS2hDO0dBaklNeEI7O1FBQytESixrRUFBY0E7UUFDaEJDLG9FQUFlQTtRQUNyQ0MsOERBQVlBO1FBQ25DQyw0RUFBbUJBOzs7S0FKbkNDO0FBbUlOLCtEQUFlQSxHQUFHQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9BcHAudHN4PzExNmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1vZGVybk5hdmlnYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L01vZGVybk5hdmlnYXRpb24nO1xuaW1wb3J0IHsgSGVyb1NlY3Rpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvc2VjdGlvbnMvSGVyb1NlY3Rpb24nO1xuaW1wb3J0IHsgU2VydmljZXNTZWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3NlY3Rpb25zL1NlcnZpY2VzU2VjdGlvbic7XG5pbXBvcnQgeyBUZWNoRmVhdHVyZXNTZWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3NlY3Rpb25zL1RlY2hGZWF0dXJlc1NlY3Rpb24nO1xuaW1wb3J0IHsgQWJvdXRTZWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3NlY3Rpb25zL0Fib3V0U2VjdGlvbic7XG5pbXBvcnQgeyBGb290ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0L0Zvb3Rlcic7XG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4vY29tcG9uZW50cy91aS9Qb3B1cCc7XG5pbXBvcnQgeyBTY3JvbGxUb1RvcEJ1dHRvbiB9IGZyb20gJy4vY29tcG9uZW50cy91aS9TY3JvbGxUb1RvcEJ1dHRvbic7XG5pbXBvcnQgeyBNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3VpL01vZGVybkxhbmd1YWdlU3dpdGNoZXInO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuL2hvb2tzL3VzZVRyYW5zbGF0aW9uJztcbmltcG9ydCB7IHVzZVNlcnZpY2VNb2RhbCB9IGZyb20gJy4vaG9va3MvdXNlU2VydmljZU1vZGFsJztcbmltcG9ydCB7IHVzZUFjY29yZGlvbiB9IGZyb20gJy4vaG9va3MvdXNlQWNjb3JkaW9uJztcbmltcG9ydCB7IHVzZU9jZWFuRGVwdGhFZmZlY3QgfSBmcm9tICcuL2hvb2tzL3VzZU9jZWFuRGVwdGhFZmZlY3QnO1xuXG5jb25zdCBBcHA6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB7IHQsIGN1cnJlbnRMYW5ndWFnZSwgY2hhbmdlTGFuZ3VhZ2UsIGF2YWlsYWJsZUxhbmd1YWdlcyB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgeyBzZWxlY3RlZFNlcnZpY2UsIG9wZW5TZXJ2aWNlTW9kYWwsIGNsb3NlU2VydmljZU1vZGFsIH0gPSB1c2VTZXJ2aWNlTW9kYWwoKTtcbiAgY29uc3QgeyBvcGVuQWNjb3JkaW9uLCB0b2dnbGVBY2NvcmRpb24gfSA9IHVzZUFjY29yZGlvbigpO1xuICBjb25zdCBzY3JvbGxEZXB0aCA9IHVzZU9jZWFuRGVwdGhFZmZlY3QoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIHJlbGF0aXZlIG92ZXJmbG93LXgtaGlkZGVuXCI+XG4gICAgICB7LyogQXJyacOocmUtcGxhbiBvY8OpYW5pcXVlIHVuaWZvcm1lIGF2ZWMgYXNzb21icmlzc2VtZW50IHByb2dyZXNzaWYgYmFzw6kgc3VyIGxlIHNjcm9sbCAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgICAgIHsvKiBEw6lncmFkw6kgcHJpbmNpcGFsIG9jw6lhbmlxdWUgLSBTdXJmYWNlIChjbGFpcikgdmVycyBhYnlzc2VzICh0csOocyBzb21icmUpICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQgdmlhLWJhbnF1aXNlLWJsdWUgdmlhLWJhbnF1aXNlLWJsdWUtZGFyayB0by1iYW5xdWlzZS1ibHVlLWRhcmtcIj48L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIHsvKiBDb3VjaGUgZGUgcHJvZm9uZGV1ciBwcm9ncmVzc2l2ZSBiYXPDqWUgc3VyIGxlIHNjcm9sbCAtIFBsdXMgaW50ZW5zZSAqL31cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmFucXVpc2UtYmx1ZS1kYXJrLzYwIHRvLWJhbnF1aXNlLWJsdWUtZGFyayB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tNTAwXCJcbiAgICAgICAgICBzdHlsZT17eyBvcGFjaXR5OiBzY3JvbGxEZXB0aCAqIDAuOSB9fVxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIFxuICAgICAgICB7LyogRWZmZXQgZGUgcHJvZm9uZGV1ciBzdXBwbMOpbWVudGFpcmUgcG91ciBsZXMgbW95ZW5uZXMgcHJvZm9uZGV1cnMgLSBQbHVzIHNvbWJyZSAqL31cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmFucXVpc2UtYmx1ZS1kYXJrLzcwIHRvLWJhbnF1aXNlLWJsdWUtZGFyayB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tNTAwXCJcbiAgICAgICAgICBzdHlsZT17eyBvcGFjaXR5OiBNYXRoLm1heCgwLCAoc2Nyb2xsRGVwdGggLSAwLjIpICogMS41KSB9fVxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIFxuICAgICAgICB7LyogQXNzb21icmlzc2VtZW50IHBvdXIgbGVzIGdyYW5kZXMgcHJvZm9uZGV1cnMgLSBQbHVzIGludGVuc2UgKi99XG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ncmFkaWVudC10by1iIGZyb20tdHJhbnNwYXJlbnQgdmlhLWJhbnF1aXNlLWJsdWUtZGFyay84MCB0by1zbGF0ZS05MDAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTUwMFwiXG4gICAgICAgICAgc3R5bGU9e3sgb3BhY2l0eTogTWF0aC5tYXgoMCwgKHNjcm9sbERlcHRoIC0gMC41KSAqIDIpIH19XG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIHsvKiBBc3NvbWJyaXNzZW1lbnQgZmluYWwgcG91ciBsZXMgYWJ5c3NlcyAtIFRyw6hzIHNvbWJyZSAqL31cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1iYW5xdWlzZS1ibHVlLWRhcmsvNTAgdG8tc2xhdGUtOTAwIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi01MDBcIlxuICAgICAgICAgIHN0eWxlPXt7IG9wYWNpdHk6IE1hdGgubWF4KDAsIChzY3JvbGxEZXB0aCAtIDAuNykgKiAyLjUpIH19XG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIHsvKiBSYXlvbnMgZGUgbHVtacOocmUgc3VidGlscyBxdWkgcGVyY2VudCBsJ2VhdSBkZXB1aXMgbGEgc3VyZmFjZSAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1saWdodGVzdC80IHZpYS10cmFuc3BhcmVudCB0by10cmFuc3BhcmVudFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYmwgZnJvbS10cmFuc3BhcmVudCB2aWEtYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yIHRvLXRyYW5zcGFyZW50XCI+PC9kaXY+XG4gICAgICAgIFxuICAgICAgICB7LyogRWZmZXQgZGUgc2NpbnRpbGxlbWVudCBzdWJ0aWwgYXZlYyBhbmltYXRpb25zIG9jw6lhbmlxdWVzICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0wIGxlZnQtMS80IHctcHggaC1mdWxsIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIwIHZpYS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzggdG8tdHJhbnNwYXJlbnQgYW5pbWF0ZS1vY2Vhbi1zaGltbWVyXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTIvMyB3LXB4IGgtZnVsbCBiZy1ncmFkaWVudC10by1iIGZyb20tYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xNSB2aWEtYmFucXVpc2UtYmx1ZS1saWdodGVzdC82IHRvLXRyYW5zcGFyZW50IGFuaW1hdGUtb2NlYW4tc2hpbW1lciBkZWxheS0xMDAwXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTMvNCB3LXB4IGgtZnVsbCBiZy1ncmFkaWVudC10by1iIGZyb20tYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xMCB2aWEtYmFucXVpc2UtYmx1ZS1saWdodGVzdC80IHRvLXRyYW5zcGFyZW50IGFuaW1hdGUtb2NlYW4tc2hpbW1lciBkZWxheS0yMDAwXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgey8qIFBhcnRpY3VsZXMgZmxvdHRhbnRlcyAoYnVsbGVzKSBwb3VyIGwnZWZmZXQgc291cy1tYXJpbiBhdmVjIGFuaW1hdGlvbnMgdmFyacOpZXMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMFwiPlxuICAgICAgICAgIHsvKiBCdWxsZXMgcsOpcGFydGllcyBzdXIgdG91dGUgbGEgaGF1dGV1ciBwb3VyIGwnZWZmZXQgb2PDqWFuaXF1ZSBjb250aW51ICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTEvNiBsZWZ0LTEvNSB3LTIgaC0yIGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMjAgcm91bmRlZC1mdWxsIGFuaW1hdGUtYnViYmxlLWZsb2F0XCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMS80IGxlZnQtMy80IHctMSBoLTEgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xNSByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtZmFzdCBkZWxheS01MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xLzMgbGVmdC0xLzMgdy0zIGgtMyBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEwIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1zbG93XCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMS8yIGxlZnQtNC81IHctMS41IGgtMS41IGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMTggcm91bmRlZC1mdWxsIGFuaW1hdGUtYnViYmxlLWZsb2F0IGRlbGF5LTEwMDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0yLzMgbGVmdC0xLzYgdy0yLjUgaC0yLjUgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC84IHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1zbG93IGRlbGF5LTE1MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0zLzQgbGVmdC0yLzMgdy0xIGgtMSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIyIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1mYXN0IGRlbGF5LTcwMFwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTUvNiBsZWZ0LTEvMiB3LTEuNSBoLTEuNSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEyIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdCBkZWxheS0zMDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xMS8xMiBsZWZ0LTMvNSB3LTIgaC0yIGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNiByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtc2xvdyBkZWxheS0yMDAwXCI+PC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgey8qIEJ1bGxlcyBzdXBwbMOpbWVudGFpcmVzIHBvdXIgdW4gZWZmZXQgcGx1cyBkZW5zZSAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xLzggbGVmdC0xLzIgdy0xLjUgaC0xLjUgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yNSByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtZmFzdCBkZWxheS04MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0zLzggbGVmdC0xLzggdy0yIGgtMiBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEyIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdCBkZWxheS0xMjAwXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtNS84IGxlZnQtNy84IHctMSBoLTEgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtc2xvdyBkZWxheS02MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC03LzggbGVmdC0xLzQgdy0yLjUgaC0yLjUgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC84IHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1mYXN0IGRlbGF5LTE4MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xLzcgbGVmdC01LzYgdy0xIGgtMSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzI4IHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdCBkZWxheS00MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0yLzcgbGVmdC0yLzUgdy0xLjUgaC0xLjUgYmctYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xNSByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtc2xvdyBkZWxheS05MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC00LzcgbGVmdC0zLzggdy0yIGgtMiBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEwIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1mYXN0IGRlbGF5LTE0MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC02LzcgbGVmdC00LzUgdy0xIGgtMSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzE4IHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdCBkZWxheS0yMDBcIj48L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogQnVsbGVzIHRyw6hzIHBldGl0ZXMgcG91ciBkZW5zaXTDqSAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0xLzEwIGxlZnQtMy8xMCB3LTAuNSBoLTAuNSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1mYXN0IGRlbGF5LTEwMFwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTMvMTAgbGVmdC03LzEwIHctMC41IGgtMC41IGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMjUgcm91bmRlZC1mdWxsIGFuaW1hdGUtYnViYmxlLWZsb2F0IGRlbGF5LTExMDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC03LzEwIGxlZnQtMS8xMCB3LTAuNSBoLTAuNSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIwIHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1zbG93IGRlbGF5LTE3MDBcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC05LzEwIGxlZnQtOS8xMCB3LTAuNSBoLTAuNSBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzE1IHJvdW5kZWQtZnVsbCBhbmltYXRlLWJ1YmJsZS1mbG9hdC1mYXN0IGRlbGF5LTIyMDBcIj48L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogQnVsbGVzIG1veWVubmVzIHBvdXIgdmFyaWF0aW9uICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTEvNSBsZWZ0LTQvNyB3LTMgaC0zIGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNSByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtc2xvdyBkZWxheS0xNjAwXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMi81IGxlZnQtNi83IHctMi41IGgtMi41IGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNyByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQgZGVsYXktODAwXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtNC81IGxlZnQtMi83IHctMy41IGgtMy41IGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1idWJibGUtZmxvYXQtc2xvdyBkZWxheS0yNDAwXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIHsvKiBDb250ZW51IHByaW5jaXBhbCBhdmVjIGFycmnDqHJlLXBsYW4gb2PDqWFuaXF1ZSB1bmlmb3JtZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgei0xMCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgIHsvKiBOYXZpZ2F0aW9uIGZsb3R0YW50ZSAqL31cbiAgICAgICAgPE1vZGVybk5hdmlnYXRpb24gXG4gICAgICAgICAgdHJhbnNsYXRpb25zPXt0Lm5hdmlnYXRpb259XG4gICAgICAgICAgbGFuZ3VhZ2VTd2l0Y2hlcj17XG4gICAgICAgICAgICA8TW9kZXJuTGFuZ3VhZ2VTd2l0Y2hlciBcbiAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlPXtjdXJyZW50TGFuZ3VhZ2V9XG4gICAgICAgICAgICAgIG9uTGFuZ3VhZ2VDaGFuZ2U9e2NoYW5nZUxhbmd1YWdlfVxuICAgICAgICAgICAgICBhdmFpbGFibGVMYW5ndWFnZXM9e2F2YWlsYWJsZUxhbmd1YWdlc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgICBcbiAgICAgICAgey8qIFNlY3Rpb24gSGVybyAtIFN1cmZhY2UgZGUgbCdvY8OpYW4gKi99XG4gICAgICAgIDxIZXJvU2VjdGlvbiB0cmFuc2xhdGlvbnM9e3QuaGVyb30gLz5cbiAgICAgICAgXG4gICAgICAgIHsvKiBTZWN0aW9uIFNlcnZpY2VzICovfVxuICAgICAgICA8U2VydmljZXNTZWN0aW9uIFxuICAgICAgICAgIHNlcnZpY2VzPXt0LnNlcnZpY2VzfSBcbiAgICAgICAgICBvblNlcnZpY2VDbGljaz17b3BlblNlcnZpY2VNb2RhbH1cbiAgICAgICAgICB0cmFuc2xhdGlvbnM9e3QuY29tbW9ufVxuICAgICAgICAvPlxuICAgICAgICBcbiAgICAgICAgey8qIFNlY3Rpb24gVGVjaEZlYXR1cmVzICovfVxuICAgICAgICA8VGVjaEZlYXR1cmVzU2VjdGlvbiAvPlxuICAgICAgICBcbiAgICAgICAgey8qIFNlY3Rpb24gQWJvdXQgKi99XG4gICAgICAgIDxBYm91dFNlY3Rpb24gb3BlbkFjY29yZGlvbj17b3BlbkFjY29yZGlvbn0gdG9nZ2xlQWNjb3JkaW9uPXt0b2dnbGVBY2NvcmRpb259IC8+XG4gICAgICAgIFxuICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICA8Rm9vdGVyIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIFVJIENvbXBvbmVudHMgKi99XG4gICAgICA8U2Nyb2xsVG9Ub3BCdXR0b24gLz5cbiAgICAgIFxuICAgICAge3NlbGVjdGVkU2VydmljZSAmJiAoXG4gICAgICAgIDxQb3B1cCBcbiAgICAgICAgICBzZXJ2aWNlPXtzZWxlY3RlZFNlcnZpY2V9IFxuICAgICAgICAgIG9uQ2xvc2U9e2Nsb3NlU2VydmljZU1vZGFsfVxuICAgICAgICAgIHRyYW5zbGF0aW9ucz17dC5jb21tb259XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9kZXJuTmF2aWdhdGlvbiIsIkhlcm9TZWN0aW9uIiwiU2VydmljZXNTZWN0aW9uIiwiVGVjaEZlYXR1cmVzU2VjdGlvbiIsIkFib3V0U2VjdGlvbiIsIkZvb3RlciIsIlBvcHVwIiwiU2Nyb2xsVG9Ub3BCdXR0b24iLCJNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTZXJ2aWNlTW9kYWwiLCJ1c2VBY2NvcmRpb24iLCJ1c2VPY2VhbkRlcHRoRWZmZWN0IiwiQXBwIiwidCIsImN1cnJlbnRMYW5ndWFnZSIsImNoYW5nZUxhbmd1YWdlIiwiYXZhaWxhYmxlTGFuZ3VhZ2VzIiwic2VsZWN0ZWRTZXJ2aWNlIiwib3BlblNlcnZpY2VNb2RhbCIsImNsb3NlU2VydmljZU1vZGFsIiwib3BlbkFjY29yZGlvbiIsInRvZ2dsZUFjY29yZGlvbiIsInNjcm9sbERlcHRoIiwiZGl2IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJvcGFjaXR5IiwiTWF0aCIsIm1heCIsInRyYW5zbGF0aW9ucyIsIm5hdmlnYXRpb24iLCJsYW5ndWFnZVN3aXRjaGVyIiwib25MYW5ndWFnZUNoYW5nZSIsImhlcm8iLCJzZXJ2aWNlcyIsIm9uU2VydmljZUNsaWNrIiwiY29tbW9uIiwic2VydmljZSIsIm9uQ2xvc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/App.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/common/Button.tsx":
/*!******************************************!*\
!*** ./src/components/common/Button.tsx ***!
\******************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: function() { return /* binding */ Button; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n\n\n\nconst sizeClasses = {\n sm: \"px-3 py-1.5 text-sm\",\n md: \"px-4 lg:px-6 py-2.5 lg:py-3 text-sm lg:text-base\",\n lg: \"px-6 py-3 text-base lg:text-lg\"\n};\nconst variantClasses = {\n primary: \"bg-gradient-to-r from-banquise-blue to-banquise-blue-light hover:shadow-banquise-blue/25\",\n discord: \"bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-500 hover:to-purple-500 hover:shadow-indigo-500/25\",\n auth: \"bg-gradient-to-r from-banquise-blue-light to-banquise-blue hover:shadow-banquise-blue-light/25\",\n secondary: \"bg-white/10 hover:bg-white/20 border border-white/20\"\n};\nconst Button = (param)=>{\n let { variant = \"primary\", size = \"md\", fullWidth = false, leftIcon, rightIcon, loading = false, children, className = \"\", disabled, ...props } = param;\n const baseClasses = (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.componentStyles.button.base, sizeClasses[size], variantClasses[variant], fullWidth ? \"w-full\" : \"\", disabled || loading ? \"opacity-50 cursor-not-allowed\" : \"\", className);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: baseClasses,\n disabled: disabled || loading,\n ...props,\n children: [\n loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"animate-spin -ml-1 mr-2 h-4 w-4 text-white\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n className: \"opacity-25\",\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n stroke: \"currentColor\",\n strokeWidth: \"4\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 56,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n className: \"opacity-75\",\n fill: \"currentColor\",\n d: \"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 55,\n columnNumber: 9\n }, undefined),\n leftIcon && !loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-2\",\n children: leftIcon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 60,\n columnNumber: 32\n }, undefined),\n children,\n rightIcon && !loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2\",\n children: rightIcon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 62,\n columnNumber: 33\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/Button.tsx\",\n lineNumber: 49,\n columnNumber: 5\n }, undefined);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUEwQjtBQUNnRDtBQVkxRSxNQUFNRyxjQUFjO0lBQ2xCQyxJQUFJO0lBQ0pDLElBQUk7SUFDSkMsSUFBSTtBQUNOO0FBRUEsTUFBTUMsaUJBQWlCO0lBQ3JCQyxTQUFTO0lBQ1RDLFNBQVM7SUFDVEMsTUFBTTtJQUNOQyxXQUFXO0FBQ2I7QUFFTyxNQUFNQyxTQUFnQztRQUFDLEVBQzVDQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxZQUFZLEtBQUssRUFDakJDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxZQUFZLEVBQUUsRUFDZEMsUUFBUSxFQUNSLEdBQUdDLE9BQ0o7SUFDQyxNQUFNQyxjQUFjckIsa0VBQVlBLENBQzlCRCxpRUFBZUEsQ0FBQ3VCLE1BQU0sQ0FBQ0MsSUFBSSxFQUMzQnRCLFdBQVcsQ0FBQ1csS0FBSyxFQUNqQlAsY0FBYyxDQUFDTSxRQUFRLEVBQ3ZCRSxZQUFZLFdBQVcsSUFDdkIsWUFBYUcsVUFBVyxrQ0FBa0MsSUFDMURFO0lBR0YscUJBQ0UsOERBQUNJO1FBQ0NKLFdBQVdHO1FBQ1hGLFVBQVVBLFlBQVlIO1FBQ3JCLEdBQUdJLEtBQUs7O1lBRVJKLHlCQUNDLDhEQUFDUTtnQkFBSU4sV0FBVTtnQkFBNkNPLE9BQU07Z0JBQTZCQyxNQUFLO2dCQUFPQyxTQUFROztrQ0FDakgsOERBQUNDO3dCQUFPVixXQUFVO3dCQUFhVyxJQUFHO3dCQUFLQyxJQUFHO3dCQUFLQyxHQUFFO3dCQUFLQyxRQUFPO3dCQUFlQyxhQUFZOzs7Ozs7a0NBQ3hGLDhEQUFDQzt3QkFBS2hCLFdBQVU7d0JBQWFRLE1BQUs7d0JBQWVTLEdBQUU7Ozs7Ozs7Ozs7OztZQUd0RHJCLFlBQVksQ0FBQ0UseUJBQVcsOERBQUNvQjtnQkFBS2xCLFdBQVU7MEJBQVFKOzs7Ozs7WUFDaERHO1lBQ0FGLGFBQWEsQ0FBQ0MseUJBQVcsOERBQUNvQjtnQkFBS2xCLFdBQVU7MEJBQVFIOzs7Ozs7Ozs7Ozs7QUFHeEQsRUFBRTtLQXRDV0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvY29tbW9uL0J1dHRvbi50c3g/MjhlMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29tcG9uZW50U3R5bGVzLCBtZXJnZUNsYXNzZXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvZGVzaWduU3lzdGVtJztcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86ICdwcmltYXJ5JyB8ICdkaXNjb3JkJyB8ICdhdXRoJyB8ICdzZWNvbmRhcnknO1xuICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xuICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICBsZWZ0SWNvbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcmlnaHRJY29uPzogUmVhY3QuUmVhY3ROb2RlO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuY29uc3Qgc2l6ZUNsYXNzZXMgPSB7XG4gIHNtOiAncHgtMyBweS0xLjUgdGV4dC1zbScsXG4gIG1kOiAncHgtNCBsZzpweC02IHB5LTIuNSBsZzpweS0zIHRleHQtc20gbGc6dGV4dC1iYXNlJyxcbiAgbGc6ICdweC02IHB5LTMgdGV4dC1iYXNlIGxnOnRleHQtbGcnLFxufTtcblxuY29uc3QgdmFyaWFudENsYXNzZXMgPSB7XG4gIHByaW1hcnk6ICdiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IGhvdmVyOnNoYWRvdy1iYW5xdWlzZS1ibHVlLzI1JyxcbiAgZGlzY29yZDogJ2JnLWdyYWRpZW50LXRvLXIgZnJvbS1pbmRpZ28tNjAwIHRvLXB1cnBsZS02MDAgaG92ZXI6ZnJvbS1pbmRpZ28tNTAwIGhvdmVyOnRvLXB1cnBsZS01MDAgaG92ZXI6c2hhZG93LWluZGlnby01MDAvMjUnLFxuICBhdXRoOiAnYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQgdG8tYmFucXVpc2UtYmx1ZSBob3ZlcjpzaGFkb3ctYmFucXVpc2UtYmx1ZS1saWdodC8yNScsXG4gIHNlY29uZGFyeTogJ2JnLXdoaXRlLzEwIGhvdmVyOmJnLXdoaXRlLzIwIGJvcmRlciBib3JkZXItd2hpdGUvMjAnLFxufTtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbjogUmVhY3QuRkM8QnV0dG9uUHJvcHM+ID0gKHtcbiAgdmFyaWFudCA9ICdwcmltYXJ5JyxcbiAgc2l6ZSA9ICdtZCcsXG4gIGZ1bGxXaWR0aCA9IGZhbHNlLFxuICBsZWZ0SWNvbixcbiAgcmlnaHRJY29uLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUgPSAnJyxcbiAgZGlzYWJsZWQsXG4gIC4uLnByb3BzXG59KSA9PiB7XG4gIGNvbnN0IGJhc2VDbGFzc2VzID0gbWVyZ2VDbGFzc2VzKFxuICAgIGNvbXBvbmVudFN0eWxlcy5idXR0b24uYmFzZSxcbiAgICBzaXplQ2xhc3Nlc1tzaXplXSxcbiAgICB2YXJpYW50Q2xhc3Nlc1t2YXJpYW50XSxcbiAgICBmdWxsV2lkdGggPyAndy1mdWxsJyA6ICcnLFxuICAgIChkaXNhYmxlZCB8fCBsb2FkaW5nKSA/ICdvcGFjaXR5LTUwIGN1cnNvci1ub3QtYWxsb3dlZCcgOiAnJyxcbiAgICBjbGFzc05hbWVcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzTmFtZT17YmFzZUNsYXNzZXN9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgfHwgbG9hZGluZ31cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7bG9hZGluZyAmJiAoXG4gICAgICAgIDxzdmcgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluIC1tbC0xIG1yLTIgaC00IHctNCB0ZXh0LXdoaXRlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgIDxjaXJjbGUgY2xhc3NOYW1lPVwib3BhY2l0eS0yNVwiIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCI0XCI+PC9jaXJjbGU+XG4gICAgICAgICAgPHBhdGggY2xhc3NOYW1lPVwib3BhY2l0eS03NVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTQgMTJhOCA4IDAgMDE4LThWMEM1LjM3MyAwIDAgNS4zNzMgMCAxMmg0em0yIDUuMjkxQTcuOTYyIDcuOTYyIDAgMDE0IDEySDBjMCAzLjA0MiAxLjEzNSA1LjgyNCAzIDcuOTM4bDMtMi42NDd6XCI+PC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICl9XG4gICAgICB7bGVmdEljb24gJiYgIWxvYWRpbmcgJiYgPHNwYW4gY2xhc3NOYW1lPVwibXItMlwiPntsZWZ0SWNvbn08L3NwYW4+fVxuICAgICAge2NoaWxkcmVufVxuICAgICAge3JpZ2h0SWNvbiAmJiAhbG9hZGluZyAmJiA8c3BhbiBjbGFzc05hbWU9XCJtbC0yXCI+e3JpZ2h0SWNvbn08L3NwYW4+fVxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNvbXBvbmVudFN0eWxlcyIsIm1lcmdlQ2xhc3NlcyIsInNpemVDbGFzc2VzIiwic20iLCJtZCIsImxnIiwidmFyaWFudENsYXNzZXMiLCJwcmltYXJ5IiwiZGlzY29yZCIsImF1dGgiLCJzZWNvbmRhcnkiLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImZ1bGxXaWR0aCIsImxlZnRJY29uIiwicmlnaHRJY29uIiwibG9hZGluZyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJwcm9wcyIsImJhc2VDbGFzc2VzIiwiYnV0dG9uIiwiYmFzZSIsInN2ZyIsInhtbG5zIiwiZmlsbCIsInZpZXdCb3giLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwicGF0aCIsImQiLCJzcGFuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/common/Button.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/common/ServiceCard.tsx":
/*!***********************************************!*\
!*** ./src/components/common/ServiceCard.tsx ***!
\***********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ServiceCard: function() { return /* binding */ ServiceCard; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/image */ \"(app-pages-browser)/./node_modules/next/dist/api/image.js\");\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n\n\n\n\nconst ServiceCard = (param)=>{\n let { service, onServiceClick, className = \"\" } = param;\n const cardClasses = (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"group relative p-6 sm:p-8 transition-all duration-300 cursor-pointer\", _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.componentStyles.card.base, _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.componentStyles.card.gradient, \"hover:-translate-y-4 hover:shadow-2xl hover:border-banquise-blue-lightest/50 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 active:scale-95\", className);\n const handleClick = ()=>{\n onServiceClick(service);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: cardClasses,\n onClick: handleClick,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-6 sm:mb-8 w-20 h-20 sm:w-24 sm:h-24 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-2xl flex items-center justify-center text-3xl sm:text-4xl shadow-lg group-hover:scale-110 transition-transform duration-300 mx-auto\",\n children: typeof service.image === \"string\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: service.image,\n alt: service.icon,\n className: \"h-10 sm:h-12 lg:h-14 w-auto relative z-10 transition-transform duration-300 group-hover:scale-130 m-10\",\n style: {\n filter: \"drop-shadow(0 0 12px rgba(168, 218, 255, 0.4))\"\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 34,\n columnNumber: 19\n }, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n src: service.image,\n alt: service.icon,\n className: \"h-10 sm:h-12 lg:h-14 w-auto relative z-10 transition-transform duration-300 group-hover:scale-130 m-10\",\n width: 56,\n height: 56,\n unoptimized: true\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 41,\n columnNumber: 19\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl sm:text-2xl font-bold text-banquise-gray mb-4 sm:mb-6 font-heading text-center group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: service.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-center text-sm sm:text-base\",\n children: [\n service.description.split(\".\")[0],\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 58,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-br from-banquise-blue-lightest/10 to-banquise-blue/5 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 64,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/common/ServiceCard.tsx\",\n lineNumber: 30,\n columnNumber: 5\n }, undefined);\n};\n_c = ServiceCard;\nvar _c;\n$RefreshReg$(_c, \"ServiceCard\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9TZXJ2aWNlQ2FyZC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUEwQjtBQUNJO0FBQzRDO0FBU25FLE1BQU1JLGNBQTBDO1FBQUMsRUFDdERDLE9BQU8sRUFDUEMsY0FBYyxFQUNkQyxZQUFZLEVBQUUsRUFDZjtJQUNDLE1BQU1DLGNBQWNMLGtFQUFZQSxDQUM5Qix3RUFDQUQsaUVBQWVBLENBQUNPLElBQUksQ0FBQ0MsSUFBSSxFQUN6QlIsaUVBQWVBLENBQUNPLElBQUksQ0FBQ0UsUUFBUSxFQUM3QiwrSkFDQUo7SUFHRixNQUFNSyxjQUFjO1FBQ2xCTixlQUFlRDtJQUNqQjtJQUVBLHFCQUNFLDhEQUFDUTtRQUFJTixXQUFXQztRQUFhTSxTQUFTRjs7MEJBRXBDLDhEQUFDQztnQkFBSU4sV0FBVTswQkFDSixPQUFPRixRQUFRVSxLQUFLLEtBQUsseUJBQ3hCLDhEQUFDQztvQkFDQ0MsS0FBS1osUUFBUVUsS0FBSztvQkFDbEJHLEtBQUtiLFFBQVFjLElBQUk7b0JBQ2pCWixXQUFVO29CQUNWYSxPQUFPO3dCQUFFQyxRQUFRO29CQUFpRDs7Ozs7OENBR3BFLDhEQUFDcEIsa0RBQUtBO29CQUNKZ0IsS0FBS1osUUFBUVUsS0FBSztvQkFDbEJHLEtBQUtiLFFBQVFjLElBQUk7b0JBQ2pCWixXQUFVO29CQUNWZSxPQUFPO29CQUNQQyxRQUFRO29CQUNSQyxXQUFXOzs7Ozs7Ozs7OzswQkFNekIsOERBQUNDO2dCQUFHbEIsV0FBVTswQkFDWEYsUUFBUXFCLElBQUk7Ozs7OzswQkFJZiw4REFBQ0M7Z0JBQUVwQixXQUFVOztvQkFDVkYsUUFBUXVCLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUFDOzs7Ozs7OzBCQUtyQyw4REFBQ2hCO2dCQUFJTixXQUFVOzs7Ozs7Ozs7Ozs7QUFHckIsRUFBRTtLQXZEV0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvY29tbW9uL1NlcnZpY2VDYXJkLnRzeD9lODc1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnbmV4dC9pbWFnZSdcbmltcG9ydCB7IGNvbXBvbmVudFN0eWxlcywgbWVyZ2VDbGFzc2VzIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2Rlc2lnblN5c3RlbSc7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2UgfSBmcm9tICcuLi8uLi90eXBlcy9zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFNlcnZpY2VDYXJkUHJvcHMge1xuICBzZXJ2aWNlOiBTZXJ2aWNlO1xuICBvblNlcnZpY2VDbGljazogKHNlcnZpY2U6IFNlcnZpY2UpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VDYXJkOiBSZWFjdC5GQzxTZXJ2aWNlQ2FyZFByb3BzPiA9ICh7XG4gIHNlcnZpY2UsXG4gIG9uU2VydmljZUNsaWNrLFxuICBjbGFzc05hbWUgPSAnJyxcbn0pID0+IHtcbiAgY29uc3QgY2FyZENsYXNzZXMgPSBtZXJnZUNsYXNzZXMoXG4gICAgJ2dyb3VwIHJlbGF0aXZlIHAtNiBzbTpwLTggdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGN1cnNvci1wb2ludGVyJyxcbiAgICBjb21wb25lbnRTdHlsZXMuY2FyZC5iYXNlLFxuICAgIGNvbXBvbmVudFN0eWxlcy5jYXJkLmdyYWRpZW50LFxuICAgICdob3ZlcjotdHJhbnNsYXRlLXktNCBob3ZlcjpzaGFkb3ctMnhsIGhvdmVyOmJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzUwIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGFjdGl2ZTpzY2FsZS05NScsXG4gICAgY2xhc3NOYW1lXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgb25TZXJ2aWNlQ2xpY2soc2VydmljZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2FyZENsYXNzZXN9IG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgIHsvKiBJY29uICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi02IHNtOm1iLTggdy0yMCBoLTIwIHNtOnctMjQgc206aC0yNCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCByb3VuZGVkLTJ4bCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBteC1hdXRvXCI+XG4gICAgICAgICAgICAgICAge3R5cGVvZiBzZXJ2aWNlLmltYWdlID09PSAnc3RyaW5nJyA/IChcbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgc3JjPXtzZXJ2aWNlLmltYWdlfVxuICAgICAgICAgICAgICAgICAgICBhbHQ9e3NlcnZpY2UuaWNvbn1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC0xMCBzbTpoLTEyIGxnOmgtMTQgdy1hdXRvIHJlbGF0aXZlIHotMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTEzMCBtLTEwXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZmlsdGVyOiAnZHJvcC1zaGFkb3coMCAwIDEycHggcmdiYSgxNjgsIDIxOCwgMjU1LCAwLjQpKScgfX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgICAgICBzcmM9e3NlcnZpY2UuaW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdD17c2VydmljZS5pY29ufVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLTEwIHNtOmgtMTIgbGc6aC0xNCB3LWF1dG8gcmVsYXRpdmUgei0xMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTMwIG0tMTBcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17NTZ9XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD17NTZ9XG4gICAgICAgICAgICAgICAgICAgIHVub3B0aW1pemVkXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIFNlcnZpY2UgbmFtZSAqL31cbiAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWJhbnF1aXNlLWdyYXkgbWItNCBzbTptYi02IGZvbnQtaGVhZGluZyB0ZXh0LWNlbnRlciBncm91cC1ob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwXCI+XG4gICAgICAgIHtzZXJ2aWNlLm5hbWV9XG4gICAgICA8L2gzPlxuICAgICAgXG4gICAgICB7LyogU2hvcnQgZGVzY3JpcHRpb24gKi99XG4gICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgbGVhZGluZy1yZWxheGVkIHRleHQtY2VudGVyIHRleHQtc20gc206dGV4dC1iYXNlXCI+XG4gICAgICAgIHtzZXJ2aWNlLmRlc2NyaXB0aW9uLnNwbGl0KCcuJylbMF19LlxuICAgICAgPC9wPlxuICAgICAgXG4gICAgICBcbiAgICAgIHsvKiBIb3ZlciBlZmZlY3QgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEwIHRvLWJhbnF1aXNlLWJsdWUvNSByb3VuZGVkLTJ4bCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTMwMCBwb2ludGVyLWV2ZW50cy1ub25lXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiSW1hZ2UiLCJjb21wb25lbnRTdHlsZXMiLCJtZXJnZUNsYXNzZXMiLCJTZXJ2aWNlQ2FyZCIsInNlcnZpY2UiLCJvblNlcnZpY2VDbGljayIsImNsYXNzTmFtZSIsImNhcmRDbGFzc2VzIiwiY2FyZCIsImJhc2UiLCJncmFkaWVudCIsImhhbmRsZUNsaWNrIiwiZGl2Iiwib25DbGljayIsImltYWdlIiwiaW1nIiwic3JjIiwiYWx0IiwiaWNvbiIsInN0eWxlIiwiZmlsdGVyIiwid2lkdGgiLCJoZWlnaHQiLCJ1bm9wdGltaXplZCIsImgzIiwibmFtZSIsInAiLCJkZXNjcmlwdGlvbiIsInNwbGl0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/common/ServiceCard.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/Footer.tsx":
/*!******************************************!*\
!*** ./src/components/layout/Footer.tsx ***!
\******************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Footer: function() { return /* binding */ Footer; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n\n\n\nconst Footer = ()=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"footer\", {\n className: \"bg-banquise-blue-dark/95 backdrop-blur-sm text-white py-8 px-4 sm:px-6 md:px-8 relative z-10 border-t border-banquise-blue-lightest/10 w-full box-border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row justify-between items-center gap-6 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 bg-gradient-to-br from-banquise-blue-light to-banquise-blue rounded-lg flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-white font-bold text-sm\",\n children: \"B\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 12,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 11,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-lightest font-semibold text-lg\",\n children: _config_constants__WEBPACK_IMPORTED_MODULE_2__.SITE_CONFIG.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 14,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap items-center gap-6 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.wiki,\n className: \"text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200\",\n children: \"Wiki\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.gitea,\n className: \"text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200\",\n children: \"Gitea\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 27,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.panel,\n className: \"text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200\",\n children: \"Panel\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.services.opencloud,\n className: \"text-banquise-gray/80 hover:text-banquise-blue-lightest transition-colors duration-200\",\n children: \"OpenCloud\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 39,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 20,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord,\n className: \"w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110\",\n \"aria-label\": \"Discord\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-lightest text-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4 lg:w-5 lg:h-5\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 56,\n columnNumber: 21\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 55,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 49,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.contact.email,\n className: \"w-10 h-10 bg-banquise-blue/20 hover:bg-banquise-blue/30 rounded-full flex items-center justify-center transition-all duration-200 hover:scale-110\",\n \"aria-label\": \"Email\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-lightest text-sm\",\n children: \"\\uD83D\\uDCE7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 65,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 60,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 8,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row justify-between items-center gap-4 pt-6 border-t border-banquise-blue-lightest/5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/60 text-xs text-center sm:text-left\",\n children: [\n \"\\xa9 2025 \",\n _config_constants__WEBPACK_IMPORTED_MODULE_2__.SITE_CONFIG.name,\n \". H\\xe9bergement communautaire pour d\\xe9veloppeurs et gamers.\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 72,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4 text-xs text-banquise-gray/60\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Fait avec ❤️ par Banquise\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 76,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-1 h-1 bg-banquise-gray/40 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 77,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"EPITA 2025\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 78,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 71,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/Footer.tsx\",\n lineNumber: 5,\n columnNumber: 3\n }, undefined);\n_c = Footer;\nvar _c;\n$RefreshReg$(_c, \"Footer\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9Gb290ZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUEwQjtBQUNpQztBQUVwRCxNQUFNRyxTQUFtQixrQkFDOUIsOERBQUNDO1FBQU9DLFdBQVU7a0JBQ2hCLDRFQUFDQztZQUFJRCxXQUFVOzs4QkFFYiw4REFBQ0M7b0JBQUlELFdBQVU7O3NDQUViLDhEQUFDQzs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNDO29DQUFJRCxXQUFVOzhDQUNiLDRFQUFDRTt3Q0FBS0YsV0FBVTtrREFBK0I7Ozs7Ozs7Ozs7OzhDQUVqRCw4REFBQ0U7b0NBQUtGLFdBQVU7OENBQ2JILDBEQUFXQSxDQUFDTSxJQUFJOzs7Ozs7Ozs7Ozs7c0NBS3JCLDhEQUFDRjs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNJO29DQUNDQyxNQUFNVCxtREFBSUEsQ0FBQ1UsUUFBUSxDQUFDQyxJQUFJO29DQUN4QlAsV0FBVTs4Q0FDWDs7Ozs7OzhDQUdELDhEQUFDSTtvQ0FDQ0MsTUFBTVQsbURBQUlBLENBQUNVLFFBQVEsQ0FBQ0UsS0FBSztvQ0FDekJSLFdBQVU7OENBQ1g7Ozs7Ozs4Q0FHRCw4REFBQ0k7b0NBQ0NDLE1BQU1ULG1EQUFJQSxDQUFDVSxRQUFRLENBQUNHLEtBQUs7b0NBQ3pCVCxXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNJO29DQUNDQyxNQUFNVCxtREFBSUEsQ0FBQ1UsUUFBUSxDQUFDSSxTQUFTO29DQUM3QlYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7O3NDQU1ILDhEQUFDQzs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNJO29DQUNDQyxNQUFNVCxtREFBSUEsQ0FBQ2UsTUFBTSxDQUFDQyxPQUFPO29DQUN6QlosV0FBVTtvQ0FDVmEsY0FBVzs4Q0FFWCw0RUFBQ1g7d0NBQUtGLFdBQVU7a0RBQ1osNEVBQUNjOzRDQUFJZCxXQUFVOzRDQUF3QmUsTUFBSzs0Q0FBZUMsU0FBUTtzREFDL0QsNEVBQUNDO2dEQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OENBSWxCLDhEQUFDZDtvQ0FDQ0MsTUFBTVQsbURBQUlBLENBQUN1QixPQUFPLENBQUNDLEtBQUs7b0NBQ3hCcEIsV0FBVTtvQ0FDVmEsY0FBVzs4Q0FFWCw0RUFBQ1g7d0NBQUtGLFdBQVU7a0RBQXNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFNNUQsOERBQUNDO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ3FCOzRCQUFFckIsV0FBVTs7Z0NBQXlEO2dDQUM1REgsMERBQVdBLENBQUNNLElBQUk7Z0NBQUM7Ozs7Ozs7c0NBRTNCLDhEQUFDRjs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNFOzhDQUFLOzs7Ozs7OENBQ04sOERBQUNEO29DQUFJRCxXQUFVOzs7Ozs7OENBQ2YsOERBQUNFOzhDQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUtkO0tBL0VXSiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9sYXlvdXQvRm9vdGVyLnRzeD8yNjM4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBVUkxTLCBTSVRFX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgRm9vdGVyOiBSZWFjdC5GQyA9ICgpID0+IChcbiAgPGZvb3RlciBjbGFzc05hbWU9XCJiZy1iYW5xdWlzZS1ibHVlLWRhcmsvOTUgYmFja2Ryb3AtYmx1ci1zbSB0ZXh0LXdoaXRlIHB5LTggcHgtNCBzbTpweC02IG1kOnB4LTggcmVsYXRpdmUgei0xMCBib3JkZXItdCBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8xMCB3LWZ1bGwgYm94LWJvcmRlclwiPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXctNnhsIG14LWF1dG9cIj5cbiAgICAgIHsvKiBNYWluIEZvb3RlciBDb250ZW50ICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLTYgbWItNlwiPlxuICAgICAgICB7LyogTG9nby9CcmFuZCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy04IGgtOCBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQgdG8tYmFucXVpc2UtYmx1ZSByb3VuZGVkLWxnIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LXNtXCI+Qjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgZm9udC1zZW1pYm9sZCB0ZXh0LWxnXCI+XG4gICAgICAgICAgICB7U0lURV9DT05GSUcubmFtZX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBRdWljayBMaW5rcyAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTYgdGV4dC1zbVwiPlxuICAgICAgICAgIDxhIFxuICAgICAgICAgICAgaHJlZj17VVJMUy5zZXJ2aWNlcy53aWtpfSBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBXaWtpXG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxhIFxuICAgICAgICAgICAgaHJlZj17VVJMUy5zZXJ2aWNlcy5naXRlYX0gXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgR2l0ZWFcbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGEgXG4gICAgICAgICAgICBocmVmPXtVUkxTLnNlcnZpY2VzLnBhbmVsfSBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBQYW5lbFxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YSBcbiAgICAgICAgICAgIGhyZWY9e1VSTFMuc2VydmljZXMub3BlbmNsb3VkfSBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBPcGVuQ2xvdWRcbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBTb2NpYWwgTGlua3MgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICA8YSBcbiAgICAgICAgICAgIGhyZWY9e1VSTFMuc29jaWFsLmRpc2NvcmR9IFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy0xMCBoLTEwIGJnLWJhbnF1aXNlLWJsdWUvMjAgaG92ZXI6YmctYmFucXVpc2UtYmx1ZS8zMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGhvdmVyOnNjYWxlLTExMFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGlzY29yZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNCBoLTQgbGc6dy01IGxnOmgtNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjAuMzE3IDQuMzdhMTkuNzkxIDE5Ljc5MSAwIDAgMC00Ljg4NS0xLjUxNS4wNzQuMDc0IDAgMCAwLS4wNzkuMDM3Yy0uMjExLjM3NS0uNDQ1Ljg2NC0uNjA4IDEuMjVhMTguMjcgMTguMjcgMCAwIDAtNS40ODcgMCAxMi42NCAxMi42NCAwIDAgMC0uNjE3LTEuMjUuMDc3LjA3NyAwIDAgMC0uMDc5LS4wMzdBMTkuNzM2IDE5LjczNiAwIDAgMCAzLjY3NyA0LjM3YS4wNy4wNyAwIDAgMC0uMDMyLjAyN0MuNTMzIDkuMDQ2LS4zMiAxMy41OC4wOTkgMTguMDU3YS4wODIuMDgyIDAgMCAwIC4wMzEuMDU3IDE5LjkgMTkuOSAwIDAgMCA1Ljk5MyAzLjAzLjA3OC4wNzggMCAwIDAgLjA4NC0uMDI4Yy40NjItLjYzLjg3NC0xLjI5NSAxLjIyNi0xLjk5NGEuMDc2LjA3NiAwIDAgMC0uMDQxLS4xMDYgMTMuMTA3IDEzLjEwNyAwIDAgMS0xLjg3Mi0uODkyLjA3Ny4wNzcgMCAwIDEtLjAwOC0uMTI4IDEwLjIgMTAuMiAwIDAgMCAuMzcyLS4yOTIuMDc0LjA3NCAwIDAgMSAuMDc3LS4wMWMzLjkyOCAxLjc5MyA4LjE4IDEuNzkzIDEyLjA2MiAwYS4wNzQuMDc0IDAgMCAxIC4wNzguMDFjLjEyLjA5OC4yNDYuMTk4LjM3My4yOTJhLjA3Ny4wNzcgMCAwIDEtLjAwNi4xMjcgMTIuMjk5IDEyLjI5OSAwIDAgMS0xLjg3My44OTIuMDc3LjA3NyAwIDAgMC0uMDQxLjEwN2MuMzYuNjk4Ljc3MiAxLjM2MiAxLjIyNSAxLjk5M2EuMDc2LjA3NiAwIDAgMCAuMDg0LjAyOCAxOS44MzkgMTkuODM5IDAgMCAwIDYuMDAyLTMuMDMuMDc3LjA3NyAwIDAgMCAuMDMyLS4wNTRjLjUtNS4xNzctLjgzOC05LjY3NC0zLjU0OS0xMy42NmEuMDYxLjA2MSAwIDAgMC0uMDMxLS4wM3pcIi8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxhIFxuICAgICAgICAgICAgaHJlZj17VVJMUy5jb250YWN0LmVtYWlsfSBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInctMTAgaC0xMCBiZy1iYW5xdWlzZS1ibHVlLzIwIGhvdmVyOmJnLWJhbnF1aXNlLWJsdWUvMzAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkVtYWlsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgdGV4dC1zbVwiPvCfk6c8L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogQm90dG9tIEJhciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGdhcC00IHB0LTYgYm9yZGVyLXQgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNVwiPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvNjAgdGV4dC14cyB0ZXh0LWNlbnRlciBzbTp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICDCqSAyMDI1IHtTSVRFX0NPTkZJRy5uYW1lfS4gSMOpYmVyZ2VtZW50IGNvbW11bmF1dGFpcmUgcG91ciBkw6l2ZWxvcHBldXJzIGV0IGdhbWVycy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IHRleHQteHMgdGV4dC1iYW5xdWlzZS1ncmF5LzYwXCI+XG4gICAgICAgICAgPHNwYW4+RmFpdCBhdmVjIOKdpO+4jyBwYXIgQmFucXVpc2U8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEgaC0xIGJnLWJhbnF1aXNlLWdyYXkvNDAgcm91bmRlZC1mdWxsXCI+PC9kaXY+XG4gICAgICAgICAgPHNwYW4+RVBJVEEgMjAyNTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb290ZXI+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiVVJMUyIsIlNJVEVfQ09ORklHIiwiRm9vdGVyIiwiZm9vdGVyIiwiY2xhc3NOYW1lIiwiZGl2Iiwic3BhbiIsIm5hbWUiLCJhIiwiaHJlZiIsInNlcnZpY2VzIiwid2lraSIsImdpdGVhIiwicGFuZWwiLCJvcGVuY2xvdWQiLCJzb2NpYWwiLCJkaXNjb3JkIiwiYXJpYS1sYWJlbCIsInN2ZyIsImZpbGwiLCJ2aWV3Qm94IiwicGF0aCIsImQiLCJjb250YWN0IiwiZW1haWwiLCJwIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/Footer.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/MobileMenu.tsx":
/*!**********************************************!*\
!*** ./src/components/layout/MobileMenu.tsx ***!
\**********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MobileMenu: function() { return /* binding */ MobileMenu; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/Button */ \"(app-pages-browser)/./src/components/common/Button.tsx\");\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n/* harmony import */ var _navbar_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./navbar/Logo */ \"(app-pages-browser)/./src/components/layout/navbar/Logo.tsx\");\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\nconst MobileNavItem = (param)=>{\n let { icon, title, description, href, isExternal = false, onClick } = param;\n const handleClick = (e)=>{\n if (onClick) {\n e.preventDefault();\n onClick();\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n onClick: handleClick,\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"group flex items-center justify-between p-4 rounded-xl transition-all duration-300\", \"bg-white/5 hover:bg-white/10 active:bg-white/15\", \"border border-white/10 hover:border-white/20\", \"hover:scale-[1.02] active:scale-[0.98]\", \"hover:shadow-lg hover:shadow-banquise-blue/20\"),\n target: isExternal ? \"_blank\" : undefined,\n rel: isExternal ? \"noopener noreferrer\" : undefined,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center space-x-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"flex items-center justify-center w-10 h-10 rounded-xl\", \"bg-gradient-to-br from-banquise-blue-light/20 to-banquise-blue/20\", \"border border-banquise-blue-lightest/20\", \"group-hover:scale-110 transition-transform duration-300\"),\n children: icon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 53,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"block text-white font-semibold text-base group-hover:text-banquise-blue-lightest transition-colors\",\n children: title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-white/60 text-sm mt-0.5 group-hover:text-white/80 transition-colors\",\n children: description\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 65,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 61,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"flex items-center justify-center w-6 h-6 rounded-full\", \"text-white/40 group-hover:text-white/80 transition-all duration-300\", \"group-hover:translate-x-1\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 5l7 7-7 7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 78,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 77,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 72,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 39,\n columnNumber: 5\n }, undefined);\n};\n_c = MobileNavItem;\nconst MobileMenu = (param)=>{\n let { isOpen, onClose, translations } = param;\n _s();\n // Gérer le scroll du body\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (isOpen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"unset\";\n }\n return ()=>{\n document.body.style.overflow = \"unset\";\n };\n }, [\n isOpen\n ]);\n const handleNavClick = (sectionId)=>{\n if (sectionId === \"home\") {\n // Scroll to top for home section\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n } else if (sectionId === \"contact\") {\n // Open email client for contact\n window.location.href = \"mailto:contact@la-banquise.fr\";\n } else {\n // Scroll to specific section\n const element = document.getElementById(sectionId);\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }\n onClose();\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"md:hidden fixed inset-0 z-[100] transition-all duration-300\", isOpen ? \"visible\" : \"invisible\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"absolute inset-0 transition-all duration-300\", \"bg-gradient-to-br from-black/80 via-banquise-blue-dark/60 to-black/80\", \"backdrop-blur-lg\", isOpen ? \"opacity-100\" : \"opacity-0\"),\n onClick: onClose\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 128,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"absolute top-0 right-0 h-full w-80 max-w-[90vw]\", \"bg-gradient-to-b from-banquise-blue-dark/98 via-banquise-blue-dark/95 to-banquise-blue-dark/90\", \"backdrop-blur-2xl shadow-2xl\", \"border-l border-banquise-blue-lightest/20\", \"transition-transform duration-300 ease-out\", isOpen ? \"translate-x-0\" : \"translate-x-full\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between p-6 pt-8 border-b border-banquise-blue-lightest/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n scrolled: false\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 150,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"group relative p-3 rounded-xl transition-all duration-300\", \"bg-white/10 hover:bg-white/20 active:bg-white/25\", \"border border-white/20 hover:border-white/30\", \"hover:scale-105 active:scale-95\", \"focus:outline-none focus:ring-2 focus:ring-banquise-blue-light/50\"),\n onClick: onClose,\n \"aria-label\": \"Fermer le menu\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-white\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M6 18L18 6M6 6l12 12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 164,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 163,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 152,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 149,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col h-full overflow-y-auto p-6 space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-banquise-blue-lightest\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 177,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 176,\n columnNumber: 17\n }, void 0),\n title: translations.home,\n description: \"Retour \\xe0 l'accueil\",\n href: \"#home\",\n onClick: ()=>handleNavClick(\"home\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 174,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-banquise-blue-lightest\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 189,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 188,\n columnNumber: 17\n }, void 0),\n title: translations.services,\n description: \"D\\xe9couvrir notre offre\",\n href: \"#services\",\n onClick: ()=>handleNavClick(\"services\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 186,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-banquise-blue-lightest\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 201,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 200,\n columnNumber: 17\n }, void 0),\n title: translations.about,\n description: \"En savoir plus sur nous\",\n href: \"#about\",\n onClick: ()=>handleNavClick(\"about\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 198,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-banquise-blue-lightest\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 213,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 212,\n columnNumber: 17\n }, void 0),\n title: translations.contact,\n description: \"Nous envoyer un email\",\n href: \"mailto:contact@la-banquise.fr\",\n onClick: ()=>handleNavClick(\"contact\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 210,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 173,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t border-banquise-blue-lightest/20 my-6\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 224,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 text-[#5865F2]\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 231,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 230,\n columnNumber: 17\n }, void 0),\n title: \"Discord\",\n description: \"Rejoindre la communaut\\xe9\",\n href: _config_constants__WEBPACK_IMPORTED_MODULE_5__.URLS.social.discord,\n isExternal: true\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 228,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 227,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-8 pb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_common_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"lg\",\n leftIcon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 248,\n columnNumber: 19\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 247,\n columnNumber: 17\n }, void 0),\n onClick: ()=>{\n window.open(_config_constants__WEBPACK_IMPORTED_MODULE_5__.URLS.services.auth, \"_blank\");\n onClose();\n },\n className: \"w-full shadow-xl\",\n children: \"Se connecter\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 243,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 242,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 170,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-banquise-blue-dark/10 pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 263,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 139,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/MobileMenu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined);\n};\n_s(MobileMenu, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\n_c1 = MobileMenu;\nvar _c, _c1;\n$RefreshReg$(_c, \"MobileNavItem\");\n$RefreshReg$(_c1, \"MobileMenu\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9Nb2JpbGVNZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQXlDO0FBQ0M7QUFDcUI7QUFDMUI7QUFDUztBQWtCOUMsTUFBTU8sZ0JBQThDO1FBQUMsRUFDbkRDLElBQUksRUFDSkMsS0FBSyxFQUNMQyxXQUFXLEVBQ1hDLElBQUksRUFDSkMsYUFBYSxLQUFLLEVBQ2xCQyxPQUFPLEVBQ1I7SUFDQyxNQUFNQyxjQUFjLENBQUNDO1FBQ25CLElBQUlGLFNBQVM7WUFDWEUsRUFBRUMsY0FBYztZQUNoQkg7UUFDRjtJQUNGO0lBRUEscUJBQ0UsOERBQUNJO1FBQ0NOLE1BQU1BO1FBQ05FLFNBQVNDO1FBQ1RJLFdBQVdkLGtFQUFFQSxDQUNYLHNGQUNBLG1EQUNBLGdEQUNBLDBDQUNBO1FBRUZlLFFBQVFQLGFBQWEsV0FBV1E7UUFDaENDLEtBQUtULGFBQWEsd0JBQXdCUTs7MEJBRTFDLDhEQUFDRTtnQkFBSUosV0FBVTs7a0NBQ2IsOERBQUNJO3dCQUFJSixXQUFXZCxrRUFBRUEsQ0FDaEIseURBQ0EscUVBQ0EsMkNBQ0E7a0NBRUNJOzs7Ozs7a0NBRUgsOERBQUNjO3dCQUFJSixXQUFVOzswQ0FDYiw4REFBQ0s7Z0NBQUtMLFdBQVU7MENBQ2JUOzs7Ozs7MENBRUgsOERBQUNlO2dDQUFFTixXQUFVOzBDQUNWUjs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQU1QLDhEQUFDWTtnQkFBSUosV0FBV2Qsa0VBQUVBLENBQ2hCLHlEQUNBLHVFQUNBOzBCQUVBLDRFQUFDcUI7b0JBQUlQLFdBQVU7b0JBQVVRLE1BQUs7b0JBQU9DLFFBQU87b0JBQWVDLFNBQVE7OEJBQ2pFLDRFQUFDQzt3QkFBS0MsZUFBYzt3QkFBUUMsZ0JBQWU7d0JBQVFDLGFBQWE7d0JBQUdDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLL0U7S0E1RE0xQjtBQThEQyxNQUFNMkIsYUFBd0M7UUFBQyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxFQUFFOztJQUNyRiwwQkFBMEI7SUFDMUJwQyxnREFBU0EsQ0FBQztRQUNSLElBQUlrQyxRQUFRO1lBQ1ZHLFNBQVNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUc7UUFDakMsT0FBTztZQUNMSCxTQUFTQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsUUFBUSxHQUFHO1FBQ2pDO1FBRUEsT0FBTztZQUNMSCxTQUFTQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsUUFBUSxHQUFHO1FBQ2pDO0lBQ0YsR0FBRztRQUFDTjtLQUFPO0lBRVgsTUFBTU8saUJBQWlCLENBQUNDO1FBQ3RCLElBQUlBLGNBQWMsUUFBUTtZQUN4QixpQ0FBaUM7WUFDakNDLE9BQU9DLFFBQVEsQ0FBQztnQkFDZEMsS0FBSztnQkFDTEMsVUFBVTtZQUNaO1FBQ0YsT0FBTyxJQUFJSixjQUFjLFdBQVc7WUFDbEMsZ0NBQWdDO1lBQ2hDQyxPQUFPSSxRQUFRLENBQUNyQyxJQUFJLEdBQUc7UUFDekIsT0FBTztZQUNMLDZCQUE2QjtZQUM3QixNQUFNc0MsVUFBVVgsU0FBU1ksY0FBYyxDQUFDUDtZQUN4QyxJQUFJTSxTQUFTO2dCQUNYQSxRQUFRRSxjQUFjLENBQUM7b0JBQ3JCSixVQUFVO29CQUNWSyxPQUFPO2dCQUNUO1lBQ0Y7UUFDRjtRQUNBaEI7SUFDRjtJQUVBLHFCQUNFLDhEQUFDZDtRQUFJSixXQUFXZCxrRUFBRUEsQ0FDaEIsK0RBQ0ErQixTQUFTLFlBQVk7OzBCQUdyQiw4REFBQ2I7Z0JBQ0NKLFdBQVdkLGtFQUFFQSxDQUNYLGdEQUNBLHlFQUNBLG9CQUNBK0IsU0FBUyxnQkFBZ0I7Z0JBRTNCdEIsU0FBU3VCOzs7Ozs7MEJBSVgsOERBQUNkO2dCQUFJSixXQUFXZCxrRUFBRUEsQ0FDaEIsbURBQ0Esa0dBQ0EsZ0NBQ0EsNkNBQ0EsOENBQ0ErQixTQUFTLGtCQUFrQjs7a0NBSTNCLDhEQUFDYjt3QkFBSUosV0FBVTs7MENBQ2IsOERBQUNiLDhDQUFJQTtnQ0FBQ2dELFVBQVU7Ozs7OzswQ0FFaEIsOERBQUNDO2dDQUNDcEMsV0FBV2Qsa0VBQUVBLENBQ1gsNkRBQ0Esb0RBQ0EsZ0RBQ0EsbUNBQ0E7Z0NBRUZTLFNBQVN1QjtnQ0FDVG1CLGNBQVc7MENBRVgsNEVBQUM5QjtvQ0FBSVAsV0FBVTtvQ0FBcUJRLE1BQUs7b0NBQU9DLFFBQU87b0NBQWVDLFNBQVE7OENBQzVFLDRFQUFDQzt3Q0FBS0MsZUFBYzt3Q0FBUUMsZ0JBQWU7d0NBQVFDLGFBQWE7d0NBQUdDLEdBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBTTNFLDhEQUFDWDt3QkFBSUosV0FBVTs7MENBR2IsOERBQUNJO2dDQUFJSixXQUFVOztrREFDYiw4REFBQ1g7d0NBQ0NDLG9CQUNFLDhEQUFDaUI7NENBQUlQLFdBQVU7NENBQXNDUSxNQUFLOzRDQUFPQyxRQUFPOzRDQUFlQyxTQUFRO3NEQUM3Riw0RUFBQ0M7Z0RBQUtDLGVBQWM7Z0RBQVFDLGdCQUFlO2dEQUFRQyxhQUFhO2dEQUFHQyxHQUFFOzs7Ozs7Ozs7Ozt3Q0FHekV4QixPQUFPNEIsYUFBYW1CLElBQUk7d0NBQ3hCOUMsYUFBWTt3Q0FDWkMsTUFBSzt3Q0FDTEUsU0FBUyxJQUFNNkIsZUFBZTs7Ozs7O2tEQUdoQyw4REFBQ25DO3dDQUNDQyxvQkFDRSw4REFBQ2lCOzRDQUFJUCxXQUFVOzRDQUFzQ1EsTUFBSzs0Q0FBT0MsUUFBTzs0Q0FBZUMsU0FBUTtzREFDN0YsNEVBQUNDO2dEQUFLQyxlQUFjO2dEQUFRQyxnQkFBZTtnREFBUUMsYUFBYTtnREFBR0MsR0FBRTs7Ozs7Ozs7Ozs7d0NBR3pFeEIsT0FBTzRCLGFBQWFvQixRQUFRO3dDQUM1Qi9DLGFBQVk7d0NBQ1pDLE1BQUs7d0NBQ0xFLFNBQVMsSUFBTTZCLGVBQWU7Ozs7OztrREFHaEMsOERBQUNuQzt3Q0FDQ0Msb0JBQ0UsOERBQUNpQjs0Q0FBSVAsV0FBVTs0Q0FBc0NRLE1BQUs7NENBQU9DLFFBQU87NENBQWVDLFNBQVE7c0RBQzdGLDRFQUFDQztnREFBS0MsZUFBYztnREFBUUMsZ0JBQWU7Z0RBQVFDLGFBQWE7Z0RBQUdDLEdBQUU7Ozs7Ozs7Ozs7O3dDQUd6RXhCLE9BQU80QixhQUFhcUIsS0FBSzt3Q0FDekJoRCxhQUFZO3dDQUNaQyxNQUFLO3dDQUNMRSxTQUFTLElBQU02QixlQUFlOzs7Ozs7a0RBR2hDLDhEQUFDbkM7d0NBQ0NDLG9CQUNFLDhEQUFDaUI7NENBQUlQLFdBQVU7NENBQXNDUSxNQUFLOzRDQUFPQyxRQUFPOzRDQUFlQyxTQUFRO3NEQUM3Riw0RUFBQ0M7Z0RBQUtDLGVBQWM7Z0RBQVFDLGdCQUFlO2dEQUFRQyxhQUFhO2dEQUFHQyxHQUFFOzs7Ozs7Ozs7Ozt3Q0FHekV4QixPQUFPNEIsYUFBYXNCLE9BQU87d0NBQzNCakQsYUFBWTt3Q0FDWkMsTUFBSzt3Q0FDTEUsU0FBUyxJQUFNNkIsZUFBZTs7Ozs7Ozs7Ozs7OzBDQUtsQyw4REFBQ3BCO2dDQUFJSixXQUFVOzs7Ozs7MENBR2YsOERBQUNJO2dDQUFJSixXQUFVOzBDQUNiLDRFQUFDWDtvQ0FDQ0Msb0JBQ0UsOERBQUNpQjt3Q0FBSVAsV0FBVTt3Q0FBeUJRLE1BQUs7d0NBQWVFLFNBQVE7a0RBQ2xFLDRFQUFDQzs0Q0FBS0ksR0FBRTs7Ozs7Ozs7Ozs7b0NBR1p4QixPQUFNO29DQUNOQyxhQUFZO29DQUNaQyxNQUFNTCxtREFBSUEsQ0FBQ3NELE1BQU0sQ0FBQ0MsT0FBTztvQ0FDekJqRCxZQUFZOzs7Ozs7Ozs7OzswQ0FLaEIsOERBQUNVO2dDQUFJSixXQUFVOzBDQUNiLDRFQUFDaEIsa0RBQU1BO29DQUNMNEQsU0FBUTtvQ0FDUkMsTUFBSztvQ0FDTEMsd0JBQ0UsOERBQUN2Qzt3Q0FBSVAsV0FBVTt3Q0FBVVEsTUFBSzt3Q0FBT0MsUUFBTzt3Q0FBZUMsU0FBUTtrREFDakUsNEVBQUNDOzRDQUFLQyxlQUFjOzRDQUFRQyxnQkFBZTs0Q0FBUUMsYUFBYTs0Q0FBR0MsR0FBRTs7Ozs7Ozs7Ozs7b0NBR3pFcEIsU0FBUzt3Q0FDUCtCLE9BQU9xQixJQUFJLENBQUMzRCxtREFBSUEsQ0FBQ21ELFFBQVEsQ0FBQ1MsSUFBSSxFQUFFO3dDQUNoQzlCO29DQUNGO29DQUNBbEIsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBT0wsOERBQUNJO3dCQUFJSixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJdkIsRUFBRTtHQXRMV2dCO01BQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9Nb2JpbGVNZW51LnRzeD9kNDEyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9jb21tb24vQnV0dG9uJztcbmltcG9ydCB7IG1lcmdlQ2xhc3NlcyBhcyBjbiB9IGZyb20gJy4uLy4uL3N0eWxlcy9kZXNpZ25TeXN0ZW0nO1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gJy4vbmF2YmFyL0xvZ28nO1xuaW1wb3J0IHsgVVJMUyB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2kxOG4nO1xuXG5pbnRlcmZhY2UgTW9iaWxlTWVudVByb3BzIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uWyduYXZpZ2F0aW9uJ107XG59XG5cbmludGVyZmFjZSBNb2JpbGVOYXZJdGVtUHJvcHMge1xuICBpY29uOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgaXNFeHRlcm5hbD86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBNb2JpbGVOYXZJdGVtOiBSZWFjdC5GQzxNb2JpbGVOYXZJdGVtUHJvcHM+ID0gKHsgXG4gIGljb24sIFxuICB0aXRsZSwgXG4gIGRlc2NyaXB0aW9uLCBcbiAgaHJlZiwgXG4gIGlzRXh0ZXJuYWwgPSBmYWxzZSwgXG4gIG9uQ2xpY2sgXG59KSA9PiB7XG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAob25DbGljaykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgb25DbGljaygpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtNCByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCcsXG4gICAgICAgICdiZy13aGl0ZS81IGhvdmVyOmJnLXdoaXRlLzEwIGFjdGl2ZTpiZy13aGl0ZS8xNScsXG4gICAgICAgICdib3JkZXIgYm9yZGVyLXdoaXRlLzEwIGhvdmVyOmJvcmRlci13aGl0ZS8yMCcsXG4gICAgICAgICdob3ZlcjpzY2FsZS1bMS4wMl0gYWN0aXZlOnNjYWxlLVswLjk4XScsXG4gICAgICAgICdob3ZlcjpzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJhbnF1aXNlLWJsdWUvMjAnXG4gICAgICApfVxuICAgICAgdGFyZ2V0PXtpc0V4dGVybmFsID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICByZWw9e2lzRXh0ZXJuYWwgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIGgtMTAgcm91bmRlZC14bCcsXG4gICAgICAgICAgJ2JnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1saWdodC8yMCB0by1iYW5xdWlzZS1ibHVlLzIwJyxcbiAgICAgICAgICAnYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIwJyxcbiAgICAgICAgICAnZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCdcbiAgICAgICAgKX0+XG4gICAgICAgICAge2ljb259XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LWJhc2UgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtd2hpdGUvNjAgdGV4dC1zbSBtdC0wLjUgZ3JvdXAtaG92ZXI6dGV4dC13aGl0ZS84MCB0cmFuc2l0aW9uLWNvbG9yc1wiPlxuICAgICAgICAgICAge2Rlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIEFycm93IEljb24gKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTYgaC02IHJvdW5kZWQtZnVsbCcsXG4gICAgICAgICd0ZXh0LXdoaXRlLzQwIGdyb3VwLWhvdmVyOnRleHQtd2hpdGUvODAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwJyxcbiAgICAgICAgJ2dyb3VwLWhvdmVyOnRyYW5zbGF0ZS14LTEnXG4gICAgICApfT5cbiAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTQgaC00XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTkgNWw3IDctNyA3XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L2E+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgTW9iaWxlTWVudTogUmVhY3QuRkM8TW9iaWxlTWVudVByb3BzPiA9ICh7IGlzT3Blbiwgb25DbG9zZSwgdHJhbnNsYXRpb25zIH0pID0+IHtcbiAgLy8gR8OpcmVyIGxlIHNjcm9sbCBkdSBib2R5XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ3Vuc2V0JztcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICd1bnNldCc7XG4gICAgfTtcbiAgfSwgW2lzT3Blbl0pO1xuXG4gIGNvbnN0IGhhbmRsZU5hdkNsaWNrID0gKHNlY3Rpb25JZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHNlY3Rpb25JZCA9PT0gJ2hvbWUnKSB7XG4gICAgICAvLyBTY3JvbGwgdG8gdG9wIGZvciBob21lIHNlY3Rpb25cbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IFxuICAgICAgICB0b3A6IDAsIFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcgXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHNlY3Rpb25JZCA9PT0gJ2NvbnRhY3QnKSB7XG4gICAgICAvLyBPcGVuIGVtYWlsIGNsaWVudCBmb3IgY29udGFjdFxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnbWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnInO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTY3JvbGwgdG8gc3BlY2lmaWMgc2VjdGlvblxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlY3Rpb25JZCk7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgXG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgIGJsb2NrOiAnc3RhcnQnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBvbkNsb3NlKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAnbWQ6aGlkZGVuIGZpeGVkIGluc2V0LTAgei1bMTAwXSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgaXNPcGVuID8gJ3Zpc2libGUnIDogJ2ludmlzaWJsZSdcbiAgICApfT5cbiAgICAgIHsvKiBPdmVybGF5IGF2ZWMgZWZmZXQgZGUgYmx1ciBtb2Rlcm5lICovfVxuICAgICAgPGRpdiBcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICAgICdiZy1ncmFkaWVudC10by1iciBmcm9tLWJsYWNrLzgwIHZpYS1iYW5xdWlzZS1ibHVlLWRhcmsvNjAgdG8tYmxhY2svODAnLFxuICAgICAgICAgICdiYWNrZHJvcC1ibHVyLWxnJyxcbiAgICAgICAgICBpc09wZW4gPyAnb3BhY2l0eS0xMDAnIDogJ29wYWNpdHktMCdcbiAgICAgICAgKX1cbiAgICAgICAgb25DbGljaz17b25DbG9zZX1cbiAgICAgIC8+XG4gICAgICBcbiAgICAgIHsvKiBNZW51IFBhbmVsICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBoLWZ1bGwgdy04MCBtYXgtdy1bOTB2d10nLFxuICAgICAgICAnYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay85OCB2aWEtYmFucXVpc2UtYmx1ZS1kYXJrLzk1IHRvLWJhbnF1aXNlLWJsdWUtZGFyay85MCcsXG4gICAgICAgICdiYWNrZHJvcC1ibHVyLTJ4bCBzaGFkb3ctMnhsJyxcbiAgICAgICAgJ2JvcmRlci1sIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIwJyxcbiAgICAgICAgJ3RyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBlYXNlLW91dCcsXG4gICAgICAgIGlzT3BlbiA/ICd0cmFuc2xhdGUteC0wJyA6ICd0cmFuc2xhdGUteC1mdWxsJ1xuICAgICAgKX0+XG4gICAgICAgIFxuICAgICAgICB7LyogSGVhZGVyIGF2ZWMgTG9nbyAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC02IHB0LTggYm9yZGVyLWIgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMjBcIj5cbiAgICAgICAgICA8TG9nbyBzY3JvbGxlZD17ZmFsc2V9IC8+XG4gICAgICAgICAgXG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICdncm91cCByZWxhdGl2ZSBwLTMgcm91bmRlZC14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICAgICAgICAnYmctd2hpdGUvMTAgaG92ZXI6Ymctd2hpdGUvMjAgYWN0aXZlOmJnLXdoaXRlLzI1JyxcbiAgICAgICAgICAgICAgJ2JvcmRlciBib3JkZXItd2hpdGUvMjAgaG92ZXI6Ym9yZGVyLXdoaXRlLzMwJyxcbiAgICAgICAgICAgICAgJ2hvdmVyOnNjYWxlLTEwNSBhY3RpdmU6c2NhbGUtOTUnLFxuICAgICAgICAgICAgICAnZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJhbnF1aXNlLWJsdWUtbGlnaHQvNTAnXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgb25DbGljaz17b25DbG9zZX1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJGZXJtZXIgbGUgbWVudVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtd2hpdGVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTYgMThMMTggNk02IDZsMTIgMTJcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBOYXZpZ2F0aW9uIEl0ZW1zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaC1mdWxsIG92ZXJmbG93LXktYXV0byBwLTYgc3BhY2UteS00XCI+XG4gICAgICAgICAgXG4gICAgICAgICAgey8qIFNlY3Rpb24gTmF2aWdhdGlvbiAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAgPE1vYmlsZU5hdkl0ZW1cbiAgICAgICAgICAgICAgaWNvbj17XG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtYmFucXVpc2UtYmx1ZS1saWdodGVzdFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZVdpZHRoPXsyfSBkPVwiTTMgMTJsMi0ybTAgMGw3LTcgNyA3TTUgMTB2MTBhMSAxIDAgMDAxIDFoM20xMC0xMWwyIDJtLTItMnYxMGExIDEgMCAwMS0xIDFoLTNtLTYgMGExIDEgMCAwMDEtMXYtNGExIDEgMCAwMTEtMWgyYTEgMSAwIDAxMSAxdjRhMSAxIDAgMDAxIDFtLTYgMGg2XCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aXRsZT17dHJhbnNsYXRpb25zLmhvbWV9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUmV0b3VyIMOgIGwnYWNjdWVpbFwiXG4gICAgICAgICAgICAgIGhyZWY9XCIjaG9tZVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdob21lJyl9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8TW9iaWxlTmF2SXRlbVxuICAgICAgICAgICAgICBpY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlV2lkdGg9ezJ9IGQ9XCJNMTkgMTFINW0xNCAwYTIgMiAwIDAxMiAydjZhMiAyIDAgMDEtMiAySDVhMiAyIDAgMDEtMi0ydi02YTIgMiAwIDAxMi0ybTE0IDBWOWEyIDIgMCAwMC0yLTJNNSAxMVY5YTIgMiAwIDAxMi0ybTAgMFY1YTIgMiAwIDAxMi0yaDZhMiAyIDAgMDEyIDJ2Mk03IDdoMTBcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRpdGxlPXt0cmFuc2xhdGlvbnMuc2VydmljZXN9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiRMOpY291dnJpciBub3RyZSBvZmZyZVwiXG4gICAgICAgICAgICAgIGhyZWY9XCIjc2VydmljZXNcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnc2VydmljZXMnKX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxNb2JpbGVOYXZJdGVtXG4gICAgICAgICAgICAgIGljb249e1xuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3RcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0xMyAxNmgtMXYtNGgtMW0xLTRoLjAxTTIxIDEyYTkgOSAwIDExLTE4IDAgOSA5IDAgMDExOCAwelwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGl0bGU9e3RyYW5zbGF0aW9ucy5hYm91dH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJFbiBzYXZvaXIgcGx1cyBzdXIgbm91c1wiXG4gICAgICAgICAgICAgIGhyZWY9XCIjYWJvdXRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnYWJvdXQnKX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxNb2JpbGVOYXZJdGVtXG4gICAgICAgICAgICAgIGljb249e1xuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3RcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0zIDhsNy44OSA1LjI2YTIgMiAwIDAwMi4yMiAwTDIxIDhNNSAxOWgxNGEyIDIgMCAwMDItMlY3YTIgMiAwIDAwLTItMkg1YTIgMiAwIDAwLTIgMnYxMGEyIDIgMCAwMDIgMnpcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRpdGxlPXt0cmFuc2xhdGlvbnMuY29udGFjdH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJOb3VzIGVudm95ZXIgdW4gZW1haWxcIlxuICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnY29udGFjdCcpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBEaXZpZGVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyLXQgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMjAgbXktNlwiIC8+XG5cbiAgICAgICAgICB7LyogU29jaWFsICYgRXh0ZXJuYWwgTGlua3MgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgICAgIDxNb2JpbGVOYXZJdGVtXG4gICAgICAgICAgICAgIGljb249e1xuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LVsjNTg2NUYyXVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIwLjMxNyA0LjM3YTE5Ljc5MSAxOS43OTEgMCAwIDAtNC44ODUtMS41MTUuMDc0LjA3NCAwIDAgMC0uMDc5LjAzN2MtLjIxMS4zNzUtLjQ0NS44NjQtLjYwOCAxLjI1YTE4LjI3IDE4LjI3IDAgMCAwLTUuNDg3IDAgMTIuNjQgMTIuNjQgMCAwIDAtLjYxNy0xLjI1LjA3Ny4wNzcgMCAwIDAtLjA3OS0uMDM3QTE5LjczNiAxOS43MzYgMCAwIDAgMy42NzcgNC4zN2EuMDcuMDcgMCAwIDAtLjAzMi4wMjdDLjUzMyA5LjA0Ni0uMzIgMTMuNTguMDk5IDE4LjA1N2EuMDgyLjA4MiAwIDAgMCAuMDMxLjA1NyAxOS45IDE5LjkgMCAwIDAgNS45OTMgMy4wMy4wNzguMDc4IDAgMCAwIC4wODQtLjAyOGMuNDYyLS42My44NzQtMS4yOTUgMS4yMjYtMS45OTRhLjA3Ni4wNzYgMCAwIDAtLjA0MS0uMTA2IDEzLjEwNyAxMy4xMDcgMCAwIDEtMS44NzItLjg5Mi4wNzcuMDc3IDAgMCAxLS4wMDgtLjEyOCAxMC4yIDEwLjIgMCAwIDAgLjM3Mi0uMjkyLjA3NC4wNzQgMCAwIDEgLjA3Ny0uMDFjMy45MjggMS43OTMgOC4xOCAxLjc5MyAxMi4wNjIgMGEuMDc0LjA3NCAwIDAgMSAuMDc4LjAxYy4xMi4wOTguMjQ2LjE5OC4zNzMuMjkyYS4wNzcuMDc3IDAgMCAxLS4wMDYuMTI3IDEyLjI5OSAxMi4yOTkgMCAwIDEtMS44NzMuODkyLjA3Ny4wNzcgMCAwIDAtLjA0MS4xMDdjLjM2LjY5OC43NzIgMS4zNjIgMS4yMjUgMS45OTNhLjA3Ni4wNzYgMCAwIDAgLjA4NC4wMjggMTkuODM5IDE5LjgzOSAwIDAgMCA2LjAwMi0zLjAzLjA3Ny4wNzcgMCAwIDAgLjAzMi0uMDU0Yy41LTUuMTc3LS44MzgtOS42NzQtMy41NDktMTMuNjZhLjA2MS4wNjEgMCAwIDAtLjAzMS0uMDN6XCIvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRpdGxlPVwiRGlzY29yZFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiUmVqb2luZHJlIGxhIGNvbW11bmF1dMOpXCJcbiAgICAgICAgICAgICAgaHJlZj17VVJMUy5zb2NpYWwuZGlzY29yZH1cbiAgICAgICAgICAgICAgaXNFeHRlcm5hbD17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7LyogQ1RBIEJ1dHRvbiAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTggcGItNlwiPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgICAgIGxlZnRJY29uPXtcbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNSBoLTVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0xNiA3YTQgNCAwIDExLTggMCA0IDQgMCAwMTggMHpNMTIgMTRhNyA3IDAgMDAtNyA3aDE0YTcgNyAwIDAwLTctN3pcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihVUkxTLnNlcnZpY2VzLmF1dGgsICdfYmxhbmsnKTtcbiAgICAgICAgICAgICAgICBvbkNsb3NlKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBzaGFkb3cteGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBTZSBjb25uZWN0ZXJcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogRWZmZXQgZGUgZ3JhZGllbnQgb3ZlcmxheSAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS10cmFuc3BhcmVudCB2aWEtdHJhbnNwYXJlbnQgdG8tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHBvaW50ZXItZXZlbnRzLW5vbmVcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwiQnV0dG9uIiwibWVyZ2VDbGFzc2VzIiwiY24iLCJMb2dvIiwiVVJMUyIsIk1vYmlsZU5hdkl0ZW0iLCJpY29uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImhyZWYiLCJpc0V4dGVybmFsIiwib25DbGljayIsImhhbmRsZUNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwiYSIsImNsYXNzTmFtZSIsInRhcmdldCIsInVuZGVmaW5lZCIsInJlbCIsImRpdiIsInNwYW4iLCJwIiwic3ZnIiwiZmlsbCIsInN0cm9rZSIsInZpZXdCb3giLCJwYXRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJkIiwiTW9iaWxlTWVudSIsImlzT3BlbiIsIm9uQ2xvc2UiLCJ0cmFuc2xhdGlvbnMiLCJkb2N1bWVudCIsImJvZHkiLCJzdHlsZSIsIm92ZXJmbG93IiwiaGFuZGxlTmF2Q2xpY2siLCJzZWN0aW9uSWQiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsInRvcCIsImJlaGF2aW9yIiwibG9jYXRpb24iLCJlbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwic2Nyb2xsZWQiLCJidXR0b24iLCJhcmlhLWxhYmVsIiwiaG9tZSIsInNlcnZpY2VzIiwiYWJvdXQiLCJjb250YWN0Iiwic29jaWFsIiwiZGlzY29yZCIsInZhcmlhbnQiLCJzaXplIiwibGVmdEljb24iLCJvcGVuIiwiYXV0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/MobileMenu.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/ModernNavigation.tsx":
/*!****************************************************!*\
!*** ./src/components/layout/ModernNavigation.tsx ***!
\****************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModernNavigation: function() { return /* binding */ ModernNavigation; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/useScrollEffects */ \"(app-pages-browser)/./src/hooks/useScrollEffects.ts\");\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n/* harmony import */ var _navbar_Logo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./navbar/Logo */ \"(app-pages-browser)/./src/components/layout/navbar/Logo.tsx\");\n/* harmony import */ var _navbar_NavLinks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./navbar/NavLinks */ \"(app-pages-browser)/./src/components/layout/navbar/NavLinks.tsx\");\n/* harmony import */ var _navbar_ActionButtons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./navbar/ActionButtons */ \"(app-pages-browser)/./src/components/layout/navbar/ActionButtons.tsx\");\n/* harmony import */ var _navbar_MobileMenuButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./navbar/MobileMenuButton */ \"(app-pages-browser)/./src/components/layout/navbar/MobileMenuButton.tsx\");\n/* harmony import */ var _MobileMenu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./MobileMenu */ \"(app-pages-browser)/./src/components/layout/MobileMenu.tsx\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\nconst ModernNavigation = (param)=>{\n let { translations, languageSwitcher } = param;\n _s();\n const { scrolled } = (0,_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects)();\n const [mobileMenuOpen, setMobileMenuOpen] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);\n // Fermer le menu mobile lors du redimensionnement\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{\n const handleResize = ()=>{\n if (window.innerWidth >= 768) {\n setMobileMenuOpen(false);\n }\n };\n window.addEventListener(\"resize\", handleResize);\n return ()=>window.removeEventListener(\"resize\", handleResize);\n }, []);\n // Empêcher le scroll du body quand le menu mobile est ouvert\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{\n if (mobileMenuOpen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"unset\";\n }\n return ()=>{\n document.body.style.overflow = \"unset\";\n };\n }, [\n mobileMenuOpen\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"fixed top-0 left-0 right-0 z-50 transition-all duration-500 ease-out\", // Background adaptatif selon le scroll\n scrolled ? \"bg-banquise-blue-dark/95 backdrop-blur-xl shadow-2xl border-b border-banquise-blue-lightest/30\" : \"bg-banquise-blue-dark/90 backdrop-blur-lg shadow-xl border-b border-banquise-blue-lightest/20\", // Animation de hauteur\n \"will-change-auto\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-7xl mx-auto\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"flex justify-between items-center px-4 sm:px-6 lg:px-8 transition-all duration-300\", scrolled ? \"h-16\" : \"h-18 lg:h-20\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_Logo__WEBPACK_IMPORTED_MODULE_4__.Logo, {\n scrolled: scrolled\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 69,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_NavLinks__WEBPACK_IMPORTED_MODULE_5__.NavLinks, {\n translations: translations,\n scrolled: scrolled,\n className: \"flex-1 justify-center ml-8\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 72,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_ActionButtons__WEBPACK_IMPORTED_MODULE_6__.ActionButtons, {\n scrolled: scrolled,\n languageSwitcher: languageSwitcher\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 79,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_navbar_MobileMenuButton__WEBPACK_IMPORTED_MODULE_7__.MobileMenuButton, {\n isOpen: mobileMenuOpen,\n onClick: ()=>setMobileMenuOpen(!mobileMenuOpen)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 85,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-px bg-gradient-to-r from-transparent via-banquise-blue-lightest/40 to-transparent\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 94,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-px bg-gradient-to-r from-transparent via-banquise-blue-light/20 to-transparent blur-sm\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 95,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 93,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"absolute inset-0 pointer-events-none transition-opacity duration-500\", \"bg-gradient-to-b from-banquise-blue-light/5 to-transparent\", scrolled ? \"opacity-60\" : \"opacity-100\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 99,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 51,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"transition-all duration-300\", scrolled ? \"h-16\" : \"h-18 lg:h-20\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 107,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_MobileMenu__WEBPACK_IMPORTED_MODULE_8__.MobileMenu, {\n isOpen: mobileMenuOpen,\n onClose: ()=>setMobileMenuOpen(false),\n translations: translations\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/ModernNavigation.tsx\",\n lineNumber: 113,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true);\n};\n_s(ModernNavigation, \"Frha10H1tP++pKulSXv5ywVG7bY=\", false, function() {\n return [\n _hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects\n ];\n});\n_c = ModernNavigation;\nvar _c;\n$RefreshReg$(_c, \"ModernNavigation\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9Nb2Rlcm5OYXZpZ2F0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQTBCO0FBQ3NDO0FBQ0Q7QUFDMUI7QUFDUTtBQUNVO0FBQ007QUFDbkI7QUFRbkMsTUFBTVMsbUJBQW9EO1FBQUMsRUFDaEVDLFlBQVksRUFDWkMsZ0JBQWdCLEVBQ2pCOztJQUNDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdYLHlFQUFnQkE7SUFDckMsTUFBTSxDQUFDWSxnQkFBZ0JDLGtCQUFrQixHQUFHZCxxREFBYyxDQUFDO0lBRTNELGtEQUFrRDtJQUNsREEsc0RBQWUsQ0FBQztRQUNkLE1BQU1pQixlQUFlO1lBQ25CLElBQUlDLE9BQU9DLFVBQVUsSUFBSSxLQUFLO2dCQUM1Qkwsa0JBQWtCO1lBQ3BCO1FBQ0Y7UUFFQUksT0FBT0UsZ0JBQWdCLENBQUMsVUFBVUg7UUFDbEMsT0FBTyxJQUFNQyxPQUFPRyxtQkFBbUIsQ0FBQyxVQUFVSjtJQUNwRCxHQUFHLEVBQUU7SUFFTCw2REFBNkQ7SUFDN0RqQixzREFBZSxDQUFDO1FBQ2QsSUFBSWEsZ0JBQWdCO1lBQ2xCUyxTQUFTQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsUUFBUSxHQUFHO1FBQ2pDLE9BQU87WUFDTEgsU0FBU0MsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFFBQVEsR0FBRztRQUNqQztRQUVBLE9BQU87WUFDTEgsU0FBU0MsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFFBQVEsR0FBRztRQUNqQztJQUNGLEdBQUc7UUFBQ1o7S0FBZTtJQUVuQixxQkFDRTs7MEJBRUUsOERBQUNhO2dCQUNDQyxXQUFXeEIsa0VBQUVBLENBQ1gsd0VBQ0EsdUNBQXVDO2dCQUN2Q1MsV0FDSSxtR0FDQSxpR0FDSix1QkFBdUI7Z0JBQ3ZCOztrQ0FHRiw4REFBQ2dCO3dCQUFJRCxXQUFVO2tDQUNiLDRFQUFDQzs0QkFBSUQsV0FBV3hCLGtFQUFFQSxDQUNoQixzRkFDQVMsV0FBVyxTQUFTOzs4Q0FJcEIsOERBQUNSLDhDQUFJQTtvQ0FBQ1EsVUFBVUE7Ozs7Ozs4Q0FHaEIsOERBQUNQLHNEQUFRQTtvQ0FDUEssY0FBY0E7b0NBQ2RFLFVBQVVBO29DQUNWZSxXQUFVOzs7Ozs7OENBSVosOERBQUNyQixnRUFBYUE7b0NBQ1pNLFVBQVVBO29DQUNWRCxrQkFBa0JBOzs7Ozs7OENBSXBCLDhEQUFDSixzRUFBZ0JBO29DQUNmc0IsUUFBUWhCO29DQUNSaUIsU0FBUyxJQUFNaEIsa0JBQWtCLENBQUNEOzs7Ozs7Ozs7Ozs7Ozs7OztrQ0FNeEMsOERBQUNlO3dCQUFJRCxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUlELFdBQVU7Ozs7OzswQ0FDZiw4REFBQ0M7Z0NBQUlELFdBQVU7Ozs7Ozs7Ozs7OztrQ0FJakIsOERBQUNDO3dCQUFJRCxXQUFXeEIsa0VBQUVBLENBQ2hCLHdFQUNBLDhEQUNBUyxXQUFXLGVBQWU7Ozs7Ozs7Ozs7OzswQkFLOUIsOERBQUNnQjtnQkFBSUQsV0FBV3hCLGtFQUFFQSxDQUNoQiwrQkFDQVMsV0FBVyxTQUFTOzs7Ozs7MEJBSXRCLDhEQUFDSixtREFBVUE7Z0JBQ1RxQixRQUFRaEI7Z0JBQ1JrQixTQUFTLElBQU1qQixrQkFBa0I7Z0JBQ2pDSixjQUFjQTs7Ozs7Ozs7QUFJdEIsRUFBRTtHQXhHV0Q7O1FBSVVSLHFFQUFnQkE7OztLQUoxQlEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvbGF5b3V0L01vZGVybk5hdmlnYXRpb24udHN4P2MyNDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNjcm9sbEVmZmVjdHMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VTY3JvbGxFZmZlY3RzJztcbmltcG9ydCB7IG1lcmdlQ2xhc3NlcyBhcyBjbiB9IGZyb20gJy4uLy4uL3N0eWxlcy9kZXNpZ25TeXN0ZW0nO1xuaW1wb3J0IHsgTG9nbyB9IGZyb20gJy4vbmF2YmFyL0xvZ28nO1xuaW1wb3J0IHsgTmF2TGlua3MgfSBmcm9tICcuL25hdmJhci9OYXZMaW5rcyc7XG5pbXBvcnQgeyBBY3Rpb25CdXR0b25zIH0gZnJvbSAnLi9uYXZiYXIvQWN0aW9uQnV0dG9ucyc7XG5pbXBvcnQgeyBNb2JpbGVNZW51QnV0dG9uIH0gZnJvbSAnLi9uYXZiYXIvTW9iaWxlTWVudUJ1dHRvbic7XG5pbXBvcnQgeyBNb2JpbGVNZW51IH0gZnJvbSAnLi9Nb2JpbGVNZW51JztcbmltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9pMThuJztcblxuaW50ZXJmYWNlIE1vZGVybk5hdmlnYXRpb25Qcm9wcyB7XG4gIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25bJ25hdmlnYXRpb24nXTtcbiAgbGFuZ3VhZ2VTd2l0Y2hlcjogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgTW9kZXJuTmF2aWdhdGlvbjogUmVhY3QuRkM8TW9kZXJuTmF2aWdhdGlvblByb3BzPiA9ICh7IFxuICB0cmFuc2xhdGlvbnMsIFxuICBsYW5ndWFnZVN3aXRjaGVyIFxufSkgPT4ge1xuICBjb25zdCB7IHNjcm9sbGVkIH0gPSB1c2VTY3JvbGxFZmZlY3RzKCk7XG4gIGNvbnN0IFttb2JpbGVNZW51T3Blbiwgc2V0TW9iaWxlTWVudU9wZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIEZlcm1lciBsZSBtZW51IG1vYmlsZSBsb3JzIGR1IHJlZGltZW5zaW9ubmVtZW50XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUmVzaXplID0gKCkgPT4ge1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDc2OCkge1xuICAgICAgICBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBoYW5kbGVSZXNpemUpO1xuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgaGFuZGxlUmVzaXplKTtcbiAgfSwgW10pO1xuXG4gIC8vIEVtcMOqY2hlciBsZSBzY3JvbGwgZHUgYm9keSBxdWFuZCBsZSBtZW51IG1vYmlsZSBlc3Qgb3V2ZXJ0XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1vYmlsZU1lbnVPcGVuKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAndW5zZXQnO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ3Vuc2V0JztcbiAgICB9O1xuICB9LCBbbW9iaWxlTWVudU9wZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7LyogTmF2aWdhdGlvbiBCYXIgKi99XG4gICAgICA8bmF2IFxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBlYXNlLW91dCcsXG4gICAgICAgICAgLy8gQmFja2dyb3VuZCBhZGFwdGF0aWYgc2Vsb24gbGUgc2Nyb2xsXG4gICAgICAgICAgc2Nyb2xsZWQgXG4gICAgICAgICAgICA/ICdiZy1iYW5xdWlzZS1ibHVlLWRhcmsvOTUgYmFja2Ryb3AtYmx1ci14bCBzaGFkb3ctMnhsIGJvcmRlci1iIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwJyBcbiAgICAgICAgICAgIDogJ2JnLWJhbnF1aXNlLWJsdWUtZGFyay85MCBiYWNrZHJvcC1ibHVyLWxnIHNoYWRvdy14bCBib3JkZXItYiBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yMCcsXG4gICAgICAgICAgLy8gQW5pbWF0aW9uIGRlIGhhdXRldXJcbiAgICAgICAgICAnd2lsbC1jaGFuZ2UtYXV0bydcbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy03eGwgbXgtYXV0b1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICdmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgcHgtNCBzbTpweC02IGxnOnB4LTggdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwJyxcbiAgICAgICAgICAgIHNjcm9sbGVkID8gJ2gtMTYnIDogJ2gtMTggbGc6aC0yMCdcbiAgICAgICAgICApfT5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgey8qIExvZ28gU2VjdGlvbiAqL31cbiAgICAgICAgICAgIDxMb2dvIHNjcm9sbGVkPXtzY3JvbGxlZH0gLz5cblxuICAgICAgICAgICAgey8qIE5hdmlnYXRpb24gTGlua3MgKERlc2t0b3ApICovfVxuICAgICAgICAgICAgPE5hdkxpbmtzIFxuICAgICAgICAgICAgICB0cmFuc2xhdGlvbnM9e3RyYW5zbGF0aW9uc31cbiAgICAgICAgICAgICAgc2Nyb2xsZWQ9e3Njcm9sbGVkfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEganVzdGlmeS1jZW50ZXIgbWwtOFwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICB7LyogQWN0aW9uIEJ1dHRvbnMgKERlc2t0b3ApICovfVxuICAgICAgICAgICAgPEFjdGlvbkJ1dHRvbnMgXG4gICAgICAgICAgICAgIHNjcm9sbGVkPXtzY3JvbGxlZH1cbiAgICAgICAgICAgICAgbGFuZ3VhZ2VTd2l0Y2hlcj17bGFuZ3VhZ2VTd2l0Y2hlcn1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIHsvKiBNb2JpbGUgTWVudSBCdXR0b24gKi99XG4gICAgICAgICAgICA8TW9iaWxlTWVudUJ1dHRvblxuICAgICAgICAgICAgICBpc09wZW49e21vYmlsZU1lbnVPcGVufVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbighbW9iaWxlTWVudU9wZW4pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIEVmZmV0IGRlIGJvcmR1cmUgZMOpZ3JhZMOpZSBtb2Rlcm5lICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLXB4IGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmFucXVpc2UtYmx1ZS1saWdodGVzdC80MCB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLXB4IGJnLWdyYWRpZW50LXRvLXIgZnJvbS10cmFuc3BhcmVudCB2aWEtYmFucXVpc2UtYmx1ZS1saWdodC8yMCB0by10cmFuc3BhcmVudCBibHVyLXNtXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIEVmZmV0IGRlIGdsb3cgc3VidGlsICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgJ2Fic29sdXRlIGluc2V0LTAgcG9pbnRlci1ldmVudHMtbm9uZSB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tNTAwJyxcbiAgICAgICAgICAnYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQvNSB0by10cmFuc3BhcmVudCcsXG4gICAgICAgICAgc2Nyb2xsZWQgPyAnb3BhY2l0eS02MCcgOiAnb3BhY2l0eS0xMDAnXG4gICAgICAgICl9IC8+XG4gICAgICA8L25hdj5cblxuICAgICAgey8qIFNwYWNlciBwb3VyIGNvbXBlbnNlciBsYSBuYXZiYXIgZml4ZWQgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICd0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICBzY3JvbGxlZCA/ICdoLTE2JyA6ICdoLTE4IGxnOmgtMjAnXG4gICAgICApfSAvPlxuXG4gICAgICB7LyogTWVudSBNb2JpbGUgKi99XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBpc09wZW49e21vYmlsZU1lbnVPcGVufVxuICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2JpbGVNZW51T3BlbihmYWxzZSl9XG4gICAgICAgIHRyYW5zbGF0aW9ucz17dHJhbnNsYXRpb25zfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTY3JvbGxFZmZlY3RzIiwibWVyZ2VDbGFzc2VzIiwiY24iLCJMb2dvIiwiTmF2TGlua3MiLCJBY3Rpb25CdXR0b25zIiwiTW9iaWxlTWVudUJ1dHRvbiIsIk1vYmlsZU1lbnUiLCJNb2Rlcm5OYXZpZ2F0aW9uIiwidHJhbnNsYXRpb25zIiwibGFuZ3VhZ2VTd2l0Y2hlciIsInNjcm9sbGVkIiwibW9iaWxlTWVudU9wZW4iLCJzZXRNb2JpbGVNZW51T3BlbiIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiaGFuZGxlUmVzaXplIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZG9jdW1lbnQiLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hdiIsImNsYXNzTmFtZSIsImRpdiIsImlzT3BlbiIsIm9uQ2xpY2siLCJvbkNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/ModernNavigation.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/navbar/ActionButtons.tsx":
/*!********************************************************!*\
!*** ./src/components/layout/navbar/ActionButtons.tsx ***!
\********************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ActionButtons: function() { return /* binding */ ActionButtons; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/Button */ \"(app-pages-browser)/./src/components/common/Button.tsx\");\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n\n\n\n\n\nconst ActionButtons = (param)=>{\n let { scrolled, languageSwitcher, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"hidden md:flex items-center space-x-3\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: languageSwitcher\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 20,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_common_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"discord\",\n size: \"sm\",\n leftIcon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 30,\n columnNumber: 13\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 29,\n columnNumber: 11\n }, void 0),\n onClick: ()=>window.open(_config_constants__WEBPACK_IMPORTED_MODULE_4__.URLS.social.discord, \"_blank\"),\n className: \"hidden lg:flex\",\n children: \"Discord\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_common_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"discord\",\n size: \"sm\",\n onClick: ()=>window.open(_config_constants__WEBPACK_IMPORTED_MODULE_4__.URLS.social.discord, \"_blank\"),\n className: \"lg:hidden\",\n \"aria-label\": \"Rejoindre Discord\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.211.375-.445.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 48,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 40,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_common_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"sm\",\n leftIcon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, void 0)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, void 0),\n onClick: ()=>window.open(_config_constants__WEBPACK_IMPORTED_MODULE_4__.URLS.services.auth, \"_blank\"),\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_3__.mergeClasses)(\"transition-all duration-300\", scrolled ? \"shadow-md hover:shadow-lg\" : \"shadow-lg hover:shadow-xl\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hidden lg:inline\",\n children: \"Connexion\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 69,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"lg:hidden\",\n children: \"Se connecter\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 70,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 53,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/ActionButtons.tsx\",\n lineNumber: 18,\n columnNumber: 5\n }, undefined);\n};\n_c = ActionButtons;\nvar _c;\n$RefreshReg$(_c, \"ActionButtons\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvQWN0aW9uQnV0dG9ucy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBMEI7QUFDbUI7QUFDcUI7QUFDakI7QUFRMUMsTUFBTUssZ0JBQThDO1FBQUMsRUFDMURDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1Y7SUFDQyxxQkFDRSw4REFBQ0M7UUFBSUQsV0FBV0wsa0VBQUVBLENBQUMseUNBQXlDSzs7MEJBRTFELDhEQUFDQztnQkFBSUQsV0FBVTswQkFDWkQ7Ozs7OzswQkFJSCw4REFBQ04sa0RBQU1BO2dCQUNMUyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMQyx3QkFDRSw4REFBQ0M7b0JBQUlMLFdBQVU7b0JBQVVNLE1BQUs7b0JBQWVDLFNBQVE7OEJBQ25ELDRFQUFDQzt3QkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7Z0JBR1pDLFNBQVMsSUFBTUMsT0FBT0MsSUFBSSxDQUFDaEIsbURBQUlBLENBQUNpQixNQUFNLENBQUNDLE9BQU8sRUFBRTtnQkFDaERkLFdBQVU7MEJBQ1g7Ozs7OzswQkFLRCw4REFBQ1Asa0RBQU1BO2dCQUNMUyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMTyxTQUFTLElBQU1DLE9BQU9DLElBQUksQ0FBQ2hCLG1EQUFJQSxDQUFDaUIsTUFBTSxDQUFDQyxPQUFPLEVBQUU7Z0JBQ2hEZCxXQUFVO2dCQUNWZSxjQUFXOzBCQUVYLDRFQUFDVjtvQkFBSUwsV0FBVTtvQkFBVU0sTUFBSztvQkFBZUMsU0FBUTs4QkFDbkQsNEVBQUNDO3dCQUFLQyxHQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUtaLDhEQUFDaEIsa0RBQU1BO2dCQUNMUyxTQUFRO2dCQUNSQyxNQUFLO2dCQUNMQyx3QkFDRSw4REFBQ0M7b0JBQUlMLFdBQVU7b0JBQVVNLE1BQUs7b0JBQU9VLFFBQU87b0JBQWVULFNBQVE7OEJBQ2pFLDRFQUFDQzt3QkFBS1MsZUFBYzt3QkFBUUMsZ0JBQWU7d0JBQVFDLGFBQWE7d0JBQUdWLEdBQUU7Ozs7Ozs7Ozs7O2dCQUd6RUMsU0FBUyxJQUFNQyxPQUFPQyxJQUFJLENBQUNoQixtREFBSUEsQ0FBQ3dCLFFBQVEsQ0FBQ0MsSUFBSSxFQUFFO2dCQUMvQ3JCLFdBQVdMLGtFQUFFQSxDQUNYLCtCQUNBRyxXQUNJLDhCQUNBOztrQ0FHTiw4REFBQ3dCO3dCQUFLdEIsV0FBVTtrQ0FBbUI7Ozs7OztrQ0FDbkMsOERBQUNzQjt3QkFBS3RCLFdBQVU7a0NBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlwQyxFQUFFO0tBOURXSCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy9sYXlvdXQvbmF2YmFyL0FjdGlvbkJ1dHRvbnMudHN4PzUzMzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9CdXR0b24nO1xuaW1wb3J0IHsgbWVyZ2VDbGFzc2VzIGFzIGNuIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2Rlc2lnblN5c3RlbSc7XG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlnL2NvbnN0YW50cyc7XG5cbmludGVyZmFjZSBBY3Rpb25CdXR0b25zUHJvcHMge1xuICBzY3JvbGxlZDogYm9vbGVhbjtcbiAgbGFuZ3VhZ2VTd2l0Y2hlcjogUmVhY3QuUmVhY3RFbGVtZW50O1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBBY3Rpb25CdXR0b25zOiBSZWFjdC5GQzxBY3Rpb25CdXR0b25zUHJvcHM+ID0gKHsgXG4gIHNjcm9sbGVkLCBcbiAgbGFuZ3VhZ2VTd2l0Y2hlciwgXG4gIGNsYXNzTmFtZSBcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2hpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTMnLCBjbGFzc05hbWUpfT5cbiAgICAgIHsvKiBMYW5ndWFnZSBTd2l0Y2hlciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAge2xhbmd1YWdlU3dpdGNoZXJ9XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIERpc2NvcmQgQnV0dG9uICovfVxuICAgICAgPEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwiZGlzY29yZFwiXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIGxlZnRJY29uPXtcbiAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNCBoLTRcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0yMC4zMTcgNC4zN2ExOS43OTEgMTkuNzkxIDAgMCAwLTQuODg1LTEuNTE1LjA3NC4wNzQgMCAwIDAtLjA3OS4wMzdjLS4yMTEuMzc1LS40NDUuODY0LS42MDggMS4yNWExOC4yNyAxOC4yNyAwIDAgMC01LjQ4NyAwIDEyLjY0IDEyLjY0IDAgMCAwLS42MTctMS4yNS4wNzcuMDc3IDAgMCAwLS4wNzktLjAzN0ExOS43MzYgMTkuNzM2IDAgMCAwIDMuNjc3IDQuMzdhLjA3LjA3IDAgMCAwLS4wMzIuMDI3Qy41MzMgOS4wNDYtLjMyIDEzLjU4LjA5OSAxOC4wNTdhLjA4Mi4wODIgMCAwIDAgLjAzMS4wNTcgMTkuOSAxOS45IDAgMCAwIDUuOTkzIDMuMDMuMDc4LjA3OCAwIDAgMCAuMDg0LS4wMjhjLjQ2Mi0uNjMuODc0LTEuMjk1IDEuMjI2LTEuOTk0YS4wNzYuMDc2IDAgMCAwLS4wNDEtLjEwNiAxMy4xMDcgMTMuMTA3IDAgMCAxLTEuODcyLS44OTIuMDc3LjA3NyAwIDAgMS0uMDA4LS4xMjggMTAuMiAxMC4yIDAgMCAwIC4zNzItLjI5Mi4wNzQuMDc0IDAgMCAxIC4wNzctLjAxYzMuOTI4IDEuNzkzIDguMTggMS43OTMgMTIuMDYyIDBhLjA3NC4wNzQgMCAwIDEgLjA3OC4wMWMuMTIuMDk4LjI0Ni4xOTguMzczLjI5MmEuMDc3LjA3NyAwIDAgMS0uMDA2LjEyNyAxMi4yOTkgMTIuMjk5IDAgMCAxLTEuODczLjg5Mi4wNzcuMDc3IDAgMCAwLS4wNDEuMTA3Yy4zNi42OTguNzcyIDEuMzYyIDEuMjI1IDEuOTkzYS4wNzYuMDc2IDAgMCAwIC4wODQuMDI4IDE5LjgzOSAxOS44MzkgMCAwIDAgNi4wMDItMy4wMy4wNzcuMDc3IDAgMCAwIC4wMzItLjA1NGMuNS01LjE3Ny0uODM4LTkuNjc0LTMuNTQ5LTEzLjY2YS4wNjEuMDYxIDAgMCAwLS4wMzEtLjAzelwiLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB3aW5kb3cub3BlbihVUkxTLnNvY2lhbC5kaXNjb3JkLCAnX2JsYW5rJyl9XG4gICAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBsZzpmbGV4XCJcbiAgICAgID5cbiAgICAgICAgRGlzY29yZFxuICAgICAgPC9CdXR0b24+XG5cbiAgICAgIHsvKiBEaXNjb3JkIEljb24gT25seSAodGFibGV0KSAqL31cbiAgICAgIDxCdXR0b25cbiAgICAgICAgdmFyaWFudD1cImRpc2NvcmRcIlxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB3aW5kb3cub3BlbihVUkxTLnNvY2lhbC5kaXNjb3JkLCAnX2JsYW5rJyl9XG4gICAgICAgIGNsYXNzTmFtZT1cImxnOmhpZGRlblwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJSZWpvaW5kcmUgRGlzY29yZFwiXG4gICAgICA+XG4gICAgICAgIDxzdmcgY2xhc3NOYW1lPVwidy00IGgtNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk0yMC4zMTcgNC4zN2ExOS43OTEgMTkuNzkxIDAgMCAwLTQuODg1LTEuNTE1LjA3NC4wNzQgMCAwIDAtLjA3OS4wMzdjLS4yMTEuMzc1LS40NDUuODY0LS42MDggMS4yNWExOC4yNyAxOC4yNyAwIDAgMC01LjQ4NyAwIDEyLjY0IDEyLjY0IDAgMCAwLS42MTctMS4yNS4wNzcuMDc3IDAgMCAwLS4wNzktLjAzN0ExOS43MzYgMTkuNzM2IDAgMCAwIDMuNjc3IDQuMzdhLjA3LjA3IDAgMCAwLS4wMzIuMDI3Qy41MzMgOS4wNDYtLjMyIDEzLjU4LjA5OSAxOC4wNTdhLjA4Mi4wODIgMCAwIDAgLjAzMS4wNTcgMTkuOSAxOS45IDAgMCAwIDUuOTkzIDMuMDMuMDc4LjA3OCAwIDAgMCAuMDg0LS4wMjhjLjQ2Mi0uNjMuODc0LTEuMjk1IDEuMjI2LTEuOTk0YS4wNzYuMDc2IDAgMCAwLS4wNDEtLjEwNiAxMy4xMDcgMTMuMTA3IDAgMCAxLTEuODcyLS44OTIuMDc3LjA3NyAwIDAgMS0uMDA4LS4xMjggMTAuMiAxMC4yIDAgMCAwIC4zNzItLjI5Mi4wNzQuMDc0IDAgMCAxIC4wNzctLjAxYzMuOTI4IDEuNzkzIDguMTggMS43OTMgMTIuMDYyIDBhLjA3NC4wNzQgMCAwIDEgLjA3OC4wMWMuMTIuMDk4LjI0Ni4xOTguMzczLjI5MmEuMDc3LjA3NyAwIDAgMS0uMDA2LjEyNyAxMi4yOTkgMTIuMjk5IDAgMCAxLTEuODczLjg5Mi4wNzcuMDc3IDAgMCAwLS4wNDEuMTA3Yy4zNi42OTguNzcyIDEuMzYyIDEuMjI1IDEuOTkzYS4wNzYuMDc2IDAgMCAwIC4wODQuMDI4IDE5LjgzOSAxOS44MzkgMCAwIDAgNi4wMDItMy4wMy4wNzcuMDc3IDAgMCAwIC4wMzItLjA1NGMuNS01LjE3Ny0uODM4LTkuNjc0LTMuNTQ5LTEzLjY2YS4wNjEuMDYxIDAgMCAwLS4wMzEtLjAzelwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L0J1dHRvbj5cbiAgICAgIFxuICAgICAgey8qIEF1dGggQnV0dG9uICovfVxuICAgICAgPEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIGxlZnRJY29uPXtcbiAgICAgICAgICA8c3ZnIGNsYXNzTmFtZT1cInctNCBoLTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0xNiA3YTQgNCAwIDExLTggMCA0IDQgMCAwMTggMHpNMTIgMTRhNyA3IDAgMDAtNyA3aDE0YTcgNyAwIDAwLTctN3pcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHdpbmRvdy5vcGVuKFVSTFMuc2VydmljZXMuYXV0aCwgJ19ibGFuaycpfVxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICd0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICAgIHNjcm9sbGVkIFxuICAgICAgICAgICAgPyAnc2hhZG93LW1kIGhvdmVyOnNoYWRvdy1sZycgXG4gICAgICAgICAgICA6ICdzaGFkb3ctbGcgaG92ZXI6c2hhZG93LXhsJ1xuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4gbGc6aW5saW5lXCI+Q29ubmV4aW9uPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJsZzpoaWRkZW5cIj5TZSBjb25uZWN0ZXI8L3NwYW4+XG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJCdXR0b24iLCJtZXJnZUNsYXNzZXMiLCJjbiIsIlVSTFMiLCJBY3Rpb25CdXR0b25zIiwic2Nyb2xsZWQiLCJsYW5ndWFnZVN3aXRjaGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwidmFyaWFudCIsInNpemUiLCJsZWZ0SWNvbiIsInN2ZyIsImZpbGwiLCJ2aWV3Qm94IiwicGF0aCIsImQiLCJvbkNsaWNrIiwid2luZG93Iiwib3BlbiIsInNvY2lhbCIsImRpc2NvcmQiLCJhcmlhLWxhYmVsIiwic3Ryb2tlIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJzZXJ2aWNlcyIsImF1dGgiLCJzcGFuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/navbar/ActionButtons.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/navbar/Logo.tsx":
/*!***********************************************!*\
!*** ./src/components/layout/navbar/Logo.tsx ***!
\***********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Logo: function() { return /* binding */ Logo; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n/* harmony import */ var _src_assets_banquise_server_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../src/assets/banquise_server.svg */ \"(app-pages-browser)/./src/assets/banquise_server.svg\");\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n\n\n\n\n\nconst Logo = (param)=>{\n let { scrolled, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"flex items-center group cursor-pointer\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-r from-banquise-blue-light/30 to-banquise-blue/30 rounded-full blur-md opacity-0 group-hover:opacity-100 transition-all duration-300 scale-110\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"relative flex items-center justify-center rounded-full p-2 bg-white/10 backdrop-blur-sm border border-white/20 transition-all duration-300\", \"group-hover:bg-white/20 group-hover:scale-105 group-hover:border-white/30\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: _src_assets_banquise_server_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n alt: \"Logo La Banquise\",\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"transition-all duration-300 group-hover:scale-110\", scrolled ? \"h-8 w-8\" : \"h-10 w-10\"),\n style: {\n filter: \"drop-shadow(0 4px 12px rgba(168, 218, 255, 0.4))\"\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 17,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"ml-3 hidden sm:block\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"font-heading font-bold text-white tracking-tight transition-all duration-300\", scrolled ? \"text-lg\" : \"text-xl lg:text-2xl\", \"group-hover:text-banquise-blue-lightest\"),\n children: _config_constants__WEBPACK_IMPORTED_MODULE_4__.SITE_CONFIG.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"text-banquise-blue-lightest/70 font-medium transition-all duration-300\", scrolled ? \"text-xs\" : \"text-sm\", \"group-hover:text-banquise-blue-lightest/90\"),\n children: _config_constants__WEBPACK_IMPORTED_MODULE_4__.SITE_CONFIG.tagline\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/Logo.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined);\n};\n_c = Logo;\nvar _c;\n$RefreshReg$(_c, \"Logo\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvTG9nby50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBMEI7QUFDd0M7QUFDTDtBQUNMO0FBT2pELE1BQU1LLE9BQTRCO1FBQUMsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUU7SUFDL0QscUJBQ0UsOERBQUNDO1FBQUlELFdBQVdMLGtFQUFFQSxDQUFDLDBDQUEwQ0s7OzBCQUUzRCw4REFBQ0M7Z0JBQUlELFdBQVU7O2tDQUNiLDhEQUFDQzt3QkFBSUQsV0FBVTs7Ozs7O2tDQUNmLDhEQUFDQzt3QkFBSUQsV0FBV0wsa0VBQUVBLENBQ2hCLDhJQUNBO2tDQUVBLDRFQUFDTzs0QkFDQ0MsS0FBS1AsdUVBQWNBOzRCQUNuQlEsS0FBSTs0QkFDSkosV0FBV0wsa0VBQUVBLENBQ1gscURBQ0FJLFdBQVcsWUFBWTs0QkFFekJNLE9BQU87Z0NBQUVDLFFBQVE7NEJBQW1EOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFNMUUsOERBQUNMO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ087d0JBQUdQLFdBQVdMLGtFQUFFQSxDQUNmLGdGQUNBSSxXQUFXLFlBQVksdUJBQ3ZCO2tDQUVDRiwwREFBV0EsQ0FBQ1csSUFBSTs7Ozs7O2tDQUVuQiw4REFBQ0M7d0JBQUVULFdBQVdMLGtFQUFFQSxDQUNkLDBFQUNBSSxXQUFXLFlBQVksV0FDdkI7a0NBRUNGLDBEQUFXQSxDQUFDYSxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLOUIsRUFBRTtLQXpDV1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9Mb2dvLnRzeD9kZmFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMgYXMgY24gfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvZGVzaWduU3lzdGVtJztcbmltcG9ydCBiYW5xdWlzZVNlcnZlciBmcm9tICcvc3JjL2Fzc2V0cy9iYW5xdWlzZV9zZXJ2ZXIuc3ZnJztcbmltcG9ydCB7IFNJVEVfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlnL2NvbnN0YW50cyc7XG5cbmludGVyZmFjZSBMb2dvUHJvcHMge1xuICBzY3JvbGxlZDogYm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgTG9nbzogUmVhY3QuRkM8TG9nb1Byb3BzPiA9ICh7IHNjcm9sbGVkLCBjbGFzc05hbWUgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbignZmxleCBpdGVtcy1jZW50ZXIgZ3JvdXAgY3Vyc29yLXBvaW50ZXInLCBjbGFzc05hbWUpfT5cbiAgICAgIHsvKiBMb2dvIGF2ZWMgZWZmZXQgZ2xvdyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0LzMwIHRvLWJhbnF1aXNlLWJsdWUvMzAgcm91bmRlZC1mdWxsIGJsdXItbWQgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBzY2FsZS0xMTBcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcC0yIGJnLXdoaXRlLzEwIGJhY2tkcm9wLWJsdXItc20gYm9yZGVyIGJvcmRlci13aGl0ZS8yMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgICAgICAgICdncm91cC1ob3ZlcjpiZy13aGl0ZS8yMCBncm91cC1ob3ZlcjpzY2FsZS0xMDUgZ3JvdXAtaG92ZXI6Ym9yZGVyLXdoaXRlLzMwJ1xuICAgICAgICApfT5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBzcmM9e2JhbnF1aXNlU2VydmVyfVxuICAgICAgICAgICAgYWx0PVwiTG9nbyBMYSBCYW5xdWlzZVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAndHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExMCcsXG4gICAgICAgICAgICAgIHNjcm9sbGVkID8gJ2gtOCB3LTgnIDogJ2gtMTAgdy0xMCdcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBzdHlsZT17eyBmaWx0ZXI6ICdkcm9wLXNoYWRvdygwIDRweCAxMnB4IHJnYmEoMTY4LCAyMTgsIDI1NSwgMC40KSknIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgey8qIEJyYW5kIHRleHQgYXZlYyBhbmltYXRpb24gKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLTMgaGlkZGVuIHNtOmJsb2NrXCI+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdmb250LWhlYWRpbmcgZm9udC1ib2xkIHRleHQtd2hpdGUgdHJhY2tpbmctdGlnaHQgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwJyxcbiAgICAgICAgICBzY3JvbGxlZCA/ICd0ZXh0LWxnJyA6ICd0ZXh0LXhsIGxnOnRleHQtMnhsJyxcbiAgICAgICAgICAnZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0J1xuICAgICAgICApfT5cbiAgICAgICAgICB7U0lURV9DT05GSUcubmFtZX1cbiAgICAgICAgPC9oMT5cbiAgICAgICAgPHAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAndGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzcwIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCcsXG4gICAgICAgICAgc2Nyb2xsZWQgPyAndGV4dC14cycgOiAndGV4dC1zbScsXG4gICAgICAgICAgJ2dyb3VwLWhvdmVyOnRleHQtYmFucXVpc2UtYmx1ZS1saWdodGVzdC85MCdcbiAgICAgICAgKX0+XG4gICAgICAgICAge1NJVEVfQ09ORklHLnRhZ2xpbmV9XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIm1lcmdlQ2xhc3NlcyIsImNuIiwiYmFucXVpc2VTZXJ2ZXIiLCJTSVRFX0NPTkZJRyIsIkxvZ28iLCJzY3JvbGxlZCIsImNsYXNzTmFtZSIsImRpdiIsImltZyIsInNyYyIsImFsdCIsInN0eWxlIiwiZmlsdGVyIiwiaDEiLCJuYW1lIiwicCIsInRhZ2xpbmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/navbar/Logo.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/navbar/MobileMenuButton.tsx":
/*!***********************************************************!*\
!*** ./src/components/layout/navbar/MobileMenuButton.tsx ***!
\***********************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MobileMenuButton: function() { return /* binding */ MobileMenuButton; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n\n\n\nconst MobileMenuButton = (param)=>{\n let { isOpen, onClick, className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"md:hidden relative p-3 rounded-xl transition-all duration-300 group\", \"bg-white/10 hover:bg-white/20 active:bg-white/25\", \"border border-white/20 hover:border-white/30\", \"hover:scale-105 active:scale-95\", \"focus:outline-none focus:ring-2 focus:ring-banquise-blue-light/50\", className),\n onClick: onClick,\n \"aria-label\": isOpen ? \"Fermer le menu\" : \"Ouvrir le menu\",\n \"aria-expanded\": isOpen,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-6 h-6 relative flex flex-col justify-center items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out transform\", isOpen ? \"rotate-45 translate-y-0\" : \"-translate-y-2\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out\", isOpen ? \"opacity-0 scale-0\" : \"opacity-100 scale-100\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"absolute block h-0.5 w-6 bg-white rounded-full transition-all duration-300 ease-out transform\", isOpen ? \"-rotate-45 translate-y-0\" : \"translate-y-2\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 rounded-xl bg-gradient-to-r from-banquise-blue-light/20 to-banquise-blue/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 46,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/MobileMenuButton.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined);\n};\n_c = MobileMenuButton;\nvar _c;\n$RefreshReg$(_c, \"MobileMenuButton\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvTW9iaWxlTWVudUJ1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTBCO0FBQ3dDO0FBUTNELE1BQU1HLG1CQUFvRDtRQUFDLEVBQ2hFQyxNQUFNLEVBQ05DLE9BQU8sRUFDUEMsU0FBUyxFQUNWO0lBQ0MscUJBQ0UsOERBQUNDO1FBQ0NELFdBQVdKLGtFQUFFQSxDQUNYLHVFQUNBLG9EQUNBLGdEQUNBLG1DQUNBLHFFQUNBSTtRQUVGRCxTQUFTQTtRQUNURyxjQUFZSixTQUFTLG1CQUFtQjtRQUN4Q0ssaUJBQWVMOzswQkFHZiw4REFBQ007Z0JBQUlKLFdBQVU7O2tDQUNiLDhEQUFDSzt3QkFBS0wsV0FBV0osa0VBQUVBLENBQ2pCLGlHQUNBRSxTQUFTLDRCQUE0Qjs7Ozs7O2tDQUV2Qyw4REFBQ087d0JBQUtMLFdBQVdKLGtFQUFFQSxDQUNqQix1RkFDQUUsU0FBUyxzQkFBc0I7Ozs7OztrQ0FFakMsOERBQUNPO3dCQUFLTCxXQUFXSixrRUFBRUEsQ0FDakIsaUdBQ0FFLFNBQVMsNkJBQTZCOzs7Ozs7Ozs7Ozs7MEJBSzFDLDhEQUFDTTtnQkFBSUosV0FBVTs7Ozs7Ozs7Ozs7O0FBR3JCLEVBQUU7S0F2Q1dIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvTW9iaWxlTWVudUJ1dHRvbi50c3g/ZjdiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbWVyZ2VDbGFzc2VzIGFzIGNuIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2Rlc2lnblN5c3RlbSc7XG5cbmludGVyZmFjZSBNb2JpbGVNZW51QnV0dG9uUHJvcHMge1xuICBpc09wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE1vYmlsZU1lbnVCdXR0b246IFJlYWN0LkZDPE1vYmlsZU1lbnVCdXR0b25Qcm9wcz4gPSAoeyBcbiAgaXNPcGVuLCBcbiAgb25DbGljaywgXG4gIGNsYXNzTmFtZSBcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnbWQ6aGlkZGVuIHJlbGF0aXZlIHAtMyByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBncm91cCcsXG4gICAgICAgICdiZy13aGl0ZS8xMCBob3ZlcjpiZy13aGl0ZS8yMCBhY3RpdmU6Ymctd2hpdGUvMjUnLFxuICAgICAgICAnYm9yZGVyIGJvcmRlci13aGl0ZS8yMCBob3Zlcjpib3JkZXItd2hpdGUvMzAnLFxuICAgICAgICAnaG92ZXI6c2NhbGUtMTA1IGFjdGl2ZTpzY2FsZS05NScsXG4gICAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmFucXVpc2UtYmx1ZS1saWdodC81MCcsXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBhcmlhLWxhYmVsPXtpc09wZW4gPyBcIkZlcm1lciBsZSBtZW51XCIgOiBcIk91dnJpciBsZSBtZW51XCJ9XG4gICAgICBhcmlhLWV4cGFuZGVkPXtpc09wZW59XG4gICAgPlxuICAgICAgey8qIEhhbWJ1cmdlciBJY29uIGF2ZWMgYW5pbWF0aW9uIG1vZGVybmUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInctNiBoLTYgcmVsYXRpdmUgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnYWJzb2x1dGUgYmxvY2sgaC0wLjUgdy02IGJnLXdoaXRlIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1vdXQgdHJhbnNmb3JtJyxcbiAgICAgICAgICBpc09wZW4gPyAncm90YXRlLTQ1IHRyYW5zbGF0ZS15LTAnIDogJy10cmFuc2xhdGUteS0yJ1xuICAgICAgICApfSAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdhYnNvbHV0ZSBibG9jayBoLTAuNSB3LTYgYmctd2hpdGUgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dCcsXG4gICAgICAgICAgaXNPcGVuID8gJ29wYWNpdHktMCBzY2FsZS0wJyA6ICdvcGFjaXR5LTEwMCBzY2FsZS0xMDAnXG4gICAgICAgICl9IC8+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgJ2Fic29sdXRlIGJsb2NrIGgtMC41IHctNiBiZy13aGl0ZSByb3VuZGVkLWZ1bGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2Utb3V0IHRyYW5zZm9ybScsXG4gICAgICAgICAgaXNPcGVuID8gJy1yb3RhdGUtNDUgdHJhbnNsYXRlLXktMCcgOiAndHJhbnNsYXRlLXktMidcbiAgICAgICAgKX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICB7LyogU3VidGxlIGdsb3cgZWZmZWN0IG9uIGhvdmVyICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQteGwgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQvMjAgdG8tYmFucXVpc2UtYmx1ZS8yMCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTMwMFwiIC8+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwibWVyZ2VDbGFzc2VzIiwiY24iLCJNb2JpbGVNZW51QnV0dG9uIiwiaXNPcGVuIiwib25DbGljayIsImNsYXNzTmFtZSIsImJ1dHRvbiIsImFyaWEtbGFiZWwiLCJhcmlhLWV4cGFuZGVkIiwiZGl2Iiwic3BhbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/navbar/MobileMenuButton.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/layout/navbar/NavLinks.tsx":
/*!***************************************************!*\
!*** ./src/components/layout/navbar/NavLinks.tsx ***!
\***************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NavLinks: function() { return /* binding */ NavLinks; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst NavLink = (param)=>{\n let { href, children, isActive = false, onClick } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n onClick: onClick,\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"relative px-4 py-2 text-sm font-medium transition-all duration-300 rounded-lg group\", \"hover:text-white focus:outline-none focus:ring-2 focus:ring-banquise-blue-light/50\", isActive ? \"text-white bg-white/20 shadow-lg\" : \"text-white/80 hover:bg-white/10\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative z-10\",\n children: children\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 31,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"absolute inset-0 rounded-lg bg-gradient-to-r from-banquise-blue-light/20 to-banquise-blue/20\", \"opacity-0 group-hover:opacity-100 transition-all duration-300 scale-95 group-hover:scale-100\")\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, undefined),\n isActive && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-1/2 transform -translate-x-1/2 w-6 h-0.5 bg-banquise-blue-lightest rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 20,\n columnNumber: 5\n }, undefined);\n};\n_c = NavLink;\nconst NavLinks = (param)=>{\n let { translations, className } = param;\n _s();\n const [activeSection, setActiveSection] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(\"home\");\n // Observer pour détecter la section active\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{\n const handleScroll = ()=>{\n const scrollPosition = window.scrollY;\n const windowHeight = window.innerHeight;\n // Si on est en haut de la page (moins de 100px du haut), on active \"home\"\n if (scrollPosition < 100) {\n setActiveSection(\"home\");\n return;\n }\n // Sinon, on utilise l'intersection observer logic\n const sections = [\n \"home\",\n \"services\",\n \"about\"\n ];\n let currentSection = \"home\";\n sections.forEach((sectionId)=>{\n const element = document.getElementById(sectionId);\n if (element) {\n const rect = element.getBoundingClientRect();\n const sectionTop = rect.top + scrollPosition;\n // Si la section est visible dans le viewport\n if (scrollPosition >= sectionTop - windowHeight / 3) {\n currentSection = sectionId;\n }\n }\n });\n setActiveSection(currentSection);\n };\n // Écouter le scroll\n window.addEventListener(\"scroll\", handleScroll);\n // Appeler une fois au chargement\n handleScroll();\n return ()=>{\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n // Observer pour détecter la section active avec IntersectionObserver (fallback)\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect(()=>{\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n if (entry.isIntersecting && window.scrollY > 100) {\n setActiveSection(entry.target.id);\n }\n });\n }, {\n threshold: 0.3,\n rootMargin: \"-100px 0px -100px 0px\"\n });\n const sections = [\n \"home\",\n \"services\",\n \"about\"\n ];\n sections.forEach((id)=>{\n const element = document.getElementById(id);\n if (element) observer.observe(element);\n });\n return ()=>observer.disconnect();\n }, []);\n const handleNavClick = (sectionId)=>{\n if (sectionId === \"home\") {\n // Scroll to top for home section\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n } else if (sectionId === \"contact\") {\n // Open email client for contact\n window.location.href = \"mailto:contact@la-banquise.fr\";\n } else {\n // Scroll to specific section\n const element = document.getElementById(sectionId);\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"hidden md:flex items-center space-x-1\", className),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#home\",\n isActive: activeSection === \"home\",\n onClick: ()=>handleNavClick(\"home\"),\n children: translations.home\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 141,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#services\",\n isActive: activeSection === \"services\",\n onClick: ()=>handleNavClick(\"services\"),\n children: translations.services\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 149,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"#about\",\n isActive: activeSection === \"about\",\n onClick: ()=>handleNavClick(\"about\"),\n children: translations.about\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 157,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(NavLink, {\n href: \"mailto:contact@la-banquise.fr\",\n isActive: false,\n onClick: ()=>handleNavClick(\"contact\"),\n children: translations.contact\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 165,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/layout/navbar/NavLinks.tsx\",\n lineNumber: 140,\n columnNumber: 5\n }, undefined);\n};\n_s(NavLinks, \"F4c5K0PJ9W59PKimXUucMQjEF38=\");\n_c1 = NavLinks;\nvar _c, _c1;\n$RefreshReg$(_c, \"NavLink\");\n$RefreshReg$(_c1, \"NavLinks\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL2xheW91dC9uYXZiYXIvTmF2TGlua3MudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMEI7QUFDd0M7QUFnQmxFLE1BQU1HLFVBQWtDO1FBQUMsRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsS0FBSyxFQUFFQyxPQUFPLEVBQUU7SUFDcEYscUJBQ0UsOERBQUNDO1FBQ0NKLE1BQU1BO1FBQ05HLFNBQVNBO1FBQ1RFLFdBQVdQLGtFQUFFQSxDQUNYLHVGQUNBLHNGQUNBSSxXQUNJLHFDQUNBOzswQkFHTiw4REFBQ0k7Z0JBQUtELFdBQVU7MEJBQWlCSjs7Ozs7OzBCQUdqQyw4REFBQ007Z0JBQUlGLFdBQVdQLGtFQUFFQSxDQUNoQixnR0FDQTs7Ozs7O1lBSURJLDBCQUNDLDhEQUFDSztnQkFBSUYsV0FBVTs7Ozs7Ozs7Ozs7O0FBSXZCO0tBM0JNTjtBQTZCQyxNQUFNUyxXQUFvQztRQUFDLEVBQUVDLFlBQVksRUFBRUosU0FBUyxFQUFFOztJQUMzRSxNQUFNLENBQUNLLGVBQWVDLGlCQUFpQixHQUFHZixxREFBYyxDQUFTO0lBRWpFLDJDQUEyQztJQUMzQ0Esc0RBQWUsQ0FBQztRQUNkLE1BQU1rQixlQUFlO1lBQ25CLE1BQU1DLGlCQUFpQkMsT0FBT0MsT0FBTztZQUNyQyxNQUFNQyxlQUFlRixPQUFPRyxXQUFXO1lBRXZDLDBFQUEwRTtZQUMxRSxJQUFJSixpQkFBaUIsS0FBSztnQkFDeEJKLGlCQUFpQjtnQkFDakI7WUFDRjtZQUVBLGtEQUFrRDtZQUNsRCxNQUFNUyxXQUFXO2dCQUFDO2dCQUFRO2dCQUFZO2FBQVE7WUFDOUMsSUFBSUMsaUJBQWlCO1lBRXJCRCxTQUFTRSxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ2hCLE1BQU1DLFVBQVVDLFNBQVNDLGNBQWMsQ0FBQ0g7Z0JBQ3hDLElBQUlDLFNBQVM7b0JBQ1gsTUFBTUcsT0FBT0gsUUFBUUkscUJBQXFCO29CQUMxQyxNQUFNQyxhQUFhRixLQUFLRyxHQUFHLEdBQUdmO29CQUU5Qiw2Q0FBNkM7b0JBQzdDLElBQUlBLGtCQUFrQmMsYUFBYVgsZUFBZSxHQUFHO3dCQUNuREcsaUJBQWlCRTtvQkFDbkI7Z0JBQ0Y7WUFDRjtZQUVBWixpQkFBaUJVO1FBQ25CO1FBRUEsb0JBQW9CO1FBQ3BCTCxPQUFPZSxnQkFBZ0IsQ0FBQyxVQUFVakI7UUFDbEMsaUNBQWlDO1FBQ2pDQTtRQUVBLE9BQU87WUFDTEUsT0FBT2dCLG1CQUFtQixDQUFDLFVBQVVsQjtRQUN2QztJQUNGLEdBQUcsRUFBRTtJQUVMLGdGQUFnRjtJQUNoRmxCLHNEQUFlLENBQUM7UUFDZCxNQUFNcUMsV0FBVyxJQUFJQyxxQkFDbkIsQ0FBQ0M7WUFDQ0EsUUFBUWIsT0FBTyxDQUFDLENBQUNjO2dCQUNmLElBQUlBLE1BQU1DLGNBQWMsSUFBSXJCLE9BQU9DLE9BQU8sR0FBRyxLQUFLO29CQUNoRE4saUJBQWlCeUIsTUFBTUUsTUFBTSxDQUFDQyxFQUFFO2dCQUNsQztZQUNGO1FBQ0YsR0FDQTtZQUNFQyxXQUFXO1lBQ1hDLFlBQVk7UUFDZDtRQUdGLE1BQU1yQixXQUFXO1lBQUM7WUFBUTtZQUFZO1NBQVE7UUFDOUNBLFNBQVNFLE9BQU8sQ0FBQyxDQUFDaUI7WUFDaEIsTUFBTWYsVUFBVUMsU0FBU0MsY0FBYyxDQUFDYTtZQUN4QyxJQUFJZixTQUFTUyxTQUFTUyxPQUFPLENBQUNsQjtRQUNoQztRQUVBLE9BQU8sSUFBTVMsU0FBU1UsVUFBVTtJQUNsQyxHQUFHLEVBQUU7SUFFTCxNQUFNQyxpQkFBaUIsQ0FBQ3JCO1FBQ3RCLElBQUlBLGNBQWMsUUFBUTtZQUN4QixpQ0FBaUM7WUFDakNQLE9BQU82QixRQUFRLENBQUM7Z0JBQ2RmLEtBQUs7Z0JBQ0xnQixVQUFVO1lBQ1o7UUFDRixPQUFPLElBQUl2QixjQUFjLFdBQVc7WUFDbEMsZ0NBQWdDO1lBQ2hDUCxPQUFPK0IsUUFBUSxDQUFDL0MsSUFBSSxHQUFHO1FBQ3pCLE9BQU87WUFDTCw2QkFBNkI7WUFDN0IsTUFBTXdCLFVBQVVDLFNBQVNDLGNBQWMsQ0FBQ0g7WUFDeEMsSUFBSUMsU0FBUztnQkFDWEEsUUFBUXdCLGNBQWMsQ0FBQztvQkFDckJGLFVBQVU7b0JBQ1ZHLE9BQU87Z0JBQ1Q7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxxQkFDRSw4REFBQ0M7UUFBSTdDLFdBQVdQLGtFQUFFQSxDQUFDLHlDQUF5Q087OzBCQUMxRCw4REFBQ047Z0JBQ0NDLE1BQUs7Z0JBQ0xFLFVBQVVRLGtCQUFrQjtnQkFDNUJQLFNBQVMsSUFBTXlDLGVBQWU7MEJBRTdCbkMsYUFBYTBDLElBQUk7Ozs7OzswQkFHcEIsOERBQUNwRDtnQkFDQ0MsTUFBSztnQkFDTEUsVUFBVVEsa0JBQWtCO2dCQUM1QlAsU0FBUyxJQUFNeUMsZUFBZTswQkFFN0JuQyxhQUFhMkMsUUFBUTs7Ozs7OzBCQUd4Qiw4REFBQ3JEO2dCQUNDQyxNQUFLO2dCQUNMRSxVQUFVUSxrQkFBa0I7Z0JBQzVCUCxTQUFTLElBQU15QyxlQUFlOzBCQUU3Qm5DLGFBQWE0QyxLQUFLOzs7Ozs7MEJBR3JCLDhEQUFDdEQ7Z0JBQ0NDLE1BQUs7Z0JBQ0xFLFVBQVU7Z0JBQ1ZDLFNBQVMsSUFBTXlDLGVBQWU7MEJBRTdCbkMsYUFBYTZDLE9BQU87Ozs7Ozs7Ozs7OztBQUk3QixFQUFFO0dBL0hXOUM7TUFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvbGF5b3V0L25hdmJhci9OYXZMaW5rcy50c3g/NGE3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbWVyZ2VDbGFzc2VzIGFzIGNuIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2Rlc2lnblN5c3RlbSc7XG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvaTE4bic7XG5cbmludGVyZmFjZSBOYXZMaW5rc1Byb3BzIHtcbiAgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvblsnbmF2aWdhdGlvbiddO1xuICBzY3JvbGxlZDogYm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF2TGlua1Byb3BzIHtcbiAgaHJlZjogc3RyaW5nO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBOYXZMaW5rOiBSZWFjdC5GQzxOYXZMaW5rUHJvcHM+ID0gKHsgaHJlZiwgY2hpbGRyZW4sIGlzQWN0aXZlID0gZmFsc2UsIG9uQ2xpY2sgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICdyZWxhdGl2ZSBweC00IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgcm91bmRlZC1sZyBncm91cCcsXG4gICAgICAgICdob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1iYW5xdWlzZS1ibHVlLWxpZ2h0LzUwJyxcbiAgICAgICAgaXNBY3RpdmUgXG4gICAgICAgICAgPyAndGV4dC13aGl0ZSBiZy13aGl0ZS8yMCBzaGFkb3ctbGcnIFxuICAgICAgICAgIDogJ3RleHQtd2hpdGUvODAgaG92ZXI6Ymctd2hpdGUvMTAnXG4gICAgICApfVxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMTBcIj57Y2hpbGRyZW59PC9zcGFuPlxuICAgICAgXG4gICAgICB7LyogSG92ZXIgZWZmZWN0ICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCByb3VuZGVkLWxnIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0LzIwIHRvLWJhbnF1aXNlLWJsdWUvMjAnLFxuICAgICAgICAnb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBzY2FsZS05NSBncm91cC1ob3ZlcjpzY2FsZS0xMDAnXG4gICAgICApfSAvPlxuICAgICAgXG4gICAgICB7LyogQWN0aXZlIGluZGljYXRvciAqL31cbiAgICAgIHtpc0FjdGl2ZSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0xLzIgdHJhbnNmb3JtIC10cmFuc2xhdGUteC0xLzIgdy02IGgtMC41IGJnLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3Qgcm91bmRlZC1mdWxsXCIgLz5cbiAgICAgICl9XG4gICAgPC9hPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IE5hdkxpbmtzOiBSZWFjdC5GQzxOYXZMaW5rc1Byb3BzPiA9ICh7IHRyYW5zbGF0aW9ucywgY2xhc3NOYW1lIH0pID0+IHtcbiAgY29uc3QgW2FjdGl2ZVNlY3Rpb24sIHNldEFjdGl2ZVNlY3Rpb25dID0gUmVhY3QudXNlU3RhdGU8c3RyaW5nPignaG9tZScpO1xuXG4gIC8vIE9ic2VydmVyIHBvdXIgZMOpdGVjdGVyIGxhIHNlY3Rpb24gYWN0aXZlXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgIFxuICAgICAgLy8gU2kgb24gZXN0IGVuIGhhdXQgZGUgbGEgcGFnZSAobW9pbnMgZGUgMTAwcHggZHUgaGF1dCksIG9uIGFjdGl2ZSBcImhvbWVcIlxuICAgICAgaWYgKHNjcm9sbFBvc2l0aW9uIDwgMTAwKSB7XG4gICAgICAgIHNldEFjdGl2ZVNlY3Rpb24oJ2hvbWUnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBTaW5vbiwgb24gdXRpbGlzZSBsJ2ludGVyc2VjdGlvbiBvYnNlcnZlciBsb2dpY1xuICAgICAgY29uc3Qgc2VjdGlvbnMgPSBbJ2hvbWUnLCAnc2VydmljZXMnLCAnYWJvdXQnXTtcbiAgICAgIGxldCBjdXJyZW50U2VjdGlvbiA9ICdob21lJztcblxuICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbklkKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWN0aW9uSWQpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlY3Rpb25Ub3AgPSByZWN0LnRvcCArIHNjcm9sbFBvc2l0aW9uO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIFNpIGxhIHNlY3Rpb24gZXN0IHZpc2libGUgZGFucyBsZSB2aWV3cG9ydFxuICAgICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSBzZWN0aW9uVG9wIC0gd2luZG93SGVpZ2h0IC8gMykge1xuICAgICAgICAgICAgY3VycmVudFNlY3Rpb24gPSBzZWN0aW9uSWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2V0QWN0aXZlU2VjdGlvbihjdXJyZW50U2VjdGlvbik7XG4gICAgfTtcblxuICAgIC8vIMOJY291dGVyIGxlIHNjcm9sbFxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgIC8vIEFwcGVsZXIgdW5lIGZvaXMgYXUgY2hhcmdlbWVudFxuICAgIGhhbmRsZVNjcm9sbCgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICAvLyBPYnNlcnZlciBwb3VyIGTDqXRlY3RlciBsYSBzZWN0aW9uIGFjdGl2ZSBhdmVjIEludGVyc2VjdGlvbk9ic2VydmVyIChmYWxsYmFjaylcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcgJiYgd2luZG93LnNjcm9sbFkgPiAxMDApIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZVNlY3Rpb24oZW50cnkudGFyZ2V0LmlkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHsgXG4gICAgICAgIHRocmVzaG9sZDogMC4zLFxuICAgICAgICByb290TWFyZ2luOiAnLTEwMHB4IDBweCAtMTAwcHggMHB4J1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBzZWN0aW9ucyA9IFsnaG9tZScsICdzZXJ2aWNlcycsICdhYm91dCddO1xuICAgIHNlY3Rpb25zLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgICAgaWYgKGVsZW1lbnQpIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlTmF2Q2xpY2sgPSAoc2VjdGlvbklkOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoc2VjdGlvbklkID09PSAnaG9tZScpIHtcbiAgICAgIC8vIFNjcm9sbCB0byB0b3AgZm9yIGhvbWUgc2VjdGlvblxuICAgICAgd2luZG93LnNjcm9sbFRvKHsgXG4gICAgICAgIHRvcDogMCwgXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyBcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoc2VjdGlvbklkID09PSAnY29udGFjdCcpIHtcbiAgICAgIC8vIE9wZW4gZW1haWwgY2xpZW50IGZvciBjb250YWN0XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdtYWlsdG86Y29udGFjdEBsYS1iYW5xdWlzZS5mcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNjcm9sbCB0byBzcGVjaWZpYyBzZWN0aW9uXG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbklkKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPG5hdiBjbGFzc05hbWU9e2NuKCdoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0xJywgY2xhc3NOYW1lKX0+XG4gICAgICA8TmF2TGluayBcbiAgICAgICAgaHJlZj1cIiNob21lXCIgXG4gICAgICAgIGlzQWN0aXZlPXthY3RpdmVTZWN0aW9uID09PSAnaG9tZSd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdob21lJyl9XG4gICAgICA+XG4gICAgICAgIHt0cmFuc2xhdGlvbnMuaG9tZX1cbiAgICAgIDwvTmF2TGluaz5cbiAgICAgIFxuICAgICAgPE5hdkxpbmsgXG4gICAgICAgIGhyZWY9XCIjc2VydmljZXNcIiBcbiAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZVNlY3Rpb24gPT09ICdzZXJ2aWNlcyd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU5hdkNsaWNrKCdzZXJ2aWNlcycpfVxuICAgICAgPlxuICAgICAgICB7dHJhbnNsYXRpb25zLnNlcnZpY2VzfVxuICAgICAgPC9OYXZMaW5rPlxuICAgICAgXG4gICAgICA8TmF2TGluayBcbiAgICAgICAgaHJlZj1cIiNhYm91dFwiIFxuICAgICAgICBpc0FjdGl2ZT17YWN0aXZlU2VjdGlvbiA9PT0gJ2Fib3V0J31cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTmF2Q2xpY2soJ2Fib3V0Jyl9XG4gICAgICA+XG4gICAgICAgIHt0cmFuc2xhdGlvbnMuYWJvdXR9XG4gICAgICA8L05hdkxpbms+XG4gICAgICBcbiAgICAgIDxOYXZMaW5rIFxuICAgICAgICBocmVmPVwibWFpbHRvOmNvbnRhY3RAbGEtYmFucXVpc2UuZnJcIiBcbiAgICAgICAgaXNBY3RpdmU9e2ZhbHNlfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOYXZDbGljaygnY29udGFjdCcpfVxuICAgICAgPlxuICAgICAgICB7dHJhbnNsYXRpb25zLmNvbnRhY3R9XG4gICAgICA8L05hdkxpbms+XG4gICAgPC9uYXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwibWVyZ2VDbGFzc2VzIiwiY24iLCJOYXZMaW5rIiwiaHJlZiIsImNoaWxkcmVuIiwiaXNBY3RpdmUiLCJvbkNsaWNrIiwiYSIsImNsYXNzTmFtZSIsInNwYW4iLCJkaXYiLCJOYXZMaW5rcyIsInRyYW5zbGF0aW9ucyIsImFjdGl2ZVNlY3Rpb24iLCJzZXRBY3RpdmVTZWN0aW9uIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJoYW5kbGVTY3JvbGwiLCJzY3JvbGxQb3NpdGlvbiIsIndpbmRvdyIsInNjcm9sbFkiLCJ3aW5kb3dIZWlnaHQiLCJpbm5lckhlaWdodCIsInNlY3Rpb25zIiwiY3VycmVudFNlY3Rpb24iLCJmb3JFYWNoIiwic2VjdGlvbklkIiwiZWxlbWVudCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwic2VjdGlvblRvcCIsInRvcCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsImVudHJpZXMiLCJlbnRyeSIsImlzSW50ZXJzZWN0aW5nIiwidGFyZ2V0IiwiaWQiLCJ0aHJlc2hvbGQiLCJyb290TWFyZ2luIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJoYW5kbGVOYXZDbGljayIsInNjcm9sbFRvIiwiYmVoYXZpb3IiLCJsb2NhdGlvbiIsInNjcm9sbEludG9WaWV3IiwiYmxvY2siLCJuYXYiLCJob21lIiwic2VydmljZXMiLCJhYm91dCIsImNvbnRhY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/layout/navbar/NavLinks.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/sections/AboutSection.tsx":
/*!**************************************************!*\
!*** ./src/components/sections/AboutSection.tsx ***!
\**************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AboutSection: function() { return /* binding */ AboutSection; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/AccordionItem */ \"(app-pages-browser)/./src/components/ui/AccordionItem.tsx\");\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n/* harmony import */ var _styles_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../styles/components */ \"(app-pages-browser)/./src/styles/components.ts\");\n\n\n\n\n\nconst AboutSection = (param)=>{\n let { openAccordion, toggleAccordion } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"about\",\n className: \"relative py-16 sm:py-20 md:py-24 px-4 sm:px-6 md:px-8 z-2 w-full box-border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-4xl mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center mb-12 sm:mb-16 md:mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.headingXl, \" mb-6 sm:mb-8 px-2\"),\n style: {\n textShadow: \"0 2px 4px rgba(0, 0, 0, 0.2)\"\n },\n children: \"\\xc0 Propos de La Banquise\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.muted, \" text-lg sm:text-xl max-w-3xl mx-auto px-2\"),\n style: {\n textShadow: \"0 1px 2px rgba(0, 0, 0, 0.1)\"\n },\n children: \"Une communaut\\xe9 passionn\\xe9e qui propose des services d'h\\xe9bergement et des outils collaboratifs pour les d\\xe9veloppeurs et les gamers.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4 sm:space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.headingLg, \" mb-8 sm:mb-12 flex items-center justify-center px-2\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl sm:text-3xl mr-3\",\n children: \"❓\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 27,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-center\",\n children: \"Questions Fr\\xe9quentes\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 28,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 26,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83C\\uDFAF Notre Mission\",\n isOpen: openAccordion === \"mission\",\n onToggle: ()=>toggleAccordion(\"mission\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: _styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.muted,\n children: \"Former les \\xe9tudiants au d\\xe9ploiment et a la gestion d'une infra, et de maitriser des technologies entreprise grade. Cela permet de fournir une plateforme stable et accessible pour h\\xe9berger vos projets, partager vos connaissances et jouer ensemble !\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 37,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: _styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.muted,\n children: \"Nous croyons en la puissance de la collaboration et mettons \\xe0 disposition des outils modernes pour faciliter le travail en \\xe9quipe.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 41,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2 mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-banquise-blue/20 text-banquise-blue-light px-3 py-1 rounded-full text-sm font-medium\",\n children: \"Collaboration\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 45,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-banquise-blue/20 text-banquise-blue-light px-3 py-1 rounded-full text-sm font-medium\",\n children: \"Innovation\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 46,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-banquise-blue/20 text-banquise-blue-light px-3 py-1 rounded-full text-sm font-medium\",\n children: \"Accessibilit\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 44,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 36,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83D\\uDEE0 Nos Services\",\n isOpen: openAccordion === \"services\",\n onToggle: ()=>toggleAccordion(\"services\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83D\\uDCDA\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 60,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Wiki\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 62,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Documentation collaborative et guides d\\xe9taill\\xe9s\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 63,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 61,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 59,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83D\\uDD27\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 68,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Gitea\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 70,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Gestion de versions Git auto-h\\xe9berg\\xe9e\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 71,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 69,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83C\\uDFAE\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 76,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Panel de Jeux\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 78,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Interface de gestion pour serveurs de jeux\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 79,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 77,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 75,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83D\\uDC27\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 84,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Pelican\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 86,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"G\\xe9n\\xe9rateur de sites statiques\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 87,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 83,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83C\\uDFE2\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 92,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Intranet\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 94,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Espace priv\\xe9 de l'association\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 95,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 93,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 91,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"\\uD83D\\uDCE7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 100,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"Webmail\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 102,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Service de messagerie \\xe9lectronique\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 103,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 101,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 99,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-4 p-4 \".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.card, \" rounded-xl \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.icons.small, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primaryBr, \" font-bold\"),\n children: \"☁️\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 108,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-1\",\n children: \"OpenCloud\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 110,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 text-sm\",\n children: \"Plateforme cloud collaborative\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 111,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 109,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 107,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.muted, \" mt-4\"),\n children: \"Tous nos services sont maintenus avec soin et r\\xe9guli\\xe8rement mis \\xe0 jour pour garantir une exp\\xe9rience optimale.\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 115,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 52,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_AccordionItem__WEBPACK_IMPORTED_MODULE_2__.AccordionItem, {\n title: \"\\uD83E\\uDD1D Rejoindre l'association\",\n isOpen: openAccordion === \"community\",\n onToggle: ()=>toggleAccordion(\"community\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: _styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.text.muted,\n children: \"Rejoignez notre serveur Discord pour rejoindre l'asso, \\xe9changer avec nous, obtenir de l'aide et rester inform\\xe9 des derni\\xe8res nouveaut\\xe9s !\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.cards.base, \" bg-gradient-to-r from-banquise-blue-dark/20 to-banquise-blue/10 rounded-2xl p-6\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold text-banquise-gray mb-3 flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl mr-2\",\n children: \"\\uD83D\\uDCAC\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined),\n \"Comment rejoindre l'asso ?\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 132,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"space-y-2 text-banquise-gray/80 text-sm mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-light mr-2\",\n children: \"•\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 137,\n columnNumber: 51\n }, undefined),\n \" Creez un ticket banquise\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 137,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-light mr-2\",\n children: \"•\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 138,\n columnNumber: 51\n }, undefined),\n \" Donnez votre login EPITA ou expliquez votre situation\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 138,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-light mr-2\",\n children: \"•\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 139,\n columnNumber: 51\n }, undefined),\n \" Un moderateur validera votre demande et vous donnera acces aux salons discord de l'asso !\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 139,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 136,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_3__.URLS.social.discord,\n className: \"\".concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.buttons.primary, \" \").concat(_styles_components__WEBPACK_IMPORTED_MODULE_4__.commonStyles.gradients.primary, \" py-3 px-6 rounded-xl\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-3 text-lg\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 146,\n columnNumber: 17\n }, undefined),\n \"Rejoindre Discord\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 142,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 131,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 126,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 121,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 25,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/AboutSection.tsx\",\n lineNumber: 12,\n columnNumber: 3\n }, undefined);\n};\n_c = AboutSection;\nvar _c;\n$RefreshReg$(_c, \"AboutSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3NlY3Rpb25zL0Fib3V0U2VjdGlvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBMEI7QUFDMEI7QUFDTjtBQUNTO0FBT2hELE1BQU1JLGVBQTRDO1FBQUMsRUFBRUMsYUFBYSxFQUFFQyxlQUFlLEVBQUU7eUJBQzFGLDhEQUFDQztRQUFRQyxJQUFHO1FBQVFDLFdBQVU7a0JBQzVCLDRFQUFDQztZQUFJRCxXQUFVOzs4QkFFYiw4REFBQ0M7b0JBQUlELFdBQVU7O3NDQUNiLDhEQUFDRTs0QkFBR0YsV0FBVyxHQUErQixPQUE1Qk4sNERBQVlBLENBQUNTLElBQUksQ0FBQ0MsU0FBUyxFQUFDOzRCQUFxQkMsT0FBTztnQ0FBRUMsWUFBWTs0QkFBK0I7c0NBQUc7Ozs7OztzQ0FHMUgsOERBQUNDOzRCQUFFUCxXQUFXLEdBQTJCLE9BQXhCTiw0REFBWUEsQ0FBQ1MsSUFBSSxDQUFDSyxLQUFLLEVBQUM7NEJBQTZDSCxPQUFPO2dDQUFFQyxZQUFZOzRCQUErQjtzQ0FBRzs7Ozs7Ozs7Ozs7OzhCQU0vSSw4REFBQ0w7b0JBQUlELFdBQVU7O3NDQUNiLDhEQUFDUzs0QkFBR1QsV0FBVyxHQUErQixPQUE1Qk4sNERBQVlBLENBQUNTLElBQUksQ0FBQ08sU0FBUyxFQUFDOzs4Q0FDNUMsOERBQUNDO29DQUFLWCxXQUFVOzhDQUE0Qjs7Ozs7OzhDQUM1Qyw4REFBQ1c7b0NBQUtYLFdBQVU7OENBQWM7Ozs7Ozs7Ozs7OztzQ0FHaEMsOERBQUNSLDREQUFhQTs0QkFDWm9CLE9BQU07NEJBQ05DLFFBQVFqQixrQkFBa0I7NEJBQzFCa0IsVUFBVSxJQUFNakIsZ0JBQWdCO3NDQUVoQyw0RUFBQ0k7Z0NBQUlELFdBQVU7O2tEQUNiLDhEQUFDTzt3Q0FBRVAsV0FBV04sNERBQVlBLENBQUNTLElBQUksQ0FBQ0ssS0FBSztrREFBRTs7Ozs7O2tEQUl2Qyw4REFBQ0Q7d0NBQUVQLFdBQVdOLDREQUFZQSxDQUFDUyxJQUFJLENBQUNLLEtBQUs7a0RBQUU7Ozs7OztrREFHdkMsOERBQUNQO3dDQUFJRCxXQUFVOzswREFDYiw4REFBQ1c7Z0RBQUtYLFdBQVU7MERBQTBGOzs7Ozs7MERBQzFHLDhEQUFDVztnREFBS1gsV0FBVTswREFBMEY7Ozs7OzswREFDMUcsOERBQUNXO2dEQUFLWCxXQUFVOzBEQUEwRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBS2hILDhEQUFDUiw0REFBYUE7NEJBQ1pvQixPQUFNOzRCQUNOQyxRQUFRakIsa0JBQWtCOzRCQUMxQmtCLFVBQVUsSUFBTWpCLGdCQUFnQjtzQ0FFaEMsNEVBQUNJO2dDQUFJRCxXQUFVOztrREFDYiw4REFBQ0M7d0NBQUlELFdBQVU7OzBEQUNiLDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBSWpELDhEQUFDQztnREFBSUQsV0FBVyxrQ0FBNEVOLE9BQTFDQSw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ0MsSUFBSSxFQUFDLGdCQUFzQyxPQUF4QnRCLDREQUFZQSxDQUFDdUIsS0FBSyxDQUFDQyxJQUFJOztrRUFDakgsOERBQUNqQjt3REFBSUQsV0FBVyxHQUErQk4sT0FBNUJBLDREQUFZQSxDQUFDeUIsS0FBSyxDQUFDQyxLQUFLLEVBQUMsS0FBb0MsT0FBakMxQiw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ00sU0FBUyxFQUFDO2tFQUFhOzs7Ozs7a0VBQzdGLDhEQUFDcEI7OzBFQUNDLDhEQUFDcUI7Z0VBQUd0QixXQUFVOzBFQUF3Qzs7Ozs7OzBFQUN0RCw4REFBQ087Z0VBQUVQLFdBQVU7MEVBQWdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBSW5ELDhEQUFDTzt3Q0FBRVAsV0FBVyxHQUEyQixPQUF4Qk4sNERBQVlBLENBQUNTLElBQUksQ0FBQ0ssS0FBSyxFQUFDO2tEQUFROzs7Ozs7Ozs7Ozs7Ozs7OztzQ0FNckQsOERBQUNoQiw0REFBYUE7NEJBQ1pvQixPQUFNOzRCQUNOQyxRQUFRakIsa0JBQWtCOzRCQUMxQmtCLFVBQVUsSUFBTWpCLGdCQUFnQjtzQ0FFaEMsNEVBQUNJO2dDQUFJRCxXQUFVOztrREFDYiw4REFBQ087d0NBQUVQLFdBQVdOLDREQUFZQSxDQUFDUyxJQUFJLENBQUNLLEtBQUs7a0RBQUU7Ozs7OztrREFJdkMsOERBQUNQO3dDQUFJRCxXQUFXLEdBQTJCLE9BQXhCTiw0REFBWUEsQ0FBQ3VCLEtBQUssQ0FBQ0MsSUFBSSxFQUFDOzswREFDekMsOERBQUNJO2dEQUFHdEIsV0FBVTs7a0VBQ1osOERBQUNXO3dEQUFLWCxXQUFVO2tFQUFlOzs7Ozs7b0RBQVM7Ozs7Ozs7MERBRzFDLDhEQUFDdUI7Z0RBQUd2QixXQUFVOztrRUFDWiw4REFBQ3dCO3dEQUFHeEIsV0FBVTs7MEVBQW9CLDhEQUFDVztnRUFBS1gsV0FBVTswRUFBZ0M7Ozs7Ozs0REFBUTs7Ozs7OztrRUFDMUYsOERBQUN3Qjt3REFBR3hCLFdBQVU7OzBFQUFvQiw4REFBQ1c7Z0VBQUtYLFdBQVU7MEVBQWdDOzs7Ozs7NERBQVE7Ozs7Ozs7a0VBQzFGLDhEQUFDd0I7d0RBQUd4QixXQUFVOzswRUFBb0IsOERBQUNXO2dFQUFLWCxXQUFVOzBFQUFnQzs7Ozs7OzREQUFROzs7Ozs7Ozs7Ozs7OzBEQUc1Riw4REFBQ3lCO2dEQUNDQyxNQUFNakMsbURBQUlBLENBQUNrQyxNQUFNLENBQUNDLE9BQU87Z0RBQ3pCNUIsV0FBVyxHQUFtQ04sT0FBaENBLDREQUFZQSxDQUFDbUMsT0FBTyxDQUFDQyxPQUFPLEVBQUMsS0FBa0MsT0FBL0JwQyw0REFBWUEsQ0FBQ3FCLFNBQVMsQ0FBQ2UsT0FBTyxFQUFDOztrRUFFN0UsOERBQUNuQjt3REFBS1gsV0FBVTtrRUFBZTs7Ozs7O29EQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVN0RDtLQWhKV0wiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvc2VjdGlvbnMvQWJvdXRTZWN0aW9uLnRzeD85ZDg0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBY2NvcmRpb25JdGVtIH0gZnJvbSAnLi4vdWkvQWNjb3JkaW9uSXRlbSc7XG5pbXBvcnQgeyBVUkxTIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjb21tb25TdHlsZXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvY29tcG9uZW50cyc7XG5cbmludGVyZmFjZSBBYm91dFNlY3Rpb25Qcm9wcyB7XG4gIG9wZW5BY2NvcmRpb246IHN0cmluZyB8IG51bGw7XG4gIHRvZ2dsZUFjY29yZGlvbjogKHRpdGxlOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBBYm91dFNlY3Rpb246IFJlYWN0LkZDPEFib3V0U2VjdGlvblByb3BzPiA9ICh7IG9wZW5BY2NvcmRpb24sIHRvZ2dsZUFjY29yZGlvbiB9KSA9PiAoXG4gIDxzZWN0aW9uIGlkPVwiYWJvdXRcIiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBweS0xNiBzbTpweS0yMCBtZDpweS0yNCBweC00IHNtOnB4LTYgbWQ6cHgtOCB6LTIgdy1mdWxsIGJveC1ib3JkZXJcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTR4bCBteC1hdXRvXCI+XG4gICAgICB7LyogSGVhZGVyICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBtYi0xMiBzbTptYi0xNiBtZDptYi0yMFwiPlxuICAgICAgICA8aDIgY2xhc3NOYW1lPXtgJHtjb21tb25TdHlsZXMudGV4dC5oZWFkaW5nWGx9IG1iLTYgc206bWItOCBweC0yYH0gc3R5bGU9e3sgdGV4dFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMiknIH19PlxuICAgICAgICAgIMOAIFByb3BvcyBkZSBMYSBCYW5xdWlzZVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCBjbGFzc05hbWU9e2Ake2NvbW1vblN0eWxlcy50ZXh0Lm11dGVkfSB0ZXh0LWxnIHNtOnRleHQteGwgbWF4LXctM3hsIG14LWF1dG8gcHgtMmB9IHN0eWxlPXt7IHRleHRTaGFkb3c6ICcwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpJyB9fT5cbiAgICAgICAgICBVbmUgY29tbXVuYXV0w6kgcGFzc2lvbm7DqWUgcXVpIHByb3Bvc2UgZGVzIHNlcnZpY2VzIGQnaMOpYmVyZ2VtZW50IGV0IGRlcyBvdXRpbHMgY29sbGFib3JhdGlmcyBwb3VyIGxlcyBkw6l2ZWxvcHBldXJzIGV0IGxlcyBnYW1lcnMuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRkFRIFNlY3Rpb24gKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNCBzbTpzcGFjZS15LTZcIj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLnRleHQuaGVhZGluZ0xnfSBtYi04IHNtOm1iLTEyIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTJgfT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtci0zXCI+4p2TPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+UXVlc3Rpb25zIEZyw6lxdWVudGVzPC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICBcbiAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICB0aXRsZT1cIvCfjq8gTm90cmUgTWlzc2lvblwiXG4gICAgICAgICAgaXNPcGVuPXtvcGVuQWNjb3JkaW9uID09PSBcIm1pc3Npb25cIn1cbiAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gdG9nZ2xlQWNjb3JkaW9uKFwibWlzc2lvblwiKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9e2NvbW1vblN0eWxlcy50ZXh0Lm11dGVkfT5cbiAgICAgICAgICAgICAgRm9ybWVyIGxlcyDDqXR1ZGlhbnRzIGF1IGTDqXBsb2ltZW50IGV0IGEgbGEgZ2VzdGlvbiBkJ3VuZSBpbmZyYSwgZXQgZGUgbWFpdHJpc2VyIGRlcyB0ZWNobm9sb2dpZXMgZW50cmVwcmlzZSBncmFkZS5cbiAgICAgICAgICAgICAgQ2VsYSBwZXJtZXQgZGUgZm91cm5pciB1bmUgcGxhdGVmb3JtZSBzdGFibGUgZXQgYWNjZXNzaWJsZSBwb3VyIGjDqWJlcmdlciB2b3MgcHJvamV0cywgcGFydGFnZXIgdm9zIGNvbm5haXNzYW5jZXMgZXQgam91ZXIgZW5zZW1ibGUgIVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtjb21tb25TdHlsZXMudGV4dC5tdXRlZH0+XG4gICAgICAgICAgICAgIE5vdXMgY3JveW9ucyBlbiBsYSBwdWlzc2FuY2UgZGUgbGEgY29sbGFib3JhdGlvbiBldCBtZXR0b25zIMOgIGRpc3Bvc2l0aW9uIGRlcyBvdXRpbHMgbW9kZXJuZXMgcG91ciBmYWNpbGl0ZXIgbGUgdHJhdmFpbCBlbiDDqXF1aXBlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMiBtdC00XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLWJhbnF1aXNlLWJsdWUvMjAgdGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0IHB4LTMgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmb250LW1lZGl1bVwiPkNvbGxhYm9yYXRpb248L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLWJhbnF1aXNlLWJsdWUvMjAgdGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0IHB4LTMgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmb250LW1lZGl1bVwiPklubm92YXRpb248L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLWJhbnF1aXNlLWJsdWUvMjAgdGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0IHB4LTMgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmb250LW1lZGl1bVwiPkFjY2Vzc2liaWxpdMOpPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQWNjb3JkaW9uSXRlbT5cblxuICAgICAgICA8QWNjb3JkaW9uSXRlbVxuICAgICAgICAgIHRpdGxlPVwi8J+boO+4jyBOb3MgU2VydmljZXNcIlxuICAgICAgICAgIGlzT3Blbj17b3BlbkFjY29yZGlvbiA9PT0gXCJzZXJ2aWNlc1wifVxuICAgICAgICAgIG9uVG9nZ2xlPXsoKSA9PiB0b2dnbGVBY2NvcmRpb24oXCJzZXJ2aWNlc1wiKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTQgJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLmNhcmR9IHJvdW5kZWQteGwgJHtjb21tb25TdHlsZXMuY2FyZHMuYmFzZX1gfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLmljb25zLnNtYWxsfSAke2NvbW1vblN0eWxlcy5ncmFkaWVudHMucHJpbWFyeUJyfSBmb250LWJvbGRgfT7wn5OaPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0xXCI+V2lraTwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgdGV4dC1zbVwiPkRvY3VtZW50YXRpb24gY29sbGFib3JhdGl2ZSBldCBndWlkZXMgZMOpdGFpbGzDqXM8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTQgJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLmNhcmR9IHJvdW5kZWQteGwgJHtjb21tb25TdHlsZXMuY2FyZHMuYmFzZX1gfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLmljb25zLnNtYWxsfSAke2NvbW1vblN0eWxlcy5ncmFkaWVudHMucHJpbWFyeUJyfSBmb250LWJvbGRgfT7wn5SnPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0xXCI+R2l0ZWE8L2g0PlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ncmF5LzgwIHRleHQtc21cIj5HZXN0aW9uIGRlIHZlcnNpb25zIEdpdCBhdXRvLWjDqWJlcmfDqWU8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTQgJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLmNhcmR9IHJvdW5kZWQteGwgJHtjb21tb25TdHlsZXMuY2FyZHMuYmFzZX1gfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLmljb25zLnNtYWxsfSAke2NvbW1vblN0eWxlcy5ncmFkaWVudHMucHJpbWFyeUJyfSBmb250LWJvbGRgfT7wn46uPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0xXCI+UGFuZWwgZGUgSmV1eDwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgdGV4dC1zbVwiPkludGVyZmFjZSBkZSBnZXN0aW9uIHBvdXIgc2VydmV1cnMgZGUgamV1eDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtNCBwLTQgJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLmNhcmR9IHJvdW5kZWQteGwgJHtjb21tb25TdHlsZXMuY2FyZHMuYmFzZX1gfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLmljb25zLnNtYWxsfSAke2NvbW1vblN0eWxlcy5ncmFkaWVudHMucHJpbWFyeUJyfSBmb250LWJvbGRgfT7wn5CnPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0xXCI+UGVsaWNhbjwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgdGV4dC1zbVwiPkfDqW7DqXJhdGV1ciBkZSBzaXRlcyBzdGF0aXF1ZXM8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmxleCBpdGVtcy1zdGFydCBzcGFjZS14LTQgcC00ICR7Y29tbW9uU3R5bGVzLmdyYWRpZW50cy5jYXJkfSByb3VuZGVkLXhsICR7Y29tbW9uU3R5bGVzLmNhcmRzLmJhc2V9YH0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2NvbW1vblN0eWxlcy5pY29ucy5zbWFsbH0gJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLnByaW1hcnlCcn0gZm9udC1ib2xkYH0+8J+PojwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWJhbnF1aXNlLWdyYXkgbWItMVwiPkludHJhbmV0PC9oND5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCB0ZXh0LXNtXCI+RXNwYWNlIHByaXbDqSBkZSBsJ2Fzc29jaWF0aW9uPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC00IHAtNCAke2NvbW1vblN0eWxlcy5ncmFkaWVudHMuY2FyZH0gcm91bmRlZC14bCAke2NvbW1vblN0eWxlcy5jYXJkcy5iYXNlfWB9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtjb21tb25TdHlsZXMuaWNvbnMuc21hbGx9ICR7Y29tbW9uU3R5bGVzLmdyYWRpZW50cy5wcmltYXJ5QnJ9IGZvbnQtYm9sZGB9PvCfk6c8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC1iYW5xdWlzZS1ncmF5IG1iLTFcIj5XZWJtYWlsPC9oND5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCB0ZXh0LXNtXCI+U2VydmljZSBkZSBtZXNzYWdlcmllIMOpbGVjdHJvbmlxdWU8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmxleCBpdGVtcy1zdGFydCBzcGFjZS14LTQgcC00ICR7Y29tbW9uU3R5bGVzLmdyYWRpZW50cy5jYXJkfSByb3VuZGVkLXhsICR7Y29tbW9uU3R5bGVzLmNhcmRzLmJhc2V9YH0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2NvbW1vblN0eWxlcy5pY29ucy5zbWFsbH0gJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLnByaW1hcnlCcn0gZm9udC1ib2xkYH0+4piB77iPPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0xXCI+T3BlbkNsb3VkPC9oND5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCB0ZXh0LXNtXCI+UGxhdGVmb3JtZSBjbG91ZCBjb2xsYWJvcmF0aXZlPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXtgJHtjb21tb25TdHlsZXMudGV4dC5tdXRlZH0gbXQtNGB9PlxuICAgICAgICAgICAgICBUb3VzIG5vcyBzZXJ2aWNlcyBzb250IG1haW50ZW51cyBhdmVjIHNvaW4gZXQgcsOpZ3VsacOocmVtZW50IG1pcyDDoCBqb3VyIHBvdXIgZ2FyYW50aXIgdW5lIGV4cMOpcmllbmNlIG9wdGltYWxlLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0FjY29yZGlvbkl0ZW0+XG5cbiAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICB0aXRsZT1cIvCfpJ0gUmVqb2luZHJlIGwnYXNzb2NpYXRpb25cIlxuICAgICAgICAgIGlzT3Blbj17b3BlbkFjY29yZGlvbiA9PT0gXCJjb21tdW5pdHlcIn1cbiAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gdG9nZ2xlQWNjb3JkaW9uKFwiY29tbXVuaXR5XCIpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17Y29tbW9uU3R5bGVzLnRleHQubXV0ZWR9PlxuICAgICAgICAgICAgICBSZWpvaWduZXogbm90cmUgc2VydmV1ciBEaXNjb3JkIHBvdXIgcmVqb2luZHJlIGwnYXNzbywgw6ljaGFuZ2VyIGF2ZWMgbm91cywgb2J0ZW5pciBkZSBsJ2FpZGUgZXQgcmVzdGVyIGluZm9ybcOpIGRlcyBkZXJuacOocmVzIG5vdXZlYXV0w6lzICFcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2NvbW1vblN0eWxlcy5jYXJkcy5iYXNlfSBiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzIwIHRvLWJhbnF1aXNlLWJsdWUvMTAgcm91bmRlZC0yeGwgcC02YH0+XG4gICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtYmFucXVpc2UtZ3JheSBtYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14bCBtci0yXCI+8J+SrDwvc3Bhbj5cbiAgICAgICAgICAgICAgICBDb21tZW50IHJlam9pbmRyZSBsJ2Fzc28gP1xuICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwic3BhY2UteS0yIHRleHQtYmFucXVpc2UtZ3JheS84MCB0ZXh0LXNtIG1iLTZcIj5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXJcIj48c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHQgbXItMlwiPuKAojwvc3Bhbj4gQ3JlZXogdW4gdGlja2V0IGJhbnF1aXNlPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXJcIj48c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHQgbXItMlwiPuKAojwvc3Bhbj4gRG9ubmV6IHZvdHJlIGxvZ2luIEVQSVRBIG91IGV4cGxpcXVleiB2b3RyZSBzaXR1YXRpb248L2xpPlxuICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPjxzcGFuIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtYmx1ZS1saWdodCBtci0yXCI+4oCiPC9zcGFuPiBVbiBtb2RlcmF0ZXVyIHZhbGlkZXJhIHZvdHJlIGRlbWFuZGUgZXQgdm91cyBkb25uZXJhIGFjY2VzIGF1eCBzYWxvbnMgZGlzY29yZCBkZSBsJ2Fzc28gITwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8YSBcbiAgICAgICAgICAgICAgICBocmVmPXtVUkxTLnNvY2lhbC5kaXNjb3JkfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7Y29tbW9uU3R5bGVzLmJ1dHRvbnMucHJpbWFyeX0gJHtjb21tb25TdHlsZXMuZ3JhZGllbnRzLnByaW1hcnl9IHB5LTMgcHgtNiByb3VuZGVkLXhsYH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTMgdGV4dC1sZ1wiPvCfmoA8L3NwYW4+XG4gICAgICAgICAgICAgICAgUmVqb2luZHJlIERpc2NvcmRcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQWNjb3JkaW9uSXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQWNjb3JkaW9uSXRlbSIsIlVSTFMiLCJjb21tb25TdHlsZXMiLCJBYm91dFNlY3Rpb24iLCJvcGVuQWNjb3JkaW9uIiwidG9nZ2xlQWNjb3JkaW9uIiwic2VjdGlvbiIsImlkIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJ0ZXh0IiwiaGVhZGluZ1hsIiwic3R5bGUiLCJ0ZXh0U2hhZG93IiwicCIsIm11dGVkIiwiaDMiLCJoZWFkaW5nTGciLCJzcGFuIiwidGl0bGUiLCJpc09wZW4iLCJvblRvZ2dsZSIsImdyYWRpZW50cyIsImNhcmQiLCJjYXJkcyIsImJhc2UiLCJpY29ucyIsInNtYWxsIiwicHJpbWFyeUJyIiwiaDQiLCJ1bCIsImxpIiwiYSIsImhyZWYiLCJzb2NpYWwiLCJkaXNjb3JkIiwiYnV0dG9ucyIsInByaW1hcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/sections/AboutSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/sections/HeroSection.tsx":
/*!*************************************************!*\
!*** ./src/components/sections/HeroSection.tsx ***!
\*************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeroSection: function() { return /* binding */ HeroSection; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _src_assets_banquise_server_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../src/assets/banquise_server.svg */ \"(app-pages-browser)/./src/assets/banquise_server.svg\");\n\n\n\nconst HeroSection = (param)=>{\n let { translations } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"home\",\n className: \"min-h-[calc(80vh-72px)] flex flex-col justify-center items-center text-center py-12 sm:py-16 md:py-20 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8 relative z-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8 sm:mb-10 md:mb-12 w-32 h-32 sm:w-40 sm:h-40 md:w-48 md:h-48 rounded-full bg-gradient-to-br from-banquise-blue-dark/20 to-banquise-blue/10 p-4 sm:p-5 md:p-6 shadow-2xl backdrop-blur-sm border border-banquise-blue-lightest/30 relative group\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: _src_assets_banquise_server_svg__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n alt: \"Logo La Banquise\",\n className: \"w-full h-full object-contain relative z-10 transition-transform duration-300 group-hover:scale-110\",\n style: {\n filter: \"drop-shadow(0 10px 25px rgba(31, 93, 137, 0.3))\"\n }\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-banquise-gray text-3xl sm:text-4xl md:text-5xl lg:text-6xl mb-6 sm:mb-7 md:mb-8 font-extrabold leading-tight max-w-4xl font-heading px-2 relative z-10\",\n style: {\n textShadow: \"0 2px 10px rgba(0, 0, 0, 0.3)\"\n },\n children: translations.title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray text-lg sm:text-xl md:text-2xl mb-8 sm:mb-10 md:mb-12 max-w-3xl font-normal opacity-90 leading-relaxed px-2 relative z-10\",\n style: {\n textShadow: \"0 1px 4px rgba(0, 0, 0, 0.2)\"\n },\n children: translations.subtitle\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#services\",\n className: \"inline-flex items-center justify-center bg-gradient-to-r from-banquise-gray to-white text-banquise-blue-dark border-0 py-4 sm:py-5 px-8 sm:px-10 md:px-12 rounded-2xl text-base sm:text-lg font-bold no-underline shadow-xl transition-all duration-300 min-w-48 sm:min-w-56 md:min-w-64 hover:-translate-y-2 hover:shadow-2xl hover:scale-105 backdrop-blur-sm border border-banquise-blue-lightest/20 mx-4 group relative z-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-center text-banquise-blue-dark\",\n children: translations.cta\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 31,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2 sm:ml-3 text-lg sm:text-xl transition-transform duration-300 group-hover:translate-x-1 text-banquise-blue-dark\",\n children: \"→\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 30,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/HeroSection.tsx\",\n lineNumber: 10,\n columnNumber: 3\n }, undefined);\n};\n_c = HeroSection;\nvar _c;\n$RefreshReg$(_c, \"HeroSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3NlY3Rpb25zL0hlcm9TZWN0aW9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEI7QUFDa0M7QUFPckQsTUFBTUUsY0FBMEM7UUFBQyxFQUFFQyxZQUFZLEVBQUU7eUJBQ3RFLDhEQUFDQztRQUFRQyxJQUFHO1FBQU9DLFdBQVU7OzBCQUMzQiw4REFBQ0M7Z0JBQUlELFdBQVU7MEJBQ2IsNEVBQUNFO29CQUNDQyxLQUFLUix1RUFBY0E7b0JBQ25CUyxLQUFJO29CQUNKSixXQUFVO29CQUNWSyxPQUFPO3dCQUNMQyxRQUFRO29CQUNWOzs7Ozs7Ozs7OzswQkFJSiw4REFBQ0M7Z0JBQUdQLFdBQVU7Z0JBQThKSyxPQUFPO29CQUFFRyxZQUFZO2dCQUFnQzswQkFDOU5YLGFBQWFZLEtBQUs7Ozs7OzswQkFHckIsOERBQUNDO2dCQUFFVixXQUFVO2dCQUErSUssT0FBTztvQkFBRUcsWUFBWTtnQkFBK0I7MEJBQzdNWCxhQUFhYyxRQUFROzs7Ozs7MEJBR3hCLDhEQUFDQztnQkFBRUMsTUFBSztnQkFBWWIsV0FBVTs7a0NBQzVCLDhEQUFDYzt3QkFBS2QsV0FBVTtrQ0FBdUNILGFBQWFrQixHQUFHOzs7Ozs7a0NBQ3ZFLDhEQUFDRDt3QkFBS2QsV0FBVTtrQ0FBc0g7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUcxSTtLQTFCV0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvc2VjdGlvbnMvSGVyb1NlY3Rpb24udHN4P2M0YWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBiYW5xdWlzZVNlcnZlciBmcm9tICcvc3JjL2Fzc2V0cy9iYW5xdWlzZV9zZXJ2ZXIuc3ZnJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2kxOG4nO1xuXG5pbnRlcmZhY2UgSGVyb1NlY3Rpb25Qcm9wcyB7XG4gIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25bJ2hlcm8nXTtcbn1cblxuZXhwb3J0IGNvbnN0IEhlcm9TZWN0aW9uOiBSZWFjdC5GQzxIZXJvU2VjdGlvblByb3BzPiA9ICh7IHRyYW5zbGF0aW9ucyB9KSA9PiAoXG4gIDxzZWN0aW9uIGlkPVwiaG9tZVwiIGNsYXNzTmFtZT1cIm1pbi1oLVtjYWxjKDgwdmgtNzJweCldIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHRleHQtY2VudGVyIHB5LTEyIHNtOnB5LTE2IG1kOnB5LTIwIHctZnVsbCBtYXgtdy02eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbWQ6cHgtOCByZWxhdGl2ZSB6LTNcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTggc206bWItMTAgbWQ6bWItMTIgdy0zMiBoLTMyIHNtOnctNDAgc206aC00MCBtZDp3LTQ4IG1kOmgtNDggcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzIwIHRvLWJhbnF1aXNlLWJsdWUvMTAgcC00IHNtOnAtNSBtZDpwLTYgc2hhZG93LTJ4bCBiYWNrZHJvcC1ibHVyLXNtIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8zMCByZWxhdGl2ZSBncm91cFwiPlxuICAgICAgPGltZyBcbiAgICAgICAgc3JjPXtiYW5xdWlzZVNlcnZlcn0gXG4gICAgICAgIGFsdD1cIkxvZ28gTGEgQmFucXVpc2VcIiBcbiAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY29udGFpbiByZWxhdGl2ZSB6LTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTBcIiBcbiAgICAgICAgc3R5bGU9e3sgXG4gICAgICAgICAgZmlsdGVyOiAnZHJvcC1zaGFkb3coMCAxMHB4IDI1cHggcmdiYSgzMSwgOTMsIDEzNywgMC4zKSknIFxuICAgICAgICB9fSBcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgXG4gICAgPGgxIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheSB0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBtZDp0ZXh0LTV4bCBsZzp0ZXh0LTZ4bCBtYi02IHNtOm1iLTcgbWQ6bWItOCBmb250LWV4dHJhYm9sZCBsZWFkaW5nLXRpZ2h0IG1heC13LTR4bCBmb250LWhlYWRpbmcgcHgtMiByZWxhdGl2ZSB6LTEwXCIgc3R5bGU9e3sgdGV4dFNoYWRvdzogJzAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpJyB9fT5cbiAgICAgIHt0cmFuc2xhdGlvbnMudGl0bGV9XG4gICAgPC9oMT5cbiAgICBcbiAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkgdGV4dC1sZyBzbTp0ZXh0LXhsIG1kOnRleHQtMnhsIG1iLTggc206bWItMTAgbWQ6bWItMTIgbWF4LXctM3hsIGZvbnQtbm9ybWFsIG9wYWNpdHktOTAgbGVhZGluZy1yZWxheGVkIHB4LTIgcmVsYXRpdmUgei0xMFwiIHN0eWxlPXt7IHRleHRTaGFkb3c6ICcwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpJyB9fT5cbiAgICAgIHt0cmFuc2xhdGlvbnMuc3VidGl0bGV9XG4gICAgPC9wPlxuICAgIFxuICAgIDxhIGhyZWY9XCIjc2VydmljZXNcIiBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWdyYXkgdG8td2hpdGUgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgYm9yZGVyLTAgcHktNCBzbTpweS01IHB4LTggc206cHgtMTAgbWQ6cHgtMTIgcm91bmRlZC0yeGwgdGV4dC1iYXNlIHNtOnRleHQtbGcgZm9udC1ib2xkIG5vLXVuZGVybGluZSBzaGFkb3cteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG1pbi13LTQ4IHNtOm1pbi13LTU2IG1kOm1pbi13LTY0IGhvdmVyOi10cmFuc2xhdGUteS0yIGhvdmVyOnNoYWRvdy0yeGwgaG92ZXI6c2NhbGUtMTA1IGJhY2tkcm9wLWJsdXItc20gYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzIwIG14LTQgZ3JvdXAgcmVsYXRpdmUgei0xMFwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmtcIj57dHJhbnNsYXRpb25zLmN0YX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC0yIHNtOm1sLTMgdGV4dC1sZyBzbTp0ZXh0LXhsIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBncm91cC1ob3Zlcjp0cmFuc2xhdGUteC0xIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrXCI+4oaSPC9zcGFuPlxuICAgIDwvYT5cbiAgPC9zZWN0aW9uPlxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImJhbnF1aXNlU2VydmVyIiwiSGVyb1NlY3Rpb24iLCJ0cmFuc2xhdGlvbnMiLCJzZWN0aW9uIiwiaWQiLCJjbGFzc05hbWUiLCJkaXYiLCJpbWciLCJzcmMiLCJhbHQiLCJzdHlsZSIsImZpbHRlciIsImgxIiwidGV4dFNoYWRvdyIsInRpdGxlIiwicCIsInN1YnRpdGxlIiwiYSIsImhyZWYiLCJzcGFuIiwiY3RhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/sections/HeroSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/sections/ServicesSection.tsx":
/*!*****************************************************!*\
!*** ./src/components/sections/ServicesSection.tsx ***!
\*****************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ServicesSection: function() { return /* binding */ ServicesSection; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_ServiceCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/ServiceCard */ \"(app-pages-browser)/./src/components/common/ServiceCard.tsx\");\n\n\n\nconst ServicesSection = (param)=>{\n let { services, onServiceClick } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n id: \"services\",\n className: \"relative z-2 py-12 sm:py-16 md:py-20 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-banquise-gray text-2xl sm:text-3xl md:text-4xl mb-4 sm:mb-6 text-center font-heading font-bold tracking-tight px-2\",\n style: {\n textShadow: \"0 2px 4px rgba(0, 0, 0, 0.2)\"\n },\n children: \"Nos Services\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 20,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray text-lg sm:text-xl opacity-90 mb-12 sm:mb-14 md:mb-16 max-w-4xl text-center mx-auto leading-relaxed px-2\",\n style: {\n textShadow: \"0 1px 3px rgba(0, 0, 0, 0.2)\"\n },\n children: \"Cliquez sur un service pour d\\xe9couvrir toutes ses fonctionnalit\\xe9s\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 sm:gap-8 w-full\",\n children: services.map((service)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_common_ServiceCard__WEBPACK_IMPORTED_MODULE_2__.ServiceCard, {\n service: service,\n onServiceClick: onServiceClick\n }, service.name, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, undefined))\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/ServicesSection.tsx\",\n lineNumber: 18,\n columnNumber: 3\n }, undefined);\n};\n_c = ServicesSection;\nvar _c;\n$RefreshReg$(_c, \"ServicesSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3NlY3Rpb25zL1NlcnZpY2VzU2VjdGlvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTBCO0FBQzBCO0FBWTdDLE1BQU1FLGtCQUFrRDtRQUFDLEVBQzlEQyxRQUFRLEVBQ1JDLGNBQWMsRUFDZjt5QkFDQyw4REFBQ0M7UUFBUUMsSUFBRztRQUFXQyxXQUFVOzswQkFDL0IsOERBQUNDO2dCQUFJRCxXQUFVOzs7Ozs7MEJBQ2YsOERBQUNFO2dCQUFHRixXQUFVO2dCQUEwSEcsT0FBTztvQkFBRUMsWUFBWTtnQkFBK0I7MEJBQUc7Ozs7OzswQkFHL0wsOERBQUNDO2dCQUFFTCxXQUFVO2dCQUE4SEcsT0FBTztvQkFBRUMsWUFBWTtnQkFBK0I7MEJBQUc7Ozs7OzswQkFJbE0sOERBQUNIO2dCQUFJRCxXQUFVOzBCQUNaSixTQUFTVSxHQUFHLENBQUMsQ0FBQ0Msd0JBQ2IsOERBQUNiLDREQUFXQTt3QkFFVmEsU0FBU0E7d0JBQ1RWLGdCQUFnQkE7dUJBRlhVLFFBQVFDLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7RUFPekI7S0F2QldiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL3NlY3Rpb25zL1NlcnZpY2VzU2VjdGlvbi50c3g/MWNlNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VydmljZUNhcmQgfSBmcm9tICcuLi9jb21tb24vU2VydmljZUNhcmQnO1xuLy9pbXBvcnQgeyBjb21wb25lbnRTdHlsZXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvZGVzaWduU3lzdGVtJztcbmltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4uLy4uL3R5cGVzL3NlcnZpY2UnO1xuXG5pbnRlcmZhY2UgU2VydmljZXNTZWN0aW9uUHJvcHMge1xuICBzZXJ2aWNlczogU2VydmljZVtdO1xuICBvblNlcnZpY2VDbGljazogKHNlcnZpY2U6IFNlcnZpY2UpID0+IHZvaWQ7XG4gIHRyYW5zbGF0aW9uczoge1xuICAgIGRpc2NvdmVyRmVhdHVyZXM6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VzU2VjdGlvbjogUmVhY3QuRkM8U2VydmljZXNTZWN0aW9uUHJvcHM+ID0gKHsgXG4gIHNlcnZpY2VzLCBcbiAgb25TZXJ2aWNlQ2xpY2tcbn0pID0+IChcbiAgPHNlY3Rpb24gaWQ9XCJzZXJ2aWNlc1wiIGNsYXNzTmFtZT1cInJlbGF0aXZlIHotMiBweS0xMiBzbTpweS0xNiBtZDpweS0yMCB3LWZ1bGwgbWF4LXctNnhsIG14LWF1dG8gcHgtNCBzbTpweC02IG1kOnB4LThcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRvLWJhbnF1aXNlLWJsdWUgbXgtYXV0byBtYi02IHNtOm1iLTggcm91bmRlZC1mdWxsXCI+PC9kaXY+XG4gICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheSB0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtZDp0ZXh0LTR4bCBtYi00IHNtOm1iLTYgdGV4dC1jZW50ZXIgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCBweC0yXCIgc3R5bGU9e3sgdGV4dFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMiknIH19PlxuICAgICAgTm9zIFNlcnZpY2VzXG4gICAgPC9oMj5cbiAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkgdGV4dC1sZyBzbTp0ZXh0LXhsIG9wYWNpdHktOTAgbWItMTIgc206bWItMTQgbWQ6bWItMTYgbWF4LXctNHhsIHRleHQtY2VudGVyIG14LWF1dG8gbGVhZGluZy1yZWxheGVkIHB4LTJcIiBzdHlsZT17eyB0ZXh0U2hhZG93OiAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKScgfX0+XG4gICAgICBDbGlxdWV6IHN1ciB1biBzZXJ2aWNlIHBvdXIgZMOpY291dnJpciB0b3V0ZXMgc2VzIGZvbmN0aW9ubmFsaXTDqXNcbiAgICA8L3A+XG4gICAgXG4gICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIHhsOmdyaWQtY29scy0zIGdhcC02IHNtOmdhcC04IHctZnVsbFwiPlxuICAgICAge3NlcnZpY2VzLm1hcCgoc2VydmljZSkgPT4gKFxuICAgICAgICA8U2VydmljZUNhcmRcbiAgICAgICAgICBrZXk9e3NlcnZpY2UubmFtZX1cbiAgICAgICAgICBzZXJ2aWNlPXtzZXJ2aWNlfVxuICAgICAgICAgIG9uU2VydmljZUNsaWNrPXtvblNlcnZpY2VDbGlja31cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG4pO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU2VydmljZUNhcmQiLCJTZXJ2aWNlc1NlY3Rpb24iLCJzZXJ2aWNlcyIsIm9uU2VydmljZUNsaWNrIiwic2VjdGlvbiIsImlkIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJzdHlsZSIsInRleHRTaGFkb3ciLCJwIiwibWFwIiwic2VydmljZSIsIm5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/sections/ServicesSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/sections/TechFeaturesSection.tsx":
/*!*********************************************************!*\
!*** ./src/components/sections/TechFeaturesSection.tsx ***!
\*********************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TechFeaturesSection: function() { return /* binding */ TechFeaturesSection; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst TechFeaturesSection = ()=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"py-12 sm:py-16 md:py-20 relative z-2 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-banquise-gray text-2xl sm:text-3xl md:text-4xl mb-4 sm:mb-6 text-center font-heading font-bold tracking-tight px-2\",\n style: {\n textShadow: \"0 2px 4px rgba(0, 0, 0, 0.2)\"\n },\n children: \"Notre Infrastructure\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray text-lg sm:text-xl opacity-90 mb-12 sm:mb-14 md:mb-16 max-w-4xl text-center mx-auto leading-relaxed px-2\",\n style: {\n textShadow: \"0 1px 3px rgba(0, 0, 0, 0.2)\"\n },\n children: \"25+ serveurs pour r\\xe9pondre \\xe0 vos besoins\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 9,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-4 sm:gap-6 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 15,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"Serveurs performants\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Infrastructure optimis\\xe9e pour assurer des performances \\xe9lev\\xe9es et une disponibilit\\xe9 maximale de vos applications\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 14,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDCBE\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"Stockage s\\xe9curis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 26,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Solutions de stockage distribu\\xe9es avec redondance pour garantir l'int\\xe9grit\\xe9 et la durabilit\\xe9 de vos donn\\xe9es\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83C\\uDF10\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"R\\xe9seau optimis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 34,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Architecture r\\xe9seau \\xe0 haute disponibilit\\xe9 avec une faible latence pour vos applications critiques\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl p-6 sm:p-8 flex flex-col items-center text-center transition-all duration-300 border border-banquise-blue-lightest/30 hover:-translate-y-3 hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8 hover:shadow-xl hover:border-banquise-blue-lightest/50 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-3xl sm:text-4xl mb-4 sm:mb-6 text-white bg-gradient-to-br from-banquise-blue to-banquise-blue-light w-16 h-16 sm:w-20 sm:h-20 flex items-center justify-center rounded-2xl shadow-lg group-hover:scale-110 transition-transform duration-300\",\n children: \"\\uD83D\\uDEE1\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg sm:text-xl mb-3 sm:mb-4 text-banquise-gray font-heading font-semibold group-hover:text-banquise-blue-lightest transition-colors duration-300\",\n children: \"S\\xe9curit\\xe9 renforc\\xe9e\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-gray/80 leading-relaxed text-sm\",\n children: \"Protection contre les menaces avec syst\\xe8mes de s\\xe9curit\\xe9 modernes et mises \\xe0 jour r\\xe9guli\\xe8res\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 43,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 38,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/sections/TechFeaturesSection.tsx\",\n lineNumber: 4,\n columnNumber: 3\n }, undefined);\n_c = TechFeaturesSection;\nvar _c;\n$RefreshReg$(_c, \"TechFeaturesSection\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3NlY3Rpb25zL1RlY2hGZWF0dXJlc1NlY3Rpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBCO0FBRW5CLE1BQU1DLHNCQUFnQyxrQkFDM0MsOERBQUNDO1FBQVFDLFdBQVU7OzBCQUNqQiw4REFBQ0M7Z0JBQUlELFdBQVU7Ozs7OzswQkFDZiw4REFBQ0U7Z0JBQUdGLFdBQVU7Z0JBQTBIRyxPQUFPO29CQUFFQyxZQUFZO2dCQUErQjswQkFBRzs7Ozs7OzBCQUcvTCw4REFBQ0M7Z0JBQUVMLFdBQVU7Z0JBQThIRyxPQUFPO29CQUFFQyxZQUFZO2dCQUErQjswQkFBRzs7Ozs7OzBCQUlsTSw4REFBQ0g7Z0JBQUlELFdBQVU7O2tDQUNiLDhEQUFDQzt3QkFBSUQsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFJRCxXQUFVOzBDQUFvUDs7Ozs7OzBDQUduUSw4REFBQ007Z0NBQUdOLFdBQVU7MENBQXVKOzs7Ozs7MENBQ3JLLDhEQUFDSztnQ0FBRUwsV0FBVTswQ0FBZ0Q7Ozs7Ozs7Ozs7OztrQ0FHL0QsOERBQUNDO3dCQUFJRCxXQUFVOzswQ0FDYiw4REFBQ0M7Z0NBQUlELFdBQVU7MENBQW9QOzs7Ozs7MENBR25RLDhEQUFDTTtnQ0FBR04sV0FBVTswQ0FBdUo7Ozs7OzswQ0FDckssOERBQUNLO2dDQUFFTCxXQUFVOzBDQUFnRDs7Ozs7Ozs7Ozs7O2tDQUcvRCw4REFBQ0M7d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDQztnQ0FBSUQsV0FBVTswQ0FBb1A7Ozs7OzswQ0FHblEsOERBQUNNO2dDQUFHTixXQUFVOzBDQUF1Sjs7Ozs7OzBDQUNySyw4REFBQ0s7Z0NBQUVMLFdBQVU7MENBQWdEOzs7Ozs7Ozs7Ozs7a0NBRy9ELDhEQUFDQzt3QkFBSUQsV0FBVTs7MENBQ2IsOERBQUNDO2dDQUFJRCxXQUFVOzBDQUFvUDs7Ozs7OzBDQUduUSw4REFBQ007Z0NBQUdOLFdBQVU7MENBQXVKOzs7Ozs7MENBQ3JLLDhEQUFDSztnQ0FBRUwsV0FBVTswQ0FBZ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQUluRTtLQTVDV0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvc2VjdGlvbnMvVGVjaEZlYXR1cmVzU2VjdGlvbi50c3g/MTM0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgVGVjaEZlYXR1cmVzU2VjdGlvbjogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxzZWN0aW9uIGNsYXNzTmFtZT1cInB5LTEyIHNtOnB5LTE2IG1kOnB5LTIwIHJlbGF0aXZlIHotMiB3LWZ1bGwgbWF4LXctNnhsIG14LWF1dG8gcHgtNCBzbTpweC02IG1kOnB4LThcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInctMjAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRvLWJhbnF1aXNlLWJsdWUgbXgtYXV0byBtYi02IHNtOm1iLTggcm91bmRlZC1mdWxsXCI+PC9kaXY+XG4gICAgPGgyIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheSB0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtZDp0ZXh0LTR4bCBtYi00IHNtOm1iLTYgdGV4dC1jZW50ZXIgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCBweC0yXCIgc3R5bGU9e3sgdGV4dFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMiknIH19PlxuICAgICAgTm90cmUgSW5mcmFzdHJ1Y3R1cmVcbiAgICA8L2gyPlxuICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheSB0ZXh0LWxnIHNtOnRleHQteGwgb3BhY2l0eS05MCBtYi0xMiBzbTptYi0xNCBtZDptYi0xNiBtYXgtdy00eGwgdGV4dC1jZW50ZXIgbXgtYXV0byBsZWFkaW5nLXJlbGF4ZWQgcHgtMlwiIHN0eWxlPXt7IHRleHRTaGFkb3c6ICcwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpJyB9fT5cbiAgICAgIDI1KyBzZXJ2ZXVycyBwb3VyIHLDqXBvbmRyZSDDoCB2b3MgYmVzb2luc1xuICAgIDwvcD5cbiAgICBcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgeGw6Z3JpZC1jb2xzLTQgZ2FwLTQgc206Z2FwLTYgdy1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgcC02IHNtOnAtOCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIGhvdmVyOi10cmFuc2xhdGUteS0zIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGhvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNHhsIG1iLTQgc206bWItNiB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC0yeGwgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICDwn5qAXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTMgc206bWItNCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMFwiPlNlcnZldXJzIHBlcmZvcm1hbnRzPC9oMz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ncmF5LzgwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LXNtXCI+SW5mcmFzdHJ1Y3R1cmUgb3B0aW1pc8OpZSBwb3VyIGFzc3VyZXIgZGVzIHBlcmZvcm1hbmNlcyDDqWxldsOpZXMgZXQgdW5lIGRpc3BvbmliaWxpdMOpIG1heGltYWxlIGRlIHZvcyBhcHBsaWNhdGlvbnM8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xMCB0by1iYW5xdWlzZS1ibHVlLWRhcmsvNSBiYWNrZHJvcC1ibHVyLWxnIHJvdW5kZWQtMnhsIHAtNiBzbTpwLTggZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgdGV4dC1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8zMCBob3ZlcjotdHJhbnNsYXRlLXktMyBob3Zlcjpmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xNSBob3Zlcjp0by1iYW5xdWlzZS1ibHVlLWRhcmsvOCBob3ZlcjpzaGFkb3cteGwgaG92ZXI6Ym9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvNTAgZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBtYi00IHNtOm1iLTYgdGV4dC13aGl0ZSBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCB3LTE2IGgtMTYgc206dy0yMCBzbTpoLTIwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtMnhsIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwXCI+XG4gICAgICAgICAg8J+SvlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgc206dGV4dC14bCBtYi0zIHNtOm1iLTQgdGV4dC1iYW5xdWlzZS1ncmF5IGZvbnQtaGVhZGluZyBmb250LXNlbWlib2xkIGdyb3VwLWhvdmVyOnRleHQtYmFucXVpc2UtYmx1ZS1saWdodGVzdCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0zMDBcIj5TdG9ja2FnZSBzw6ljdXJpc8OpPC9oMz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ncmF5LzgwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LXNtXCI+U29sdXRpb25zIGRlIHN0b2NrYWdlIGRpc3RyaWJ1w6llcyBhdmVjIHJlZG9uZGFuY2UgcG91ciBnYXJhbnRpciBsJ2ludMOpZ3JpdMOpIGV0IGxhIGR1cmFiaWxpdMOpIGRlIHZvcyBkb25uw6llczwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgcC02IHNtOnAtOCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIGhvdmVyOi10cmFuc2xhdGUteS0zIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGhvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNHhsIG1iLTQgc206bWItNiB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC0yeGwgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICDwn4yQXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTMgc206bWItNCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMFwiPlLDqXNlYXUgb3B0aW1pc8OpPC9oMz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ncmF5LzgwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LXNtXCI+QXJjaGl0ZWN0dXJlIHLDqXNlYXUgw6AgaGF1dGUgZGlzcG9uaWJpbGl0w6kgYXZlYyB1bmUgZmFpYmxlIGxhdGVuY2UgcG91ciB2b3MgYXBwbGljYXRpb25zIGNyaXRpcXVlczwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgcC02IHNtOnAtOCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzMwIGhvdmVyOi10cmFuc2xhdGUteS0zIGhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84IGhvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtM3hsIHNtOnRleHQtNHhsIG1iLTQgc206bWItNiB0ZXh0LXdoaXRlIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC0yeGwgc2hhZG93LWxnIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDBcIj5cbiAgICAgICAgICDwn5uh77iPXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBzbTp0ZXh0LXhsIG1iLTMgc206bWItNCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgZ3JvdXAtaG92ZXI6dGV4dC1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMFwiPlPDqWN1cml0w6kgcmVuZm9yY8OpZTwvaDM+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtZ3JheS84MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbVwiPlByb3RlY3Rpb24gY29udHJlIGxlcyBtZW5hY2VzIGF2ZWMgc3lzdMOobWVzIGRlIHPDqWN1cml0w6kgbW9kZXJuZXMgZXQgbWlzZXMgw6Agam91ciByw6lndWxpw6hyZXM8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuKTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRlY2hGZWF0dXJlc1NlY3Rpb24iLCJzZWN0aW9uIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDIiLCJzdHlsZSIsInRleHRTaGFkb3ciLCJwIiwiaDMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/sections/TechFeaturesSection.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/ui/AccordionItem.tsx":
/*!*********************************************!*\
!*** ./src/components/ui/AccordionItem.tsx ***!
\*********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AccordionItem: function() { return /* binding */ AccordionItem; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst AccordionItem = (param)=>{\n let { title, children, isOpen, onToggle } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue-dark/15 to-banquise-blue-dark/5 backdrop-blur-lg rounded-2xl overflow-hidden border border-banquise-blue-lightest/30 transition-all duration-300 shadow-sm \".concat(isOpen ? \"shadow-xl border-banquise-blue-lightest/50 scale-[1.01]\" : \"\", \" hover:shadow-lg hover:border-banquise-blue-lightest/40\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 sm:p-6 md:p-8 cursor-pointer flex items-center justify-between font-semibold text-banquise-gray transition-all duration-200 text-base sm:text-lg select-none hover:bg-banquise-blue-dark/10 active:bg-banquise-blue-dark/15\",\n onClick: onToggle,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center flex-1 mr-4 font-heading\",\n children: title\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 10,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl transition-transform duration-300 text-banquise-blue-lightest flex-shrink-0 \".concat(isOpen ? \"rotate-180\" : \"\"),\n children: \"▼\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"transition-all duration-500 overflow-hidden \".concat(isOpen ? \"max-h-[1000px] pb-4 px-4 sm:pb-6 sm:px-6 md:pb-8 md:px-8\" : \"max-h-0\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-gray/90 leading-relaxed text-sm sm:text-base\",\n children: children\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/AccordionItem.tsx\",\n lineNumber: 5,\n columnNumber: 3\n }, undefined);\n};\n_c = AccordionItem;\nvar _c;\n$RefreshReg$(_c, \"AccordionItem\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3VpL0FjY29yZGlvbkl0ZW0udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQTBCO0FBR25CLE1BQU1DLGdCQUE4QztRQUFDLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRTt5QkFDL0YsOERBQUNDO1FBQUlDLFdBQVcsbU1BQTJRLE9BQXhFSCxTQUFTLDREQUE0RCxJQUFHOzswQkFDelIsOERBQUNFO2dCQUNDQyxXQUFVO2dCQUNWQyxTQUFTSDs7a0NBRVQsOERBQUNJO3dCQUFLRixXQUFVO2tDQUE4Q0w7Ozs7OztrQ0FDOUQsOERBQUNPO3dCQUFLRixXQUFXLG1HQUE4SCxPQUEzQkgsU0FBUyxlQUFlO2tDQUFNOzs7Ozs7Ozs7Ozs7MEJBSXBKLDhEQUFDRTtnQkFBSUMsV0FBVywrQ0FBK0gsT0FBaEZILFNBQVMsNkRBQTZEOzBCQUNuSSw0RUFBQ0U7b0JBQUlDLFdBQVU7OEJBQ1pKOzs7Ozs7Ozs7Ozs7Ozs7OztFQUlQO0tBakJXRiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy91aS9BY2NvcmRpb25JdGVtLnRzeD9iYmE3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IEFjY29yZGlvbkl0ZW1Qcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEFjY29yZGlvbkl0ZW06IFJlYWN0LkZDPEFjY29yZGlvbkl0ZW1Qcm9wcz4gPSAoeyB0aXRsZSwgY2hpbGRyZW4sIGlzT3Blbiwgb25Ub2dnbGUgfSkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT17YGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IHRvLWJhbnF1aXNlLWJsdWUtZGFyay81IGJhY2tkcm9wLWJsdXItbGcgcm91bmRlZC0yeGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8zMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgc2hhZG93LXNtICR7aXNPcGVuID8gJ3NoYWRvdy14bCBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCBzY2FsZS1bMS4wMV0nIDogJyd9IGhvdmVyOnNoYWRvdy1sZyBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC80MGB9PlxuICAgIDxkaXYgXG4gICAgICBjbGFzc05hbWU9XCJwLTQgc206cC02IG1kOnAtOCBjdXJzb3ItcG9pbnRlciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZm9udC1zZW1pYm9sZCB0ZXh0LWJhbnF1aXNlLWdyYXkgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIHRleHQtYmFzZSBzbTp0ZXh0LWxnIHNlbGVjdC1ub25lIGhvdmVyOmJnLWJhbnF1aXNlLWJsdWUtZGFyay8xMCBhY3RpdmU6YmctYmFucXVpc2UtYmx1ZS1kYXJrLzE1XCJcbiAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlfVxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGZsZXgtMSBtci00IGZvbnQtaGVhZGluZ1wiPnt0aXRsZX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2B0ZXh0LXhsIHNtOnRleHQtMnhsIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCB0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgZmxleC1zaHJpbmstMCAke2lzT3BlbiA/ICdyb3RhdGUtMTgwJyA6ICcnfWB9PlxuICAgICAgICDilrxcbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT17YHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBvdmVyZmxvdy1oaWRkZW4gJHtpc09wZW4gPyAnbWF4LWgtWzEwMDBweF0gcGItNCBweC00IHNtOnBiLTYgc206cHgtNiBtZDpwYi04IG1kOnB4LTgnIDogJ21heC1oLTAnfWB9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWdyYXkvOTAgbGVhZGluZy1yZWxheGVkIHRleHQtc20gc206dGV4dC1iYXNlXCI+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbik7XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJBY2NvcmRpb25JdGVtIiwidGl0bGUiLCJjaGlsZHJlbiIsImlzT3BlbiIsIm9uVG9nZ2xlIiwiZGl2IiwiY2xhc3NOYW1lIiwib25DbGljayIsInNwYW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/ui/AccordionItem.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/ui/ModernLanguageSwitcher.tsx":
/*!******************************************************!*\
!*** ./src/components/ui/ModernLanguageSwitcher.tsx ***!
\******************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModernLanguageSwitcher: function() { return /* binding */ ModernLanguageSwitcher; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _styles_designSystem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../styles/designSystem */ \"(app-pages-browser)/./src/styles/designSystem.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst ModernLanguageSwitcher = (param)=>{\n let { currentLanguage, onLanguageChange, availableLanguages } = param;\n _s();\n const [isOpen, setIsOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const languageConfig = {\n fr: {\n name: \"Fran\\xe7ais\",\n flag: \"\\uD83C\\uDDEB\\uD83C\\uDDF7\",\n nativeName: \"FR\"\n },\n en: {\n name: \"English\",\n flag: \"\\uD83C\\uDDEC\\uD83C\\uDDE7\",\n nativeName: \"EN\"\n }\n };\n const currentConfig = languageConfig[currentLanguage];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setIsOpen(!isOpen),\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"flex items-center space-x-2 px-3 py-2 rounded-lg transition-all duration-200\", \"bg-white/10 hover:bg-white/20 border border-white/20 hover:border-white/30\", \"text-white text-sm font-medium\", \"focus:outline-none focus:ring-2 focus:ring-banquise-blue-light/50\", \"group\"),\n \"aria-expanded\": isOpen,\n \"aria-haspopup\": \"listbox\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg\",\n children: currentConfig.flag\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 40,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hidden sm:inline\",\n children: currentConfig.nativeName\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"w-4 h-4 transition-transform duration-200\", isOpen ? \"rotate-180\" : \"rotate-0\"),\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 9l-7 7-7-7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 53,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, undefined),\n isOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-10\",\n onClick: ()=>setIsOpen(false)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 61,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"absolute right-0 top-full mt-2 z-20\", \"bg-white/95 backdrop-blur-xl rounded-xl shadow-2xl border border-white/20\", \"min-w-[140px] py-2\", \"animate-slideUp\"),\n children: availableLanguages.map((lang)=>{\n const config = languageConfig[lang];\n const isSelected = lang === currentLanguage;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n onLanguageChange(lang);\n setIsOpen(false);\n },\n className: (0,_styles_designSystem__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"w-full flex items-center space-x-3 px-4 py-2.5 text-sm transition-all duration-200\", \"hover:bg-banquise-blue/10 focus:bg-banquise-blue/10\", \"focus:outline-none\", isSelected ? \"text-banquise-blue-dark font-semibold bg-banquise-blue/10\" : \"text-gray-700 hover:text-banquise-blue-dark\"),\n role: \"option\",\n \"aria-selected\": isSelected,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg\",\n children: config.flag\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 95,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex-1 text-left\",\n children: config.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 96,\n columnNumber: 19\n }, undefined),\n isSelected && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-4 h-4 text-banquise-blue\",\n fill: \"currentColor\",\n viewBox: \"0 0 20 20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\",\n clipRule: \"evenodd\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 99,\n columnNumber: 23\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 98,\n columnNumber: 21\n }, undefined)\n ]\n }, lang, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 78,\n columnNumber: 17\n }, undefined);\n })\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 67,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ModernLanguageSwitcher.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, undefined);\n};\n_s(ModernLanguageSwitcher, \"+sus0Lb0ewKHdwiUhiTAJFoFyQ0=\");\n_c = ModernLanguageSwitcher;\nvar _c;\n$RefreshReg$(_c, \"ModernLanguageSwitcher\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3VpL01vZGVybkxhbmd1YWdlU3dpdGNoZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBd0M7QUFDdUI7QUFTeEQsTUFBTUkseUJBQWdFO1FBQUMsRUFDNUVDLGVBQWUsRUFDZkMsZ0JBQWdCLEVBQ2hCQyxrQkFBa0IsRUFDbkI7O0lBQ0MsTUFBTSxDQUFDQyxRQUFRQyxVQUFVLEdBQUdSLCtDQUFRQSxDQUFDO0lBRXJDLE1BQU1TLGlCQUF1RjtRQUMzRkMsSUFBSTtZQUFFQyxNQUFNO1lBQVlDLE1BQU07WUFBUUMsWUFBWTtRQUFLO1FBQ3ZEQyxJQUFJO1lBQUVILE1BQU07WUFBV0MsTUFBTTtZQUFRQyxZQUFZO1FBQUs7SUFDeEQ7SUFFQSxNQUFNRSxnQkFBZ0JOLGNBQWMsQ0FBQ0wsZ0JBQWdCO0lBRXJELHFCQUNFLDhEQUFDWTtRQUFJQyxXQUFVOzswQkFFYiw4REFBQ0M7Z0JBQ0NDLFNBQVMsSUFBTVgsVUFBVSxDQUFDRDtnQkFDMUJVLFdBQVdmLGtFQUFFQSxDQUNYLGdGQUNBLDhFQUNBLGtDQUNBLHFFQUNBO2dCQUVGa0IsaUJBQWViO2dCQUNmYyxpQkFBYzs7a0NBRWQsOERBQUNDO3dCQUFLTCxXQUFVO2tDQUFXRixjQUFjSCxJQUFJOzs7Ozs7a0NBQzdDLDhEQUFDVTt3QkFBS0wsV0FBVTtrQ0FBb0JGLGNBQWNGLFVBQVU7Ozs7OztrQ0FHNUQsOERBQUNVO3dCQUNDTixXQUFXZixrRUFBRUEsQ0FDWCw2Q0FDQUssU0FBUyxlQUFlO3dCQUUxQmlCLE1BQUs7d0JBQ0xDLFFBQU87d0JBQ1BDLFNBQVE7a0NBRVIsNEVBQUNDOzRCQUFLQyxlQUFjOzRCQUFRQyxnQkFBZTs0QkFBUUMsYUFBYTs0QkFBR0MsR0FBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFLeEV4Qix3QkFDQzs7a0NBRUUsOERBQUNTO3dCQUNDQyxXQUFVO3dCQUNWRSxTQUFTLElBQU1YLFVBQVU7Ozs7OztrQ0FJM0IsOERBQUNRO3dCQUFJQyxXQUFXZixrRUFBRUEsQ0FDaEIsdUNBQ0EsNkVBQ0Esc0JBQ0E7a0NBRUNJLG1CQUFtQjBCLEdBQUcsQ0FBQyxDQUFDQzs0QkFDdkIsTUFBTUMsU0FBU3pCLGNBQWMsQ0FBQ3dCLEtBQUs7NEJBQ25DLE1BQU1FLGFBQWFGLFNBQVM3Qjs0QkFFNUIscUJBQ0UsOERBQUNjO2dDQUVDQyxTQUFTO29DQUNQZCxpQkFBaUI0QjtvQ0FDakJ6QixVQUFVO2dDQUNaO2dDQUNBUyxXQUFXZixrRUFBRUEsQ0FDWCxzRkFDQSx1REFDQSxzQkFDQWlDLGFBQ0ksOERBQ0E7Z0NBRU5DLE1BQUs7Z0NBQ0xDLGlCQUFlRjs7a0RBRWYsOERBQUNiO3dDQUFLTCxXQUFVO2tEQUFXaUIsT0FBT3RCLElBQUk7Ozs7OztrREFDdEMsOERBQUNVO3dDQUFLTCxXQUFVO2tEQUFvQmlCLE9BQU92QixJQUFJOzs7Ozs7b0NBQzlDd0IsNEJBQ0MsOERBQUNaO3dDQUFJTixXQUFVO3dDQUE2Qk8sTUFBSzt3Q0FBZUUsU0FBUTtrREFDdEUsNEVBQUNDOzRDQUFLVyxVQUFTOzRDQUFVUCxHQUFFOzRDQUFxSFEsVUFBUzs7Ozs7Ozs7Ozs7OytCQXBCeEpOOzs7Ozt3QkF5Qlg7Ozs7Ozs7Ozs7Ozs7O0FBTVosRUFBRTtHQW5HVzlCO0tBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL3VpL01vZGVybkxhbmd1YWdlU3dpdGNoZXIudHN4P2FlMjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbWVyZ2VDbGFzc2VzIGFzIGNuIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2Rlc2lnblN5c3RlbSc7XG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvaTE4bic7XG5cbmludGVyZmFjZSBNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyUHJvcHMge1xuICBjdXJyZW50TGFuZ3VhZ2U6IExhbmd1YWdlO1xuICBvbkxhbmd1YWdlQ2hhbmdlOiAobGFuZ3VhZ2U6IExhbmd1YWdlKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IExhbmd1YWdlW107XG59XG5cbmV4cG9ydCBjb25zdCBNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyOiBSZWFjdC5GQzxNb2Rlcm5MYW5ndWFnZVN3aXRjaGVyUHJvcHM+ID0gKHtcbiAgY3VycmVudExhbmd1YWdlLFxuICBvbkxhbmd1YWdlQ2hhbmdlLFxuICBhdmFpbGFibGVMYW5ndWFnZXNcbn0pID0+IHtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBsYW5ndWFnZUNvbmZpZzogUmVjb3JkPExhbmd1YWdlLCB7IG5hbWU6IHN0cmluZzsgZmxhZzogc3RyaW5nOyBuYXRpdmVOYW1lOiBzdHJpbmcgfT4gPSB7XG4gICAgZnI6IHsgbmFtZTogJ0ZyYW7Dp2FpcycsIGZsYWc6ICfwn4er8J+HtycsIG5hdGl2ZU5hbWU6ICdGUicgfSxcbiAgICBlbjogeyBuYW1lOiAnRW5nbGlzaCcsIGZsYWc6ICfwn4es8J+HpycsIG5hdGl2ZU5hbWU6ICdFTicgfSxcbiAgfTtcblxuICBjb25zdCBjdXJyZW50Q29uZmlnID0gbGFuZ3VhZ2VDb25maWdbY3VycmVudExhbmd1YWdlXTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgIHsvKiBUcmlnZ2VyIEJ1dHRvbiAqL31cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKCFpc09wZW4pfVxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICdmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgcHgtMyBweS0yIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICAnYmctd2hpdGUvMTAgaG92ZXI6Ymctd2hpdGUvMjAgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCBob3Zlcjpib3JkZXItd2hpdGUvMzAnLFxuICAgICAgICAgICd0ZXh0LXdoaXRlIHRleHQtc20gZm9udC1tZWRpdW0nLFxuICAgICAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmFucXVpc2UtYmx1ZS1saWdodC81MCcsXG4gICAgICAgICAgJ2dyb3VwJ1xuICAgICAgICApfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXtpc09wZW59XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1sZ1wiPntjdXJyZW50Q29uZmlnLmZsYWd9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJoaWRkZW4gc206aW5saW5lXCI+e2N1cnJlbnRDb25maWcubmF0aXZlTmFtZX08L3NwYW4+XG4gICAgICAgIFxuICAgICAgICB7LyogQ2hldnJvbiBJY29uICovfVxuICAgICAgICA8c3ZnIFxuICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAndy00IGgtNCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0yMDAnLFxuICAgICAgICAgICAgaXNPcGVuID8gJ3JvdGF0ZS0xODAnIDogJ3JvdGF0ZS0wJ1xuICAgICAgICAgICl9XG4gICAgICAgICAgZmlsbD1cIm5vbmVcIiBcbiAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIiBzdHJva2VXaWR0aD17Mn0gZD1cIk0xOSA5bC03IDctNy03XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgey8qIERyb3Bkb3duIE1lbnUgKi99XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7LyogQmFja2Ryb3AgKi99XG4gICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkIGluc2V0LTAgei0xMFwiIFxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIFxuICAgICAgICAgIHsvKiBNZW51ICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICdhYnNvbHV0ZSByaWdodC0wIHRvcC1mdWxsIG10LTIgei0yMCcsXG4gICAgICAgICAgICAnYmctd2hpdGUvOTUgYmFja2Ryb3AtYmx1ci14bCByb3VuZGVkLXhsIHNoYWRvdy0yeGwgYm9yZGVyIGJvcmRlci13aGl0ZS8yMCcsXG4gICAgICAgICAgICAnbWluLXctWzE0MHB4XSBweS0yJyxcbiAgICAgICAgICAgICdhbmltYXRlLXNsaWRlVXAnXG4gICAgICAgICAgKX0+XG4gICAgICAgICAgICB7YXZhaWxhYmxlTGFuZ3VhZ2VzLm1hcCgobGFuZykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSBsYW5ndWFnZUNvbmZpZ1tsYW5nXTtcbiAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IGxhbmcgPT09IGN1cnJlbnRMYW5ndWFnZTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAga2V5PXtsYW5nfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkxhbmd1YWdlQ2hhbmdlKGxhbmcpO1xuICAgICAgICAgICAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgICd3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0zIHB4LTQgcHktMi41IHRleHQtc20gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwJyxcbiAgICAgICAgICAgICAgICAgICAgJ2hvdmVyOmJnLWJhbnF1aXNlLWJsdWUvMTAgZm9jdXM6YmctYmFucXVpc2UtYmx1ZS8xMCcsXG4gICAgICAgICAgICAgICAgICAgICdmb2N1czpvdXRsaW5lLW5vbmUnLFxuICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkIFxuICAgICAgICAgICAgICAgICAgICAgID8gJ3RleHQtYmFucXVpc2UtYmx1ZS1kYXJrIGZvbnQtc2VtaWJvbGQgYmctYmFucXVpc2UtYmx1ZS8xMCcgXG4gICAgICAgICAgICAgICAgICAgICAgOiAndGV4dC1ncmF5LTcwMCBob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyaydcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1sZ1wiPntjb25maWcuZmxhZ308L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4LTEgdGV4dC1sZWZ0XCI+e2NvbmZpZy5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIHtpc1NlbGVjdGVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzc05hbWU9XCJ3LTQgaC00IHRleHQtYmFucXVpc2UtYmx1ZVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbFJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNi43MDcgNS4yOTNhMSAxIDAgMDEwIDEuNDE0bC04IDhhMSAxIDAgMDEtMS40MTQgMGwtNC00YTEgMSAwIDAxMS40MTQtMS40MTRMOCAxMi41ODZsNy4yOTMtNy4yOTNhMSAxIDAgMDExLjQxNCAwelwiIGNsaXBSdWxlPVwiZXZlbm9kZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJtZXJnZUNsYXNzZXMiLCJjbiIsIk1vZGVybkxhbmd1YWdlU3dpdGNoZXIiLCJjdXJyZW50TGFuZ3VhZ2UiLCJvbkxhbmd1YWdlQ2hhbmdlIiwiYXZhaWxhYmxlTGFuZ3VhZ2VzIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwibGFuZ3VhZ2VDb25maWciLCJmciIsIm5hbWUiLCJmbGFnIiwibmF0aXZlTmFtZSIsImVuIiwiY3VycmVudENvbmZpZyIsImRpdiIsImNsYXNzTmFtZSIsImJ1dHRvbiIsIm9uQ2xpY2siLCJhcmlhLWV4cGFuZGVkIiwiYXJpYS1oYXNwb3B1cCIsInNwYW4iLCJzdmciLCJmaWxsIiwic3Ryb2tlIiwidmlld0JveCIsInBhdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsImQiLCJtYXAiLCJsYW5nIiwiY29uZmlnIiwiaXNTZWxlY3RlZCIsInJvbGUiLCJhcmlhLXNlbGVjdGVkIiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/ui/ModernLanguageSwitcher.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/ui/Popup.tsx":
/*!*************************************!*\
!*** ./src/components/ui/Popup.tsx ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Popup: function() { return /* binding */ Popup; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst Popup = (param)=>{\n let { service, onClose, translations } = param;\n _s();\n // Empêcher le scroll du body quand la popup est ouverte\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n document.body.style.overflow = \"hidden\";\n return ()=>{\n document.body.style.overflow = \"unset\";\n };\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 bg-black/60 flex justify-center items-center z-50 p-4 backdrop-blur-md animate-fadeIn\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white text-banquise-blue-dark rounded-3xl max-w-4xl w-full max-h-[90vh] shadow-2xl relative animate-slideUp border border-banquise-blue-lightest/20 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-4 right-4 z-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClose,\n className: \"bg-white/90 hover:bg-white border border-banquise-blue/20 text-xl cursor-pointer text-banquise-blue-dark flex items-center justify-center w-10 h-10 sm:w-12 sm:h-12 rounded-full transition-all duration-200 hover:scale-110 active:scale-95 shadow-lg backdrop-blur-sm\",\n \"aria-label\": translations.close,\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 28,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-y-auto overflow-x-hidden max-h-[90vh] popup-content\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative bg-gradient-to-r from-banquise-blue to-banquise-blue-light p-6 sm:p-8 text-white pr-16 sm:pr-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col lg:flex-row items-center lg:items-start mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 bg-white/20 rounded-3xl flex items-center justify-center text-3xl sm:text-4xl lg:text-5xl mb-4 lg:mb-0 lg:mr-8 backdrop-blur-sm\",\n children: service.icon\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 42,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center lg:text-left flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"font-heading text-2xl sm:text-3xl lg:text-4xl mt-0 mb-3 lg:mb-4 leading-tight font-bold text-white\",\n children: service.name\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 46,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-white/90 text-base sm:text-lg lg:text-xl font-medium\",\n children: \"Service d'h\\xe9bergement professionnel\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 49,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 lg:mt-6 flex flex-wrap gap-2 justify-center lg:justify-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Haute disponibilit\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 53,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Open Source\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 54,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"bg-white/20 text-white px-3 py-1 rounded-full text-sm font-medium backdrop-blur-sm\",\n children: \"Communautaire\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 55,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 52,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 45,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 41,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 40,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 sm:p-8 bg-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mb-4 lg:mb-6 text-banquise-blue-dark font-heading font-bold flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mr-3\",\n children: \"\\uD83D\\uDCCB\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 65,\n columnNumber: 15\n }, undefined),\n \"Description d\\xe9taill\\xe9e\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-gradient-to-br from-banquise-blue/5 to-banquise-blue-light/5 rounded-2xl p-4 lg:p-6 border border-banquise-blue/10 mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-banquise-blue-dark/90 leading-relaxed text-base sm:text-lg lg:text-xl mb-4\",\n children: service.description\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 69,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 gap-4 mt-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center p-3 bg-white/60 rounded-xl border border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-10 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-lg flex items-center justify-center text-white mr-3\",\n children: \"✓\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 74,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-banquise-blue-dark text-sm\",\n children: \"99.9% Uptime\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 78,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-blue-dark/70 text-xs\",\n children: \"Disponibilit\\xe9 garantie\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 79,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 77,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center p-3 bg-white/60 rounded-xl border border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-10 h-10 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center text-white mr-3\",\n children: \"\\uD83D\\uDD12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 83,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-banquise-blue-dark text-sm\",\n children: \"S\\xe9curis\\xe9\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 87,\n columnNumber: 21\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-banquise-blue-dark/70 text-xs\",\n children: \"SSL & Backups\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 86,\n columnNumber: 19\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 82,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 72,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mb-4 lg:mb-6 text-banquise-blue-dark font-heading font-bold flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xl sm:text-2xl lg:text-3xl mr-3\",\n children: \"⚡\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 96,\n columnNumber: 15\n }, undefined),\n translations.discoverFeatures\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 95,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 gap-4 mb-8\",\n children: service.features.map((feature, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start bg-banquise-blue/5 rounded-xl p-4 border border-banquise-blue/10 hover:bg-banquise-blue/10 transition-colors duration-200 group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-6 h-6 bg-gradient-to-br from-banquise-blue to-banquise-blue-light rounded-full flex items-center justify-center mr-3 mt-0.5 flex-shrink-0 group-hover:scale-110 transition-transform duration-200\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-white rounded-full\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 103,\n columnNumber: 21\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 102,\n columnNumber: 19\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-banquise-blue-dark/90 font-medium text-sm lg:text-base leading-relaxed\",\n children: feature\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 105,\n columnNumber: 19\n }, undefined)\n ]\n }, index, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 101,\n columnNumber: 17\n }, undefined))\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 99,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pt-6 lg:pt-8 border-t border-banquise-blue/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: service.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"w-full inline-flex items-center justify-center bg-gradient-to-r from-banquise-blue to-banquise-blue-light text-white border-0 py-4 px-6 sm:px-8 rounded-2xl cursor-pointer no-underline font-bold tracking-wide shadow-lg transition-all duration-300 hover:shadow-xl hover:-translate-y-1 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-banquise-blue-light text-base lg:text-lg hover:scale-[1.02] active:scale-95\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"mr-3 text-xl lg:text-2xl\",\n children: \"\\uD83D\\uDE80\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 118,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Acc\\xe9der \\xe0 \",\n service.name\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 119,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 112,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-center text-sm text-banquise-blue-dark/60 mt-4\",\n children: [\n \"Besoin d'aide ? Rejoignez notre \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: _config_constants__WEBPACK_IMPORTED_MODULE_2__.URLS.social.discord,\n className: \"text-banquise-blue hover:text-banquise-blue-dark transition-colors duration-200 font-medium\",\n children: \"Discord\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 123,\n columnNumber: 49\n }, undefined),\n \" pour obtenir du support\"\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 122,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 111,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 right-0 w-16 h-16 sm:w-24 sm:h-24 lg:w-32 lg:h-32 bg-banquise-blue-lightest/10 rounded-full -translate-y-8 translate-x-8 sm:-translate-y-12 sm:translate-x-12 lg:-translate-y-16 lg:translate-x-16 hidden sm:block pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 130,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 w-12 h-12 sm:w-16 sm:h-16 lg:w-24 lg:h-24 bg-banquise-blue/5 rounded-full translate-y-6 -translate-x-6 sm:translate-y-8 sm:-translate-x-8 lg:translate-y-12 lg:-translate-x-12 hidden sm:block pointer-events-none\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 24,\n columnNumber: 7\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/Popup.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined);\n};\n_s(Popup, \"OD7bBpZva5O2jO+Puf00hKivP7c=\");\n_c = Popup;\nvar _c;\n$RefreshReg$(_c, \"Popup\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3VpL1BvcHVwLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXlDO0FBQ0s7QUFVdkMsTUFBTUcsUUFBOEI7UUFBQyxFQUFFQyxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxFQUFFOztJQUM1RSx3REFBd0Q7SUFDeERMLGdEQUFTQSxDQUFDO1FBQ1JNLFNBQVNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLEdBQUc7UUFFL0IsT0FBTztZQUNMSCxTQUFTQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsUUFBUSxHQUFHO1FBQ2pDO0lBQ0YsR0FBRyxFQUFFO0lBRUwscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ2IsNEVBQUNEO1lBQUlDLFdBQVU7OzhCQUdiLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDYiw0RUFBQ0M7d0JBQ0NDLFNBQVNUO3dCQUNUTyxXQUFVO3dCQUNWRyxjQUFZVCxhQUFhVSxLQUFLO2tDQUMvQjs7Ozs7Ozs7Ozs7OEJBTUgsOERBQUNMO29CQUFJQyxXQUFVOztzQ0FFYiw4REFBQ0Q7NEJBQUlDLFdBQVU7c0NBQ2IsNEVBQUNEO2dDQUFJQyxXQUFVOztrREFDYiw4REFBQ0Q7d0NBQUlDLFdBQVU7a0RBQ1pSLFFBQVFhLElBQUk7Ozs7OztrREFFZiw4REFBQ047d0NBQUlDLFdBQVU7OzBEQUNiLDhEQUFDTTtnREFBR04sV0FBVTswREFDWFIsUUFBUWUsSUFBSTs7Ozs7OzBEQUVmLDhEQUFDUjtnREFBSUMsV0FBVTswREFBNEQ7Ozs7OzswREFHM0UsOERBQUNEO2dEQUFJQyxXQUFVOztrRUFDYiw4REFBQ1E7d0RBQUtSLFdBQVU7a0VBQXFGOzs7Ozs7a0VBQ3JHLDhEQUFDUTt3REFBS1IsV0FBVTtrRUFBcUY7Ozs7OztrRUFDckcsOERBQUNRO3dEQUFLUixXQUFVO2tFQUFxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBTzdHLDhEQUFDRDs0QkFBSUMsV0FBVTs7OENBRWIsOERBQUNTO29DQUFHVCxXQUFVOztzREFDWiw4REFBQ1E7NENBQUtSLFdBQVU7c0RBQXVDOzs7Ozs7d0NBQVM7Ozs7Ozs7OENBR2xFLDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ2IsOERBQUNVOzRDQUFFVixXQUFVO3NEQUNWUixRQUFRbUIsV0FBVzs7Ozs7O3NEQUV0Qiw4REFBQ1o7NENBQUlDLFdBQVU7OzhEQUNiLDhEQUFDRDtvREFBSUMsV0FBVTs7c0VBQ2IsOERBQUNEOzREQUFJQyxXQUFVO3NFQUFvSTs7Ozs7O3NFQUduSiw4REFBQ0Q7OzhFQUNDLDhEQUFDQTtvRUFBSUMsV0FBVTs4RUFBZ0Q7Ozs7Ozs4RUFDL0QsOERBQUNEO29FQUFJQyxXQUFVOzhFQUFxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhEQUd4RCw4REFBQ0Q7b0RBQUlDLFdBQVU7O3NFQUNiLDhEQUFDRDs0REFBSUMsV0FBVTtzRUFBb0g7Ozs7OztzRUFHbkksOERBQUNEOzs4RUFDQyw4REFBQ0E7b0VBQUlDLFdBQVU7OEVBQWdEOzs7Ozs7OEVBQy9ELDhEQUFDRDtvRUFBSUMsV0FBVTs4RUFBcUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4Q0FPNUQsOERBQUNTO29DQUFHVCxXQUFVOztzREFDWiw4REFBQ1E7NENBQUtSLFdBQVU7c0RBQXVDOzs7Ozs7d0NBQ3RETixhQUFha0IsZ0JBQWdCOzs7Ozs7OzhDQUVoQyw4REFBQ2I7b0NBQUlDLFdBQVU7OENBQ1pSLFFBQVFxQixRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxTQUFTQyxzQkFDOUIsOERBQUNqQjs0Q0FBZ0JDLFdBQVU7OzhEQUN6Qiw4REFBQ0Q7b0RBQUlDLFdBQVU7OERBQ2IsNEVBQUNEO3dEQUFJQyxXQUFVOzs7Ozs7Ozs7Ozs4REFFakIsOERBQUNRO29EQUFLUixXQUFVOzhEQUErRWU7Ozs7Ozs7MkNBSnZGQzs7Ozs7Ozs7Ozs4Q0FVZCw4REFBQ2pCO29DQUFJQyxXQUFVOztzREFDYiw4REFBQ2lCOzRDQUNDQyxNQUFNMUIsUUFBUTJCLEdBQUc7NENBQ2pCQyxRQUFPOzRDQUNQQyxLQUFJOzRDQUNKckIsV0FBVTs7OERBRVYsOERBQUNRO29EQUFLUixXQUFVOzhEQUEyQjs7Ozs7OzhEQUMzQyw4REFBQ1E7O3dEQUFLO3dEQUFXaEIsUUFBUWUsSUFBSTs7Ozs7Ozs7Ozs7OztzREFHL0IsOERBQUNHOzRDQUFFVixXQUFVOztnREFBc0Q7OERBQ2pDLDhEQUFDaUI7b0RBQUVDLE1BQU01QixtREFBSUEsQ0FBQ2dDLE1BQU0sQ0FBQ0MsT0FBTztvREFBRXZCLFdBQVU7OERBQThGOzs7Ozs7Z0RBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBT3pMLDhEQUFDRDtvQkFBSUMsV0FBVTs7Ozs7OzhCQUNmLDhEQUFDRDtvQkFBSUMsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJdkIsRUFBRTtHQTNIV1Q7S0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2NvbXBvbmVudHMvdWkvUG9wdXAudHN4P2I3N2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFVSTFMgfSBmcm9tICcuLi8uLi9jb25maWcvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4uLy4uL3R5cGVzL3NlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2kxOG4nO1xuXG5pbnRlcmZhY2UgUG9wdXBQcm9wcyB7XG4gIHNlcnZpY2U6IFNlcnZpY2U7XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25bJ2NvbW1vbiddO1xufVxuXG5leHBvcnQgY29uc3QgUG9wdXA6IFJlYWN0LkZDPFBvcHVwUHJvcHM+ID0gKHsgc2VydmljZSwgb25DbG9zZSwgdHJhbnNsYXRpb25zIH0pID0+IHtcbiAgLy8gRW1ww6pjaGVyIGxlIHNjcm9sbCBkdSBib2R5IHF1YW5kIGxhIHBvcHVwIGVzdCBvdXZlcnRlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAndW5zZXQnO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZml4ZWQgaW5zZXQtMCBiZy1ibGFjay82MCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciB6LTUwIHAtNCBiYWNrZHJvcC1ibHVyLW1kIGFuaW1hdGUtZmFkZUluXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLXdoaXRlIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIHJvdW5kZWQtM3hsIG1heC13LTR4bCB3LWZ1bGwgbWF4LWgtWzkwdmhdIHNoYWRvdy0yeGwgcmVsYXRpdmUgYW5pbWF0ZS1zbGlkZVVwIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yMCBvdmVyZmxvdy1oaWRkZW5cIj5cblxuICAgICAgICB7LyogQm91dG9uIGRlIGZlcm1ldHVyZSBmaXhlIGF1LWRlc3N1cyBkdSBjb250ZW51ICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC00IHJpZ2h0LTQgei01MFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJiZy13aGl0ZS85MCBob3ZlcjpiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUvMjAgdGV4dC14bCBjdXJzb3ItcG9pbnRlciB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIGgtMTAgc206dy0xMiBzbTpoLTEyIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTEwIGFjdGl2ZTpzY2FsZS05NSBzaGFkb3ctbGcgYmFja2Ryb3AtYmx1ci1zbVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0cmFuc2xhdGlvbnMuY2xvc2V9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIENvbnRlbnUgYXZlYyBzY3JvbGwgdmVydGljYWwgdW5pcXVlbWVudCAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtWzkwdmhdIHBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICB7LyogSGVhZGVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCBwLTYgc206cC04IHRleHQtd2hpdGUgcHItMTYgc206cHItMjBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBpdGVtcy1jZW50ZXIgbGc6aXRlbXMtc3RhcnQgbWItNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTYgaC0xNiBzbTp3LTIwIHNtOmgtMjAgbGc6dy0yNCBsZzpoLTI0IGJnLXdoaXRlLzIwIHJvdW5kZWQtM3hsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtM3hsIHNtOnRleHQtNHhsIGxnOnRleHQtNXhsIG1iLTQgbGc6bWItMCBsZzptci04IGJhY2tkcm9wLWJsdXItc21cIj5cbiAgICAgICAgICAgICAgICB7c2VydmljZS5pY29ufVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBsZzp0ZXh0LWxlZnQgZmxleC0xXCI+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImZvbnQtaGVhZGluZyB0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBsZzp0ZXh0LTR4bCBtdC0wIG1iLTMgbGc6bWItNCBsZWFkaW5nLXRpZ2h0IGZvbnQtYm9sZCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICB7c2VydmljZS5uYW1lfVxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXdoaXRlLzkwIHRleHQtYmFzZSBzbTp0ZXh0LWxnIGxnOnRleHQteGwgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgIFNlcnZpY2UgZCdow6liZXJnZW1lbnQgcHJvZmVzc2lvbm5lbFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNCBsZzptdC02IGZsZXggZmxleC13cmFwIGdhcC0yIGp1c3RpZnktY2VudGVyIGxnOmp1c3RpZnktc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLXdoaXRlLzIwIHRleHQtd2hpdGUgcHgtMyBweS0xIHJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtbWVkaXVtIGJhY2tkcm9wLWJsdXItc21cIj5IYXV0ZSBkaXNwb25pYmlsaXTDqTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLXdoaXRlLzIwIHRleHQtd2hpdGUgcHgtMyBweS0xIHJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtbWVkaXVtIGJhY2tkcm9wLWJsdXItc21cIj5PcGVuIFNvdXJjZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJnLXdoaXRlLzIwIHRleHQtd2hpdGUgcHgtMyBweS0xIHJvdW5kZWQtZnVsbCB0ZXh0LXNtIGZvbnQtbWVkaXVtIGJhY2tkcm9wLWJsdXItc21cIj5Db21tdW5hdXRhaXJlPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIENvbnRlbnQgLSBGb3JjZXIgbGUgZm9uZCBibGFuYyAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNiBzbTpwLTggYmctd2hpdGVcIj5cbiAgICAgICAgICAgIHsvKiBEZXNjcmlwdGlvbiAqL31cbiAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIGxnOnRleHQtM3hsIG1iLTQgbGc6bWItNiB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayBmb250LWhlYWRpbmcgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteGwgc206dGV4dC0yeGwgbGc6dGV4dC0zeGwgbXItM1wiPvCfk4s8L3NwYW4+XG4gICAgICAgICAgICAgIERlc2NyaXB0aW9uIGTDqXRhaWxsw6llXG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUvNSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0LzUgcm91bmRlZC0yeGwgcC00IGxnOnAtNiBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUvMTAgbWItOFwiPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyay85MCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1iYXNlIHNtOnRleHQtbGcgbGc6dGV4dC14bCBtYi00XCI+XG4gICAgICAgICAgICAgICAge3NlcnZpY2UuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIGdhcC00IG10LTZcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHAtMyBiZy13aGl0ZS82MCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS8xMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwIGgtMTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHQgcm91bmRlZC1sZyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIG1yLTNcIj5cbiAgICAgICAgICAgICAgICAgICAg4pyTXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayB0ZXh0LXNtXCI+OTkuOSUgVXB0aW1lPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsvNzAgdGV4dC14c1wiPkRpc3BvbmliaWxpdMOpIGdhcmFudGllPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHAtMyBiZy13aGl0ZS82MCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItYmFucXVpc2UtYmx1ZS8xMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwIGgtMTAgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTUwMCB0by1ibHVlLTYwMCByb3VuZGVkLWxnIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgbXItM1wiPlxuICAgICAgICAgICAgICAgICAgICDwn5SSXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayB0ZXh0LXNtXCI+U8OpY3VyaXPDqTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtYmx1ZS1kYXJrLzcwIHRleHQteHNcIj5TU0wgJiBCYWNrdXBzPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qIEZvbmN0aW9ubmFsaXTDqXMgKi99XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBzbTp0ZXh0LTJ4bCBsZzp0ZXh0LTN4bCBtYi00IGxnOm1iLTYgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIGxnOnRleHQtM3hsIG1yLTNcIj7imqE8L3NwYW4+XG4gICAgICAgICAgICAgIHt0cmFuc2xhdGlvbnMuZGlzY292ZXJGZWF0dXJlc31cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgZ2FwLTQgbWItOFwiPlxuICAgICAgICAgICAgICB7c2VydmljZS5mZWF0dXJlcy5tYXAoKGZlYXR1cmUsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IGJnLWJhbnF1aXNlLWJsdWUvNSByb3VuZGVkLXhsIHAtNCBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUvMTAgaG92ZXI6YmctYmFucXVpc2UtYmx1ZS8xMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDAgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy02IGgtNiBiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMyBtdC0wLjUgZmxleC1zaHJpbmstMCBncm91cC1ob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0yIGgtMiBiZy13aGl0ZSByb3VuZGVkLWZ1bGxcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsvOTAgZm9udC1tZWRpdW0gdGV4dC1zbSBsZzp0ZXh0LWJhc2UgbGVhZGluZy1yZWxheGVkXCI+e2ZlYXR1cmV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICB7LyogQ2FsbCB0byBhY3Rpb24gKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB0LTYgbGc6cHQtOCBib3JkZXItdCBib3JkZXItYmFucXVpc2UtYmx1ZS8xMFwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9e3NlcnZpY2UudXJsfVxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0IHRleHQtd2hpdGUgYm9yZGVyLTAgcHktNCBweC02IHNtOnB4LTggcm91bmRlZC0yeGwgY3Vyc29yLXBvaW50ZXIgbm8tdW5kZXJsaW5lIGZvbnQtYm9sZCB0cmFja2luZy13aWRlIHNoYWRvdy1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgaG92ZXI6c2hhZG93LXhsIGhvdmVyOi10cmFuc2xhdGUteS0xIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtYmFucXVpc2UtYmx1ZS1saWdodCB0ZXh0LWJhc2UgbGc6dGV4dC1sZyBob3ZlcjpzY2FsZS1bMS4wMl0gYWN0aXZlOnNjYWxlLTk1XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTMgdGV4dC14bCBsZzp0ZXh0LTJ4bFwiPvCfmoA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+QWNjw6lkZXIgw6Age3NlcnZpY2UubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciB0ZXh0LXNtIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrLzYwIG10LTRcIj5cbiAgICAgICAgICAgICAgICBCZXNvaW4gZCdhaWRlID8gUmVqb2lnbmV6IG5vdHJlIDxhIGhyZWY9e1VSTFMuc29jaWFsLmRpc2NvcmR9IGNsYXNzTmFtZT1cInRleHQtYmFucXVpc2UtYmx1ZSBob3Zlcjp0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyayB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDAgZm9udC1tZWRpdW1cIj5EaXNjb3JkPC9hPiBwb3VyIG9idGVuaXIgZHUgc3VwcG9ydFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIERlY29yYXRpdmUgZWxlbWVudHMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCB3LTE2IGgtMTYgc206dy0yNCBzbTpoLTI0IGxnOnctMzIgbGc6aC0zMiBiZy1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzEwIHJvdW5kZWQtZnVsbCAtdHJhbnNsYXRlLXktOCB0cmFuc2xhdGUteC04IHNtOi10cmFuc2xhdGUteS0xMiBzbTp0cmFuc2xhdGUteC0xMiBsZzotdHJhbnNsYXRlLXktMTYgbGc6dHJhbnNsYXRlLXgtMTYgaGlkZGVuIHNtOmJsb2NrIHBvaW50ZXItZXZlbnRzLW5vbmVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMCBsZWZ0LTAgdy0xMiBoLTEyIHNtOnctMTYgc206aC0xNiBsZzp3LTI0IGxnOmgtMjQgYmctYmFucXVpc2UtYmx1ZS81IHJvdW5kZWQtZnVsbCB0cmFuc2xhdGUteS02IC10cmFuc2xhdGUteC02IHNtOnRyYW5zbGF0ZS15LTggc206LXRyYW5zbGF0ZS14LTggbGc6dHJhbnNsYXRlLXktMTIgbGc6LXRyYW5zbGF0ZS14LTEyIGhpZGRlbiBzbTpibG9jayBwb2ludGVyLWV2ZW50cy1ub25lXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VFZmZlY3QiLCJVUkxTIiwiUG9wdXAiLCJzZXJ2aWNlIiwib25DbG9zZSIsInRyYW5zbGF0aW9ucyIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJkaXYiLCJjbGFzc05hbWUiLCJidXR0b24iLCJvbkNsaWNrIiwiYXJpYS1sYWJlbCIsImNsb3NlIiwiaWNvbiIsImgyIiwibmFtZSIsInNwYW4iLCJoMyIsInAiLCJkZXNjcmlwdGlvbiIsImRpc2NvdmVyRmVhdHVyZXMiLCJmZWF0dXJlcyIsIm1hcCIsImZlYXR1cmUiLCJpbmRleCIsImEiLCJocmVmIiwidXJsIiwidGFyZ2V0IiwicmVsIiwic29jaWFsIiwiZGlzY29yZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/ui/Popup.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/components/ui/ScrollToTopButton.tsx":
/*!*************************************************!*\
!*** ./src/components/ui/ScrollToTopButton.tsx ***!
\*************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollToTopButton: function() { return /* binding */ ScrollToTopButton; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../hooks/useScrollEffects */ \"(app-pages-browser)/./src/hooks/useScrollEffects.ts\");\n\nvar _s = $RefreshSig$();\n\n\nconst ScrollToTopButton = ()=>{\n _s();\n const { isVisible, scrollToTop } = (0,_hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: scrollToTop,\n className: \"fixed bottom-6 right-6 z-50 w-12 h-12 sm:w-14 sm:h-14 bg-gradient-to-r from-banquise-blue to-banquise-blue-light text-white rounded-full shadow-lg hover:shadow-xl transition-all duration-300 flex items-center justify-center group border border-banquise-blue-lightest/30 backdrop-blur-sm \".concat(isVisible ? \"opacity-100 translate-y-0 scale-100\" : \"opacity-0 translate-y-4 scale-95 pointer-events-none\"),\n \"aria-label\": \"Retour en haut de page\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: \"w-5 h-5 sm:w-6 sm:h-6 transition-transform duration-300 group-hover:-translate-y-0.5\",\n fill: \"none\",\n stroke: \"currentColor\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2.5,\n d: \"M7 11l5-5m0 0l5 5m-5-5v12\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-r from-banquise-blue-light to-banquise-blue rounded-full opacity-0 group-hover:opacity-75 transition-opacity duration-300 blur-sm\"\n }, void 0, false, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/home/sahamone/Documents/La Banquise/website-front/banquise-website/src/components/ui/ScrollToTopButton.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined);\n};\n_s(ScrollToTopButton, \"08kOWwq2gjpwiaHlC/OmoCq2fmk=\", false, function() {\n return [\n _hooks_useScrollEffects__WEBPACK_IMPORTED_MODULE_2__.useScrollEffects\n ];\n});\n_c = ScrollToTopButton;\nvar _c;\n$RefreshReg$(_c, \"ScrollToTopButton\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL3VpL1Njcm9sbFRvVG9wQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTBCO0FBQ3NDO0FBRXpELE1BQU1FLG9CQUE4Qjs7SUFDekMsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRSxHQUFHSCx5RUFBZ0JBO0lBRW5ELHFCQUNFLDhEQUFDSTtRQUNDQyxTQUFTRjtRQUNURyxXQUFXLGtTQUlWLE9BSENKLFlBQ0ksd0NBQ0E7UUFFTkssY0FBVzs7MEJBRVgsOERBQUNDO2dCQUNDRixXQUFVO2dCQUNWRyxNQUFLO2dCQUNMQyxRQUFPO2dCQUNQQyxTQUFROzBCQUVSLDRFQUFDQztvQkFDQ0MsZUFBYztvQkFDZEMsZ0JBQWU7b0JBQ2ZDLGFBQWE7b0JBQ2JDLEdBQUU7Ozs7Ozs7Ozs7OzBCQUtOLDhEQUFDQztnQkFBSVgsV0FBVTs7Ozs7Ozs7Ozs7O0FBR3JCLEVBQUU7R0EvQldMOztRQUN3QkQscUVBQWdCQTs7O0tBRHhDQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29tcG9uZW50cy91aS9TY3JvbGxUb1RvcEJ1dHRvbi50c3g/YTZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlU2Nyb2xsRWZmZWN0cyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcm9sbEVmZmVjdHMnO1xuXG5leHBvcnQgY29uc3QgU2Nyb2xsVG9Ub3BCdXR0b246IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB7IGlzVmlzaWJsZSwgc2Nyb2xsVG9Ub3AgfSA9IHVzZVNjcm9sbEVmZmVjdHMoKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIG9uQ2xpY2s9e3Njcm9sbFRvVG9wfVxuICAgICAgY2xhc3NOYW1lPXtgZml4ZWQgYm90dG9tLTYgcmlnaHQtNiB6LTUwIHctMTIgaC0xMiBzbTp3LTE0IHNtOmgtMTQgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBncm91cCBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMzAgYmFja2Ryb3AtYmx1ci1zbSAke1xuICAgICAgICBpc1Zpc2libGUgXG4gICAgICAgICAgPyAnb3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCBzY2FsZS0xMDAnIFxuICAgICAgICAgIDogJ29wYWNpdHktMCB0cmFuc2xhdGUteS00IHNjYWxlLTk1IHBvaW50ZXItZXZlbnRzLW5vbmUnXG4gICAgICB9YH1cbiAgICAgIGFyaWEtbGFiZWw9XCJSZXRvdXIgZW4gaGF1dCBkZSBwYWdlXCJcbiAgICA+XG4gICAgICA8c3ZnIFxuICAgICAgICBjbGFzc05hbWU9XCJ3LTUgaC01IHNtOnctNiBzbTpoLTYgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOi10cmFuc2xhdGUteS0wLjVcIiBcbiAgICAgICAgZmlsbD1cIm5vbmVcIiBcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgPlxuICAgICAgICA8cGF0aCBcbiAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBcbiAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgXG4gICAgICAgICAgc3Ryb2tlV2lkdGg9ezIuNX0gXG4gICAgICAgICAgZD1cIk03IDExbDUtNW0wIDBsNSA1bS01LTV2MTJcIiBcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgXG4gICAgICB7LyogRWZmZXQgZGUgbHVldXIgYXUgaG92ZXIgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUtbGlnaHQgdG8tYmFucXVpc2UtYmx1ZSByb3VuZGVkLWZ1bGwgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktNzUgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTMwMCBibHVyLXNtXCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU2Nyb2xsRWZmZWN0cyIsIlNjcm9sbFRvVG9wQnV0dG9uIiwiaXNWaXNpYmxlIiwic2Nyb2xsVG9Ub3AiLCJidXR0b24iLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiYXJpYS1sYWJlbCIsInN2ZyIsImZpbGwiLCJzdHJva2UiLCJ2aWV3Qm94IiwicGF0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwiZCIsImRpdiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/ui/ScrollToTopButton.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/config/constants.ts":
/*!*********************************!*\
!*** ./src/config/constants.ts ***!
\*********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SITE_CONFIG: function() { return /* binding */ SITE_CONFIG; },\n/* harmony export */ URLS: function() { return /* binding */ URLS; }\n/* harmony export */ });\nconst URLS = {\n services: {\n wiki: \"https://wiki.la-banquise.fr\",\n gitea: \"https://git.la-banquise.fr\",\n panel: \"https://panel.la-banquise.fr\",\n auth: \"https://auth.la-banquise.fr\",\n pelican: \"https://pelican.la-banquise.fr\",\n intra: \"https://intra.la-banquise.fr\",\n mails: \"https://mails.la-banquise.fr\",\n opencloud: \"https://opencloud.la-banquise.fr\",\n ssp: \"https://ssp.la-banquise.fr\"\n },\n social: {\n discord: \"https://discord.gg/bJhM97wans\"\n },\n contact: {\n email: \"mailto:contact@la-banquise.fr\"\n }\n};\nconst SITE_CONFIG = {\n name: \"La Banquise\",\n description: \"Association d'h\\xe9bergement et lab r\\xe9seau pour tous les \\xe9tudiants et associations de l'EPITA\",\n tagline: \"Communaut\\xe9 • H\\xe9bergement\"\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb25maWcvY29uc3RhbnRzLnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sTUFBTUEsT0FBTztJQUNsQkMsVUFBVTtRQUNSQyxNQUFNO1FBQ05DLE9BQU87UUFDUEMsT0FBTztRQUNQQyxNQUFNO1FBQ05DLFNBQVM7UUFDVEMsT0FBTztRQUNQQyxPQUFPO1FBQ1BDLFdBQVc7UUFDWEMsS0FBSztJQUNQO0lBQ0FDLFFBQVE7UUFDTkMsU0FBUztJQUNYO0lBQ0FDLFNBQVM7UUFDUEMsT0FBTztJQUNUO0FBQ0YsRUFBVztBQUVKLE1BQU1DLGNBQWM7SUFDekJDLE1BQU07SUFDTkMsYUFBYTtJQUNiQyxTQUFTO0FBQ1gsRUFBVyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvY29uZmlnL2NvbnN0YW50cy50cz82MWM5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVUkxTID0ge1xuICBzZXJ2aWNlczoge1xuICAgIHdpa2k6IFwiaHR0cHM6Ly93aWtpLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgZ2l0ZWE6IFwiaHR0cHM6Ly9naXQubGEtYmFucXVpc2UuZnJcIixcbiAgICBwYW5lbDogXCJodHRwczovL3BhbmVsLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgYXV0aDogXCJodHRwczovL2F1dGgubGEtYmFucXVpc2UuZnJcIixcbiAgICBwZWxpY2FuOiBcImh0dHBzOi8vcGVsaWNhbi5sYS1iYW5xdWlzZS5mclwiLFxuICAgIGludHJhOiBcImh0dHBzOi8vaW50cmEubGEtYmFucXVpc2UuZnJcIixcbiAgICBtYWlsczogXCJodHRwczovL21haWxzLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgb3BlbmNsb3VkOiBcImh0dHBzOi8vb3BlbmNsb3VkLmxhLWJhbnF1aXNlLmZyXCIsXG4gICAgc3NwOiBcImh0dHBzOi8vc3NwLmxhLWJhbnF1aXNlLmZyXCJcbiAgfSxcbiAgc29jaWFsOiB7XG4gICAgZGlzY29yZDogXCJodHRwczovL2Rpc2NvcmQuZ2cvYkpoTTk3d2Fuc1wiXG4gIH0sXG4gIGNvbnRhY3Q6IHtcbiAgICBlbWFpbDogXCJtYWlsdG86Y29udGFjdEBsYS1iYW5xdWlzZS5mclwiXG4gIH1cbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBTSVRFX0NPTkZJRyA9IHtcbiAgbmFtZTogXCJMYSBCYW5xdWlzZVwiLFxuICBkZXNjcmlwdGlvbjogXCJBc3NvY2lhdGlvbiBkJ2jDqWJlcmdlbWVudCBldCBsYWIgcsOpc2VhdSBwb3VyIHRvdXMgbGVzIMOpdHVkaWFudHMgZXQgYXNzb2NpYXRpb25zIGRlIGwnRVBJVEFcIixcbiAgdGFnbGluZTogXCJDb21tdW5hdXTDqSDigKIgSMOpYmVyZ2VtZW50XCJcbn0gYXMgY29uc3Q7XG4iXSwibmFtZXMiOlsiVVJMUyIsInNlcnZpY2VzIiwid2lraSIsImdpdGVhIiwicGFuZWwiLCJhdXRoIiwicGVsaWNhbiIsImludHJhIiwibWFpbHMiLCJvcGVuY2xvdWQiLCJzc3AiLCJzb2NpYWwiLCJkaXNjb3JkIiwiY29udGFjdCIsImVtYWlsIiwiU0lURV9DT05GSUciLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJ0YWdsaW5lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/config/constants.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/data/translations/en.ts":
/*!*************************************!*\
!*** ./src/data/translations/en.ts ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ en: function() { return /* binding */ en; }\n/* harmony export */ });\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n/* harmony import */ var _src_assets_Gitea_Logo_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../src/assets/Gitea_Logo.png */ \"(app-pages-browser)/./src/assets/Gitea_Logo.png\");\n/* harmony import */ var _src_assets_wikijs_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../src/assets/wikijs.png */ \"(app-pages-browser)/./src/assets/wikijs.png\");\n/* harmony import */ var _src_assets_pelican_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../src/assets/pelican.png */ \"(app-pages-browser)/./src/assets/pelican.png\");\n/* harmony import */ var _src_assets_opencloud_logo_white_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../src/assets/opencloud_logo_white.png */ \"(app-pages-browser)/./src/assets/opencloud_logo_white.png\");\n\n\n\n\n\nconst en = {\n services: [\n {\n name: \"Wiki\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.wiki,\n image: _src_assets_wikijs_png__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n icon: \"\\uD83D\\uDCDA\",\n description: \"Collaborative technical documentation and knowledge sharing platform. Create, edit and organize your guides, tutorials and documentation as a team with integrated versioning system.\",\n features: [\n \"Advanced markdown editor with real-time preview\",\n \"Versioning system to track changes\",\n \"Real-time collaboration with multiple contributors\",\n \"Smart search across all documents\",\n \"Predefined templates for different documentation types\",\n \"Comment and revision system\",\n \"PDF and HTML export for external sharing\",\n \"Git integration for backup\"\n ]\n },\n {\n name: \"Gitea\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.gitea,\n image: _src_assets_Gitea_Logo_png__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n icon: \"\\uD83D\\uDD27\",\n description: \"Lightweight and performant self-hosted Git service for your development projects. Open-source alternative to GitHub with all essential features for managing your repositories.\",\n features: [\n \"Unlimited public and private Git repositories\",\n \"Intuitive web interface for project management\",\n \"Issues and pull requests with review system\",\n \"Integrated wiki for each project\",\n \"CI/CD actions for automation\",\n \"Fine-grained permissions and team management\",\n \"Complete REST API for integration\",\n \"Webhooks for external notifications\"\n ]\n },\n {\n name: \"Pelican\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.pelican,\n image: _src_assets_pelican_png__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n icon: \"\\uD83D\\uDC27\",\n description: \"Game server management with dedicated servers (Minecraft, CS2, Palworld, and many others)\",\n features: [\n \"One-click deployment with pre-configured templates\",\n \"Real-time administration console\",\n \"File management with integrated editor\",\n \"Performance and resource monitoring\",\n \"Automatic backup system\",\n \"Automated task scheduler\"\n ]\n },\n {\n name: \"Password Change\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.ssp,\n image: \"/path/to/ssp-image.jpg\",\n icon: \"\\uD83D\\uDD10\",\n description: \"Secure interface for autonomous password management. Easily change your credentials safely.\",\n features: [\n \"Secure interface to change your password\",\n \"Password complexity validation\",\n \"Email notifications of changes\",\n \"Modification history\"\n ]\n },\n {\n name: \"OpenCloud\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.opencloud,\n image: _src_assets_opencloud_logo_white_png__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n icon: \"☁️\",\n description: \"Open-source collaborative cloud platform for file storage, sharing and synchronization. Free alternative to Google Drive with full control over your data.\",\n features: [\n \"Secure and encrypted cloud storage\",\n \"Multi-device synchronization\",\n \"File sharing with secure links\",\n \"Collaborative document editing\",\n \"Automatic file versioning\",\n \"Native mobile applications\",\n \"Integration with external tools\",\n \"Geo-redundant data backup\"\n ]\n },\n {\n name: \"Intranet\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.intra,\n image: \"/path/to/intra-image.jpg\",\n icon: \"\\uD83C\\uDFE2\",\n description: \"Secure private space for the association to centralize internal resources, communications and collaboration tools between members.\",\n features: [\n \"Personalized dashboard for each member\",\n \"Event and meeting calendar\",\n \"Secure file sharing\",\n \"Private discussion forums\",\n \"Member directory with profiles\",\n \"Internal notification system\",\n \"Project and task management\",\n \"Archive of decisions and minutes\"\n ]\n },\n {\n name: \"Gaming Panel\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.panel,\n image: \"/path/to/panel-image.jpg\",\n icon: \"\\uD83C\\uDFAE\",\n description: \"Centralized management interface for all your game servers. Easily deploy, configure and monitor your Minecraft, CS2, Garry's Mod and many other servers.\",\n features: [\n \"Support for 20+ popular games (Minecraft, CS2, GMod...)\",\n \"One-click deployment with pre-configured templates\",\n \"Real-time administration console\",\n \"File management with integrated editor\",\n \"Performance and resource monitoring\",\n \"Automatic backup system\",\n \"Automated task scheduler\"\n ]\n },\n {\n name: \"Mails\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.mails,\n image: \"/path/to/mails-image.jpg\",\n icon: \"\\uD83D\\uDCE7\",\n description: \"Professional email service with modern web interface. Benefit from a personalized @la-banquise.fr email address with all advanced features.\",\n features: [\n \"Personalized @la-banquise.fr email addresses\",\n \"Modern and responsive webmail interface\",\n \"Integrated anti-spam and antivirus filters\",\n \"Synchronized contacts and calendar\",\n \"IMAP/SMTP support for external clients\",\n \"Generous storage with archiving\",\n \"Communication encryption\",\n \"Automatic data backup\"\n ]\n }\n ],\n hero: {\n title: \"Welcome to La Banquise\",\n subtitle: \"Hosting provider, for students, by students.\",\n cta: \"Discover our services\"\n },\n navigation: {\n home: \"Home\",\n services: \"Services\",\n about: \"About\",\n contact: \"Contact\"\n },\n common: {\n discoverFeatures: \"Discover all features\",\n close: \"Close\",\n loading: \"Loading...\"\n }\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9lbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDOEM7QUFDSztBQUNMO0FBQ0k7QUFDZTtBQUUxRCxNQUFNSyxLQUFrQjtJQUM3QkMsVUFBVTtRQUNSO1lBQ0VDLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ0csSUFBSTtZQUN2QkMsT0FBT1IsOERBQVFBO1lBQ2ZTLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ1EsS0FBSztZQUN4QkosT0FBT1Qsa0VBQVNBO1lBQ2hCVSxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtSLG1EQUFJQSxDQUFDTSxRQUFRLENBQUNTLE9BQU87WUFDMUJMLE9BQU9QLCtEQUFXQTtZQUNsQlEsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLUixtREFBSUEsQ0FBQ00sUUFBUSxDQUFDVSxHQUFHO1lBQ3RCTixPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ1csU0FBUztZQUM1QlAsT0FBT04sNEVBQWFBO1lBQ3BCTyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtSLG1EQUFJQSxDQUFDTSxRQUFRLENBQUNZLEtBQUs7WUFDeEJSLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLUixtREFBSUEsQ0FBQ00sUUFBUSxDQUFDYSxLQUFLO1lBQ3hCVCxPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ2MsS0FBSztZQUN4QlYsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7S0FDRDtJQUNEUSxNQUFNO1FBQ0pDLE9BQU87UUFDUEMsVUFBVTtRQUNWQyxLQUFLO0lBQ1A7SUFDQUMsWUFBWTtRQUNWQyxNQUFNO1FBQ05wQixVQUFVO1FBQ1ZxQixPQUFPO1FBQ1BDLFNBQVM7SUFDWDtJQUNBQyxRQUFRO1FBQ05DLGtCQUFrQjtRQUNsQkMsT0FBTztRQUNQQyxTQUFTO0lBQ1g7QUFDRixFQUFFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9lbi50cz82OGJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9pMThuJztcbmltcG9ydCB7IFVSTFMgfSBmcm9tICcuLi8uLi9jb25maWcvY29uc3RhbnRzJztcbmltcG9ydCBsb2dvR2l0ZWEgZnJvbSAnL3NyYy9hc3NldHMvR2l0ZWFfTG9nby5wbmcnO1xuaW1wb3J0IGxvZ29XaWtpIGZyb20gJy9zcmMvYXNzZXRzL3dpa2lqcy5wbmcnO1xuaW1wb3J0IGxvZ29QZWxpY2FuIGZyb20gJy9zcmMvYXNzZXRzL3BlbGljYW4ucG5nJztcbmltcG9ydCBsb2dvT3BlbmNsb3VkIGZyb20gJy9zcmMvYXNzZXRzL29wZW5jbG91ZF9sb2dvX3doaXRlLnBuZyc7XG5cbmV4cG9ydCBjb25zdCBlbjogVHJhbnNsYXRpb24gPSB7XG4gIHNlcnZpY2VzOiBbXG4gICAge1xuICAgICAgbmFtZTogXCJXaWtpXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMud2lraSxcbiAgICAgIGltYWdlOiBsb2dvV2lraSxcbiAgICAgIGljb246IFwi8J+TmlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiQ29sbGFib3JhdGl2ZSB0ZWNobmljYWwgZG9jdW1lbnRhdGlvbiBhbmQga25vd2xlZGdlIHNoYXJpbmcgcGxhdGZvcm0uIENyZWF0ZSwgZWRpdCBhbmQgb3JnYW5pemUgeW91ciBndWlkZXMsIHR1dG9yaWFscyBhbmQgZG9jdW1lbnRhdGlvbiBhcyBhIHRlYW0gd2l0aCBpbnRlZ3JhdGVkIHZlcnNpb25pbmcgc3lzdGVtLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJBZHZhbmNlZCBtYXJrZG93biBlZGl0b3Igd2l0aCByZWFsLXRpbWUgcHJldmlld1wiLFxuICAgICAgICBcIlZlcnNpb25pbmcgc3lzdGVtIHRvIHRyYWNrIGNoYW5nZXNcIixcbiAgICAgICAgXCJSZWFsLXRpbWUgY29sbGFib3JhdGlvbiB3aXRoIG11bHRpcGxlIGNvbnRyaWJ1dG9yc1wiLFxuICAgICAgICBcIlNtYXJ0IHNlYXJjaCBhY3Jvc3MgYWxsIGRvY3VtZW50c1wiLFxuICAgICAgICBcIlByZWRlZmluZWQgdGVtcGxhdGVzIGZvciBkaWZmZXJlbnQgZG9jdW1lbnRhdGlvbiB0eXBlc1wiLFxuICAgICAgICBcIkNvbW1lbnQgYW5kIHJldmlzaW9uIHN5c3RlbVwiLFxuICAgICAgICBcIlBERiBhbmQgSFRNTCBleHBvcnQgZm9yIGV4dGVybmFsIHNoYXJpbmdcIixcbiAgICAgICAgXCJHaXQgaW50ZWdyYXRpb24gZm9yIGJhY2t1cFwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkdpdGVhXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuZ2l0ZWEsXG4gICAgICBpbWFnZTogbG9nb0dpdGVhLFxuICAgICAgaWNvbjogXCLwn5SnXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMaWdodHdlaWdodCBhbmQgcGVyZm9ybWFudCBzZWxmLWhvc3RlZCBHaXQgc2VydmljZSBmb3IgeW91ciBkZXZlbG9wbWVudCBwcm9qZWN0cy4gT3Blbi1zb3VyY2UgYWx0ZXJuYXRpdmUgdG8gR2l0SHViIHdpdGggYWxsIGVzc2VudGlhbCBmZWF0dXJlcyBmb3IgbWFuYWdpbmcgeW91ciByZXBvc2l0b3JpZXMuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlVubGltaXRlZCBwdWJsaWMgYW5kIHByaXZhdGUgR2l0IHJlcG9zaXRvcmllc1wiLFxuICAgICAgICBcIkludHVpdGl2ZSB3ZWIgaW50ZXJmYWNlIGZvciBwcm9qZWN0IG1hbmFnZW1lbnRcIixcbiAgICAgICAgXCJJc3N1ZXMgYW5kIHB1bGwgcmVxdWVzdHMgd2l0aCByZXZpZXcgc3lzdGVtXCIsXG4gICAgICAgIFwiSW50ZWdyYXRlZCB3aWtpIGZvciBlYWNoIHByb2plY3RcIixcbiAgICAgICAgXCJDSS9DRCBhY3Rpb25zIGZvciBhdXRvbWF0aW9uXCIsXG4gICAgICAgIFwiRmluZS1ncmFpbmVkIHBlcm1pc3Npb25zIGFuZCB0ZWFtIG1hbmFnZW1lbnRcIixcbiAgICAgICAgXCJDb21wbGV0ZSBSRVNUIEFQSSBmb3IgaW50ZWdyYXRpb25cIixcbiAgICAgICAgXCJXZWJob29rcyBmb3IgZXh0ZXJuYWwgbm90aWZpY2F0aW9uc1wiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIlBlbGljYW5cIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5wZWxpY2FuLFxuICAgICAgaW1hZ2U6IGxvZ29QZWxpY2FuLFxuICAgICAgaWNvbjogXCLwn5CnXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJHYW1lIHNlcnZlciBtYW5hZ2VtZW50IHdpdGggZGVkaWNhdGVkIHNlcnZlcnMgKE1pbmVjcmFmdCwgQ1MyLCBQYWx3b3JsZCwgYW5kIG1hbnkgb3RoZXJzKVwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJPbmUtY2xpY2sgZGVwbG95bWVudCB3aXRoIHByZS1jb25maWd1cmVkIHRlbXBsYXRlc1wiLFxuICAgICAgICBcIlJlYWwtdGltZSBhZG1pbmlzdHJhdGlvbiBjb25zb2xlXCIsXG4gICAgICAgIFwiRmlsZSBtYW5hZ2VtZW50IHdpdGggaW50ZWdyYXRlZCBlZGl0b3JcIixcbiAgICAgICAgXCJQZXJmb3JtYW5jZSBhbmQgcmVzb3VyY2UgbW9uaXRvcmluZ1wiLFxuICAgICAgICBcIkF1dG9tYXRpYyBiYWNrdXAgc3lzdGVtXCIsXG4gICAgICAgIFwiQXV0b21hdGVkIHRhc2sgc2NoZWR1bGVyXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiUGFzc3dvcmQgQ2hhbmdlXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuc3NwLFxuICAgICAgaW1hZ2U6IFwiL3BhdGgvdG8vc3NwLWltYWdlLmpwZ1wiLFxuICAgICAgaWNvbjogXCLwn5SQXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZWN1cmUgaW50ZXJmYWNlIGZvciBhdXRvbm9tb3VzIHBhc3N3b3JkIG1hbmFnZW1lbnQuIEVhc2lseSBjaGFuZ2UgeW91ciBjcmVkZW50aWFscyBzYWZlbHkuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlNlY3VyZSBpbnRlcmZhY2UgdG8gY2hhbmdlIHlvdXIgcGFzc3dvcmRcIixcbiAgICAgICAgXCJQYXNzd29yZCBjb21wbGV4aXR5IHZhbGlkYXRpb25cIixcbiAgICAgICAgXCJFbWFpbCBub3RpZmljYXRpb25zIG9mIGNoYW5nZXNcIixcbiAgICAgICAgXCJNb2RpZmljYXRpb24gaGlzdG9yeVwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIk9wZW5DbG91ZFwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLm9wZW5jbG91ZCxcbiAgICAgIGltYWdlOiBsb2dvT3BlbmNsb3VkLFxuICAgICAgaWNvbjogXCLimIHvuI9cIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk9wZW4tc291cmNlIGNvbGxhYm9yYXRpdmUgY2xvdWQgcGxhdGZvcm0gZm9yIGZpbGUgc3RvcmFnZSwgc2hhcmluZyBhbmQgc3luY2hyb25pemF0aW9uLiBGcmVlIGFsdGVybmF0aXZlIHRvIEdvb2dsZSBEcml2ZSB3aXRoIGZ1bGwgY29udHJvbCBvdmVyIHlvdXIgZGF0YS5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiU2VjdXJlIGFuZCBlbmNyeXB0ZWQgY2xvdWQgc3RvcmFnZVwiLFxuICAgICAgICBcIk11bHRpLWRldmljZSBzeW5jaHJvbml6YXRpb25cIixcbiAgICAgICAgXCJGaWxlIHNoYXJpbmcgd2l0aCBzZWN1cmUgbGlua3NcIixcbiAgICAgICAgXCJDb2xsYWJvcmF0aXZlIGRvY3VtZW50IGVkaXRpbmdcIixcbiAgICAgICAgXCJBdXRvbWF0aWMgZmlsZSB2ZXJzaW9uaW5nXCIsXG4gICAgICAgIFwiTmF0aXZlIG1vYmlsZSBhcHBsaWNhdGlvbnNcIixcbiAgICAgICAgXCJJbnRlZ3JhdGlvbiB3aXRoIGV4dGVybmFsIHRvb2xzXCIsXG4gICAgICAgIFwiR2VvLXJlZHVuZGFudCBkYXRhIGJhY2t1cFwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkludHJhbmV0XCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuaW50cmEsXG4gICAgICBpbWFnZTogXCIvcGF0aC90by9pbnRyYS1pbWFnZS5qcGdcIixcbiAgICAgIGljb246IFwi8J+PolwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU2VjdXJlIHByaXZhdGUgc3BhY2UgZm9yIHRoZSBhc3NvY2lhdGlvbiB0byBjZW50cmFsaXplIGludGVybmFsIHJlc291cmNlcywgY29tbXVuaWNhdGlvbnMgYW5kIGNvbGxhYm9yYXRpb24gdG9vbHMgYmV0d2VlbiBtZW1iZXJzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJQZXJzb25hbGl6ZWQgZGFzaGJvYXJkIGZvciBlYWNoIG1lbWJlclwiLFxuICAgICAgICBcIkV2ZW50IGFuZCBtZWV0aW5nIGNhbGVuZGFyXCIsXG4gICAgICAgIFwiU2VjdXJlIGZpbGUgc2hhcmluZ1wiLFxuICAgICAgICBcIlByaXZhdGUgZGlzY3Vzc2lvbiBmb3J1bXNcIixcbiAgICAgICAgXCJNZW1iZXIgZGlyZWN0b3J5IHdpdGggcHJvZmlsZXNcIixcbiAgICAgICAgXCJJbnRlcm5hbCBub3RpZmljYXRpb24gc3lzdGVtXCIsXG4gICAgICAgIFwiUHJvamVjdCBhbmQgdGFzayBtYW5hZ2VtZW50XCIsXG4gICAgICAgIFwiQXJjaGl2ZSBvZiBkZWNpc2lvbnMgYW5kIG1pbnV0ZXNcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJHYW1pbmcgUGFuZWxcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5wYW5lbCxcbiAgICAgIGltYWdlOiBcIi9wYXRoL3RvL3BhbmVsLWltYWdlLmpwZ1wiLFxuICAgICAgaWNvbjogXCLwn46uXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJDZW50cmFsaXplZCBtYW5hZ2VtZW50IGludGVyZmFjZSBmb3IgYWxsIHlvdXIgZ2FtZSBzZXJ2ZXJzLiBFYXNpbHkgZGVwbG95LCBjb25maWd1cmUgYW5kIG1vbml0b3IgeW91ciBNaW5lY3JhZnQsIENTMiwgR2FycnkncyBNb2QgYW5kIG1hbnkgb3RoZXIgc2VydmVycy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiU3VwcG9ydCBmb3IgMjArIHBvcHVsYXIgZ2FtZXMgKE1pbmVjcmFmdCwgQ1MyLCBHTW9kLi4uKVwiLFxuICAgICAgICBcIk9uZS1jbGljayBkZXBsb3ltZW50IHdpdGggcHJlLWNvbmZpZ3VyZWQgdGVtcGxhdGVzXCIsXG4gICAgICAgIFwiUmVhbC10aW1lIGFkbWluaXN0cmF0aW9uIGNvbnNvbGVcIixcbiAgICAgICAgXCJGaWxlIG1hbmFnZW1lbnQgd2l0aCBpbnRlZ3JhdGVkIGVkaXRvclwiLFxuICAgICAgICBcIlBlcmZvcm1hbmNlIGFuZCByZXNvdXJjZSBtb25pdG9yaW5nXCIsXG4gICAgICAgIFwiQXV0b21hdGljIGJhY2t1cCBzeXN0ZW1cIixcbiAgICAgICAgXCJBdXRvbWF0ZWQgdGFzayBzY2hlZHVsZXJcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJNYWlsc1wiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLm1haWxzLFxuICAgICAgaW1hZ2U6IFwiL3BhdGgvdG8vbWFpbHMtaW1hZ2UuanBnXCIsXG4gICAgICBpY29uOiBcIvCfk6dcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlByb2Zlc3Npb25hbCBlbWFpbCBzZXJ2aWNlIHdpdGggbW9kZXJuIHdlYiBpbnRlcmZhY2UuIEJlbmVmaXQgZnJvbSBhIHBlcnNvbmFsaXplZCBAbGEtYmFucXVpc2UuZnIgZW1haWwgYWRkcmVzcyB3aXRoIGFsbCBhZHZhbmNlZCBmZWF0dXJlcy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiUGVyc29uYWxpemVkIEBsYS1iYW5xdWlzZS5mciBlbWFpbCBhZGRyZXNzZXNcIixcbiAgICAgICAgXCJNb2Rlcm4gYW5kIHJlc3BvbnNpdmUgd2VibWFpbCBpbnRlcmZhY2VcIixcbiAgICAgICAgXCJJbnRlZ3JhdGVkIGFudGktc3BhbSBhbmQgYW50aXZpcnVzIGZpbHRlcnNcIixcbiAgICAgICAgXCJTeW5jaHJvbml6ZWQgY29udGFjdHMgYW5kIGNhbGVuZGFyXCIsXG4gICAgICAgIFwiSU1BUC9TTVRQIHN1cHBvcnQgZm9yIGV4dGVybmFsIGNsaWVudHNcIixcbiAgICAgICAgXCJHZW5lcm91cyBzdG9yYWdlIHdpdGggYXJjaGl2aW5nXCIsXG4gICAgICAgIFwiQ29tbXVuaWNhdGlvbiBlbmNyeXB0aW9uXCIsXG4gICAgICAgIFwiQXV0b21hdGljIGRhdGEgYmFja3VwXCJcbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIGhlcm86IHtcbiAgICB0aXRsZTogXCJXZWxjb21lIHRvIExhIEJhbnF1aXNlXCIsXG4gICAgc3VidGl0bGU6IFwiSG9zdGluZyBwcm92aWRlciwgZm9yIHN0dWRlbnRzLCBieSBzdHVkZW50cy5cIixcbiAgICBjdGE6IFwiRGlzY292ZXIgb3VyIHNlcnZpY2VzXCJcbiAgfSxcbiAgbmF2aWdhdGlvbjoge1xuICAgIGhvbWU6IFwiSG9tZVwiLFxuICAgIHNlcnZpY2VzOiBcIlNlcnZpY2VzXCIsXG4gICAgYWJvdXQ6IFwiQWJvdXRcIixcbiAgICBjb250YWN0OiBcIkNvbnRhY3RcIlxuICB9LFxuICBjb21tb246IHtcbiAgICBkaXNjb3ZlckZlYXR1cmVzOiBcIkRpc2NvdmVyIGFsbCBmZWF0dXJlc1wiLFxuICAgIGNsb3NlOiBcIkNsb3NlXCIsXG4gICAgbG9hZGluZzogXCJMb2FkaW5nLi4uXCJcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJVUkxTIiwibG9nb0dpdGVhIiwibG9nb1dpa2kiLCJsb2dvUGVsaWNhbiIsImxvZ29PcGVuY2xvdWQiLCJlbiIsInNlcnZpY2VzIiwibmFtZSIsInVybCIsIndpa2kiLCJpbWFnZSIsImljb24iLCJkZXNjcmlwdGlvbiIsImZlYXR1cmVzIiwiZ2l0ZWEiLCJwZWxpY2FuIiwic3NwIiwib3BlbmNsb3VkIiwiaW50cmEiLCJwYW5lbCIsIm1haWxzIiwiaGVybyIsInRpdGxlIiwic3VidGl0bGUiLCJjdGEiLCJuYXZpZ2F0aW9uIiwiaG9tZSIsImFib3V0IiwiY29udGFjdCIsImNvbW1vbiIsImRpc2NvdmVyRmVhdHVyZXMiLCJjbG9zZSIsImxvYWRpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/data/translations/en.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/data/translations/fr.ts":
/*!*************************************!*\
!*** ./src/data/translations/fr.ts ***!
\*************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fr: function() { return /* binding */ fr; }\n/* harmony export */ });\n/* harmony import */ var _config_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../config/constants */ \"(app-pages-browser)/./src/config/constants.ts\");\n/* harmony import */ var _src_assets_Gitea_Logo_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../src/assets/Gitea_Logo.png */ \"(app-pages-browser)/./src/assets/Gitea_Logo.png\");\n/* harmony import */ var _src_assets_wikijs_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../src/assets/wikijs.png */ \"(app-pages-browser)/./src/assets/wikijs.png\");\n/* harmony import */ var _src_assets_pelican_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../src/assets/pelican.png */ \"(app-pages-browser)/./src/assets/pelican.png\");\n/* harmony import */ var _src_assets_opencloud_logo_white_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../src/assets/opencloud_logo_white.png */ \"(app-pages-browser)/./src/assets/opencloud_logo_white.png\");\n\n\n\n\n\nconst fr = {\n services: [\n {\n name: \"Wiki\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.wiki,\n image: _src_assets_wikijs_png__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n icon: \"\\uD83D\\uDCDA\",\n description: \"Plateforme collaborative de documentation technique et de partage de connaissances. Cr\\xe9ez, modifiez et organisez vos guides, tutoriels et documentations en \\xe9quipe avec un syst\\xe8me de versioning int\\xe9gr\\xe9.\",\n features: [\n \"\\xc9diteur markdown avanc\\xe9 avec pr\\xe9visualisation en temps r\\xe9el\",\n \"Syst\\xe8me de versioning pour suivre les modifications\",\n \"Collaboration en temps r\\xe9el avec plusieurs contributeurs\",\n \"Recherche intelligente dans tous les documents\",\n \"Templates pr\\xe9d\\xe9finis pour diff\\xe9rents types de documentation\",\n \"Syst\\xe8me de commentaires et de r\\xe9visions\",\n \"Export PDF et HTML pour partage externe\",\n \"Int\\xe9gration avec Git pour la sauvegarde\"\n ]\n },\n {\n name: \"Gitea\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.gitea,\n image: _src_assets_Gitea_Logo_png__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n icon: \"\\uD83D\\uDD27\",\n description: \"Service Git auto-h\\xe9berg\\xe9 lightweight et performant pour vos projets de d\\xe9veloppement. Alternative open-source \\xe0 GitHub avec toutes les fonctionnalit\\xe9s essentielles pour g\\xe9rer vos repositories.\",\n features: [\n \"Repositories Git illimit\\xe9s publics et priv\\xe9s\",\n \"Interface web intuitive pour la gestion des projets\",\n \"Issues et pull requests avec syst\\xe8me de review\",\n \"Wiki int\\xe9gr\\xe9 pour chaque projet\",\n \"Actions CI/CD pour l'automatisation\",\n \"Gestion fine des permissions et des \\xe9quipes\",\n \"API REST compl\\xe8te pour l'int\\xe9gration\",\n \"Webhooks pour les notifications externes\"\n ]\n },\n {\n name: \"Pelican\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.pelican,\n image: _src_assets_pelican_png__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n icon: \"\\uD83D\\uDC27\",\n description: \"Gestion de serveurs de jeux avec serveurs d\\xe9di\\xe9s (Minecraft, CS2, Palworld, et bien d'autres)\",\n features: [\n \"D\\xe9ploiement en un clic avec templates pr\\xe9configur\\xe9s\",\n \"Console d'administration en temps r\\xe9el\",\n \"Gestion des fichiers avec \\xe9diteur int\\xe9gr\\xe9\",\n \"Monitoring des performances et ressources\",\n \"Syst\\xe8me de sauvegarde automatique\",\n \"Planificateur de t\\xe2ches automatis\\xe9es\"\n ]\n },\n {\n name: \"Changement de mot de passe\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.ssp,\n image: \"/path/to/ssp-image.jpg\",\n icon: \"\\uD83D\\uDD10\",\n description: \"Interface s\\xe9curis\\xe9e pour la gestion autonome de vos mots de passe. Changez facilement vos identifiants en toute s\\xe9curit\\xe9.\",\n features: [\n \"Interface s\\xe9curis\\xe9e pour changer votre mot de passe\",\n \"Validation de la complexit\\xe9 des mots de passe\",\n \"Notifications par email des changements\",\n \"Historique des modifications\"\n ]\n },\n {\n name: \"OpenCloud\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.opencloud,\n image: _src_assets_opencloud_logo_white_png__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n icon: \"☁️\",\n description: \"Plateforme cloud collaborative open-source pour le stockage, le partage et la synchronisation de fichiers. Alternative libre \\xe0 Google Drive avec contr\\xf4le total sur vos donn\\xe9es.\",\n features: [\n \"Stockage cloud s\\xe9curis\\xe9 et chiffr\\xe9\",\n \"Synchronisation multi-appareils\",\n \"Partage de fichiers avec liens s\\xe9curis\\xe9s\",\n \"\\xc9dition collaborative de documents\",\n \"Versioning automatique des fichiers\",\n \"Applications mobiles natives\",\n \"Int\\xe9gration avec outils externes\",\n \"Sauvegarde g\\xe9oredondante des donn\\xe9es\"\n ]\n },\n {\n name: \"Intranet\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.intra,\n image: \"/path/to/intra-image.jpg\",\n icon: \"\\uD83C\\uDFE2\",\n description: \"Espace priv\\xe9 s\\xe9curis\\xe9 de l'association pour centraliser les ressources internes, communications et outils de collaboration entre membres.\",\n features: [\n \"Tableau de bord personnalis\\xe9 pour chaque membre\",\n \"Calendrier des \\xe9v\\xe9nements et r\\xe9unions\",\n \"Partage de fichiers s\\xe9curis\\xe9\",\n \"Forums de discussion priv\\xe9s\",\n \"Annuaire des membres avec profils\",\n \"Syst\\xe8me de notifications internes\",\n \"Gestion des projets et t\\xe2ches\",\n \"Archive des d\\xe9cisions et proc\\xe8s-verbaux\"\n ]\n },\n {\n name: \"Panel Gaming\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.panel,\n image: \"/path/to/panel-image.jpg\",\n icon: \"\\uD83C\\uDFAE\",\n description: \"Interface de gestion centralis\\xe9e pour tous vos serveurs de jeux. D\\xe9ployez, configurez et surveillez facilement vos serveurs Minecraft, CS2, Garry's Mod et bien d'autres.\",\n features: [\n \"Support de 20+ jeux populaires (Minecraft, CS2, GMod...)\",\n \"D\\xe9ploiement en un clic avec templates pr\\xe9configur\\xe9s\",\n \"Console d'administration en temps r\\xe9el\",\n \"Gestion des fichiers avec \\xe9diteur int\\xe9gr\\xe9\",\n \"Monitoring des performances et ressources\",\n \"Syst\\xe8me de sauvegarde automatique\",\n \"Planificateur de t\\xe2ches automatis\\xe9es\"\n ]\n },\n {\n name: \"Mails\",\n url: _config_constants__WEBPACK_IMPORTED_MODULE_0__.URLS.services.mails,\n image: \"/path/to/mails-image.jpg\",\n icon: \"\\uD83D\\uDCE7\",\n description: \"Service de messagerie \\xe9lectronique professionnel avec interface web moderne. B\\xe9n\\xe9ficiez d'une adresse email personnalis\\xe9e @la-banquise.fr avec toutes les fonctionnalit\\xe9s avanc\\xe9es.\",\n features: [\n \"Adresses email personnalis\\xe9es @la-banquise.fr\",\n \"Interface webmail moderne et responsive\",\n \"Filtres anti-spam et antivirus int\\xe9gr\\xe9s\",\n \"Contacts et calendrier synchronis\\xe9s\",\n \"Support IMAP/SMTP pour clients externes\",\n \"Stockage g\\xe9n\\xe9reux avec archivage\",\n \"Chiffrement des communications\",\n \"Sauvegarde automatique des donn\\xe9es\"\n ]\n }\n ],\n hero: {\n title: \"Bienvenue chez La Banquise\",\n subtitle: \"H\\xe9bergeur, pour les \\xe9tudiants, par des \\xe9tudiants.\",\n cta: \"D\\xe9couvrir nos services\"\n },\n navigation: {\n home: \"Accueil\",\n services: \"Services\",\n about: \"\\xc0 propos\",\n contact: \"Contact\"\n },\n common: {\n discoverFeatures: \"D\\xe9couvrir toutes les fonctionnalit\\xe9s\",\n close: \"Fermer\",\n loading: \"Chargement...\"\n }\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9mci50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDOEM7QUFDSztBQUNMO0FBQ0k7QUFDZTtBQUUxRCxNQUFNSyxLQUFrQjtJQUM3QkMsVUFBVTtRQUNSO1lBQ0VDLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ0csSUFBSTtZQUN2QkMsT0FBT1IsOERBQVFBO1lBQ2ZTLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ1EsS0FBSztZQUN4QkosT0FBT1Qsa0VBQVNBO1lBQ2hCVSxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtSLG1EQUFJQSxDQUFDTSxRQUFRLENBQUNTLE9BQU87WUFDMUJMLE9BQU9QLCtEQUFXQTtZQUNsQlEsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLUixtREFBSUEsQ0FBQ00sUUFBUSxDQUFDVSxHQUFHO1lBQ3RCTixPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ1csU0FBUztZQUM1QlAsT0FBT04sNEVBQWFBO1lBQ3BCTyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7UUFDQTtZQUNFTixNQUFNO1lBQ05DLEtBQUtSLG1EQUFJQSxDQUFDTSxRQUFRLENBQUNZLEtBQUs7WUFDeEJSLE9BQU87WUFDUEMsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLFVBQVU7Z0JBQ1I7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7YUFDRDtRQUNIO1FBQ0E7WUFDRU4sTUFBTTtZQUNOQyxLQUFLUixtREFBSUEsQ0FBQ00sUUFBUSxDQUFDYSxLQUFLO1lBQ3hCVCxPQUFPO1lBQ1BDLE1BQU07WUFDTkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNSO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0Q7UUFDSDtRQUNBO1lBQ0VOLE1BQU07WUFDTkMsS0FBS1IsbURBQUlBLENBQUNNLFFBQVEsQ0FBQ2MsS0FBSztZQUN4QlYsT0FBTztZQUNQQyxNQUFNO1lBQ05DLGFBQWE7WUFDYkMsVUFBVTtnQkFDUjtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTthQUNEO1FBQ0g7S0FDRDtJQUNEUSxNQUFNO1FBQ0pDLE9BQU87UUFDUEMsVUFBVTtRQUNWQyxLQUFLO0lBQ1A7SUFDQUMsWUFBWTtRQUNWQyxNQUFNO1FBQ05wQixVQUFVO1FBQ1ZxQixPQUFPO1FBQ1BDLFNBQVM7SUFDWDtJQUNBQyxRQUFRO1FBQ05DLGtCQUFrQjtRQUNsQkMsT0FBTztRQUNQQyxTQUFTO0lBQ1g7QUFDRixFQUFFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9mci50cz82ZmYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9pMThuJztcbmltcG9ydCB7IFVSTFMgfSBmcm9tICcuLi8uLi9jb25maWcvY29uc3RhbnRzJztcbmltcG9ydCBsb2dvR2l0ZWEgZnJvbSAnL3NyYy9hc3NldHMvR2l0ZWFfTG9nby5wbmcnO1xuaW1wb3J0IGxvZ29XaWtpIGZyb20gJy9zcmMvYXNzZXRzL3dpa2lqcy5wbmcnO1xuaW1wb3J0IGxvZ29QZWxpY2FuIGZyb20gJy9zcmMvYXNzZXRzL3BlbGljYW4ucG5nJztcbmltcG9ydCBsb2dvT3BlbmNsb3VkIGZyb20gJy9zcmMvYXNzZXRzL29wZW5jbG91ZF9sb2dvX3doaXRlLnBuZyc7XG5cbmV4cG9ydCBjb25zdCBmcjogVHJhbnNsYXRpb24gPSB7XG4gIHNlcnZpY2VzOiBbXG4gICAge1xuICAgICAgbmFtZTogXCJXaWtpXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMud2lraSxcbiAgICAgIGltYWdlOiBsb2dvV2lraSxcbiAgICAgIGljb246IFwi8J+TmlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUGxhdGVmb3JtZSBjb2xsYWJvcmF0aXZlIGRlIGRvY3VtZW50YXRpb24gdGVjaG5pcXVlIGV0IGRlIHBhcnRhZ2UgZGUgY29ubmFpc3NhbmNlcy4gQ3LDqWV6LCBtb2RpZmlleiBldCBvcmdhbmlzZXogdm9zIGd1aWRlcywgdHV0b3JpZWxzIGV0IGRvY3VtZW50YXRpb25zIGVuIMOpcXVpcGUgYXZlYyB1biBzeXN0w6htZSBkZSB2ZXJzaW9uaW5nIGludMOpZ3LDqS5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiw4lkaXRldXIgbWFya2Rvd24gYXZhbmPDqSBhdmVjIHByw6l2aXN1YWxpc2F0aW9uIGVuIHRlbXBzIHLDqWVsXCIsXG4gICAgICAgIFwiU3lzdMOobWUgZGUgdmVyc2lvbmluZyBwb3VyIHN1aXZyZSBsZXMgbW9kaWZpY2F0aW9uc1wiLFxuICAgICAgICBcIkNvbGxhYm9yYXRpb24gZW4gdGVtcHMgcsOpZWwgYXZlYyBwbHVzaWV1cnMgY29udHJpYnV0ZXVyc1wiLFxuICAgICAgICBcIlJlY2hlcmNoZSBpbnRlbGxpZ2VudGUgZGFucyB0b3VzIGxlcyBkb2N1bWVudHNcIixcbiAgICAgICAgXCJUZW1wbGF0ZXMgcHLDqWTDqWZpbmlzIHBvdXIgZGlmZsOpcmVudHMgdHlwZXMgZGUgZG9jdW1lbnRhdGlvblwiLFxuICAgICAgICBcIlN5c3TDqG1lIGRlIGNvbW1lbnRhaXJlcyBldCBkZSByw6l2aXNpb25zXCIsXG4gICAgICAgIFwiRXhwb3J0IFBERiBldCBIVE1MIHBvdXIgcGFydGFnZSBleHRlcm5lXCIsXG4gICAgICAgIFwiSW50w6lncmF0aW9uIGF2ZWMgR2l0IHBvdXIgbGEgc2F1dmVnYXJkZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIkdpdGVhXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMuZ2l0ZWEsXG4gICAgICBpbWFnZTogbG9nb0dpdGVhLFxuICAgICAgaWNvbjogXCLwn5SnXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZXJ2aWNlIEdpdCBhdXRvLWjDqWJlcmfDqSBsaWdodHdlaWdodCBldCBwZXJmb3JtYW50IHBvdXIgdm9zIHByb2pldHMgZGUgZMOpdmVsb3BwZW1lbnQuIEFsdGVybmF0aXZlIG9wZW4tc291cmNlIMOgIEdpdEh1YiBhdmVjIHRvdXRlcyBsZXMgZm9uY3Rpb25uYWxpdMOpcyBlc3NlbnRpZWxsZXMgcG91ciBnw6lyZXIgdm9zIHJlcG9zaXRvcmllcy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiUmVwb3NpdG9yaWVzIEdpdCBpbGxpbWl0w6lzIHB1YmxpY3MgZXQgcHJpdsOpc1wiLFxuICAgICAgICBcIkludGVyZmFjZSB3ZWIgaW50dWl0aXZlIHBvdXIgbGEgZ2VzdGlvbiBkZXMgcHJvamV0c1wiLFxuICAgICAgICBcIklzc3VlcyBldCBwdWxsIHJlcXVlc3RzIGF2ZWMgc3lzdMOobWUgZGUgcmV2aWV3XCIsXG4gICAgICAgIFwiV2lraSBpbnTDqWdyw6kgcG91ciBjaGFxdWUgcHJvamV0XCIsXG4gICAgICAgIFwiQWN0aW9ucyBDSS9DRCBwb3VyIGwnYXV0b21hdGlzYXRpb25cIixcbiAgICAgICAgXCJHZXN0aW9uIGZpbmUgZGVzIHBlcm1pc3Npb25zIGV0IGRlcyDDqXF1aXBlc1wiLFxuICAgICAgICBcIkFQSSBSRVNUIGNvbXBsw6h0ZSBwb3VyIGwnaW50w6lncmF0aW9uXCIsXG4gICAgICAgIFwiV2ViaG9va3MgcG91ciBsZXMgbm90aWZpY2F0aW9ucyBleHRlcm5lc1wiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIlBlbGljYW5cIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5wZWxpY2FuLFxuICAgICAgaW1hZ2U6IGxvZ29QZWxpY2FuLFxuICAgICAgaWNvbjogXCLwn5CnXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJHZXN0aW9uIGRlIHNlcnZldXJzIGRlIGpldXggYXZlYyBzZXJ2ZXVycyBkw6lkacOpcyAoTWluZWNyYWZ0LCBDUzIsIFBhbHdvcmxkLCBldCBiaWVuIGQnYXV0cmVzKVwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJEw6lwbG9pZW1lbnQgZW4gdW4gY2xpYyBhdmVjIHRlbXBsYXRlcyBwcsOpY29uZmlndXLDqXNcIixcbiAgICAgICAgXCJDb25zb2xlIGQnYWRtaW5pc3RyYXRpb24gZW4gdGVtcHMgcsOpZWxcIixcbiAgICAgICAgXCJHZXN0aW9uIGRlcyBmaWNoaWVycyBhdmVjIMOpZGl0ZXVyIGludMOpZ3LDqVwiLFxuICAgICAgICBcIk1vbml0b3JpbmcgZGVzIHBlcmZvcm1hbmNlcyBldCByZXNzb3VyY2VzXCIsXG4gICAgICAgIFwiU3lzdMOobWUgZGUgc2F1dmVnYXJkZSBhdXRvbWF0aXF1ZVwiLFxuICAgICAgICBcIlBsYW5pZmljYXRldXIgZGUgdMOiY2hlcyBhdXRvbWF0aXPDqWVzXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiQ2hhbmdlbWVudCBkZSBtb3QgZGUgcGFzc2VcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5zc3AsXG4gICAgICBpbWFnZTogXCIvcGF0aC90by9zc3AtaW1hZ2UuanBnXCIsXG4gICAgICBpY29uOiBcIvCflJBcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkludGVyZmFjZSBzw6ljdXJpc8OpZSBwb3VyIGxhIGdlc3Rpb24gYXV0b25vbWUgZGUgdm9zIG1vdHMgZGUgcGFzc2UuIENoYW5nZXogZmFjaWxlbWVudCB2b3MgaWRlbnRpZmlhbnRzIGVuIHRvdXRlIHPDqWN1cml0w6kuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIkludGVyZmFjZSBzw6ljdXJpc8OpZSBwb3VyIGNoYW5nZXIgdm90cmUgbW90IGRlIHBhc3NlXCIsXG4gICAgICAgIFwiVmFsaWRhdGlvbiBkZSBsYSBjb21wbGV4aXTDqSBkZXMgbW90cyBkZSBwYXNzZVwiLFxuICAgICAgICBcIk5vdGlmaWNhdGlvbnMgcGFyIGVtYWlsIGRlcyBjaGFuZ2VtZW50c1wiLFxuICAgICAgICBcIkhpc3RvcmlxdWUgZGVzIG1vZGlmaWNhdGlvbnNcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJPcGVuQ2xvdWRcIixcbiAgICAgIHVybDogVVJMUy5zZXJ2aWNlcy5vcGVuY2xvdWQsXG4gICAgICBpbWFnZTogbG9nb09wZW5jbG91ZCxcbiAgICAgIGljb246IFwi4piB77iPXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJQbGF0ZWZvcm1lIGNsb3VkIGNvbGxhYm9yYXRpdmUgb3Blbi1zb3VyY2UgcG91ciBsZSBzdG9ja2FnZSwgbGUgcGFydGFnZSBldCBsYSBzeW5jaHJvbmlzYXRpb24gZGUgZmljaGllcnMuIEFsdGVybmF0aXZlIGxpYnJlIMOgIEdvb2dsZSBEcml2ZSBhdmVjIGNvbnRyw7RsZSB0b3RhbCBzdXIgdm9zIGRvbm7DqWVzLlwiLFxuICAgICAgZmVhdHVyZXM6IFtcbiAgICAgICAgXCJTdG9ja2FnZSBjbG91ZCBzw6ljdXJpc8OpIGV0IGNoaWZmcsOpXCIsXG4gICAgICAgIFwiU3luY2hyb25pc2F0aW9uIG11bHRpLWFwcGFyZWlsc1wiLFxuICAgICAgICBcIlBhcnRhZ2UgZGUgZmljaGllcnMgYXZlYyBsaWVucyBzw6ljdXJpc8Opc1wiLFxuICAgICAgICBcIsOJZGl0aW9uIGNvbGxhYm9yYXRpdmUgZGUgZG9jdW1lbnRzXCIsXG4gICAgICAgIFwiVmVyc2lvbmluZyBhdXRvbWF0aXF1ZSBkZXMgZmljaGllcnNcIixcbiAgICAgICAgXCJBcHBsaWNhdGlvbnMgbW9iaWxlcyBuYXRpdmVzXCIsXG4gICAgICAgIFwiSW50w6lncmF0aW9uIGF2ZWMgb3V0aWxzIGV4dGVybmVzXCIsXG4gICAgICAgIFwiU2F1dmVnYXJkZSBnw6lvcmVkb25kYW50ZSBkZXMgZG9ubsOpZXNcIlxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJJbnRyYW5ldFwiLFxuICAgICAgdXJsOiBVUkxTLnNlcnZpY2VzLmludHJhLFxuICAgICAgaW1hZ2U6IFwiL3BhdGgvdG8vaW50cmEtaW1hZ2UuanBnXCIsXG4gICAgICBpY29uOiBcIvCfj6JcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkVzcGFjZSBwcml2w6kgc8OpY3VyaXPDqSBkZSBsJ2Fzc29jaWF0aW9uIHBvdXIgY2VudHJhbGlzZXIgbGVzIHJlc3NvdXJjZXMgaW50ZXJuZXMsIGNvbW11bmljYXRpb25zIGV0IG91dGlscyBkZSBjb2xsYWJvcmF0aW9uIGVudHJlIG1lbWJyZXMuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlRhYmxlYXUgZGUgYm9yZCBwZXJzb25uYWxpc8OpIHBvdXIgY2hhcXVlIG1lbWJyZVwiLFxuICAgICAgICBcIkNhbGVuZHJpZXIgZGVzIMOpdsOpbmVtZW50cyBldCByw6l1bmlvbnNcIixcbiAgICAgICAgXCJQYXJ0YWdlIGRlIGZpY2hpZXJzIHPDqWN1cmlzw6lcIixcbiAgICAgICAgXCJGb3J1bXMgZGUgZGlzY3Vzc2lvbiBwcml2w6lzXCIsXG4gICAgICAgIFwiQW5udWFpcmUgZGVzIG1lbWJyZXMgYXZlYyBwcm9maWxzXCIsXG4gICAgICAgIFwiU3lzdMOobWUgZGUgbm90aWZpY2F0aW9ucyBpbnRlcm5lc1wiLFxuICAgICAgICBcIkdlc3Rpb24gZGVzIHByb2pldHMgZXQgdMOiY2hlc1wiLFxuICAgICAgICBcIkFyY2hpdmUgZGVzIGTDqWNpc2lvbnMgZXQgcHJvY8Oocy12ZXJiYXV4XCJcbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiUGFuZWwgR2FtaW5nXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMucGFuZWwsXG4gICAgICBpbWFnZTogXCIvcGF0aC90by9wYW5lbC1pbWFnZS5qcGdcIixcbiAgICAgIGljb246IFwi8J+OrlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiSW50ZXJmYWNlIGRlIGdlc3Rpb24gY2VudHJhbGlzw6llIHBvdXIgdG91cyB2b3Mgc2VydmV1cnMgZGUgamV1eC4gRMOpcGxveWV6LCBjb25maWd1cmV6IGV0IHN1cnZlaWxsZXogZmFjaWxlbWVudCB2b3Mgc2VydmV1cnMgTWluZWNyYWZ0LCBDUzIsIEdhcnJ5J3MgTW9kIGV0IGJpZW4gZCdhdXRyZXMuXCIsXG4gICAgICBmZWF0dXJlczogW1xuICAgICAgICBcIlN1cHBvcnQgZGUgMjArIGpldXggcG9wdWxhaXJlcyAoTWluZWNyYWZ0LCBDUzIsIEdNb2QuLi4pXCIsXG4gICAgICAgIFwiRMOpcGxvaWVtZW50IGVuIHVuIGNsaWMgYXZlYyB0ZW1wbGF0ZXMgcHLDqWNvbmZpZ3Vyw6lzXCIsXG4gICAgICAgIFwiQ29uc29sZSBkJ2FkbWluaXN0cmF0aW9uIGVuIHRlbXBzIHLDqWVsXCIsXG4gICAgICAgIFwiR2VzdGlvbiBkZXMgZmljaGllcnMgYXZlYyDDqWRpdGV1ciBpbnTDqWdyw6lcIixcbiAgICAgICAgXCJNb25pdG9yaW5nIGRlcyBwZXJmb3JtYW5jZXMgZXQgcmVzc291cmNlc1wiLFxuICAgICAgICBcIlN5c3TDqG1lIGRlIHNhdXZlZ2FyZGUgYXV0b21hdGlxdWVcIixcbiAgICAgICAgXCJQbGFuaWZpY2F0ZXVyIGRlIHTDomNoZXMgYXV0b21hdGlzw6llc1wiXG4gICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcIk1haWxzXCIsXG4gICAgICB1cmw6IFVSTFMuc2VydmljZXMubWFpbHMsXG4gICAgICBpbWFnZTogXCIvcGF0aC90by9tYWlscy1pbWFnZS5qcGdcIixcbiAgICAgIGljb246IFwi8J+Tp1wiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU2VydmljZSBkZSBtZXNzYWdlcmllIMOpbGVjdHJvbmlxdWUgcHJvZmVzc2lvbm5lbCBhdmVjIGludGVyZmFjZSB3ZWIgbW9kZXJuZS4gQsOpbsOpZmljaWV6IGQndW5lIGFkcmVzc2UgZW1haWwgcGVyc29ubmFsaXPDqWUgQGxhLWJhbnF1aXNlLmZyIGF2ZWMgdG91dGVzIGxlcyBmb25jdGlvbm5hbGl0w6lzIGF2YW5jw6llcy5cIixcbiAgICAgIGZlYXR1cmVzOiBbXG4gICAgICAgIFwiQWRyZXNzZXMgZW1haWwgcGVyc29ubmFsaXPDqWVzIEBsYS1iYW5xdWlzZS5mclwiLFxuICAgICAgICBcIkludGVyZmFjZSB3ZWJtYWlsIG1vZGVybmUgZXQgcmVzcG9uc2l2ZVwiLFxuICAgICAgICBcIkZpbHRyZXMgYW50aS1zcGFtIGV0IGFudGl2aXJ1cyBpbnTDqWdyw6lzXCIsXG4gICAgICAgIFwiQ29udGFjdHMgZXQgY2FsZW5kcmllciBzeW5jaHJvbmlzw6lzXCIsXG4gICAgICAgIFwiU3VwcG9ydCBJTUFQL1NNVFAgcG91ciBjbGllbnRzIGV4dGVybmVzXCIsXG4gICAgICAgIFwiU3RvY2thZ2UgZ8OpbsOpcmV1eCBhdmVjIGFyY2hpdmFnZVwiLFxuICAgICAgICBcIkNoaWZmcmVtZW50IGRlcyBjb21tdW5pY2F0aW9uc1wiLFxuICAgICAgICBcIlNhdXZlZ2FyZGUgYXV0b21hdGlxdWUgZGVzIGRvbm7DqWVzXCJcbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIGhlcm86IHtcbiAgICB0aXRsZTogXCJCaWVudmVudWUgY2hleiBMYSBCYW5xdWlzZVwiLFxuICAgIHN1YnRpdGxlOiBcIkjDqWJlcmdldXIsIHBvdXIgbGVzIMOpdHVkaWFudHMsIHBhciBkZXMgw6l0dWRpYW50cy5cIixcbiAgICBjdGE6IFwiRMOpY291dnJpciBub3Mgc2VydmljZXNcIlxuICB9LFxuICBuYXZpZ2F0aW9uOiB7XG4gICAgaG9tZTogXCJBY2N1ZWlsXCIsXG4gICAgc2VydmljZXM6IFwiU2VydmljZXNcIixcbiAgICBhYm91dDogXCLDgCBwcm9wb3NcIixcbiAgICBjb250YWN0OiBcIkNvbnRhY3RcIlxuICB9LFxuICBjb21tb246IHtcbiAgICBkaXNjb3ZlckZlYXR1cmVzOiBcIkTDqWNvdXZyaXIgdG91dGVzIGxlcyBmb25jdGlvbm5hbGl0w6lzXCIsXG4gICAgY2xvc2U6IFwiRmVybWVyXCIsXG4gICAgbG9hZGluZzogXCJDaGFyZ2VtZW50Li4uXCJcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJVUkxTIiwibG9nb0dpdGVhIiwibG9nb1dpa2kiLCJsb2dvUGVsaWNhbiIsImxvZ29PcGVuY2xvdWQiLCJmciIsInNlcnZpY2VzIiwibmFtZSIsInVybCIsIndpa2kiLCJpbWFnZSIsImljb24iLCJkZXNjcmlwdGlvbiIsImZlYXR1cmVzIiwiZ2l0ZWEiLCJwZWxpY2FuIiwic3NwIiwib3BlbmNsb3VkIiwiaW50cmEiLCJwYW5lbCIsIm1haWxzIiwiaGVybyIsInRpdGxlIiwic3VidGl0bGUiLCJjdGEiLCJuYXZpZ2F0aW9uIiwiaG9tZSIsImFib3V0IiwiY29udGFjdCIsImNvbW1vbiIsImRpc2NvdmVyRmVhdHVyZXMiLCJjbG9zZSIsImxvYWRpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/data/translations/fr.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/data/translations/index.ts":
/*!****************************************!*\
!*** ./src/data/translations/index.ts ***!
\****************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ availableLanguages: function() { return /* binding */ availableLanguages; },\n/* harmony export */ defaultLanguage: function() { return /* binding */ defaultLanguage; },\n/* harmony export */ translations: function() { return /* binding */ translations; }\n/* harmony export */ });\n/* harmony import */ var _fr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fr */ \"(app-pages-browser)/./src/data/translations/fr.ts\");\n/* harmony import */ var _en__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./en */ \"(app-pages-browser)/./src/data/translations/en.ts\");\n\n\nconst translations = {\n fr: _fr__WEBPACK_IMPORTED_MODULE_0__.fr,\n en: _en__WEBPACK_IMPORTED_MODULE_1__.en\n};\nconst defaultLanguage = \"fr\";\nconst availableLanguages = [\n \"fr\",\n \"en\"\n];\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9pbmRleC50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEwQjtBQUNBO0FBR25CLE1BQU1FLGVBQThDO0lBQ3pERixFQUFFQSxxQ0FBQUE7SUFDRkMsRUFBRUEscUNBQUFBO0FBSUosRUFBRTtBQUVLLE1BQU1FLGtCQUE0QixLQUFLO0FBQ3ZDLE1BQU1DLHFCQUFpQztJQUFDO0lBQU07Q0FBSyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9kYXRhL3RyYW5zbGF0aW9ucy9pbmRleC50cz81YzU1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyIH0gZnJvbSAnLi9mcic7XG5pbXBvcnQgeyBlbiB9IGZyb20gJy4vZW4nO1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZSwgVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uczogUmVjb3JkPExhbmd1YWdlLCBUcmFuc2xhdGlvbj4gPSB7XG4gIGZyLFxuICBlbixcbiAgLy8gQWpvdXRleiBkJ2F1dHJlcyBsYW5ndWVzIGljaSA6XG4gIC8vIGVzLFxuICAvLyBkZSxcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlID0gJ2ZyJztcbmV4cG9ydCBjb25zdCBhdmFpbGFibGVMYW5ndWFnZXM6IExhbmd1YWdlW10gPSBbJ2ZyJywgJ2VuJ107XG4iXSwibmFtZXMiOlsiZnIiLCJlbiIsInRyYW5zbGF0aW9ucyIsImRlZmF1bHRMYW5ndWFnZSIsImF2YWlsYWJsZUxhbmd1YWdlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/data/translations/index.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/hooks/useAccordion.ts":
/*!***********************************!*\
!*** ./src/hooks/useAccordion.ts ***!
\***********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useAccordion: function() { return /* binding */ useAccordion; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer l'état des accordéons\n * Remplace la logique dans App.tsx et simplifie la gestion d'état\n */ const useAccordion = function() {\n let initialState = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;\n const [openAccordion, setOpenAccordion] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialState);\n const toggleAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((title)=>{\n setOpenAccordion((prev)=>prev === title ? null : title);\n }, []);\n const openSpecificAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((title)=>{\n setOpenAccordion(title);\n }, []);\n const closeAccordion = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setOpenAccordion(null);\n }, []);\n const isOpen = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((title)=>{\n return openAccordion === title;\n }, [\n openAccordion\n ]);\n return {\n openAccordion,\n toggleAccordion,\n openSpecificAccordion,\n closeAccordion,\n isOpen\n };\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9ob29rcy91c2VBY2NvcmRpb24udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDO0FBRTlDOzs7Q0FHQyxHQUNNLE1BQU1FLGVBQWU7UUFBQ0MsZ0ZBQThCO0lBQ3pELE1BQU0sQ0FBQ0MsZUFBZUMsaUJBQWlCLEdBQUdMLCtDQUFRQSxDQUFnQkc7SUFFbEUsTUFBTUcsa0JBQWtCTCxrREFBV0EsQ0FBQyxDQUFDTTtRQUNuQ0YsaUJBQWlCRyxDQUFBQSxPQUFRQSxTQUFTRCxRQUFRLE9BQU9BO0lBQ25ELEdBQUcsRUFBRTtJQUVMLE1BQU1FLHdCQUF3QlIsa0RBQVdBLENBQUMsQ0FBQ007UUFDekNGLGlCQUFpQkU7SUFDbkIsR0FBRyxFQUFFO0lBRUwsTUFBTUcsaUJBQWlCVCxrREFBV0EsQ0FBQztRQUNqQ0ksaUJBQWlCO0lBQ25CLEdBQUcsRUFBRTtJQUVMLE1BQU1NLFNBQVNWLGtEQUFXQSxDQUFDLENBQUNNO1FBQzFCLE9BQU9ILGtCQUFrQkc7SUFDM0IsR0FBRztRQUFDSDtLQUFjO0lBRWxCLE9BQU87UUFDTEE7UUFDQUU7UUFDQUc7UUFDQUM7UUFDQUM7SUFDRjtBQUNGLEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2hvb2tzL3VzZUFjY29yZGlvbi50cz9iOTcwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuLyoqXG4gKiBIb29rIHBlcnNvbm5hbGlzw6kgcG91ciBnw6lyZXIgbCfDqXRhdCBkZXMgYWNjb3Jkw6lvbnNcbiAqIFJlbXBsYWNlIGxhIGxvZ2lxdWUgZGFucyBBcHAudHN4IGV0IHNpbXBsaWZpZSBsYSBnZXN0aW9uIGQnw6l0YXRcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUFjY29yZGlvbiA9IChpbml0aWFsU3RhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XG4gIGNvbnN0IFtvcGVuQWNjb3JkaW9uLCBzZXRPcGVuQWNjb3JkaW9uXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KGluaXRpYWxTdGF0ZSk7XG5cbiAgY29uc3QgdG9nZ2xlQWNjb3JkaW9uID0gdXNlQ2FsbGJhY2soKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPcGVuQWNjb3JkaW9uKHByZXYgPT4gcHJldiA9PT0gdGl0bGUgPyBudWxsIDogdGl0bGUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb3BlblNwZWNpZmljQWNjb3JkaW9uID0gdXNlQ2FsbGJhY2soKHRpdGxlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRPcGVuQWNjb3JkaW9uKHRpdGxlKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsb3NlQWNjb3JkaW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldE9wZW5BY2NvcmRpb24obnVsbCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBpc09wZW4gPSB1c2VDYWxsYmFjaygodGl0bGU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBvcGVuQWNjb3JkaW9uID09PSB0aXRsZTtcbiAgfSwgW29wZW5BY2NvcmRpb25dKTtcblxuICByZXR1cm4ge1xuICAgIG9wZW5BY2NvcmRpb24sXG4gICAgdG9nZ2xlQWNjb3JkaW9uLFxuICAgIG9wZW5TcGVjaWZpY0FjY29yZGlvbixcbiAgICBjbG9zZUFjY29yZGlvbixcbiAgICBpc09wZW4sXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJ1c2VBY2NvcmRpb24iLCJpbml0aWFsU3RhdGUiLCJvcGVuQWNjb3JkaW9uIiwic2V0T3BlbkFjY29yZGlvbiIsInRvZ2dsZUFjY29yZGlvbiIsInRpdGxlIiwicHJldiIsIm9wZW5TcGVjaWZpY0FjY29yZGlvbiIsImNsb3NlQWNjb3JkaW9uIiwiaXNPcGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/hooks/useAccordion.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/hooks/useOceanDepthEffect.ts":
/*!******************************************!*\
!*** ./src/hooks/useOceanDepthEffect.ts ***!
\******************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useOceanDepthEffect: function() { return /* binding */ useOceanDepthEffect; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nconst useOceanDepthEffect = ()=>{\n const [scrollDepth, setScrollDepth] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n const handleScroll = ()=>{\n const scrollPosition = window.scrollY;\n const documentHeight = document.documentElement.scrollHeight - window.innerHeight;\n const scrollPercentage = Math.min(scrollPosition / documentHeight, 1);\n setScrollDepth(scrollPercentage);\n };\n window.addEventListener(\"scroll\", handleScroll);\n handleScroll(); // Initial call\n return ()=>window.removeEventListener(\"scroll\", handleScroll);\n }, []);\n return scrollDepth;\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9ob29rcy91c2VPY2VhbkRlcHRoRWZmZWN0LnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUVyQyxNQUFNRSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDQyxhQUFhQyxlQUFlLEdBQUdKLCtDQUFRQSxDQUFDO0lBRS9DQyxnREFBU0EsQ0FBQztRQUNSLE1BQU1JLGVBQWU7WUFDbkIsTUFBTUMsaUJBQWlCQyxPQUFPQyxPQUFPO1lBQ3JDLE1BQU1DLGlCQUFpQkMsU0FBU0MsZUFBZSxDQUFDQyxZQUFZLEdBQUdMLE9BQU9NLFdBQVc7WUFDakYsTUFBTUMsbUJBQW1CQyxLQUFLQyxHQUFHLENBQUNWLGlCQUFpQkcsZ0JBQWdCO1lBRW5FTCxlQUFlVTtRQUNqQjtRQUVBUCxPQUFPVSxnQkFBZ0IsQ0FBQyxVQUFVWjtRQUNsQ0EsZ0JBQWdCLGVBQWU7UUFFL0IsT0FBTyxJQUFNRSxPQUFPVyxtQkFBbUIsQ0FBQyxVQUFVYjtJQUNwRCxHQUFHLEVBQUU7SUFFTCxPQUFPRjtBQUNULEVBQUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vc3JjL2hvb2tzL3VzZU9jZWFuRGVwdGhFZmZlY3QudHM/YjY0YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgdXNlT2NlYW5EZXB0aEVmZmVjdCA9ICgpID0+IHtcbiAgY29uc3QgW3Njcm9sbERlcHRoLCBzZXRTY3JvbGxEZXB0aF0gPSB1c2VTdGF0ZSgwKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gd2luZG93LnNjcm9sbFk7XG4gICAgICBjb25zdCBkb2N1bWVudEhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICBjb25zdCBzY3JvbGxQZXJjZW50YWdlID0gTWF0aC5taW4oc2Nyb2xsUG9zaXRpb24gLyBkb2N1bWVudEhlaWdodCwgMSk7XG4gICAgICBcbiAgICAgIHNldFNjcm9sbERlcHRoKHNjcm9sbFBlcmNlbnRhZ2UpO1xuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICBoYW5kbGVTY3JvbGwoKTsgLy8gSW5pdGlhbCBjYWxsXG5cbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gc2Nyb2xsRGVwdGg7XG59O1xuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlT2NlYW5EZXB0aEVmZmVjdCIsInNjcm9sbERlcHRoIiwic2V0U2Nyb2xsRGVwdGgiLCJoYW5kbGVTY3JvbGwiLCJzY3JvbGxQb3NpdGlvbiIsIndpbmRvdyIsInNjcm9sbFkiLCJkb2N1bWVudEhlaWdodCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50Iiwic2Nyb2xsSGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJzY3JvbGxQZXJjZW50YWdlIiwiTWF0aCIsIm1pbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/hooks/useOceanDepthEffect.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/hooks/useScrollEffects.ts":
/*!***************************************!*\
!*** ./src/hooks/useScrollEffects.ts ***!
\***************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useScrollEffects: function() { return /* binding */ useScrollEffects; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer les effets de scroll\n * Remplace la logique répétée dans Navigation.tsx et ScrollToTopButton.tsx\n */ const useScrollEffects = ()=>{\n const [scrolled, setScrolled] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n const [isVisible, setIsVisible] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n const handleScroll = ()=>{\n const scrollY = window.scrollY;\n setScrolled(scrollY > 20);\n setIsVisible(scrollY > 300);\n };\n window.addEventListener(\"scroll\", handleScroll, {\n passive: true\n });\n // Call once to set initial state\n handleScroll();\n return ()=>window.removeEventListener(\"scroll\", handleScroll);\n }, []);\n const scrollToTop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n window.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n }, []);\n const scrollToElement = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((elementId)=>{\n const element = document.getElementById(elementId);\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }, []);\n return {\n scrolled,\n isVisible,\n scrollToTop,\n scrollToElement\n };\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9ob29rcy91c2VTY3JvbGxFZmZlY3RzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUV6RDs7O0NBR0MsR0FDTSxNQUFNRyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUdMLCtDQUFRQSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQ00sV0FBV0MsYUFBYSxHQUFHUCwrQ0FBUUEsQ0FBQztJQUUzQ0MsZ0RBQVNBLENBQUM7UUFDUixNQUFNTyxlQUFlO1lBQ25CLE1BQU1DLFVBQVVDLE9BQU9ELE9BQU87WUFDOUJKLFlBQVlJLFVBQVU7WUFDdEJGLGFBQWFFLFVBQVU7UUFDekI7UUFFQUMsT0FBT0MsZ0JBQWdCLENBQUMsVUFBVUgsY0FBYztZQUFFSSxTQUFTO1FBQUs7UUFFaEUsaUNBQWlDO1FBQ2pDSjtRQUVBLE9BQU8sSUFBTUUsT0FBT0csbUJBQW1CLENBQUMsVUFBVUw7SUFDcEQsR0FBRyxFQUFFO0lBRUwsTUFBTU0sY0FBY1osa0RBQVdBLENBQUM7UUFDOUJRLE9BQU9LLFFBQVEsQ0FBQztZQUNkQyxLQUFLO1lBQ0xDLFVBQVU7UUFDWjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU1DLGtCQUFrQmhCLGtEQUFXQSxDQUFDLENBQUNpQjtRQUNuQyxNQUFNQyxVQUFVQyxTQUFTQyxjQUFjLENBQUNIO1FBQ3hDLElBQUlDLFNBQVM7WUFDWEEsUUFBUUcsY0FBYyxDQUFDO2dCQUNyQk4sVUFBVTtnQkFDVk8sT0FBTztZQUNUO1FBQ0Y7SUFDRixHQUFHLEVBQUU7SUFFTCxPQUFPO1FBQ0xwQjtRQUNBRTtRQUNBUTtRQUNBSTtJQUNGO0FBQ0YsRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaG9va3MvdXNlU2Nyb2xsRWZmZWN0cy50cz9kZWI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG4vKipcbiAqIEhvb2sgcGVyc29ubmFsaXPDqSBwb3VyIGfDqXJlciBsZXMgZWZmZXRzIGRlIHNjcm9sbFxuICogUmVtcGxhY2UgbGEgbG9naXF1ZSByw6lww6l0w6llIGRhbnMgTmF2aWdhdGlvbi50c3ggZXQgU2Nyb2xsVG9Ub3BCdXR0b24udHN4XG4gKi9cbmV4cG9ydCBjb25zdCB1c2VTY3JvbGxFZmZlY3RzID0gKCkgPT4ge1xuICBjb25zdCBbc2Nyb2xsZWQsIHNldFNjcm9sbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzVmlzaWJsZSwgc2V0SXNWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbFkgPSB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgIHNldFNjcm9sbGVkKHNjcm9sbFkgPiAyMCk7XG4gICAgICBzZXRJc1Zpc2libGUoc2Nyb2xsWSA+IDMwMCk7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICBcbiAgICAvLyBDYWxsIG9uY2UgdG8gc2V0IGluaXRpYWwgc3RhdGVcbiAgICBoYW5kbGVTY3JvbGwoKTtcblxuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNjcm9sbFRvVG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICB0b3A6IDAsXG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCdcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNjcm9sbFRvRWxlbWVudCA9IHVzZUNhbGxiYWNrKChlbGVtZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgc2Nyb2xsZWQsXG4gICAgaXNWaXNpYmxlLFxuICAgIHNjcm9sbFRvVG9wLFxuICAgIHNjcm9sbFRvRWxlbWVudCxcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInVzZVNjcm9sbEVmZmVjdHMiLCJzY3JvbGxlZCIsInNldFNjcm9sbGVkIiwiaXNWaXNpYmxlIiwic2V0SXNWaXNpYmxlIiwiaGFuZGxlU2Nyb2xsIiwic2Nyb2xsWSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInNjcm9sbFRvVG9wIiwic2Nyb2xsVG8iLCJ0b3AiLCJiZWhhdmlvciIsInNjcm9sbFRvRWxlbWVudCIsImVsZW1lbnRJZCIsImVsZW1lbnQiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/hooks/useScrollEffects.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/hooks/useServiceModal.ts":
/*!**************************************!*\
!*** ./src/hooks/useServiceModal.ts ***!
\**************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useServiceModal: function() { return /* binding */ useServiceModal; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Hook personnalisé pour gérer l'état des modales de services\n * Remplace la logique dans App.tsx et simplifie la gestion d'état\n */ const useServiceModal = ()=>{\n const [selectedService, setSelectedService] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const openServiceModal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((service)=>{\n setSelectedService(service);\n }, []);\n const closeServiceModal = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setSelectedService(null);\n }, []);\n const isModalOpen = selectedService !== null;\n return {\n selectedService,\n openServiceModal,\n closeServiceModal,\n isModalOpen\n };\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9ob29rcy91c2VTZXJ2aWNlTW9kYWwudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDO0FBRzlDOzs7Q0FHQyxHQUNNLE1BQU1FLGtCQUFrQjtJQUM3QixNQUFNLENBQUNDLGlCQUFpQkMsbUJBQW1CLEdBQUdKLCtDQUFRQSxDQUFpQjtJQUV2RSxNQUFNSyxtQkFBbUJKLGtEQUFXQSxDQUFDLENBQUNLO1FBQ3BDRixtQkFBbUJFO0lBQ3JCLEdBQUcsRUFBRTtJQUVMLE1BQU1DLG9CQUFvQk4sa0RBQVdBLENBQUM7UUFDcENHLG1CQUFtQjtJQUNyQixHQUFHLEVBQUU7SUFFTCxNQUFNSSxjQUFjTCxvQkFBb0I7SUFFeEMsT0FBTztRQUNMQTtRQUNBRTtRQUNBRTtRQUNBQztJQUNGO0FBQ0YsRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaG9va3MvdXNlU2VydmljZU1vZGFsLnRzP2IzZjkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlIH0gZnJvbSAnLi4vdHlwZXMvc2VydmljZSc7XG5cbi8qKlxuICogSG9vayBwZXJzb25uYWxpc8OpIHBvdXIgZ8OpcmVyIGwnw6l0YXQgZGVzIG1vZGFsZXMgZGUgc2VydmljZXNcbiAqIFJlbXBsYWNlIGxhIGxvZ2lxdWUgZGFucyBBcHAudHN4IGV0IHNpbXBsaWZpZSBsYSBnZXN0aW9uIGQnw6l0YXRcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVNlcnZpY2VNb2RhbCA9ICgpID0+IHtcbiAgY29uc3QgW3NlbGVjdGVkU2VydmljZSwgc2V0U2VsZWN0ZWRTZXJ2aWNlXSA9IHVzZVN0YXRlPFNlcnZpY2UgfCBudWxsPihudWxsKTtcblxuICBjb25zdCBvcGVuU2VydmljZU1vZGFsID0gdXNlQ2FsbGJhY2soKHNlcnZpY2U6IFNlcnZpY2UpID0+IHtcbiAgICBzZXRTZWxlY3RlZFNlcnZpY2Uoc2VydmljZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbG9zZVNlcnZpY2VNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWxlY3RlZFNlcnZpY2UobnVsbCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBpc01vZGFsT3BlbiA9IHNlbGVjdGVkU2VydmljZSAhPT0gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIHNlbGVjdGVkU2VydmljZSxcbiAgICBvcGVuU2VydmljZU1vZGFsLFxuICAgIGNsb3NlU2VydmljZU1vZGFsLFxuICAgIGlzTW9kYWxPcGVuLFxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlU2VydmljZU1vZGFsIiwic2VsZWN0ZWRTZXJ2aWNlIiwic2V0U2VsZWN0ZWRTZXJ2aWNlIiwib3BlblNlcnZpY2VNb2RhbCIsInNlcnZpY2UiLCJjbG9zZVNlcnZpY2VNb2RhbCIsImlzTW9kYWxPcGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/hooks/useServiceModal.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/hooks/useTranslation.tsx":
/*!**************************************!*\
!*** ./src/hooks/useTranslation.tsx ***!
\**************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useTranslation: function() { return /* binding */ useTranslation; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _data_translations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../data/translations */ \"(app-pages-browser)/./src/data/translations/index.ts\");\nvar _s = $RefreshSig$();\n\n\nconst useTranslation = ()=>{\n _s();\n // Initialize on server with default language to avoid using localStorage during SSR\n const [currentLanguage, setCurrentLanguage] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_data_translations__WEBPACK_IMPORTED_MODULE_1__.defaultLanguage);\n // On client, read saved language from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n try {\n const saved = true && localStorage.getItem(\"language\");\n if (saved && _data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[saved]) {\n setCurrentLanguage(saved);\n }\n } catch (e) {\n // ignore (e.g., localStorage not available)\n }\n }, []);\n // Persist language changes on client\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n try {\n if (true) {\n localStorage.setItem(\"language\", currentLanguage);\n }\n } catch (e) {\n // ignore\n }\n }, [\n currentLanguage\n ]);\n // Memoize the translation object to prevent unnecessary re-renders\n const t = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[currentLanguage], [\n currentLanguage\n ]);\n // Memoize available languages array\n const availableLanguages = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>Object.keys(_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations), []);\n const changeLanguage = (language)=>{\n if (_data_translations__WEBPACK_IMPORTED_MODULE_1__.translations[language]) {\n setCurrentLanguage(language);\n }\n };\n return {\n t,\n currentLanguage,\n changeLanguage,\n availableLanguages\n };\n};\n_s(useTranslation, \"+uVdYM+41FqTYM9lBgZTbtMnz0A=\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9ob29rcy91c2VUcmFuc2xhdGlvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBcUQ7QUFFZ0I7QUFFOUQsTUFBTUssaUJBQWlCOztJQUM1QixvRkFBb0Y7SUFDcEYsTUFBTSxDQUFDQyxpQkFBaUJDLG1CQUFtQixHQUFHUCwrQ0FBUUEsQ0FBV0ksK0RBQWVBO0lBRWhGLG1EQUFtRDtJQUNuREgsZ0RBQVNBLENBQUM7UUFDUixJQUFJO1lBQ0YsTUFBTU8sUUFBUyxLQUFrQixJQUFlQyxhQUFhQyxPQUFPLENBQUM7WUFDckUsSUFBSUYsU0FBU0wsNERBQVksQ0FBQ0ssTUFBTSxFQUFFO2dCQUNoQ0QsbUJBQW1CQztZQUNyQjtRQUNGLEVBQUUsT0FBT0csR0FBRztRQUNWLDRDQUE0QztRQUM5QztJQUNGLEdBQUcsRUFBRTtJQUVMLHFDQUFxQztJQUNyQ1YsZ0RBQVNBLENBQUM7UUFDUixJQUFJO1lBQ0YsSUFBSSxJQUFrQixFQUFhO2dCQUNqQ1EsYUFBYUcsT0FBTyxDQUFDLFlBQVlOO1lBQ25DO1FBQ0YsRUFBRSxPQUFPSyxHQUFHO1FBQ1YsU0FBUztRQUNYO0lBQ0YsR0FBRztRQUFDTDtLQUFnQjtJQUVwQixtRUFBbUU7SUFDbkUsTUFBTU8sSUFBSVgsOENBQU9BLENBQWMsSUFBTUMsNERBQVksQ0FBQ0csZ0JBQWdCLEVBQUU7UUFBQ0E7S0FBZ0I7SUFFckYsb0NBQW9DO0lBQ3BDLE1BQU1RLHFCQUFxQlosOENBQU9BLENBQUMsSUFBTWEsT0FBT0MsSUFBSSxDQUFDYiw0REFBWUEsR0FBaUIsRUFBRTtJQUVwRixNQUFNYyxpQkFBaUIsQ0FBQ0M7UUFDdEIsSUFBSWYsNERBQVksQ0FBQ2UsU0FBUyxFQUFFO1lBQzFCWCxtQkFBbUJXO1FBQ3JCO0lBQ0Y7SUFFQSxPQUFPO1FBQ0xMO1FBQ0FQO1FBQ0FXO1FBQ0FIO0lBQ0Y7QUFDRixFQUFFO0dBN0NXVCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvaG9va3MvdXNlVHJhbnNsYXRpb24udHN4PzZhNjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTGFuZ3VhZ2UsIFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vdHlwZXMvaTE4bic7XG5pbXBvcnQgeyB0cmFuc2xhdGlvbnMsIGRlZmF1bHRMYW5ndWFnZSB9IGZyb20gJy4uL2RhdGEvdHJhbnNsYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHVzZVRyYW5zbGF0aW9uID0gKCkgPT4ge1xuICAvLyBJbml0aWFsaXplIG9uIHNlcnZlciB3aXRoIGRlZmF1bHQgbGFuZ3VhZ2UgdG8gYXZvaWQgdXNpbmcgbG9jYWxTdG9yYWdlIGR1cmluZyBTU1JcbiAgY29uc3QgW2N1cnJlbnRMYW5ndWFnZSwgc2V0Q3VycmVudExhbmd1YWdlXSA9IHVzZVN0YXRlPExhbmd1YWdlPihkZWZhdWx0TGFuZ3VhZ2UpO1xuXG4gIC8vIE9uIGNsaWVudCwgcmVhZCBzYXZlZCBsYW5ndWFnZSBmcm9tIGxvY2FsU3RvcmFnZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYXZlZCA9ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKSkgYXMgTGFuZ3VhZ2UgfCBudWxsO1xuICAgICAgaWYgKHNhdmVkICYmIHRyYW5zbGF0aW9uc1tzYXZlZF0pIHtcbiAgICAgICAgc2V0Q3VycmVudExhbmd1YWdlKHNhdmVkKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZ25vcmUgKGUuZy4sIGxvY2FsU3RvcmFnZSBub3QgYXZhaWxhYmxlKVxuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIFBlcnNpc3QgbGFuZ3VhZ2UgY2hhbmdlcyBvbiBjbGllbnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGN1cnJlbnRMYW5ndWFnZSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuICB9LCBbY3VycmVudExhbmd1YWdlXSk7XG5cbiAgLy8gTWVtb2l6ZSB0aGUgdHJhbnNsYXRpb24gb2JqZWN0IHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgcmUtcmVuZGVyc1xuICBjb25zdCB0ID0gdXNlTWVtbzxUcmFuc2xhdGlvbj4oKCkgPT4gdHJhbnNsYXRpb25zW2N1cnJlbnRMYW5ndWFnZV0sIFtjdXJyZW50TGFuZ3VhZ2VdKTtcblxuICAvLyBNZW1vaXplIGF2YWlsYWJsZSBsYW5ndWFnZXMgYXJyYXlcbiAgY29uc3QgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdXNlTWVtbygoKSA9PiBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpIGFzIExhbmd1YWdlW10sIFtdKTtcblxuICBjb25zdCBjaGFuZ2VMYW5ndWFnZSA9IChsYW5ndWFnZTogTGFuZ3VhZ2UpID0+IHtcbiAgICBpZiAodHJhbnNsYXRpb25zW2xhbmd1YWdlXSkge1xuICAgICAgc2V0Q3VycmVudExhbmd1YWdlKGxhbmd1YWdlKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0LFxuICAgIGN1cnJlbnRMYW5ndWFnZSxcbiAgICBjaGFuZ2VMYW5ndWFnZSxcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMsXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInRyYW5zbGF0aW9ucyIsImRlZmF1bHRMYW5ndWFnZSIsInVzZVRyYW5zbGF0aW9uIiwiY3VycmVudExhbmd1YWdlIiwic2V0Q3VycmVudExhbmd1YWdlIiwic2F2ZWQiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiZSIsInNldEl0ZW0iLCJ0IiwiYXZhaWxhYmxlTGFuZ3VhZ2VzIiwiT2JqZWN0Iiwia2V5cyIsImNoYW5nZUxhbmd1YWdlIiwibGFuZ3VhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/hooks/useTranslation.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/styles/components.ts":
/*!**********************************!*\
!*** ./src/styles/components.ts ***!
\**********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ commonStyles: function() { return /* binding */ commonStyles; }\n/* harmony export */ });\n// DEPRECATED: This file is being replaced by designSystem.ts\n// Please use the new design system for new components\n// This file is kept for backward compatibility during migration\n// Re-export the legacy commonStyles structure for backward compatibility\nconst commonStyles = {\n // Gradients - Keep existing structure\n gradients: {\n primary: \"bg-gradient-to-r from-banquise-blue to-banquise-blue-light\",\n primaryBr: \"bg-gradient-to-br from-banquise-blue to-banquise-blue-light\",\n card: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5\",\n cardHover: \"hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8\",\n discord: \"bg-gradient-to-r from-indigo-600 to-purple-600\",\n discordHover: \"hover:from-indigo-500 hover:to-purple-500\"\n },\n // Buttons - Keep existing structure\n buttons: {\n primary: \"inline-flex items-center justify-center font-bold text-white border-0 rounded-2xl transition-all duration-300 hover:shadow-xl hover:-translate-y-1 hover:scale-105 active:scale-95\",\n discord: \"group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl transition-all duration-300 hover:shadow-xl hover:shadow-indigo-500/25 hover:-translate-y-1 hover:scale-105\",\n auth: \"group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl transition-all duration-300 hover:shadow-xl hover:-translate-y-1 hover:scale-105\"\n },\n // Cards - Keep existing structure\n cards: {\n base: \"backdrop-blur-lg rounded-2xl border border-banquise-blue-lightest/30 transition-all duration-300\",\n hover: \"hover:shadow-xl hover:border-banquise-blue-lightest/50\",\n interactive: \"cursor-pointer hover:-translate-y-4 hover:shadow-2xl active:scale-95\"\n },\n // Text - Keep existing structure\n text: {\n heading: \"font-heading font-bold tracking-tight\",\n headingXl: \"text-3xl sm:text-4xl md:text-5xl text-banquise-gray font-heading font-bold tracking-tight\",\n headingLg: \"text-2xl sm:text-3xl md:text-4xl text-banquise-gray font-heading font-bold tracking-tight\",\n headingMd: \"text-xl sm:text-2xl md:text-3xl text-banquise-blue-dark font-heading font-bold tracking-tight\",\n headingSm: \"text-lg sm:text-xl md:text-2xl text-banquise-blue-dark font-heading font-semibold tracking-tight\",\n subheading: \"text-base sm:text-lg md:text-xl text-banquise-gray/90 font-medium leading-relaxed\",\n body: \"text-sm sm:text-base md:text-lg text-banquise-blue-dark/90 leading-relaxed\",\n description: \"text-banquise-gray/80 leading-relaxed\",\n muted: \"text-banquise-gray/90 leading-relaxed\",\n lightHeading: \"text-banquise-blue-lightest font-heading font-bold tracking-tight\",\n lightBody: \"text-white/90 leading-relaxed\"\n },\n // Layout - Keep existing structure\n layout: {\n section: \"py-12 sm:py-16 md:py-20 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8\",\n container: \"max-w-6xl mx-auto\",\n divider: \"w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full\"\n },\n // Icons - Keep existing structure\n icons: {\n base: \"w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl flex items-center justify-center text-3xl sm:text-4xl lg:text-5xl shadow-lg\",\n small: \"w-10 h-10 rounded-lg flex items-center justify-center text-white\"\n },\n // Navigation - Keep existing structure\n nav: {\n link: \"px-4 lg:px-6 py-2.5 lg:py-3 text-white/90 hover:text-white font-medium text-sm lg:text-base rounded-xl transition-all duration-300 hover:bg-white/10 hover:backdrop-blur-sm relative group\",\n mobileItem: \"group flex items-center p-4 text-white/90 hover:text-white no-underline rounded-2xl hover:bg-gradient-to-r hover:from-banquise-blue/20 hover:to-banquise-blue-light/20 transition-all duration-300 border border-transparent hover:border-banquise-blue-lightest/20\"\n }\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy50cyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsNkRBQTZEO0FBQzdELHNEQUFzRDtBQUN0RCxnRUFBZ0U7QUFFaEUseUVBQXlFO0FBQ2xFLE1BQU1BLGVBQWU7SUFDMUIsc0NBQXNDO0lBQ3RDQyxXQUFXO1FBQ1RDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxNQUFNO1FBQ05DLFdBQVc7UUFDWEMsU0FBUztRQUNUQyxjQUFjO0lBQ2hCO0lBRUEsb0NBQW9DO0lBQ3BDQyxTQUFTO1FBQ1BOLFNBQVM7UUFDVEksU0FBUztRQUNURyxNQUFNO0lBQ1I7SUFFQSxrQ0FBa0M7SUFDbENDLE9BQU87UUFDTEMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLGFBQWE7SUFDZjtJQUVBLGlDQUFpQztJQUNqQ0MsTUFBTTtRQUNKQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsV0FBVztRQUNYQyxXQUFXO1FBQ1hDLFdBQVc7UUFDWEMsWUFBWTtRQUNaQyxNQUFNO1FBQ05DLGFBQWE7UUFDYkMsT0FBTztRQUNQQyxjQUFjO1FBQ2RDLFdBQVc7SUFDYjtJQUVBLG1DQUFtQztJQUNuQ0MsUUFBUTtRQUNOQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsU0FBUztJQUNYO0lBRUEsa0NBQWtDO0lBQ2xDQyxPQUFPO1FBQ0xuQixNQUFNO1FBQ05vQixPQUFPO0lBQ1Q7SUFFQSx1Q0FBdUM7SUFDdkNDLEtBQUs7UUFDSEMsTUFBTTtRQUNOQyxZQUFZO0lBQ2Q7QUFDRixFQUFXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy50cz85YzVjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIERFUFJFQ0FURUQ6IFRoaXMgZmlsZSBpcyBiZWluZyByZXBsYWNlZCBieSBkZXNpZ25TeXN0ZW0udHNcbi8vIFBsZWFzZSB1c2UgdGhlIG5ldyBkZXNpZ24gc3lzdGVtIGZvciBuZXcgY29tcG9uZW50c1xuLy8gVGhpcyBmaWxlIGlzIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZHVyaW5nIG1pZ3JhdGlvblxuXG4vLyBSZS1leHBvcnQgdGhlIGxlZ2FjeSBjb21tb25TdHlsZXMgc3RydWN0dXJlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgY29uc3QgY29tbW9uU3R5bGVzID0ge1xuICAvLyBHcmFkaWVudHMgLSBLZWVwIGV4aXN0aW5nIHN0cnVjdHVyZVxuICBncmFkaWVudHM6IHtcbiAgICBwcmltYXJ5OiBcImJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHRcIixcbiAgICBwcmltYXJ5QnI6IFwiYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHRcIixcbiAgICBjYXJkOiBcImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzEwIHRvLWJhbnF1aXNlLWJsdWUtZGFyay81XCIsXG4gICAgY2FyZEhvdmVyOiBcImhvdmVyOmZyb20tYmFucXVpc2UtYmx1ZS1kYXJrLzE1IGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtZGFyay84XCIsXG4gICAgZGlzY29yZDogXCJiZy1ncmFkaWVudC10by1yIGZyb20taW5kaWdvLTYwMCB0by1wdXJwbGUtNjAwXCIsXG4gICAgZGlzY29yZEhvdmVyOiBcImhvdmVyOmZyb20taW5kaWdvLTUwMCBob3Zlcjp0by1wdXJwbGUtNTAwXCJcbiAgfSxcblxuICAvLyBCdXR0b25zIC0gS2VlcCBleGlzdGluZyBzdHJ1Y3R1cmVcbiAgYnV0dG9uczoge1xuICAgIHByaW1hcnk6IFwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIGJvcmRlci0wIHJvdW5kZWQtMnhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpzaGFkb3cteGwgaG92ZXI6LXRyYW5zbGF0ZS15LTEgaG92ZXI6c2NhbGUtMTA1IGFjdGl2ZTpzY2FsZS05NVwiLFxuICAgIGRpc2NvcmQ6IFwiZ3JvdXAgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHB4LTQgbGc6cHgtNiBweS0yLjUgbGc6cHktMyB0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbSBsZzp0ZXh0LWJhc2Ugcm91bmRlZC14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgaG92ZXI6c2hhZG93LXhsIGhvdmVyOnNoYWRvdy1pbmRpZ28tNTAwLzI1IGhvdmVyOi10cmFuc2xhdGUteS0xIGhvdmVyOnNjYWxlLTEwNVwiLFxuICAgIGF1dGg6IFwiZ3JvdXAgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIHB4LTQgbGc6cHgtNiBweS0yLjUgbGc6cHktMyB0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbSBsZzp0ZXh0LWJhc2Ugcm91bmRlZC14bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgaG92ZXI6c2hhZG93LXhsIGhvdmVyOi10cmFuc2xhdGUteS0xIGhvdmVyOnNjYWxlLTEwNVwiXG4gIH0sXG5cbiAgLy8gQ2FyZHMgLSBLZWVwIGV4aXN0aW5nIHN0cnVjdHVyZVxuICBjYXJkczoge1xuICAgIGJhc2U6IFwiYmFja2Ryb3AtYmx1ci1sZyByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMzAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCIsXG4gICAgaG92ZXI6IFwiaG92ZXI6c2hhZG93LXhsIGhvdmVyOmJvcmRlci1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0LzUwXCIsXG4gICAgaW50ZXJhY3RpdmU6IFwiY3Vyc29yLXBvaW50ZXIgaG92ZXI6LXRyYW5zbGF0ZS15LTQgaG92ZXI6c2hhZG93LTJ4bCBhY3RpdmU6c2NhbGUtOTVcIlxuICB9LFxuXG4gIC8vIFRleHQgLSBLZWVwIGV4aXN0aW5nIHN0cnVjdHVyZVxuICB0ZXh0OiB7XG4gICAgaGVhZGluZzogXCJmb250LWhlYWRpbmcgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0XCIsXG4gICAgaGVhZGluZ1hsOiBcInRleHQtM3hsIHNtOnRleHQtNHhsIG1kOnRleHQtNXhsIHRleHQtYmFucXVpc2UtZ3JheSBmb250LWhlYWRpbmcgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0XCIsXG4gICAgaGVhZGluZ0xnOiBcInRleHQtMnhsIHNtOnRleHQtM3hsIG1kOnRleHQtNHhsIHRleHQtYmFucXVpc2UtZ3JheSBmb250LWhlYWRpbmcgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0XCIsXG4gICAgaGVhZGluZ01kOiBcInRleHQteGwgc206dGV4dC0yeGwgbWQ6dGV4dC0zeGwgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodFwiLFxuICAgIGhlYWRpbmdTbTogXCJ0ZXh0LWxnIHNtOnRleHQteGwgbWQ6dGV4dC0yeGwgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgZm9udC1oZWFkaW5nIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIixcbiAgICBzdWJoZWFkaW5nOiBcInRleHQtYmFzZSBzbTp0ZXh0LWxnIG1kOnRleHQteGwgdGV4dC1iYW5xdWlzZS1ncmF5LzkwIGZvbnQtbWVkaXVtIGxlYWRpbmctcmVsYXhlZFwiLFxuICAgIGJvZHk6IFwidGV4dC1zbSBzbTp0ZXh0LWJhc2UgbWQ6dGV4dC1sZyB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyay85MCBsZWFkaW5nLXJlbGF4ZWRcIixcbiAgICBkZXNjcmlwdGlvbjogXCJ0ZXh0LWJhbnF1aXNlLWdyYXkvODAgbGVhZGluZy1yZWxheGVkXCIsXG4gICAgbXV0ZWQ6IFwidGV4dC1iYW5xdWlzZS1ncmF5LzkwIGxlYWRpbmctcmVsYXhlZFwiLFxuICAgIGxpZ2h0SGVhZGluZzogXCJ0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodFwiLFxuICAgIGxpZ2h0Qm9keTogXCJ0ZXh0LXdoaXRlLzkwIGxlYWRpbmctcmVsYXhlZFwiXG4gIH0sXG5cbiAgLy8gTGF5b3V0IC0gS2VlcCBleGlzdGluZyBzdHJ1Y3R1cmVcbiAgbGF5b3V0OiB7XG4gICAgc2VjdGlvbjogXCJweS0xMiBzbTpweS0xNiBtZDpweS0yMCB3LWZ1bGwgbWF4LXctNnhsIG14LWF1dG8gcHgtNCBzbTpweC02IG1kOnB4LThcIixcbiAgICBjb250YWluZXI6IFwibWF4LXctNnhsIG14LWF1dG9cIixcbiAgICBkaXZpZGVyOiBcInctMjAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRvLWJhbnF1aXNlLWJsdWUgbXgtYXV0byBtYi02IHNtOm1iLTggcm91bmRlZC1mdWxsXCJcbiAgfSxcblxuICAvLyBJY29ucyAtIEtlZXAgZXhpc3Rpbmcgc3RydWN0dXJlXG4gIGljb25zOiB7XG4gICAgYmFzZTogXCJ3LTE2IGgtMTYgc206dy0yMCBzbTpoLTIwIGxnOnctMjQgbGc6aC0yNCByb3VuZGVkLTJ4bCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBsZzp0ZXh0LTV4bCBzaGFkb3ctbGdcIixcbiAgICBzbWFsbDogXCJ3LTEwIGgtMTAgcm91bmRlZC1sZyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlXCJcbiAgfSxcblxuICAvLyBOYXZpZ2F0aW9uIC0gS2VlcCBleGlzdGluZyBzdHJ1Y3R1cmVcbiAgbmF2OiB7XG4gICAgbGluazogXCJweC00IGxnOnB4LTYgcHktMi41IGxnOnB5LTMgdGV4dC13aGl0ZS85MCBob3Zlcjp0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIHRleHQtc20gbGc6dGV4dC1iYXNlIHJvdW5kZWQteGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOmJnLXdoaXRlLzEwIGhvdmVyOmJhY2tkcm9wLWJsdXItc20gcmVsYXRpdmUgZ3JvdXBcIixcbiAgICBtb2JpbGVJdGVtOiBcImdyb3VwIGZsZXggaXRlbXMtY2VudGVyIHAtNCB0ZXh0LXdoaXRlLzkwIGhvdmVyOnRleHQtd2hpdGUgbm8tdW5kZXJsaW5lIHJvdW5kZWQtMnhsIGhvdmVyOmJnLWdyYWRpZW50LXRvLXIgaG92ZXI6ZnJvbS1iYW5xdWlzZS1ibHVlLzIwIGhvdmVyOnRvLWJhbnF1aXNlLWJsdWUtbGlnaHQvMjAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMjBcIlxuICB9XG59IGFzIGNvbnN0O1xuIl0sIm5hbWVzIjpbImNvbW1vblN0eWxlcyIsImdyYWRpZW50cyIsInByaW1hcnkiLCJwcmltYXJ5QnIiLCJjYXJkIiwiY2FyZEhvdmVyIiwiZGlzY29yZCIsImRpc2NvcmRIb3ZlciIsImJ1dHRvbnMiLCJhdXRoIiwiY2FyZHMiLCJiYXNlIiwiaG92ZXIiLCJpbnRlcmFjdGl2ZSIsInRleHQiLCJoZWFkaW5nIiwiaGVhZGluZ1hsIiwiaGVhZGluZ0xnIiwiaGVhZGluZ01kIiwiaGVhZGluZ1NtIiwic3ViaGVhZGluZyIsImJvZHkiLCJkZXNjcmlwdGlvbiIsIm11dGVkIiwibGlnaHRIZWFkaW5nIiwibGlnaHRCb2R5IiwibGF5b3V0Iiwic2VjdGlvbiIsImNvbnRhaW5lciIsImRpdmlkZXIiLCJpY29ucyIsInNtYWxsIiwibmF2IiwibGluayIsIm1vYmlsZUl0ZW0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/components.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./src/styles/designSystem.ts":
/*!************************************!*\
!*** ./src/styles/designSystem.ts ***!
\************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ breakpoints: function() { return /* binding */ breakpoints; },\n/* harmony export */ componentStyles: function() { return /* binding */ componentStyles; },\n/* harmony export */ designTokens: function() { return /* binding */ designTokens; },\n/* harmony export */ gradients: function() { return /* binding */ gradients; },\n/* harmony export */ mergeClasses: function() { return /* binding */ mergeClasses; }\n/* harmony export */ });\n// Design System - Centralized design tokens and reusable styles\nconst designTokens = {\n // Colors\n colors: {\n banquise: {\n blue: \"#40B4FF\",\n blueDark: \"#1F5D89\",\n blueLight: \"#69B7E2\",\n blueLightest: \"#A5F0FF\",\n gray: \"#F6F6F6\"\n }\n },\n // Spacing\n spacing: {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n md: \"1rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n xxl: \"3rem\"\n },\n // Border radius\n borderRadius: {\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1rem\",\n xl: \"1.5rem\",\n xxl: \"2rem\"\n },\n // Shadows\n shadows: {\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n xxl: \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\"\n },\n // Typography\n typography: {\n fontFamily: {\n heading: [\n \"Dela Gothic One\",\n \"sans-serif\"\n ],\n body: [\n \"Roboto\",\n \"sans-serif\"\n ]\n },\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\"\n },\n fontWeight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\"\n }\n },\n // Transitions\n transitions: {\n fast: \"all 0.15s ease-in-out\",\n normal: \"all 0.3s ease-in-out\",\n slow: \"all 0.5s ease-in-out\"\n },\n // Z-index\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070\n }\n};\n// Reusable gradient combinations\nconst gradients = {\n primary: \"bg-gradient-to-r from-banquise-blue to-banquise-blue-light\",\n primaryBr: \"bg-gradient-to-br from-banquise-blue to-banquise-blue-light\",\n card: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5\",\n cardHover: \"hover:from-banquise-blue-dark/15 hover:to-banquise-blue-dark/8\",\n discord: \"bg-gradient-to-r from-indigo-600 to-purple-600\",\n discordHover: \"hover:from-indigo-500 hover:to-purple-500\",\n background: \"bg-gradient-to-b from-banquise-blue-dark via-banquise-blue-dark/95 to-banquise-blue-dark\"\n};\n// Reusable component styles\nconst componentStyles = {\n // Buttons\n button: {\n base: \"inline-flex items-center justify-center font-bold text-white border-0 rounded-2xl transition-all duration-300 hover:shadow-xl hover:-translate-y-1 hover:scale-105 active:scale-95\",\n primary: \"bg-gradient-to-r from-banquise-blue to-banquise-blue-light\",\n discord: \"group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-500 hover:to-purple-500\",\n auth: \"group relative overflow-hidden px-4 lg:px-6 py-2.5 lg:py-3 text-white font-semibold text-sm lg:text-base rounded-xl\"\n },\n // Cards\n card: {\n base: \"backdrop-blur-lg rounded-2xl border border-banquise-blue-lightest/30 transition-all duration-300\",\n hover: \"hover:shadow-xl hover:border-banquise-blue-lightest/50\",\n interactive: \"cursor-pointer hover:-translate-y-4 hover:shadow-2xl active:scale-95\",\n gradient: \"bg-gradient-to-br from-banquise-blue-dark/10 to-banquise-blue-dark/5\"\n },\n // Navigation\n nav: {\n link: \"px-4 lg:px-6 py-2.5 lg:py-3 text-white/90 hover:text-white font-medium text-sm lg:text-base rounded-xl transition-all duration-300 hover:bg-white/10 hover:backdrop-blur-sm relative group\",\n mobileItem: \"group flex items-center p-4 text-white/90 hover:text-white no-underline rounded-2xl hover:bg-gradient-to-r hover:from-banquise-blue/20 hover:to-banquise-blue-light/20 transition-all duration-300 border border-transparent hover:border-banquise-blue-lightest/20\"\n },\n // Text styles\n text: {\n heading: \"font-heading font-bold tracking-tight\",\n headingXl: \"text-3xl sm:text-4xl md:text-5xl text-banquise-gray font-heading font-bold tracking-tight\",\n headingLg: \"text-2xl sm:text-3xl md:text-4xl text-banquise-gray font-heading font-bold tracking-tight\",\n headingMd: \"text-xl sm:text-2xl md:text-3xl text-banquise-blue-dark font-heading font-bold tracking-tight\",\n headingSm: \"text-lg sm:text-xl md:text-2xl text-banquise-blue-dark font-heading font-semibold tracking-tight\",\n subheading: \"text-base sm:text-lg md:text-xl text-banquise-gray/90 font-medium leading-relaxed\",\n body: \"text-sm sm:text-base md:text-lg text-banquise-blue-dark/90 leading-relaxed\",\n description: \"text-banquise-gray/80 leading-relaxed\",\n muted: \"text-banquise-gray/90 leading-relaxed\",\n lightHeading: \"text-banquise-blue-lightest font-heading font-bold tracking-tight\",\n lightBody: \"text-white/90 leading-relaxed\"\n },\n // Icons\n icon: {\n base: \"w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl flex items-center justify-center text-3xl sm:text-4xl lg:text-5xl shadow-lg\",\n small: \"w-10 h-10 rounded-lg flex items-center justify-center text-white\"\n },\n // Layout\n layout: {\n section: \"py-12 sm:py-16 md:py-20 w-full max-w-6xl mx-auto px-4 sm:px-6 md:px-8\",\n container: \"max-w-6xl mx-auto\",\n divider: \"w-20 h-1 bg-gradient-to-r from-banquise-blue-lightest to-banquise-blue mx-auto mb-6 sm:mb-8 rounded-full\"\n },\n // Animations\n animation: {\n hover: \"hover:-translate-y-4 hover:shadow-2xl transition-all duration-300\",\n scale: \"hover:scale-105 active:scale-95 transition-transform duration-300\",\n fadeIn: \"animate-fadeIn\",\n slideUp: \"animate-slideUp\"\n }\n};\n// Utility function to merge classes\nconst mergeClasses = function() {\n for(var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++){\n classes[_key] = arguments[_key];\n }\n return classes.filter(Boolean).join(\" \");\n};\n// Responsive breakpoints\nconst breakpoints = {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\"\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvZGVzaWduU3lzdGVtLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsZ0VBQWdFO0FBQ3pELE1BQU1BLGVBQWU7SUFDMUIsU0FBUztJQUNUQyxRQUFRO1FBQ05DLFVBQVU7WUFDUkMsTUFBTTtZQUNOQyxVQUFVO1lBQ1ZDLFdBQVc7WUFDWEMsY0FBYztZQUNkQyxNQUFNO1FBQ1I7SUFDRjtJQUVBLFVBQVU7SUFDVkMsU0FBUztRQUNQQyxJQUFJO1FBQ0pDLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7UUFDSkMsS0FBSztJQUNQO0lBRUEsZ0JBQWdCO0lBQ2hCQyxjQUFjO1FBQ1pMLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7UUFDSkMsS0FBSztJQUNQO0lBRUEsVUFBVTtJQUNWRSxTQUFTO1FBQ1BOLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7UUFDSkMsS0FBSztJQUNQO0lBRUEsYUFBYTtJQUNiRyxZQUFZO1FBQ1ZDLFlBQVk7WUFDVkMsU0FBUztnQkFBQztnQkFBbUI7YUFBYTtZQUMxQ0MsTUFBTTtnQkFBQztnQkFBVTthQUFhO1FBQ2hDO1FBQ0FDLFVBQVU7WUFDUlosSUFBSTtZQUNKQyxJQUFJO1lBQ0pZLE1BQU07WUFDTlYsSUFBSTtZQUNKQyxJQUFJO1lBQ0osT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsT0FBTztZQUNQLE9BQU87UUFDVDtRQUNBVSxZQUFZO1lBQ1ZDLFFBQVE7WUFDUkMsUUFBUTtZQUNSQyxVQUFVO1lBQ1ZDLE1BQU07WUFDTkMsV0FBVztRQUNiO0lBQ0Y7SUFFQSxjQUFjO0lBQ2RDLGFBQWE7UUFDWEMsTUFBTTtRQUNOTixRQUFRO1FBQ1JPLE1BQU07SUFDUjtJQUVBLFVBQVU7SUFDVkMsUUFBUTtRQUNOQyxVQUFVO1FBQ1ZDLFFBQVE7UUFDUkMsT0FBTztRQUNQQyxlQUFlO1FBQ2ZDLE9BQU87UUFDUEMsU0FBUztRQUNUQyxTQUFTO0lBQ1g7QUFDRixFQUFXO0FBRVgsaUNBQWlDO0FBQzFCLE1BQU1DLFlBQVk7SUFDdkJDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxNQUFNO0lBQ05DLFdBQVc7SUFDWEMsU0FBUztJQUNUQyxjQUFjO0lBQ2RDLFlBQVk7QUFDZCxFQUFXO0FBRVgsNEJBQTRCO0FBQ3JCLE1BQU1DLGtCQUFrQjtJQUM3QixVQUFVO0lBQ1ZDLFFBQVE7UUFDTjNCLE1BQU07UUFDTm1CLFNBQVM7UUFDVEksU0FBUztRQUNUSyxNQUFNO0lBQ1I7SUFFQSxRQUFRO0lBQ1JQLE1BQU07UUFDSnJCLE1BQU07UUFDTjZCLE9BQU87UUFDUEMsYUFBYTtRQUNiQyxVQUFVO0lBQ1o7SUFFQSxhQUFhO0lBQ2JDLEtBQUs7UUFDSEMsTUFBTTtRQUNOQyxZQUFZO0lBQ2Q7SUFFQSxjQUFjO0lBQ2RDLE1BQU07UUFDSnRDLFNBQVM7UUFDVHVDLFdBQVc7UUFDWEMsV0FBVztRQUNYQyxXQUFXO1FBQ1hDLFdBQVc7UUFDWEMsWUFBWTtRQUNaMUMsTUFBTTtRQUNOMkMsYUFBYTtRQUNiQyxPQUFPO1FBQ1BDLGNBQWM7UUFDZEMsV0FBVztJQUNiO0lBRUEsUUFBUTtJQUNSQyxNQUFNO1FBQ0o3QyxNQUFNO1FBQ044QyxPQUFPO0lBQ1Q7SUFFQSxTQUFTO0lBQ1RDLFFBQVE7UUFDTkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLFNBQVM7SUFDWDtJQUVBLGFBQWE7SUFDYkMsV0FBVztRQUNUdEIsT0FBTztRQUNQdUIsT0FBTztRQUNQQyxRQUFRO1FBQ1JDLFNBQVM7SUFDWDtBQUNGLEVBQVc7QUFFWCxvQ0FBb0M7QUFDN0IsTUFBTUMsZUFBZTtxQ0FBSUM7UUFBQUE7O0lBQzlCLE9BQU9BLFFBQVFDLE1BQU0sQ0FBQ0MsU0FBU0MsSUFBSSxDQUFDO0FBQ3RDLEVBQUU7QUFFRix5QkFBeUI7QUFDbEIsTUFBTUMsY0FBYztJQUN6QnhFLElBQUk7SUFDSkMsSUFBSTtJQUNKQyxJQUFJO0lBQ0pDLElBQUk7SUFDSixPQUFPO0FBQ1QsRUFBVyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL2Rlc2lnblN5c3RlbS50cz81ZDNhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIERlc2lnbiBTeXN0ZW0gLSBDZW50cmFsaXplZCBkZXNpZ24gdG9rZW5zIGFuZCByZXVzYWJsZSBzdHlsZXNcbmV4cG9ydCBjb25zdCBkZXNpZ25Ub2tlbnMgPSB7XG4gIC8vIENvbG9yc1xuICBjb2xvcnM6IHtcbiAgICBiYW5xdWlzZToge1xuICAgICAgYmx1ZTogJyM0MEI0RkYnLFxuICAgICAgYmx1ZURhcms6ICcjMUY1RDg5JyxcbiAgICAgIGJsdWVMaWdodDogJyM2OUI3RTInLFxuICAgICAgYmx1ZUxpZ2h0ZXN0OiAnI0E1RjBGRicsXG4gICAgICBncmF5OiAnI0Y2RjZGNicsXG4gICAgfVxuICB9LFxuXG4gIC8vIFNwYWNpbmdcbiAgc3BhY2luZzoge1xuICAgIHhzOiAnMC4yNXJlbScsXG4gICAgc206ICcwLjVyZW0nLFxuICAgIG1kOiAnMXJlbScsXG4gICAgbGc6ICcxLjVyZW0nLFxuICAgIHhsOiAnMnJlbScsXG4gICAgeHhsOiAnM3JlbScsXG4gIH0sXG5cbiAgLy8gQm9yZGVyIHJhZGl1c1xuICBib3JkZXJSYWRpdXM6IHtcbiAgICBzbTogJzAuNXJlbScsXG4gICAgbWQ6ICcwLjc1cmVtJyxcbiAgICBsZzogJzFyZW0nLFxuICAgIHhsOiAnMS41cmVtJyxcbiAgICB4eGw6ICcycmVtJyxcbiAgfSxcblxuICAvLyBTaGFkb3dzXG4gIHNoYWRvd3M6IHtcbiAgICBzbTogJzAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSknLFxuICAgIG1kOiAnMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpJyxcbiAgICBsZzogJzAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjEpJyxcbiAgICB4bDogJzAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpJyxcbiAgICB4eGw6ICcwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpJyxcbiAgfSxcblxuICAvLyBUeXBvZ3JhcGh5XG4gIHR5cG9ncmFwaHk6IHtcbiAgICBmb250RmFtaWx5OiB7XG4gICAgICBoZWFkaW5nOiBbJ0RlbGEgR290aGljIE9uZScsICdzYW5zLXNlcmlmJ10sXG4gICAgICBib2R5OiBbJ1JvYm90bycsICdzYW5zLXNlcmlmJ10sXG4gICAgfSxcbiAgICBmb250U2l6ZToge1xuICAgICAgeHM6ICcwLjc1cmVtJyxcbiAgICAgIHNtOiAnMC44NzVyZW0nLFxuICAgICAgYmFzZTogJzFyZW0nLFxuICAgICAgbGc6ICcxLjEyNXJlbScsXG4gICAgICB4bDogJzEuMjVyZW0nLFxuICAgICAgJzJ4bCc6ICcxLjVyZW0nLFxuICAgICAgJzN4bCc6ICcxLjg3NXJlbScsXG4gICAgICAnNHhsJzogJzIuMjVyZW0nLFxuICAgICAgJzV4bCc6ICczcmVtJyxcbiAgICAgICc2eGwnOiAnMy43NXJlbScsXG4gICAgfSxcbiAgICBmb250V2VpZ2h0OiB7XG4gICAgICBub3JtYWw6ICc0MDAnLFxuICAgICAgbWVkaXVtOiAnNTAwJyxcbiAgICAgIHNlbWlib2xkOiAnNjAwJyxcbiAgICAgIGJvbGQ6ICc3MDAnLFxuICAgICAgZXh0cmFib2xkOiAnODAwJyxcbiAgICB9LFxuICB9LFxuXG4gIC8vIFRyYW5zaXRpb25zXG4gIHRyYW5zaXRpb25zOiB7XG4gICAgZmFzdDogJ2FsbCAwLjE1cyBlYXNlLWluLW91dCcsXG4gICAgbm9ybWFsOiAnYWxsIDAuM3MgZWFzZS1pbi1vdXQnLFxuICAgIHNsb3c6ICdhbGwgMC41cyBlYXNlLWluLW91dCcsXG4gIH0sXG5cbiAgLy8gWi1pbmRleFxuICB6SW5kZXg6IHtcbiAgICBkcm9wZG93bjogMTAwMCxcbiAgICBzdGlja3k6IDEwMjAsXG4gICAgZml4ZWQ6IDEwMzAsXG4gICAgbW9kYWxCYWNrZHJvcDogMTA0MCxcbiAgICBtb2RhbDogMTA1MCxcbiAgICBwb3BvdmVyOiAxMDYwLFxuICAgIHRvb2x0aXA6IDEwNzAsXG4gIH0sXG59IGFzIGNvbnN0O1xuXG4vLyBSZXVzYWJsZSBncmFkaWVudCBjb21iaW5hdGlvbnNcbmV4cG9ydCBjb25zdCBncmFkaWVudHMgPSB7XG4gIHByaW1hcnk6ICdiZy1ncmFkaWVudC10by1yIGZyb20tYmFucXVpc2UtYmx1ZSB0by1iYW5xdWlzZS1ibHVlLWxpZ2h0JyxcbiAgcHJpbWFyeUJyOiAnYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlIHRvLWJhbnF1aXNlLWJsdWUtbGlnaHQnLFxuICBjYXJkOiAnYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1iYW5xdWlzZS1ibHVlLWRhcmsvMTAgdG8tYmFucXVpc2UtYmx1ZS1kYXJrLzUnLFxuICBjYXJkSG92ZXI6ICdob3Zlcjpmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xNSBob3Zlcjp0by1iYW5xdWlzZS1ibHVlLWRhcmsvOCcsXG4gIGRpc2NvcmQ6ICdiZy1ncmFkaWVudC10by1yIGZyb20taW5kaWdvLTYwMCB0by1wdXJwbGUtNjAwJyxcbiAgZGlzY29yZEhvdmVyOiAnaG92ZXI6ZnJvbS1pbmRpZ28tNTAwIGhvdmVyOnRvLXB1cnBsZS01MDAnLFxuICBiYWNrZ3JvdW5kOiAnYmctZ3JhZGllbnQtdG8tYiBmcm9tLWJhbnF1aXNlLWJsdWUtZGFyayB2aWEtYmFucXVpc2UtYmx1ZS1kYXJrLzk1IHRvLWJhbnF1aXNlLWJsdWUtZGFyaycsXG59IGFzIGNvbnN0O1xuXG4vLyBSZXVzYWJsZSBjb21wb25lbnQgc3R5bGVzXG5leHBvcnQgY29uc3QgY29tcG9uZW50U3R5bGVzID0ge1xuICAvLyBCdXR0b25zXG4gIGJ1dHRvbjoge1xuICAgIGJhc2U6ICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1ib2xkIHRleHQtd2hpdGUgYm9yZGVyLTAgcm91bmRlZC0yeGwgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGhvdmVyOnNoYWRvdy14bCBob3ZlcjotdHJhbnNsYXRlLXktMSBob3ZlcjpzY2FsZS0xMDUgYWN0aXZlOnNjYWxlLTk1JyxcbiAgICBwcmltYXJ5OiAnYmctZ3JhZGllbnQtdG8tciBmcm9tLWJhbnF1aXNlLWJsdWUgdG8tYmFucXVpc2UtYmx1ZS1saWdodCcsXG4gICAgZGlzY29yZDogJ2dyb3VwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBweC00IGxnOnB4LTYgcHktMi41IGxnOnB5LTMgdGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20gbGc6dGV4dC1iYXNlIHJvdW5kZWQteGwgYmctZ3JhZGllbnQtdG8tciBmcm9tLWluZGlnby02MDAgdG8tcHVycGxlLTYwMCBob3Zlcjpmcm9tLWluZGlnby01MDAgaG92ZXI6dG8tcHVycGxlLTUwMCcsXG4gICAgYXV0aDogJ2dyb3VwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBweC00IGxnOnB4LTYgcHktMi41IGxnOnB5LTMgdGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20gbGc6dGV4dC1iYXNlIHJvdW5kZWQteGwnLFxuICB9LFxuXG4gIC8vIENhcmRzXG4gIGNhcmQ6IHtcbiAgICBiYXNlOiAnYmFja2Ryb3AtYmx1ci1sZyByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QvMzAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwJyxcbiAgICBob3ZlcjogJ2hvdmVyOnNoYWRvdy14bCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC81MCcsXG4gICAgaW50ZXJhY3RpdmU6ICdjdXJzb3ItcG9pbnRlciBob3ZlcjotdHJhbnNsYXRlLXktNCBob3ZlcjpzaGFkb3ctMnhsIGFjdGl2ZTpzY2FsZS05NScsXG4gICAgZ3JhZGllbnQ6ICdiZy1ncmFkaWVudC10by1iciBmcm9tLWJhbnF1aXNlLWJsdWUtZGFyay8xMCB0by1iYW5xdWlzZS1ibHVlLWRhcmsvNScsXG4gIH0sXG5cbiAgLy8gTmF2aWdhdGlvblxuICBuYXY6IHtcbiAgICBsaW5rOiAncHgtNCBsZzpweC02IHB5LTIuNSBsZzpweS0zIHRleHQtd2hpdGUvOTAgaG92ZXI6dGV4dC13aGl0ZSBmb250LW1lZGl1bSB0ZXh0LXNtIGxnOnRleHQtYmFzZSByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBob3ZlcjpiZy13aGl0ZS8xMCBob3ZlcjpiYWNrZHJvcC1ibHVyLXNtIHJlbGF0aXZlIGdyb3VwJyxcbiAgICBtb2JpbGVJdGVtOiAnZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIgcC00IHRleHQtd2hpdGUvOTAgaG92ZXI6dGV4dC13aGl0ZSBuby11bmRlcmxpbmUgcm91bmRlZC0yeGwgaG92ZXI6YmctZ3JhZGllbnQtdG8tciBob3Zlcjpmcm9tLWJhbnF1aXNlLWJsdWUvMjAgaG92ZXI6dG8tYmFucXVpc2UtYmx1ZS1saWdodC8yMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBob3Zlcjpib3JkZXItYmFucXVpc2UtYmx1ZS1saWdodGVzdC8yMCcsXG4gIH0sXG5cbiAgLy8gVGV4dCBzdHlsZXNcbiAgdGV4dDoge1xuICAgIGhlYWRpbmc6ICdmb250LWhlYWRpbmcgZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0JyxcbiAgICBoZWFkaW5nWGw6ICd0ZXh0LTN4bCBzbTp0ZXh0LTR4bCBtZDp0ZXh0LTV4bCB0ZXh0LWJhbnF1aXNlLWdyYXkgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCcsXG4gICAgaGVhZGluZ0xnOiAndGV4dC0yeGwgc206dGV4dC0zeGwgbWQ6dGV4dC00eGwgdGV4dC1iYW5xdWlzZS1ncmF5IGZvbnQtaGVhZGluZyBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQnLFxuICAgIGhlYWRpbmdNZDogJ3RleHQteGwgc206dGV4dC0yeGwgbWQ6dGV4dC0zeGwgdGV4dC1iYW5xdWlzZS1ibHVlLWRhcmsgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCcsXG4gICAgaGVhZGluZ1NtOiAndGV4dC1sZyBzbTp0ZXh0LXhsIG1kOnRleHQtMnhsIHRleHQtYmFucXVpc2UtYmx1ZS1kYXJrIGZvbnQtaGVhZGluZyBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0JyxcbiAgICBzdWJoZWFkaW5nOiAndGV4dC1iYXNlIHNtOnRleHQtbGcgbWQ6dGV4dC14bCB0ZXh0LWJhbnF1aXNlLWdyYXkvOTAgZm9udC1tZWRpdW0gbGVhZGluZy1yZWxheGVkJyxcbiAgICBib2R5OiAndGV4dC1zbSBzbTp0ZXh0LWJhc2UgbWQ6dGV4dC1sZyB0ZXh0LWJhbnF1aXNlLWJsdWUtZGFyay85MCBsZWFkaW5nLXJlbGF4ZWQnLFxuICAgIGRlc2NyaXB0aW9uOiAndGV4dC1iYW5xdWlzZS1ncmF5LzgwIGxlYWRpbmctcmVsYXhlZCcsXG4gICAgbXV0ZWQ6ICd0ZXh0LWJhbnF1aXNlLWdyYXkvOTAgbGVhZGluZy1yZWxheGVkJyxcbiAgICBsaWdodEhlYWRpbmc6ICd0ZXh0LWJhbnF1aXNlLWJsdWUtbGlnaHRlc3QgZm9udC1oZWFkaW5nIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCcsXG4gICAgbGlnaHRCb2R5OiAndGV4dC13aGl0ZS85MCBsZWFkaW5nLXJlbGF4ZWQnLFxuICB9LFxuXG4gIC8vIEljb25zXG4gIGljb246IHtcbiAgICBiYXNlOiAndy0xNiBoLTE2IHNtOnctMjAgc206aC0yMCBsZzp3LTI0IGxnOmgtMjQgcm91bmRlZC0yeGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC0zeGwgc206dGV4dC00eGwgbGc6dGV4dC01eGwgc2hhZG93LWxnJyxcbiAgICBzbWFsbDogJ3ctMTAgaC0xMCByb3VuZGVkLWxnIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUnLFxuICB9LFxuXG4gIC8vIExheW91dFxuICBsYXlvdXQ6IHtcbiAgICBzZWN0aW9uOiAncHktMTIgc206cHktMTYgbWQ6cHktMjAgdy1mdWxsIG1heC13LTZ4bCBteC1hdXRvIHB4LTQgc206cHgtNiBtZDpweC04JyxcbiAgICBjb250YWluZXI6ICdtYXgtdy02eGwgbXgtYXV0bycsXG4gICAgZGl2aWRlcjogJ3ctMjAgaC0xIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1iYW5xdWlzZS1ibHVlLWxpZ2h0ZXN0IHRvLWJhbnF1aXNlLWJsdWUgbXgtYXV0byBtYi02IHNtOm1iLTggcm91bmRlZC1mdWxsJyxcbiAgfSxcblxuICAvLyBBbmltYXRpb25zXG4gIGFuaW1hdGlvbjoge1xuICAgIGhvdmVyOiAnaG92ZXI6LXRyYW5zbGF0ZS15LTQgaG92ZXI6c2hhZG93LTJ4bCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAnLFxuICAgIHNjYWxlOiAnaG92ZXI6c2NhbGUtMTA1IGFjdGl2ZTpzY2FsZS05NSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0zMDAnLFxuICAgIGZhZGVJbjogJ2FuaW1hdGUtZmFkZUluJyxcbiAgICBzbGlkZVVwOiAnYW5pbWF0ZS1zbGlkZVVwJyxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbi8vIFV0aWxpdHkgZnVuY3Rpb24gdG8gbWVyZ2UgY2xhc3Nlc1xuZXhwb3J0IGNvbnN0IG1lcmdlQ2xhc3NlcyA9ICguLi5jbGFzc2VzOiAoc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB8IGZhbHNlKVtdKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGNsYXNzZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbn07XG5cbi8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCBicmVha3BvaW50cyA9IHtcbiAgc206ICc2NDBweCcsXG4gIG1kOiAnNzY4cHgnLFxuICBsZzogJzEwMjRweCcsXG4gIHhsOiAnMTI4MHB4JyxcbiAgJzJ4bCc6ICcxNTM2cHgnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgRGVzaWduVG9rZW5zID0gdHlwZW9mIGRlc2lnblRva2VucztcbmV4cG9ydCB0eXBlIEdyYWRpZW50cyA9IHR5cGVvZiBncmFkaWVudHM7XG5leHBvcnQgdHlwZSBDb21wb25lbnRTdHlsZXMgPSB0eXBlb2YgY29tcG9uZW50U3R5bGVzO1xuIl0sIm5hbWVzIjpbImRlc2lnblRva2VucyIsImNvbG9ycyIsImJhbnF1aXNlIiwiYmx1ZSIsImJsdWVEYXJrIiwiYmx1ZUxpZ2h0IiwiYmx1ZUxpZ2h0ZXN0IiwiZ3JheSIsInNwYWNpbmciLCJ4cyIsInNtIiwibWQiLCJsZyIsInhsIiwieHhsIiwiYm9yZGVyUmFkaXVzIiwic2hhZG93cyIsInR5cG9ncmFwaHkiLCJmb250RmFtaWx5IiwiaGVhZGluZyIsImJvZHkiLCJmb250U2l6ZSIsImJhc2UiLCJmb250V2VpZ2h0Iiwibm9ybWFsIiwibWVkaXVtIiwic2VtaWJvbGQiLCJib2xkIiwiZXh0cmFib2xkIiwidHJhbnNpdGlvbnMiLCJmYXN0Iiwic2xvdyIsInpJbmRleCIsImRyb3Bkb3duIiwic3RpY2t5IiwiZml4ZWQiLCJtb2RhbEJhY2tkcm9wIiwibW9kYWwiLCJwb3BvdmVyIiwidG9vbHRpcCIsImdyYWRpZW50cyIsInByaW1hcnkiLCJwcmltYXJ5QnIiLCJjYXJkIiwiY2FyZEhvdmVyIiwiZGlzY29yZCIsImRpc2NvcmRIb3ZlciIsImJhY2tncm91bmQiLCJjb21wb25lbnRTdHlsZXMiLCJidXR0b24iLCJhdXRoIiwiaG92ZXIiLCJpbnRlcmFjdGl2ZSIsImdyYWRpZW50IiwibmF2IiwibGluayIsIm1vYmlsZUl0ZW0iLCJ0ZXh0IiwiaGVhZGluZ1hsIiwiaGVhZGluZ0xnIiwiaGVhZGluZ01kIiwiaGVhZGluZ1NtIiwic3ViaGVhZGluZyIsImRlc2NyaXB0aW9uIiwibXV0ZWQiLCJsaWdodEhlYWRpbmciLCJsaWdodEJvZHkiLCJpY29uIiwic21hbGwiLCJsYXlvdXQiLCJzZWN0aW9uIiwiY29udGFpbmVyIiwiZGl2aWRlciIsImFuaW1hdGlvbiIsInNjYWxlIiwiZmFkZUluIiwic2xpZGVVcCIsIm1lcmdlQ2xhc3NlcyIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImJyZWFrcG9pbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/designSystem.ts\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
/*!****************************************************************************************!*\
!*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
\****************************************************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\nvar React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar assign = Object.assign;\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\nvar didWarnAboutKeySpread = {};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV$1(type, config, maybeKey, isStaticChildren, source, self) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n var children = config.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n } // Warn about key spread regardless of whether the type is valid.\n\n\n if (hasOwnProperty.call(config, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref')) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n var element = ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar jsxDEV = jsxDEV$1 ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsxDEV = jsxDEV;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxzR0FBMEI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlHQUFpRyxlQUFlO0FBQ2hIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVIsa0RBQWtEO0FBQ2xEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBLHFDQUFxQzs7QUFFckMsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBOztBQUVBLHFFQUFxRTs7QUFFckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0dBQWtHOztBQUVsRztBQUNBO0FBQ0EsRUFBRTs7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1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O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLEdBQUc7QUFDZCxXQUFXLGVBQWU7QUFDMUIsV0FBVyxHQUFHO0FBQ2QsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFXLGNBQWM7QUFDekI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixpQkFBaUI7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcz9hMjdkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0ID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdFwiKTtcblxuLy8gQVRURU5USU9OXG4vLyBXaGVuIGFkZGluZyBuZXcgc3ltYm9scyB0byB0aGlzIGZpbGUsXG4vLyBQbGVhc2UgY29uc2lkZXIgYWxzbyBhZGRpbmcgdG8gJ3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9SZWFjdFN5bWJvbHMnXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy5cbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50Jyk7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKTtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKTtcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTsgLy8gVE9ETzogRGVsZXRlIHdpdGggZW5hYmxlUmVuZGVyYWJsZUNvbnRleHRcblxudmFyIFJFQUNUX0NPTlNVTUVSX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jb25zdW1lcicpO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9PRkZTQ1JFRU5fVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0Lm9mZnNjcmVlbicpO1xudmFyIFJFQUNUX0NBQ0hFX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5jYWNoZScpO1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG52YXIgZW5hYmxlU2NvcGVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIENyZWF0ZSBFdmVudCBIYW5kbGUgQVBJLlxudmFyIGVuYWJsZUNhY2hlRWxlbWVudCA9IGZhbHNlO1xudmFyIGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nID0gZmFsc2U7IC8vIE5vIGtub3duIGJ1Z3MsIGJ1dCBuZWVkcyBwZXJmb3JtYW5jZSB0ZXN0aW5nXG5cbnZhciBlbmFibGVMZWdhY3lIaWRkZW4gPSBmYWxzZTsgLy8gRW5hYmxlcyB1bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayBmZWF0dXJlIGluIEZpYmVyXG52YXIgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgPSBmYWxzZTtcbi8vIHN0dWZmLiBJbnRlbmRlZCB0byBlbmFibGUgUmVhY3QgY29yZSBtZW1iZXJzIHRvIG1vcmUgZWFzaWx5IGRlYnVnIHNjaGVkdWxpbmdcbi8vIGlzc3VlcyBpbiBERVYgYnVpbGRzLlxuXG52YXIgZW5hYmxlRGVidWdUcmFjaW5nID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZGlzcGxheU5hbWUgPSBvdXRlclR5cGUuZGlzcGxheU5hbWU7XG5cbiAgaWYgKGRpc3BsYXlOYW1lKSB7XG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICB9XG5cbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIGZ1bmN0aW9uTmFtZSAhPT0gJycgPyB3cmFwcGVyTmFtZSArIFwiKFwiICsgZnVuY3Rpb25OYW1lICsgXCIpXCIgOiB3cmFwcGVyTmFtZTtcbn0gLy8gS2VlcCBpbiBzeW5jIHdpdGggcmVhY3QtcmVjb25jaWxlci9nZXRDb21wb25lbnROYW1lRnJvbUZpYmVyXG5cblxuZnVuY3Rpb24gZ2V0Q29udGV4dE5hbWUodHlwZSkge1xuICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCAnQ29udGV4dCc7XG59XG5cbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFJDIgPSBTeW1ib2wuZm9yKCdyZWFjdC5jbGllbnQucmVmZXJlbmNlJyk7IC8vIE5vdGUgdGhhdCB0aGUgcmVjb25jaWxlciBwYWNrYWdlIHNob3VsZCBnZW5lcmFsbHkgcHJlZmVyIHRvIHVzZSBnZXRDb21wb25lbnROYW1lRnJvbUZpYmVyKCkgaW5zdGVhZC5cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMikge1xuICAgICAgLy8gVE9ETzogQ3JlYXRlIGEgY29udmVudGlvbiBmb3IgbmFtaW5nIGNsaWVudCByZWZlcmVuY2VzIHdpdGggZGVidWcgaW5mby5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9GUkFHTUVOVF9UWVBFOlxuICAgICAgcmV0dXJuICdGcmFnbWVudCc7XG5cbiAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgcmV0dXJuICdQb3J0YWwnO1xuXG4gICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgcmV0dXJuICdQcm9maWxlcic7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcblxuICAgIGNhc2UgUkVBQ1RfQ0FDSEVfVFlQRTpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuICdDYWNoZSc7XG4gICAgICB9XG5cbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHByb3ZpZGVyID0gdHlwZTtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGV4dE5hbWUocHJvdmlkZXIuX2NvbnRleHQpICsgJy5Qcm92aWRlcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgIHZhciBjb250ZXh0ID0gdHlwZTtcblxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIGdldENvbnRleHROYW1lKGNvbnRleHQpICsgJy5Db25zdW1lcic7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICB2YXIgb3V0ZXJOYW1lID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChvdXRlck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gb3V0ZXJOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdNZW1vJztcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGluaXQocGF5bG9hZCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLypcbiAqIFRoZSBgJycgKyB2YWx1ZWAgcGF0dGVybiAodXNlZCBpbiBwZXJmLXNlbnNpdGl2ZSBjb2RlKSB0aHJvd3MgZm9yIFN5bWJvbFxuICogYW5kIFRlbXBvcmFsLiogdHlwZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yMjA2NC5cbiAqXG4gKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHdpbGwgdGhyb3cgYW4gZWFzaWVyLXRvLXVuZGVyc3RhbmQsXG4gKiBlYXNpZXItdG8tZGVidWcgZXhjZXB0aW9uIHdpdGggYSBjbGVhciBlcnJvcnMgbWVzc2FnZSBtZXNzYWdlIGV4cGxhaW5pbmcgdGhlXG4gKiBwcm9ibGVtLiAoSW5zdGVhZCBvZiBhIGNvbmZ1c2luZyBleGNlcHRpb24gdGhyb3duIGluc2lkZSB0aGUgaW1wbGVtZW50YXRpb25cbiAqIG9mIHRoZSBgdmFsdWVgIG9iamVjdCkuXG4gKi9cbi8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl0gb25seSBjYWxsZWQgaW4gREVWLCBzbyB2b2lkIHJldHVybiBpcyBub3QgcG9zc2libGUuXG5mdW5jdGlvbiB0eXBlTmFtZSh2YWx1ZSkge1xuICB7XG4gICAgLy8gdG9TdHJpbmdUYWcgaXMgbmVlZGVkIGZvciBuYW1lc3BhY2VkIHR5cGVzIGxpa2UgVGVtcG9yYWwuSW5zdGFudFxuICAgIHZhciBoYXNUb1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLnRvU3RyaW5nVGFnO1xuICAgIHZhciB0eXBlID0gaGFzVG9TdHJpbmdUYWcgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSB8fCB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8ICdPYmplY3QnOyAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dIG9ubHkgY2FsbGVkIGluIERFViwgc28gdm9pZCByZXR1cm4gaXMgbm90IHBvc3NpYmxlLlxuXG5cbmZ1bmN0aW9uIHdpbGxDb2VyY2lvblRocm93KHZhbHVlKSB7XG4gIHtcbiAgICB0cnkge1xuICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIC8vIElmIHlvdSBlbmRlZCB1cCBoZXJlIGJ5IGZvbGxvd2luZyBhbiBleGNlcHRpb24gY2FsbCBzdGFjaywgaGVyZSdzIHdoYXQnc1xuICAvLyBoYXBwZW5lZDogeW91IHN1cHBsaWVkIGFuIG9iamVjdCBvciBzeW1ib2wgdmFsdWUgdG8gUmVhY3QgKGFzIGEgcHJvcCwga2V5LFxuICAvLyBET00gYXR0cmlidXRlLCBDU1MgcHJvcGVydHksIHN0cmluZyByZWYsIGV0Yy4pIGFuZCB3aGVuIFJlYWN0IHRyaWVkIHRvXG4gIC8vIGNvZXJjZSBpdCB0byBhIHN0cmluZyB1c2luZyBgJycgKyB2YWx1ZWAsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLlxuICAvL1xuICAvLyBUaGUgbW9zdCBjb21tb24gdHlwZXMgdGhhdCB3aWxsIGNhdXNlIHRoaXMgZXhjZXB0aW9uIGFyZSBgU3ltYm9sYCBpbnN0YW5jZXNcbiAgLy8gYW5kIFRlbXBvcmFsIG9iamVjdHMgbGlrZSBgVGVtcG9yYWwuSW5zdGFudGAuIEJ1dCBhbnkgb2JqZWN0IHRoYXQgaGFzIGFcbiAgLy8gYHZhbHVlT2ZgIG9yIGBbU3ltYm9sLnRvUHJpbWl0aXZlXWAgbWV0aG9kIHRoYXQgdGhyb3dzIHdpbGwgYWxzbyBjYXVzZSB0aGlzXG4gIC8vIGV4Y2VwdGlvbi4gKExpYnJhcnkgYXV0aG9ycyBkbyB0aGlzIHRvIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyBidWlsdC1pblxuICAvLyBudW1lcmljIG9wZXJhdG9ycyBsaWtlIGArYCBvciBjb21wYXJpc29uIG9wZXJhdG9ycyBsaWtlIGA+PWAgYmVjYXVzZSBjdXN0b21cbiAgLy8gbWV0aG9kcyBhcmUgbmVlZGVkIHRvIHBlcmZvcm0gYWNjdXJhdGUgYXJpdGhtZXRpYyBvciBjb21wYXJpc29uLilcbiAgLy9cbiAgLy8gVG8gZml4IHRoZSBwcm9ibGVtLCBjb2VyY2UgdGhpcyBvYmplY3Qgb3Igc3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nIGJlZm9yZVxuICAvLyBwYXNzaW5nIGl0IHRvIFJlYWN0LiBUaGUgbW9zdCByZWxpYWJsZSB3YXkgaXMgdXN1YWxseSBgU3RyaW5nKHZhbHVlKWAuXG4gIC8vXG4gIC8vIFRvIGZpbmQgd2hpY2ggdmFsdWUgaXMgdGhyb3dpbmcsIGNoZWNrIHRoZSBicm93c2VyIG9yIGRlYnVnZ2VyIGNvbnNvbGUuXG4gIC8vIEJlZm9yZSB0aGlzIGV4Y2VwdGlvbiB3YXMgdGhyb3duLCB0aGVyZSBzaG91bGQgYmUgYGNvbnNvbGUuZXJyb3JgIG91dHB1dFxuICAvLyB0aGF0IHNob3dzIHRoZSB0eXBlIChTeW1ib2wsIFRlbXBvcmFsLlBsYWluRGF0ZSwgZXRjLikgdGhhdCBjYXVzZWQgdGhlXG4gIC8vIHByb2JsZW0gYW5kIGhvdyB0aGF0IHR5cGUgd2FzIHVzZWQ6IGtleSwgYXRycmlidXRlLCBpbnB1dCB2YWx1ZSBwcm9wLCBldGMuXG4gIC8vIEluIG1vc3QgY2FzZXMsIHRoaXMgY29uc29sZSBvdXRwdXQgYWxzbyBzaG93cyB0aGUgY29tcG9uZW50IGFuZCBpdHNcbiAgLy8gYW5jZXN0b3IgY29tcG9uZW50cyB3aGVyZSB0aGUgZXhjZXB0aW9uIGhhcHBlbmVkLlxuICAvL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cbiAgcmV0dXJuICcnICsgdmFsdWU7XG59XG5mdW5jdGlvbiBjaGVja0tleVN0cmluZ0NvZXJjaW9uKHZhbHVlKSB7XG4gIHtcbiAgICBpZiAod2lsbENvZXJjaW9uVGhyb3codmFsdWUpKSB7XG4gICAgICBlcnJvcignVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLicgKyAnIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLicsIHR5cGVOYW1lKHZhbHVlKSk7XG5cbiAgICAgIHJldHVybiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpOyAvLyB0aHJvdyAodG8gaGVscCBjYWxsZXJzIGZpbmQgdHJvdWJsZXNob290aW5nIGNvbW1lbnRzKVxuICAgIH1cbiAgfVxufVxuXG52YXIgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIE5vdGU6IHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIChlLmcuIGlmIGl0J3MgYSBwb2x5ZmlsbCkuXG5cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IGVuYWJsZURlYnVnVHJhY2luZyAgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCBlbmFibGVMZWdhY3lIaWRkZW4gIHx8IHR5cGUgPT09IFJFQUNUX09GRlNDUkVFTl9UWVBFIHx8IGVuYWJsZVNjb3BlQVBJICB8fCBlbmFibGVDYWNoZUVsZW1lbnQgIHx8IGVuYWJsZVRyYW5zaXRpb25UcmFjaW5nICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsKSB7XG4gICAgaWYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUgfHwgZW5hYmxlUmVuZGVyYWJsZUNvbnRleHQgIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHwgLy8gVGhpcyBuZWVkcyB0byBpbmNsdWRlIGFsbCBwb3NzaWJsZSBtb2R1bGUgcmVmZXJlbmNlIG9iamVjdFxuICAgIC8vIHR5cGVzIHN1cHBvcnRlZCBieSBhbnkgRmxpZ2h0IGNvbmZpZ3VyYXRpb24gYW55d2hlcmUgc2luY2VcbiAgICAvLyB3ZSBkb24ndCBrbm93IHdoaWNoIEZsaWdodCBidWlsZCB0aGlzIHdpbGwgZW5kIHVwIGJlaW5nIHVzZWRcbiAgICAvLyB3aXRoLlxuICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fCB0eXBlLmdldE1vZHVsZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxudmFyIGlzQXJyYXlJbXBsID0gQXJyYXkuaXNBcnJheTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlZGVjbGFyZVxuXG5mdW5jdGlvbiBpc0FycmF5KGEpIHtcbiAgcmV0dXJuIGlzQXJyYXlJbXBsKGEpO1xufVxuXG4vLyBIZWxwZXJzIHRvIHBhdGNoIGNvbnNvbGUubG9ncyB0byBhdm9pZCBsb2dnaW5nIGR1cmluZyBzaWRlLWVmZmVjdCBmcmVlXG4vLyByZXBsYXlpbmcgb24gcmVuZGVyIGZ1bmN0aW9uLiBUaGlzIGN1cnJlbnRseSBvbmx5IHBhdGNoZXMgdGhlIG9iamVjdFxuLy8gbGF6aWx5IHdoaWNoIHdvbid0IGNvdmVyIGlmIHRoZSBsb2cgZnVuY3Rpb24gd2FzIGV4dHJhY3RlZCBlYWdlcmx5LlxuLy8gV2UgY291bGQgYWxzbyBlYWdlcmx5IHBhdGNoIHRoZSBtZXRob2QuXG52YXIgZGlzYWJsZWREZXB0aCA9IDA7XG52YXIgcHJldkxvZztcbnZhciBwcmV2SW5mbztcbnZhciBwcmV2V2FybjtcbnZhciBwcmV2RXJyb3I7XG52YXIgcHJldkdyb3VwO1xudmFyIHByZXZHcm91cENvbGxhcHNlZDtcbnZhciBwcmV2R3JvdXBFbmQ7XG5cbmZ1bmN0aW9uIGRpc2FibGVkTG9nKCkge31cblxuZGlzYWJsZWRMb2cuX19yZWFjdERpc2FibGVkTG9nID0gdHJ1ZTtcbmZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICB7XG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgcHJldkluZm8gPSBjb25zb2xlLmluZm87XG4gICAgICBwcmV2V2FybiA9IGNvbnNvbGUud2FybjtcbiAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICBwcmV2R3JvdXAgPSBjb25zb2xlLmdyb3VwO1xuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkID0gY29uc29sZS5ncm91cENvbGxhcHNlZDtcbiAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTkwOTlcblxuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgIH07IC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXSBGbG93IHRoaW5rcyBjb25zb2xlIGlzIGltbXV0YWJsZS5cblxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICBpbmZvOiBwcm9wcyxcbiAgICAgICAgbG9nOiBwcm9wcyxcbiAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgIGVycm9yOiBwcm9wcyxcbiAgICAgICAgZ3JvdXA6IHByb3BzLFxuICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgIGdyb3VwRW5kOiBwcm9wc1xuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGRpc2FibGVkRGVwdGgrKztcbiAgfVxufVxuZnVuY3Rpb24gcmVlbmFibGVMb2dzKCkge1xuICB7XG4gICAgZGlzYWJsZWREZXB0aC0tO1xuXG4gICAgaWYgKGRpc2FibGVkRGVwdGggPT09IDApIHtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgICAgdmFyIHByb3BzID0ge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9OyAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV0gRmxvdyB0aGlua3MgY29uc29sZSBpcyBpbW11dGFibGUuXG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGNvbnNvbGUsIHtcbiAgICAgICAgbG9nOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZMb2dcbiAgICAgICAgfSksXG4gICAgICAgIGluZm86IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkluZm9cbiAgICAgICAgfSksXG4gICAgICAgIHdhcm46IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldldhcm5cbiAgICAgICAgfSksXG4gICAgICAgIGVycm9yOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZFcnJvclxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXA6IGFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICAgICAgICB2YWx1ZTogcHJldkdyb3VwXG4gICAgICAgIH0pLFxuICAgICAgICBncm91cENvbGxhcHNlZDogYXNzaWduKHt9LCBwcm9wcywge1xuICAgICAgICAgIHZhbHVlOiBwcmV2R3JvdXBDb2xsYXBzZWRcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwRW5kOiBhc3NpZ24oe30sIHByb3BzLCB7XG4gICAgICAgICAgdmFsdWU6IHByZXZHcm91cEVuZFxuICAgICAgICB9KVxuICAgICAgfSk7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZyAqL1xuICAgIH1cblxuICAgIGlmIChkaXNhYmxlZERlcHRoIDwgMCkge1xuICAgICAgZXJyb3IoJ2Rpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XG52YXIgcHJlZml4O1xuZnVuY3Rpb24gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUobmFtZSwgb3duZXJGbikge1xuICB7XG4gICAgaWYgKHByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBFeHRyYWN0IHRoZSBWTSBzcGVjaWZpYyBwcmVmaXggdXNlZCBieSBlYWNoIGxpbmUuXG4gICAgICB0cnkge1xuICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICB2YXIgbWF0Y2ggPSB4LnN0YWNrLnRyaW0oKS5tYXRjaCgvXFxuKCAqKGF0ICk/KS8pO1xuICAgICAgICBwcmVmaXggPSBtYXRjaCAmJiBtYXRjaFsxXSB8fCAnJztcbiAgICAgIH1cbiAgICB9IC8vIFdlIHVzZSB0aGUgcHJlZml4IHRvIGVuc3VyZSBvdXIgc3RhY2tzIGxpbmUgdXAgd2l0aCBuYXRpdmUgc3RhY2sgZnJhbWVzLlxuXG5cbiAgICByZXR1cm4gJ1xcbicgKyBwcmVmaXggKyBuYW1lO1xuICB9XG59XG52YXIgcmVlbnRyeSA9IGZhbHNlO1xudmFyIGNvbXBvbmVudEZyYW1lQ2FjaGU7XG5cbntcbiAgdmFyIFBvc3NpYmx5V2Vha01hcCA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcbiAgY29tcG9uZW50RnJhbWVDYWNoZSA9IG5ldyBQb3NzaWJseVdlYWtNYXAoKTtcbn1cbi8qKlxuICogTGV2ZXJhZ2VzIG5hdGl2ZSBicm93c2VyL1ZNIHN0YWNrIGZyYW1lcyB0byBnZXQgcHJvcGVyIGRldGFpbHMgKGUuZy5cbiAqIGZpbGVuYW1lLCBsaW5lICsgY29sIG51bWJlcikgZm9yIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBhIGNvbXBvbmVudCBzdGFjay4gV2VcbiAqIGRvIHRoaXMgYnk6XG4gKiAgICgxKSB0aHJvd2luZyBhbmQgY2F0Y2hpbmcgYW4gZXJyb3IgaW4gdGhlIGZ1bmN0aW9uIC0gdGhpcyB3aWxsIGJlIG91clxuICogICAgICAgY29udHJvbCBlcnJvci5cbiAqICAgKDIpIGNhbGxpbmcgdGhlIGNvbXBvbmVudCB3aGljaCB3aWxsIGV2ZW50dWFsbHkgdGhyb3cgYW4gZXJyb3IgdGhhdCB3ZSdsbFxuICogICAgICAgY2F0Y2ggLSB0aGlzIHdpbGwgYmUgb3VyIHNhbXBsZSBlcnJvci5cbiAqICAgKDMpIGRpZmZpbmcgdGhlIGNvbnRyb2wgYW5kIHNhbXBsZSBlcnJvciBzdGFja3MgdG8gZmluZCB0aGUgc3RhY2sgZnJhbWVcbiAqICAgICAgIHdoaWNoIHJlcHJlc2VudHMgb3VyIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGNvbnN0cnVjdCkge1xuICAvLyBJZiBzb21ldGhpbmcgYXNrZWQgZm9yIGEgc3RhY2sgaW5zaWRlIGEgZmFrZSByZW5kZXIsIGl0IHNob3VsZCBnZXQgaWdub3JlZC5cbiAgaWYgKCFmbiB8fCByZWVudHJ5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAge1xuICAgIHZhciBmcmFtZSA9IGNvbXBvbmVudEZyYW1lQ2FjaGUuZ2V0KGZuKTtcblxuICAgIGlmIChmcmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZnJhbWU7XG4gICAgfVxuICB9XG5cbiAgcmVlbnRyeSA9IHRydWU7XG4gIHZhciBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7IC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIEl0IGRvZXMgYWNjZXB0IHVuZGVmaW5lZC5cblxuICBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IHVuZGVmaW5lZDtcbiAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlcjtcblxuICB7XG4gICAgcHJldmlvdXNEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50OyAvLyBTZXQgdGhlIGRpc3BhdGNoZXIgaW4gREVWIGJlY2F1c2UgdGhpcyBtaWdodCBiZSBjYWxsIGluIHRoZSByZW5kZXIgZnVuY3Rpb25cbiAgICAvLyBmb3Igd2FybmluZ3MuXG5cbiAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBudWxsO1xuICAgIGRpc2FibGVMb2dzKCk7XG4gIH1cbiAgLyoqXG4gICAqIEZpbmRpbmcgYSBjb21tb24gc3RhY2sgZnJhbWUgYmV0d2VlbiBzYW1wbGUgYW5kIGNvbnRyb2wgZXJyb3JzIGNhbiBiZVxuICAgKiB0cmlja3kgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcyBhbmQgbGV2ZWxzIG9mIHN0YWNrIHRyYWNlIHRydW5jYXRpb24gZnJvbVxuICAgKiBkaWZmZXJlbnQgSlMgVk1zLiBTbyBpbnN0ZWFkIHdlJ2xsIGF0dGVtcHQgdG8gY29udHJvbCB3aGF0IHRoYXQgY29tbW9uXG4gICAqIGZyYW1lIHNob3VsZCBiZSB0aHJvdWdoIHRoaXMgb2JqZWN0IG1ldGhvZDpcbiAgICogSGF2aW5nIGJvdGggdGhlIHNhbXBsZSBhbmQgY29udHJvbCBlcnJvcnMgYmUgaW4gdGhlIGZ1bmN0aW9uIHVuZGVyIHRoZVxuICAgKiBgRGVzY3JpYmVOYXRpdmVDb21wb25lbnRGcmFtZVJvb3RgIHByb3BlcnR5LCArIHNldHRpbmcgdGhlIGBuYW1lYCBhbmRcbiAgICogYGRpc3BsYXlOYW1lYCBwcm9wZXJ0aWVzIG9mIHRoZSBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYSBzdGFja1xuICAgKiBmcmFtZSBleGlzdHMgdGhhdCBoYXMgdGhlIG1ldGhvZCBuYW1lIGBEZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lUm9vdGAgaW5cbiAgICogaXQgZm9yIGJvdGggY29udHJvbCBhbmQgc2FtcGxlIHN0YWNrcy5cbiAgICovXG5cblxuICB2YXIgUnVuSW5Sb290RnJhbWUgPSB7XG4gICAgRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290OiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgY29udHJvbDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGQgdGhyb3cuXG4gICAgICAgIGlmIChjb25zdHJ1Y3QpIHtcbiAgICAgICAgICAvLyBTb21ldGhpbmcgc2hvdWxkIGJlIHNldHRpbmcgdGhlIHByb3BzIGluIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgICAgICB2YXIgRmFrZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfTsgLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG5cblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgJ3Byb3BzJywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIC8vIFdlIHVzZSBhIHRocm93aW5nIHNldHRlciBpbnN0ZWFkIG9mIGZyb3plbiBvciBub24td3JpdGFibGUgcHJvcHNcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGF0IHdvbid0IHRocm93IGluIGEgbm9uLXN0cmljdCBtb2RlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyAmJiBSZWZsZWN0LmNvbnN0cnVjdCkge1xuICAgICAgICAgICAgLy8gV2UgY29uc3RydWN0IGEgZGlmZmVyZW50IGNvbnRyb2wgZm9yIHRoaXMgY2FzZSB0byBpbmNsdWRlIGFueSBleHRyYVxuICAgICAgICAgICAgLy8gZnJhbWVzIGFkZGVkIGJ5IHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KGZuLCBbXSwgRmFrZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIEZha2UuY2FsbCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICBjb250cm9sID0geDtcbiAgICAgICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddIGZvdW5kIHdoZW4gdXBncmFkaW5nIEZsb3dcblxuXG4gICAgICAgICAgICBmbi5jYWxsKEZha2UucHJvdG90eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgY29udHJvbCA9IHg7XG4gICAgICAgICAgfSAvLyBUT0RPKGx1bmEpOiBUaGlzIHdpbGwgY3VycmVudGx5IG9ubHkgdGhyb3cgaWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgICAgICAgIC8vIHRyaWVzIHRvIGFjY2VzcyBSZWFjdC9SZWFjdERPTS9wcm9wcy4gV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyB0aHJvd1xuICAgICAgICAgIC8vIGluIHNpbXBsZSBjb21wb25lbnRzIHRvb1xuXG5cbiAgICAgICAgICB2YXIgbWF5YmVQcm9taXNlID0gZm4oKTsgLy8gSWYgdGhlIGZ1bmN0aW9uIGNvbXBvbmVudCByZXR1cm5zIGEgcHJvbWlzZSwgaXQncyBsaWtlbHkgYW4gYXN5bmNcbiAgICAgICAgICAvLyBjb21wb25lbnQsIHdoaWNoIHdlIGRvbid0IHlldCBzdXBwb3J0LiBBdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgdG9cbiAgICAgICAgICAvLyBzaWxlbmNlIHRoZSBlcnJvci5cbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY29tcG9uZW50IHN0YWNrcyBmb3IgYXN5bmMgY2xpZW50IGNvbXBvbmVudHM/XG5cbiAgICAgICAgICBpZiAobWF5YmVQcm9taXNlICYmIHR5cGVvZiBtYXliZVByb21pc2UuY2F0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG1heWJlUHJvbWlzZS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBpbmxpbmVkIG1hbnVhbGx5IGJlY2F1c2UgY2xvc3VyZSBkb2Vzbid0IGRvIGl0IGZvciB1cy5cbiAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIHR5cGVvZiBzYW1wbGUuc3RhY2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuICB9OyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWUgPSAnRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290JztcbiAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCAnbmFtZScpOyAvLyBCZWZvcmUgRVM2LCB0aGUgYG5hbWVgIHByb3BlcnR5IHdhcyBub3QgY29uZmlndXJhYmxlLlxuXG4gIGlmIChuYW1lUHJvcERlc2NyaXB0b3IgJiYgbmFtZVByb3BEZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIC8vIFY4IHV0aWxpemVzIGEgZnVuY3Rpb24ncyBgbmFtZWAgcHJvcGVydHkgd2hlbiBnZW5lcmF0aW5nIGEgc3RhY2sgdHJhY2UuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwgLy8gQ29uZmlndXJhYmxlIHByb3BlcnRpZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBpdHMgd3JpdGFibGUgZGVzY3JpcHRvclxuICAgIC8vIGlzIHNldCB0byBgZmFsc2VgLlxuICAgIC8vICRGbG93Rml4TWVbY2Fubm90LXdyaXRlXVxuICAgICduYW1lJywge1xuICAgICAgdmFsdWU6ICdEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QnXG4gICAgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPSBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxcbiAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgIGNvbnRyb2xTdGFjayA9IF9SdW5JblJvb3RGcmFtZSREZXRlclsxXTtcblxuICAgIGlmIChzYW1wbGVTdGFjayAmJiBjb250cm9sU3RhY2spIHtcbiAgICAgIC8vIFRoaXMgZXh0cmFjdHMgdGhlIGZpcnN0IGZyYW1lIGZyb20gdGhlIHNhbXBsZSB0aGF0IGlzbid0IGFsc28gaW4gdGhlIGNvbnRyb2wuXG4gICAgICAvLyBTa2lwcGluZyBvbmUgZnJhbWUgdGhhdCB3ZSBhc3N1bWUgaXMgdGhlIGZyYW1lIHRoYXQgY2FsbHMgdGhlIHR3by5cbiAgICAgIHZhciBzYW1wbGVMaW5lcyA9IHNhbXBsZVN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgIHZhciBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoJ1xcbicpO1xuICAgICAgdmFyIHMgPSAwO1xuICAgICAgdmFyIGMgPSAwO1xuXG4gICAgICB3aGlsZSAocyA8IHNhbXBsZUxpbmVzLmxlbmd0aCAmJiAhc2FtcGxlTGluZXNbc10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIHMrKztcbiAgICAgIH1cblxuICAgICAgd2hpbGUgKGMgPCBjb250cm9sTGluZXMubGVuZ3RoICYmICFjb250cm9sTGluZXNbY10uaW5jbHVkZXMoJ0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCcpKSB7XG4gICAgICAgIGMrKztcbiAgICAgIH0gLy8gV2UgY291bGRuJ3QgZmluZCBvdXIgaW50ZW50aW9uYWxseSBpbmplY3RlZCBjb21tb24gcm9vdCBmcmFtZSwgYXR0ZW1wdFxuICAgICAgLy8gdG8gZmluZCBhbm90aGVyIGNvbW1vbiByb290IGZyYW1lIGJ5IHNlYXJjaCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgICAvLyBjb250cm9sIHN0YWNrLi4uXG5cblxuICAgICAgaWYgKHMgPT09IHNhbXBsZUxpbmVzLmxlbmd0aCB8fCBjID09PSBjb250cm9sTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIHMgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICBjID0gY29udHJvbExpbmVzLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgd2hpbGUgKHMgPj0gMSAmJiBjID49IDAgJiYgc2FtcGxlTGluZXNbc10gIT09IGNvbnRyb2xMaW5lc1tjXSkge1xuICAgICAgICAgIC8vIFdlIGV4cGVjdCBhdCBsZWFzdCBvbmUgc3RhY2sgZnJhbWUgdG8gYmUgc2hhcmVkLlxuICAgICAgICAgIC8vIFR5cGljYWxseSB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgbW9zdCBvbmUuIEhvd2V2ZXIsIHN0YWNrIGZyYW1lcyBtYXkgYmVcbiAgICAgICAgICAvLyBjdXQgb2ZmIGR1ZSB0byBtYXhpbXVtIHN0YWNrIGxpbWl0cy4gSW4gdGhpcyBjYXNlLCBvbmUgbWF5YmUgY3V0IG9mZlxuICAgICAgICAgIC8vIGVhcmxpZXIgdGhhbiB0aGUgb3RoZXIuIFdlIGFzc3VtZSB0aGF0IHRoZSBzYW1wbGUgaXMgbG9uZ2VyIG9yIHRoZSBzYW1lXG4gICAgICAgICAgLy8gYW5kIHRoZXJlIGZvciBjdXQgb2ZmIGVhcmxpZXIuIFNvIHdlIHNob3VsZCBmaW5kIHRoZSByb290IG1vc3QgZnJhbWUgaW5cbiAgICAgICAgICAvLyB0aGUgc2FtcGxlIHNvbWV3aGVyZSBpbiB0aGUgY29udHJvbC5cbiAgICAgICAgICBjLS07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9yICg7IHMgPj0gMSAmJiBjID49IDA7IHMtLSwgYy0tKSB7XG4gICAgICAgIC8vIE5leHQgd2UgZmluZCB0aGUgZmlyc3Qgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgd2hpY2ggc2hvdWxkIGJlIHRoZVxuICAgICAgICAvLyBmcmFtZSB0aGF0IGNhbGxlZCBvdXIgc2FtcGxlIGZ1bmN0aW9uIGFuZCB0aGUgY29udHJvbC5cbiAgICAgICAgaWYgKHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAvLyBJbiBWOCwgdGhlIGZpcnN0IGxpbmUgaXMgZGVzY3JpYmluZyB0aGUgbWVzc2FnZSBidXQgb3RoZXIgVk1zIGRvbid0LlxuICAgICAgICAgIC8vIElmIHdlJ3JlIGFib3V0IHRvIHJldHVybiB0aGUgZmlyc3QgbGluZSwgYW5kIHRoZSBjb250cm9sIGlzIGFsc28gb24gdGhlIHNhbWVcbiAgICAgICAgICAvLyBsaW5lLCB0aGF0J3MgYSBwcmV0dHkgZ29vZCBpbmRpY2F0b3IgdGhhdCBvdXIgc2FtcGxlIHRocmV3IGF0IHNhbWUgbGluZSBhc1xuICAgICAgICAgIC8vIHRoZSBjb250cm9sLiBJLmUuIGJlZm9yZSB3ZSBlbnRlcmVkIHRoZSBzYW1wbGUgZnJhbWUuIFNvIHdlIGlnbm9yZSB0aGlzIHJlc3VsdC5cbiAgICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgeW91IHBhc3NlZCBhIGNsYXNzIHRvIGZ1bmN0aW9uIGNvbXBvbmVudCwgb3Igbm9uLWZ1bmN0aW9uLlxuICAgICAgICAgIGlmIChzICE9PSAxIHx8IGMgIT09IDEpIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgcy0tO1xuICAgICAgICAgICAgICBjLS07IC8vIFdlIG1heSBzdGlsbCBoYXZlIHNpbWlsYXIgaW50ZXJtZWRpYXRlIGZyYW1lcyBmcm9tIHRoZSBjb25zdHJ1Y3QgY2FsbC5cbiAgICAgICAgICAgICAgLy8gVGhlIG5leHQgb25lIHRoYXQgaXNuJ3QgdGhlIHNhbWUgc2hvdWxkIGJlIG91ciBtYXRjaCB0aG91Z2guXG5cbiAgICAgICAgICAgICAgaWYgKGMgPCAwIHx8IHNhbXBsZUxpbmVzW3NdICE9PSBjb250cm9sTGluZXNbY10pIHtcbiAgICAgICAgICAgICAgICAvLyBWOCBhZGRzIGEgXCJuZXdcIiBwcmVmaXggZm9yIG5hdGl2ZSBjbGFzc2VzLiBMZXQncyByZW1vdmUgaXQgdG8gbWFrZSBpdCBwcmV0dGllci5cbiAgICAgICAgICAgICAgICB2YXIgX2ZyYW1lID0gJ1xcbicgKyBzYW1wbGVMaW5lc1tzXS5yZXBsYWNlKCcgYXQgbmV3ICcsICcgYXQgJyk7IC8vIElmIG91ciBjb21wb25lbnQgZnJhbWUgaXMgbGFiZWxlZCBcIjxhbm9ueW1vdXM+XCJcbiAgICAgICAgICAgICAgICAvLyBidXQgd2UgaGF2ZSBhIHVzZXItcHJvdmlkZWQgXCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgICAgLy8gc3BsaWNlIGl0IGluIHRvIG1ha2UgdGhlIHN0YWNrIG1vcmUgcmVhZGFibGUuXG5cblxuICAgICAgICAgICAgICAgIGlmIChmbi5kaXNwbGF5TmFtZSAmJiBfZnJhbWUuaW5jbHVkZXMoJzxhbm9ueW1vdXM+JykpIHtcbiAgICAgICAgICAgICAgICAgIF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKCc8YW5vbnltb3VzPicsIGZuLmRpc3BsYXlOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IC8vIFJldHVybiB0aGUgbGluZSB3ZSBmb3VuZC5cblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSB3aGlsZSAocyA+PSAxICYmIGMgPj0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgcmVlbnRyeSA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldmlvdXNEaXNwYXRjaGVyO1xuICAgICAgcmVlbmFibGVMb2dzKCk7XG4gICAgfVxuXG4gICAgRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBwcmV2aW91c1ByZXBhcmVTdGFja1RyYWNlO1xuICB9IC8vIEZhbGxiYWNrIHRvIGp1c3QgdXNpbmcgdGhlIG5hbWUgaWYgd2UgY291bGRuJ3QgbWFrZSBpdCB0aHJvdy5cblxuXG4gIHZhciBuYW1lID0gZm4gPyBmbi5kaXNwbGF5TmFtZSB8fCBmbi5uYW1lIDogJyc7XG4gIHZhciBzeW50aGV0aWNGcmFtZSA9IG5hbWUgPyBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSA6ICcnO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc3ludGhldGljRnJhbWUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzeW50aGV0aWNGcmFtZTtcbn1cbmZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb25Db21wb25lbnRGcmFtZShmbiwgb3duZXJGbikge1xuICB7XG4gICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUoZm4sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKHR5cGUsIG93bmVyRm4pIHtcblxuICBpZiAodHlwZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAge1xuICAgICAgcmV0dXJuIGRlc2NyaWJlTmF0aXZlQ29tcG9uZW50RnJhbWUodHlwZSwgc2hvdWxkQ29uc3RydWN0KHR5cGUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKCdTdXNwZW5zZScpO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoJ1N1c3BlbnNlTGlzdCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICByZXR1cm4gZGVzY3JpYmVGdW5jdGlvbkNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIC8vIE1lbW8gbWF5IGNvbnRhaW4gYW55IGNvbXBvbmVudCB0eXBlIHNvIHdlIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaXQuXG4gICAgICAgIHJldHVybiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZS50eXBlLCBvd25lckZuKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVihpbml0KHBheWxvYWQpLCBvd25lckZuKTtcbiAgICAgICAgICB9IGNhdGNoICh4KSB7fVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbnZhciBSRUFDVF9DTElFTlRfUkVGRVJFTkNFID0gU3ltYm9sLmZvcigncmVhY3QuY2xpZW50LnJlZmVyZW5jZScpO1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xudmFyIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL3JlYWN0anMub3JnL2xpbmsvc3RyaWN0LW1vZGUtc3RyaW5nLXJlZicsIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93bikge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKSB7XG4gIHtcbiAgICB7XG4gICAgICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJyVzOiBgcmVmYCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0ICcgKyAnaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSAnICsgJ3ZhbHVlIHdpdGhpbiB0aGUgY2hpbGQgY29tcG9uZW50LCB5b3Ugc2hvdWxkIHBhc3MgaXQgYXMgYSBkaWZmZXJlbnQgJyArICdwcm9wLiAoaHR0cHM6Ly9yZWFjdGpzLm9yZy9saW5rL3NwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAncmVmJywge1xuICAgICAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxuZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgX3JlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIHJlZjtcblxuICB7XG4gICAgcmVmID0gX3JlZjtcbiAgfVxuXG4gIHZhciBlbGVtZW50O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kLCBgcmVmYCBpcyBhIHJlZ3VsYXIgcHJvcGVydHkuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhXG4gICAgLy8gZnV0dXJlIHJlbGVhc2UuXG4gICAgZWxlbWVudCA9IHtcbiAgICAgIC8vIFRoaXMgdGFnIGFsbG93cyB1cyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGlzIGFzIGEgUmVhY3QgRWxlbWVudFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIHJlZjogcmVmLFxuICAgICAgcHJvcHM6IHByb3BzLFxuICAgICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICAgIF9vd25lcjogb3duZXJcbiAgICB9O1xuICB9XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBkZWJ1Z0luZm8gY29udGFpbnMgU2VydmVyIENvbXBvbmVudCBkZWJ1ZyBpbmZvcm1hdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX2RlYnVnSW5mbycsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbi8qKlxuICogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmZjcy9wdWxsLzEwN1xuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAqL1xuXG5mdW5jdGlvbiBqc3hERVYkMSh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuLCBzb3VyY2UsIHNlbGYpIHtcbiAge1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGludmFsaWQgZWxlbWVudCB0eXBlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gICAgICAvLyBzdWNjZWVkIGFuZCB0aGVyZSB3aWxsIGxpa2VseSBiZSBlcnJvcnMgaW4gcmVuZGVyLlxuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICAgIH1cblxuICAgICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIHR5cGVTdHJpbmcgPSAnbnVsbCc7XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXkodHlwZSkpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUpIHtcbiAgICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgICBpbmZvID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBleHBvcnQgYSBKU1ggbGl0ZXJhbCBpbnN0ZWFkIG9mIGEgY29tcG9uZW50Pyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKCdSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgaXMgYSB2YWxpZCBlbGVtZW50IHR5cGUuXG4gICAgICAvLyBTa2lwIGtleSB3YXJuaW5nIGlmIHRoZSB0eXBlIGlzbid0IHZhbGlkIHNpbmNlIG91ciBrZXkgdmFsaWRhdGlvbiBsb2dpY1xuICAgICAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmdcbiAgICAgIC8vIGVycm9ycy4gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZFxuICAgICAgLy8gcHJvZC4gKFJlbmRlcmluZyB3aWxsIHRocm93IHdpdGggYSBoZWxwZnVsIG1lc3NhZ2UgYW5kIGFzIHNvb24gYXMgdGhlXG4gICAgICAvLyB0eXBlIGlzIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcbiAgICAgIHZhciBjaGlsZHJlbiA9IGNvbmZpZy5jaGlsZHJlbjtcblxuICAgICAgaWYgKGNoaWxkcmVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlzU3RhdGljQ2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baV0sIHR5cGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xuICAgICAgICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuICcgKyAnWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiAnICsgJ1VzZSB0aGUgQmFiZWwgdHJhbnNmb3JtIGluc3RlYWQuJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gV2FybiBhYm91dCBrZXkgc3ByZWFkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHlwZSBpcyB2YWxpZC5cblxuXG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgICByZXR1cm4gayAhPT0gJ2tleSc7XG4gICAgICB9KTtcbiAgICAgIHZhciBiZWZvcmVFeGFtcGxlID0ga2V5cy5sZW5ndGggPiAwID8gJ3trZXk6IHNvbWVLZXksICcgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3trZXk6IHNvbWVLZXl9JztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdKSB7XG4gICAgICAgIHZhciBhZnRlckV4YW1wbGUgPSBrZXlzLmxlbmd0aCA+IDAgPyAneycgKyBrZXlzLmpvaW4oJzogLi4uLCAnKSArICc6IC4uLn0nIDogJ3t9JztcblxuICAgICAgICBlcnJvcignQSBwcm9wcyBvYmplY3QgY29udGFpbmluZyBhIFwia2V5XCIgcHJvcCBpcyBiZWluZyBzcHJlYWQgaW50byBKU1g6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMgey4uLnByb3BzfSAvPlxcbicgKyAnUmVhY3Qga2V5cyBtdXN0IGJlIHBhc3NlZCBkaXJlY3RseSB0byBKU1ggd2l0aG91dCB1c2luZyBzcHJlYWQ6XFxuJyArICcgIGxldCBwcm9wcyA9ICVzO1xcbicgKyAnICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JywgYmVmb3JlRXhhbXBsZSwgY29tcG9uZW50TmFtZSwgYWZ0ZXJFeGFtcGxlLCBjb21wb25lbnROYW1lKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY29tcG9uZW50TmFtZSArIGJlZm9yZUV4YW1wbGVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICAgIHZhciBwcm9wcyA9IHt9O1xuICAgIHZhciBrZXkgPSBudWxsO1xuICAgIHZhciByZWYgPSBudWxsOyAvLyBDdXJyZW50bHksIGtleSBjYW4gYmUgc3ByZWFkIGluIGFzIGEgcHJvcC4gVGhpcyBjYXVzZXMgYSBwb3RlbnRpYWxcbiAgICAvLyBpc3N1ZSBpZiBrZXkgaXMgYWxzbyBleHBsaWNpdGx5IGRlY2xhcmVkIChpZS4gPGRpdiB7Li4ucHJvcHN9IGtleT1cIkhpXCIgLz5cbiAgICAvLyBvciA8ZGl2IGtleT1cIkhpXCIgey4uLnByb3BzfSAvPiApLiBXZSB3YW50IHRvIGRlcHJlY2F0ZSBrZXkgc3ByZWFkLFxuICAgIC8vIGJ1dCBhcyBhbiBpbnRlcm1lZGlhcnkgc3RlcCwgd2Ugd2lsbCB1c2UganN4REVWIGZvciBldmVyeXRoaW5nIGV4Y2VwdFxuICAgIC8vIDxkaXYgey4uLnByb3BzfSBrZXk9XCJIaVwiIC8+LCBiZWNhdXNlIHdlIGFyZW4ndCBjdXJyZW50bHkgYWJsZSB0byB0ZWxsIGlmXG4gICAgLy8ga2V5IGlzIGV4cGxpY2l0bHkgZGVjbGFyZWQgdG8gYmUgdW5kZWZpbmVkIG9yIG5vdC5cblxuICAgIGlmIChtYXliZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSAnJyArIG1heWJlS2V5O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICB7XG4gICAgICAgIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSk7XG4gICAgICB9XG5cbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAge1xuICAgICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgfVxuXG4gICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnLCBzZWxmKTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcblxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmIC8vIFNraXAgb3ZlciByZXNlcnZlZCBwcm9wIG5hbWVzXG4gICAgICBwcm9wTmFtZSAhPT0gJ2tleScgJiYgKHByb3BOYW1lICE9PSAncmVmJykpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xuXG4gICAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xuXG4gICAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHtcbiAgICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuLyoqXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXG4gKiBhcnJheSB3aXRoIGFuIGV4cGxpY2l0IGtleXMgcHJvcGVydHkgZGVmaW5lZCwgb3IgaW4gYW4gb2JqZWN0IGxpdGVyYWxcbiAqIHdpdGggdmFsaWQga2V5IHByb3BlcnR5LlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdE5vZGV9IG5vZGUgU3RhdGljYWxseSBwYXNzZWQgY2hpbGQgb2YgYW55IHR5cGUuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnIHx8ICFub2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG5vZGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UpIDsgZWxzZSBpZiAoaXNBcnJheShub2RlKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICAgIGlmIChub2RlLl9zdG9yZSkge1xuICAgICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgICBpZiAoaXRlcmF0b3JGbiAhPT0gbm9kZS5lbnRyaWVzKSB7XG4gICAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgICAgd2hpbGUgKCEoc3RlcCA9IGl0ZXJhdG9yLm5leHQoKSkuZG9uZSkge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnQob2JqZWN0KSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEU7XG59XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICB7XG4gICAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gICAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAgIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cblxuICAgIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgICAgLy8gR2l2ZSB0aGUgY29tcG9uZW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoaXMgY2hpbGQuXG4gICAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL3JlYWN0anMub3JnL2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSwgb3duZXIgPyBvd25lci50eXBlIDogbnVsbCk7XG4gICAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLnNldEV4dHJhU3RhY2tGcmFtZShzdGFjayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuc2V0RXh0cmFTdGFja0ZyYW1lKG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAge1xuICAgIHZhciBpbmZvID0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG5cbiAgICBpZiAoIWluZm8pIHtcbiAgICAgIHZhciBwYXJlbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHBhcmVudFR5cGUpO1xuXG4gICAgICBpZiAocGFyZW50TmFtZSkge1xuICAgICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBmcmFnbWVudCwgdmFsaWRhdGUgdGhhdCBpdCBjYW4gb25seSBiZSBwcm92aWRlZCB3aXRoIGZyYWdtZW50IHByb3BzXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhmcmFnbWVudCkge1xuICAvLyBUT0RPOiBNb3ZlIHRoaXMgdG8gcmVuZGVyIHBoYXNlIGluc3RlYWQgb2YgYXQgZWxlbWVudCBjcmVhdGlvbi5cbiAge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJhZ21lbnQucHJvcHMpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcblxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XG4gICAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcblxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG5cbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICAgIH1cbiAgfVxufVxuXG52YXIganN4REVWID0ganN4REVWJDEgO1xuXG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuanN4REVWID0ganN4REVWO1xuICB9KSgpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
/***/ }),
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
/*!******************************************************************!*\
!*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
\******************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanM/YTI3NSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["main-app"], function() { return __webpack_exec__("(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2Fhome%2Fsahamone%2FDocuments%2FLa%20Banquise%2Fwebsite-front%2Fbanquise-website%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);