@opencampus/ocid-connect-js 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,6 +34,7 @@ import { OCConnect } from '@opencampus/ocid-connect-js';
34
34
 
35
35
  const opts = {
36
36
  redirectUri: 'http://localhost:3001/redirect',
37
+ referralCode: 'PARTNER6'
37
38
  }
38
39
 
39
40
  return (
@@ -57,6 +58,7 @@ Opts Property
57
58
  | Property | Description |
58
59
  | --- | --- |
59
60
  | redirectUri | URL to return after the login process is completed |
61
+ | referralCode | Unique identifiers assigned to partners for tracking during OCID account's registration. |
60
62
 
61
63
  Setup LoginCallBack to handle flow's result
62
64
 
@@ -176,6 +178,7 @@ export default function RootLayout({
176
178
  }) {
177
179
  const opts = {
178
180
  redirectUri: 'http://localhost:3000/redirect', // Adjust this URL
181
+ referralCode: 'PARTNER6', // Assign partner code
179
182
  };
180
183
 
181
184
  return (
@@ -349,6 +352,7 @@ The login flow adhere with PKCE standard. The following params will be prepared
349
352
  | scope | only support 'openid' at the moment |
350
353
  | code_challenge | adhere with PKCE standard |
351
354
  | code_challenge_method | Only S256 is supported at the moment |
355
+ | ref | Unique identifiers assigned to partners for tracking during user registration |
352
356
 
353
357
  Sample usage to handle login response
354
358
 
@@ -541,18 +541,20 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
541
541
 
542
542
 
543
543
  var OCAuthCore = /*#__PURE__*/function () {
544
- function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager) {
544
+ function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode) {
545
545
  _classCallCheck(this, OCAuthCore);
546
546
  _defineProperty(this, "tokenManager", void 0);
547
547
  _defineProperty(this, "authInfoManager", void 0);
548
548
  _defineProperty(this, "transactionManager", void 0);
549
549
  _defineProperty(this, "redirectUri", void 0);
550
550
  _defineProperty(this, "loginEndPoint", void 0);
551
+ _defineProperty(this, "referralCode", void 0);
551
552
  this.transactionManager = transactionManager;
552
553
  this.tokenManager = tokenManager;
553
554
  this.authInfoManager = new _lib_AuthInfoManager__WEBPACK_IMPORTED_MODULE_0__["default"]();
554
555
  this.loginEndPoint = loginEndpoint;
555
556
  this.redirectUri = redirectUri;
557
+ this.referralCode = referralCode;
556
558
  this.syncAuthInfo();
557
559
  }
558
560
  return _createClass(OCAuthCore, [{
@@ -579,9 +581,10 @@ var OCAuthCore = /*#__PURE__*/function () {
579
581
  signinParams = _context.sent;
580
582
  meta = Object(_utils__WEBPACK_IMPORTED_MODULE_4__["createPkceMeta"])(signinParams);
581
583
  this.transactionManager.save(meta);
584
+ signinParams.referralCode = this.referralCode;
582
585
  requestUrl = Object(_endpoints__WEBPACK_IMPORTED_MODULE_5__["buildAuthEndpointUrl"])(signinParams, this.loginEndPoint);
583
586
  window.location.assign(requestUrl);
584
- case 9:
587
+ case 10:
585
588
  case "end":
586
589
  return _context.stop();
587
590
  }
@@ -691,14 +694,15 @@ var OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
691
694
  var overrideTokenEndpoint = opts.tokenEndPoint,
692
695
  overrideLoginEndpoint = opts.loginEndPoint,
693
696
  overridePublicKey = opts.publicKey,
694
- redirectUri = opts.redirectUri;
697
+ redirectUri = opts.redirectUri,
698
+ referralCode = opts.referralCode;
695
699
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
696
700
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
697
701
  var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
698
702
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
699
703
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
700
704
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
701
- return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager]);
705
+ return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
702
706
  }
703
707
  _inherits(OCAuthLive, _OCAuthCore2);
704
708
  return _createClass(OCAuthLive);
@@ -710,14 +714,15 @@ var OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3) {
710
714
  var overrideTokenEndpoint = opts.tokenEndPoint,
711
715
  overrideLoginEndpoint = opts.loginEndPoint,
712
716
  overridePublicKey = opts.publicKey,
713
- redirectUri = opts.redirectUri;
717
+ redirectUri = opts.redirectUri,
718
+ referralCode = opts.referralCode;
714
719
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
715
720
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
716
721
  var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
717
722
  var storageClass = Object(_lib_StorageManager__WEBPACK_IMPORTED_MODULE_3__["getStorageClass"])(opts);
718
723
  var pkceTransactionManager = new _lib_TransactionManager__WEBPACK_IMPORTED_MODULE_2__["default"](storageClass);
719
724
  var tokenManager = new _lib_TokenManager__WEBPACK_IMPORTED_MODULE_1__["default"](storageClass, tokenEndpoint, publicKey);
720
- return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager]);
725
+ return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
721
726
  }
722
727
  _inherits(OCAuthSandbox, _OCAuthCore3);
723
728
  return _createClass(OCAuthSandbox);
@@ -1901,6 +1906,11 @@ var buildAuthEndpointUrl = function buildAuthEndpointUrl(signInParams, loginEndP
1901
1906
  if (signInParams.state !== undefined) {
1902
1907
  loginUrl.searchParams.append('state', signInParams.state);
1903
1908
  }
1909
+
1910
+ // reference data for register workflow
1911
+ if (signInParams.referralCode) {
1912
+ loginUrl.searchParams.append('ref', signInParams.referralCode);
1913
+ }
1904
1914
  return loginUrl.href;
1905
1915
  };
1906
1916
 
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","authState","updateAuthState","useEffect","handleLogin","_authState","handleLoginRedirect","idToken","error","t0","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","isAuthenticated","_useState4","setAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","accessToken","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","authInfoManager","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_signInWithRedirect","params","paramsClone","signinParams","meta","requestUrl","assign","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","window","location","_x","_handleLoginRedirect","_callee2","urlParams","codeVerifier","_callee2$","_context2","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","getIdToken","_parseJwt","parseJwt","edu_username","eth_address","setIdInfo","getAccessToken","getAuthInfo","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overridePublicKey","publicKey","tokenEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","_idInfo","IdInfo","getIdInfoAttribute","attribute","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","setStorage","expired","exp","console","log","_x2","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","get","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","toString","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","cookieDomain","domain","Cookies","set","expires","remove","signInParams","loginUrl","URL","searchParams","append","href"],"mappings":"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","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect&nbsp;<strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { ocAuth, authState, updateAuthState } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n const authState = await ocAuth.handleLoginRedirect();\n if ( authState.idToken )\n {\n updateAuthState( authState );\n handledRedirect = true;\n successCallback();\n } else\n {\n updateAuthState( {\n error: 'missing idToken from redirect callback',\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n } catch ( e )\n {\n updateAuthState( {\n error: e,\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? customLoadingComponent : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState( {} );\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox( opts ) : new OCAuthLive( opts );\n setOcAuth( authSdk );\n updateAuthState( authSdk.getAuthState() );\n }, [] );\n\n const updateAuthState = ( authState ) =>\n {\n const { accessToken, idToken, isAuthenticated, error } = authState;\n setAuthState( {\n accessToken,\n idToken,\n isAuthenticated,\n error,\n } );\n };\n\n return <OCContext.Provider value={ { ocAuth, authState, updateAuthState } }>{ children }</OCContext.Provider>;\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.redirectUri = redirectUri;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else\n {\n const idToken = this.tokenManager.getIdToken();\n const { edu_username, eth_address } = parseJwt( idToken );\n this.authInfoManager.setIdInfo( {\n edu_username,\n eth_address,\n } );\n }\n }\n\n getAuthState ()\n {\n const authState = {\n accessToken: this.getAccessToken(),\n idToken: this.getIdToken(),\n isAuthenticated: this.isAuthenticated(),\n };\n\n return authState;\n }\n\n getAuthInfo ()\n {\n return this.authInfoManager.getAuthInfo();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager );\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager );\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nclass AuthInfoManager\n{\n _idInfo;\n\n constructor ()\n {\n this._authState = null;\n this._idInfo = null;\n }\n\n setIdInfo ( IdInfo )\n {\n this._idInfo = Object.assign( {}, IdInfo );\n }\n\n getIdInfoAttribute ( attribute )\n {\n if ( this._idInfo === null )\n {\n return undefined;\n }\n\n return this._idInfo[ attribute ];\n }\n\n getAuthInfo ()\n {\n return Object.assign( {}, this._idInfo );\n }\n\n clear ()\n {\n this._idInfo = null;\n }\n}\n\nexport default AuthInfoManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n this.storageManager.getStorageObject().setStorage( {\n access_token,\n id_token,\n expired: parsedAccessToken.exp,\n } );\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts.cookieDomain) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Cookies from 'js-cookie';\n\n// Wrapper to support Cookie based storage\nexport class CookieStorageProvider {\n domain;\n\n constructor ( domain )\n {\n this.domain = domain;\n }\n getItem ( key )\n {\n return Cookies.get( key );\n }\n\n setItem ( key, value )\n {\n return Cookies.set( key, value, { expires: 365, domain: this.domain } );\n }\n\n removeItem ( key )\n {\n return Cookies.remove(key);\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://Slider/webpack/universalModuleDefinition","webpack://Slider/webpack/bootstrap","webpack://Slider/./src/index.js","webpack://Slider/./src/react/index.js","webpack://Slider/./src/react/LoginButton.js","webpack://Slider/external {\"root\":\"react\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://Slider/./src/react/OCContext.js","webpack://Slider/./src/react/LoginCallBack.js","webpack://Slider/./src/react/OCConnect.js","webpack://Slider/./src/sdk/auth.js","webpack://Slider/./src/sdk/lib/AuthInfoManager.js","webpack://Slider/./src/sdk/lib/TokenManager.js","webpack://Slider/./src/sdk/utils/index.js","webpack://Slider/./src/sdk/utils/urlParser.js","webpack://Slider/./src/sdk/utils/prepareTokenParams.js","webpack://Slider/./src/sdk/lib/pkce.js","webpack://Slider/./src/sdk/crypto/index.js","webpack://Slider/./src/sdk/crypto/webcrypto.js","webpack://Slider/./src/sdk/crypto/base64.js","webpack://Slider/./src/sdk/crypto/verifyToken.js","webpack://Slider/./src/sdk/utils/errors.js","webpack://Slider/./src/sdk/utils/createPkceMeta.js","webpack://Slider/./src/sdk/utils/jwtParser.js","webpack://Slider/./src/sdk/lib/TransactionManager.js","webpack://Slider/./src/sdk/lib/StorageManager.js","webpack://Slider/./src/sdk/lib/CookieStorageProvider.js","webpack://Slider/./node_modules/js-cookie/dist/js.cookie.js","webpack://Slider/./src/sdk/endpoints/index.js","webpack://Slider/./src/sdk/endpoints/buildAuthEndpointUrl.js","webpack://Slider/./src/sdk/index.js","webpack://Slider/./src/sdk/lib/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","lightTheme","background","color","button","border","colorSuccess","darkTheme","neutralTheme","ocBlueTheme","themes","light","dark","neutral","ocBlue","genStyle","theme","pill","undefined","display","alignItems","height","width","padding","fontSize","borderColor","borderRadius","LoginButton","_ref","disabled","_useOCAuth","useOCAuth","ocAuth","customTheme","loginWithRedirect","_ref2","_callee","_callee$","_context","signInWithRedirect","state","style","React","createElement","onClick","alt","src","marginLeft","OCContext","handledRedirect","LoginCallBack","successCallback","errorCallback","customErrorComponent","customLoadingComponent","authState","updateAuthState","useEffect","handleLogin","_authState","handleLoginRedirect","idToken","error","t0","message","OCConnect","children","opts","sandboxMode","_useState","useState","_useState2","_slicedToArray","setOcAuth","_useState3","isAuthenticated","_useState4","setAuthState","authSdk","OCAuthSandbox","OCAuthLive","getAuthState","accessToken","Provider","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","OCAuthCore","loginEndpoint","redirectUri","transactionManager","tokenManager","referralCode","authInfoManager","AuthInfoManager","loginEndPoint","syncAuthInfo","clearStorage","clear","_signInWithRedirect","params","paramsClone","signinParams","meta","requestUrl","assign","prepareTokenParams","createPkceMeta","save","buildAuthEndpointUrl","window","location","_x","_handleLoginRedirect","_callee2","urlParams","codeVerifier","_callee2$","_context2","parseUrl","code","getTransactionMeta","exchangeTokenFromCode","AuthError","hasExpired","getIdToken","_parseJwt","parseJwt","edu_username","eth_address","setIdInfo","getAccessToken","getAuthInfo","LIVE_PUBLIC_KEY","SANDBOX_PUBLIC_KEY","_OCAuthCore2","overrideTokenEndpoint","tokenEndPoint","overrideLoginEndpoint","overridePublicKey","publicKey","tokenEndpoint","storageClass","getStorageClass","pkceTransactionManager","TransactionManager","TokenManager","_callSuper","_inherits","_OCAuthCore3","_idInfo","IdInfo","getIdInfoAttribute","attribute","TOKEN_STORAGE_NAME","StorageManagerClass","storageManager","getStorageObject","_exchangeTokenFromCode","accessCode","body","response","_yield$response$json","access_token","id_token","pubKey","tokenVerified","parsedAccessToken","fetch","headers","JSON","stringify","json","getPublicKey","verifyToken","setStorage","expired","exp","console","log","_x2","getItem","getExpiredAt","_getPublicKey","expiredAt","cur","Math","round","Date","valueOf","queryString","search","URLSearchParams","validParams","has","get","codeChallenge","tokenParams","InvalidParamsError","PKCE","generateVerifier","computeChallenge","codeChallengeMethod","DEFAULT_CODE_CHALLENGE_METHOD","scope","responseType","MIN_VERIFIER_LENGTH","MAX_VERIFIER_LENGTH","dec2hex","dec","toString","substr","getRandomString","Uint8Array","ceil","webcrypto","getRandomValues","str","Array","from","join","prefix","verifier","encodeURIComponent","buffer","TextEncoder","encode","subtle","digest","arrayBuffer","hash","fromCharCode","b64u","stringToBase64Url","atob","b","btoa","crypto","base64ToBase64Url","b64","replace","base64UrlToBase64","stringToBuffer","charCodeAt","base64UrlDecode","prepareKey","binaryDerString","format","algo","extractable","usages","preparedKey","cryptoKey","jwt","payload","b64Signature","signature","namedCurve","importKey","split","verify","InternalError","_Error","_wrapNativeSuper","_InternalError","_Error2","token","base64Url","base64","jsonPayload","decodeURIComponent","map","parse","TRANSACTION_STORAGE_NAME","getStorage","hasActiveTransaction","SavedObject","storageProvider","storageName","setItem","updateStorage","removeItem","storageString","obj","BaseStorageManager","LocalStorageManager","_BaseStorageManager2","localStorage","storageType","_BaseStorageManager3","CookieStorageManager","CookieStorageProvider","cookieDomain","domain","Cookies","set","expires","remove","signInParams","loginUrl","URL","searchParams","append","href"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwB;;;;;;;;ACTxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACI;AACR;;;;;;;;;;;;;;+CCDnD,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0B;AACc;AAExC,IAAME,UAAU,GAAG;EACfC,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,MAAM;IAClBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMC,SAAS,GAAG;EACdL,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAME,YAAY,GAAG;EACjBN,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMG,WAAW,GAAG;EAChBP,UAAU,EAAE,MAAM;EAClBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;IACJF,UAAU,EAAE,SAAS;IACrBG,MAAM,EAAE,SAAS;IACjBF,KAAK,EAAE,SAAS;IAChBG,YAAY,EAAE;EAClB;AACJ,CAAC;AAED,IAAMI,MAAM,GAAG;EACXC,KAAK,EAAEV,UAAU;EACjBW,IAAI,EAAEL,SAAS;EACfM,OAAO,EAAEL,YAAY;EACrBM,MAAM,EAAEL;AACZ,CAAC;AAED,IAAMM,QAAQ,GAAG,SAAXA,QAAQA,CAAKC,KAAK;EAAA,IAAEC,IAAI,GAAApB,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,KAAK;EAAA,OACpC;IACEsB,OAAO,EAAE,MAAM;IACfC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,GAAG;IACVC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE,EAAE;IACZnB,MAAM,EAAE,WAAW;IACnBoB,WAAW,EAAET,KAAK,CAACZ,MAAM,CAACC,MAAM;IAChCqB,YAAY,EAAET,IAAI,GAAG,EAAE,GAAG,CAAC;IAC3Bf,UAAU,EAAEc,KAAK,CAACZ,MAAM,CAACF,UAAU;IACnCC,KAAK,EAAEa,KAAK,CAACZ,MAAM,CAACD;EACxB,CAAC;AAAA,CAAE;AAEY,SAASwB,WAAWA,CAAAC,IAAA,EAKnC;EAAA,IAJIX,IAAI,GAAAW,IAAA,CAAJX,IAAI;IACJY,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRb,KAAK,GAAAY,IAAA,CAALZ,KAAK;EAGL,IAAAc,UAAA,GAAmBC,4DAAS,CAAC,CAAC;IAAtBC,MAAM,GAAAF,UAAA,CAANE,MAAM;EACd,IAAMC,WAAW,GAAGvB,MAAM,CAAEM,KAAK,CAAE,IAAIN,MAAM,CAAE,QAAQ,CAAE;EAEzD,IAAMwB,iBAAiB;IAAA,IAAAC,KAAA,GAAAvC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAA;MAAA,OAAAhJ,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;UAAA;YAAAgF,QAAA,CAAAhF,IAAA;YAAA,OAEhB0E,MAAM,CAACO,kBAAkB,CAAE;cAC7BC,KAAK,EAAE;YACX,CAAE,CAAC;UAAA;UAAA;YAAA,OAAAF,QAAA,CAAAlD,IAAA;QAAA;MAAA,GAAAgD,OAAA;IAAA,CACN;IAAA,gBALKF,iBAAiBA,CAAA;MAAA,OAAAC,KAAA,CAAArC,KAAA,OAAAD,SAAA;IAAA;EAAA,GAKtB;EAED,IAAM4C,KAAK,GAAG1B,QAAQ,CAAEkB,WAAW,EAAEhB,IAAK,CAAC;EAE3C,oBACIyB,4CAAA,CAAAC,aAAA;IACId,QAAQ,EAAGA,QAAU;IACrBe,OAAO,EAAGV,iBAAmB;IAC7BO,KAAK,EAAGA;EAAO,gBAEfC,4CAAA,CAAAC,aAAA;IAAKE,GAAG,EAAC,MAAM;IAACC,GAAG,EAAC,kDAAkD;IAACxB,KAAK,EAAC,MAAM;IAACD,MAAM,EAAC;EAAM,CAAE,CAAC,eACpGqB,4CAAA,CAAAC,aAAA;IAAMF,KAAK,EAAG;MAAEM,UAAU,EAAE;IAAO;EAAG,GAAC,aAAa,eAAAL,4CAAA,CAAAC,aAAA,iBAAQ,MAAY,CAAO,CAC3E,CAAC;AAEjB,C;;;;;;AC3GA,gD;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AAExB,IAAMK,SAAS,gBAAGN,mDAAmB,CAAE,IAAK,CAAC;AAE7C,IAAMX,SAAS,GAAG,SAAZA,SAASA,CAAA;EAAA,OAASW,gDAAgB,CAAEM,SAAU,CAAC;AAAA,E;;;;;;;;;;;;+CCZ5D,qJAAA5J,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;AAED;AAExC,IAAIkD,eAAe,GAAG,KAAK;AAE3B,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAtB,IAAA,EACnB;EAAA,IAD0BuB,eAAe,GAAAvB,IAAA,CAAfuB,eAAe;IAAEC,aAAa,GAAAxB,IAAA,CAAbwB,aAAa;IAAEC,oBAAoB,GAAAzB,IAAA,CAApByB,oBAAoB;IAAEC,sBAAsB,GAAA1B,IAAA,CAAtB0B,sBAAsB;EAElG,IAAAxB,UAAA,GAA+CC,4DAAS,CAAC,CAAC;IAAlDC,MAAM,GAAAF,UAAA,CAANE,MAAM;IAAEuB,SAAS,GAAAzB,UAAA,CAATyB,SAAS;IAAEC,eAAe,GAAA1B,UAAA,CAAf0B,eAAe;EAE1CC,uDAAS,CAAE,YACX;IACI,IAAMC,WAAW;MAAA,IAAAvB,KAAA,GAAAvC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAA;QAAA,IAAAuB,UAAA;QAAA,OAAAvK,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAAA,KAEX0E,MAAM;gBAAAM,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAhF,IAAA;cAAA,OAIqB0E,MAAM,CAAC4B,mBAAmB,CAAC,CAAC;YAAA;cAA9CL,UAAS,GAAAjB,QAAA,CAAAtF,IAAA;cACf,IAAKuG,UAAS,CAACM,OAAO,EACtB;gBACIL,eAAe,CAAED,UAAU,CAAC;gBAC5BN,eAAe,GAAG,IAAI;gBACtBE,eAAe,CAAC,CAAC;cACrB,CAAC,MACD;gBACIK,eAAe,CAAE;kBACbM,KAAK,EAAE;gBACX,CAAE,CAAC;gBACH,IAAKV,aAAa,EAClB;kBACIA,aAAa,CAAC,CAAC;gBACnB;cACJ;cAACd,QAAA,CAAAhF,IAAA;cAAA;YAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAyB,EAAA,GAAAzB,QAAA;cAGDkB,eAAe,CAAE;gBACbM,KAAK,EAAAxB,QAAA,CAAAyB;cACT,CAAE,CAAC;cACH,IAAKX,aAAa,EAClB;gBACIA,aAAa,CAAC,CAAC;cACnB;YAAC;YAAA;cAAA,OAAAd,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CAGZ;MAAA,gBAjCKsB,WAAWA,CAAA;QAAA,OAAAvB,KAAA,CAAArC,KAAA,OAAAD,SAAA;MAAA;IAAA,GAiChB;IACD,IAAK,CAACoD,eAAe,EACrB;MACIS,WAAW,CAAC,CAAC;IACjB;EACJ,CAAC,EAAE,CAAE1B,MAAM,CAAG,CAAC;EAEf,IAAKuB,SAAS,CAACO,KAAK,KAAK5C,SAAS,IAAI,CAACkC,aAAa,EACpD;IACI,OAAOC,oBAAoB,GAAGA,oBAAoB,gBAAGX,4CAAA,CAAAC,aAAA,cAAK,oBAAkB,EAAEY,SAAS,CAACO,KAAK,CAACE,OAAc,CAAC;EACjH,CAAC,MACD;IACI,OAAOV,sBAAsB,GAAGA,sBAAsB,gBAClDZ,4CAAA,CAAAC,aAAA,2BACID,4CAAA,CAAAC,aAAA,aAAI,gBAAkB,CACrB,CACR;EACL;AACJ,CAAC;AAEcO,4EAAa,E;;;;;;;;;;;;;;;;;;AC1E5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACmD;AAEX;AACgB;AAExD,IAAMe,SAAS,GAAG,SAAZA,SAASA,CAAArC,IAAA,EACf;EAAA,IADsBsC,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IAAEC,IAAI,GAAAvC,IAAA,CAAJuC,IAAI;IAAEC,WAAW,GAAAxC,IAAA,CAAXwC,WAAW;EAE7C,IAAAC,SAAA,GAA8BC,sDAAQ,CAAE,CAAC,CAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA;IAApCrC,MAAM,GAAAuC,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACzB,IAAAG,UAAA,GAAoCJ,sDAAQ,CAAE;MAC1CK,eAAe,EAAE;IACrB,CAAE,CAAC;IAAAC,UAAA,GAAAJ,cAAA,CAAAE,UAAA;IAFKnB,SAAS,GAAAqB,UAAA;IAAEC,YAAY,GAAAD,UAAA;EAI/BnB,uDAAS,CAAE,YACX;IACI,IAAMqB,OAAO,GAAGV,WAAW,GAAG,IAAIW,uDAAa,CAAEZ,IAAK,CAAC,GAAG,IAAIa,oDAAU,CAAEb,IAAK,CAAC;IAChFM,SAAS,CAAEK,OAAQ,CAAC;IACpBtB,eAAe,CAAEsB,OAAO,CAACG,YAAY,CAAC,CAAE,CAAC;EAC7C,CAAC,EAAE,EAAG,CAAC;EAEP,IAAMzB,eAAe,GAAG,SAAlBA,eAAeA,CAAKD,SAAS,EACnC;IACI,IAAQ2B,WAAW,GAAsC3B,SAAS,CAA1D2B,WAAW;MAAErB,OAAO,GAA6BN,SAAS,CAA7CM,OAAO;MAAEc,eAAe,GAAYpB,SAAS,CAApCoB,eAAe;MAAEb,KAAK,GAAKP,SAAS,CAAnBO,KAAK;IACpDe,YAAY,CAAE;MACVK,WAAW,EAAXA,WAAW;MACXrB,OAAO,EAAPA,OAAO;MACPc,eAAe,EAAfA,eAAe;MACfb,KAAK,EAALA;IACJ,CAAE,CAAC;EACP,CAAC;EAED,oBAAOpB,4CAAA,CAAAC,aAAA,CAACK,oDAAS,CAACmC,QAAQ;IAACrL,KAAK,EAAG;MAAEkI,MAAM,EAANA,MAAM;MAAEuB,SAAS,EAATA,SAAS;MAAEC,eAAe,EAAfA;IAAgB;EAAG,GAAGU,QAA8B,CAAC;AACjH,CAAC;AAEcD,wEAAS,E;;;;;;;;;;;;;;;;;;;;;;;;;;+CCzCxB,qJAAA7K,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAqF,gBAAAnL,CAAA,EAAAP,CAAA,UAAAO,CAAA,YAAAP,CAAA,aAAA0D,SAAA;AAAA,SAAAiI,kBAAAhM,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA4E,MAAA,EAAA7E,CAAA,UAAAM,CAAA,GAAAL,CAAA,CAAAD,CAAA,GAAAM,CAAA,CAAAY,UAAA,GAAAZ,CAAA,CAAAY,UAAA,QAAAZ,CAAA,CAAAa,YAAA,kBAAAb,CAAA,KAAAA,CAAA,CAAAc,QAAA,QAAAlB,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAiM,cAAA,CAAA1L,CAAA,CAAA2L,GAAA,GAAA3L,CAAA;AAAA,SAAA4L,aAAAnM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAA8L,iBAAA,CAAAhM,CAAA,CAAAI,SAAA,EAAAF,CAAA,GAAAD,CAAA,IAAA+L,iBAAA,CAAAhM,CAAA,EAAAC,CAAA,GAAAE,MAAA,CAAAK,cAAA,CAAAR,CAAA,iBAAAqB,QAAA,SAAArB,CAAA;AAAA,SAAAoM,gBAAApM,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA+L,cAAA,CAAA/L,CAAA,MAAAF,CAAA,GAAAG,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,IAAAO,KAAA,EAAAR,CAAA,EAAAkB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAArB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAiM,eAAAhM,CAAA,QAAAS,CAAA,GAAA2L,YAAA,CAAApM,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA2L,aAAApM,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAA2L,WAAA,kBAAAtM,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAqD,SAAA,yEAAA7D,CAAA,GAAAqM,MAAA,GAAAC,MAAA,EAAAvM,CAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoD;AACN;AACY;AACH;AAC0B;AAC9B;AACR;AAEpC,IAAMwM,UAAU;EASnB,SAAAA,WAAcC,aAAa,EAAEC,WAAW,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,YAAY,EACxF;IAAAf,eAAA,OAAAU,UAAA;IAAAL,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACI,IAAI,CAACQ,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACE,eAAe,GAAG,IAAIC,4DAAe,CAAC,CAAC;IAC5C,IAAI,CAACC,aAAa,GAAGP,aAAa;IAClC,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACG,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACI,YAAY,CAAC,CAAC;EACvB;EAAC,OAAAf,YAAA,CAAAM,UAAA;IAAAP,GAAA;IAAAzL,KAAA,EAED,SAAA0M,YAAYA,CAAA,EACZ;MACI,IAAI,CAACP,kBAAkB,CAACQ,KAAK,CAAC,CAAC;MAC/B,IAAI,CAACP,YAAY,CAACO,KAAK,CAAC,CAAC;IAC7B;EAAC;IAAAlB,GAAA;IAAAzL,KAAA;MAAA,IAAA4M,mBAAA,GAAA9G,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAA4D,QAA2BuE,MAAM;QAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,IAAA,EAAAC,UAAA;QAAA,OAAA3N,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAE7B;cACA;cACMsJ,WAAW,GAAGpN,MAAM,CAACwN,MAAM,CAAE,CAAC,CAAC,EAAEL,MAAO,CAAC;cAC/CC,WAAW,CAACZ,WAAW,GAAG,IAAI,CAACA,WAAW;cAAC1D,QAAA,CAAAhF,IAAA;cAAA,OAChB2J,iEAAkB,CAAEL,WAAY,CAAC;YAAA;cAAtDC,YAAY,GAAAvE,QAAA,CAAAtF,IAAA;cACZ8J,IAAI,GAAGI,6DAAc,CAAEL,YAAa,CAAC;cAC3C,IAAI,CAACZ,kBAAkB,CAACkB,IAAI,CAAEL,IAAK,CAAC;cACpCD,YAAY,CAACV,YAAY,GAAG,IAAI,CAACA,YAAY;cACvCY,UAAU,GAAGK,uEAAoB,CAAEP,YAAY,EAAE,IAAI,CAACP,aAAc,CAAC;cAC3Ee,MAAM,CAACC,QAAQ,CAACN,MAAM,CAAED,UAAW,CAAC;YAAC;YAAA;cAAA,OAAAzE,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CACxC;MAAA,SAZKG,kBAAkBA,CAAAgF,EAAA;QAAA,OAAAb,mBAAA,CAAA5G,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAlB0C,kBAAkB;IAAA;EAAA;IAAAgD,GAAA;IAAAzL,KAAA;MAAA,IAAA0N,oBAAA,GAAA5H,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAcxB,SAAAiJ,SAAA;QAAA,IAAAC,SAAA,EAAAZ,IAAA,EAAAa,YAAA;QAAA,OAAAvO,mBAAA,GAAAuB,IAAA,UAAAiN,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA5I,IAAA,GAAA4I,SAAA,CAAAvK,IAAA;YAAA;cAEUoK,SAAS,GAAGI,uDAAQ,CAAC,CAAC,EAC5B;cAAA,KACKJ,SAAS,CAACK,IAAI;gBAAAF,SAAA,CAAAvK,IAAA;gBAAA;cAAA;cAETwJ,IAAI,GAAG,IAAI,CAACb,kBAAkB,CAAC+B,kBAAkB,CAAC,CAAC;cACjDL,YAAY,GAAKb,IAAI,CAArBa,YAAY;cAAA,KACfA,YAAY;gBAAAE,SAAA,CAAAvK,IAAA;gBAAA;cAAA;cAAAuK,SAAA,CAAAvK,IAAA;cAAA,OAGP,IAAI,CAAC4I,YAAY,CAAC+B,qBAAqB,CAAEP,SAAS,CAACK,IAAI,EAAEJ,YAAa,CAAC;YAAA;cAC7E;cACA,IAAI,CAAC1B,kBAAkB,CAACQ,KAAK,CAAC,CAAC;cAC/B,IAAI,CAACF,YAAY,CAAC,CAAC;cAAC,OAAAsB,SAAA,CAAA1K,MAAA,WACb,IAAI,CAAC8H,YAAY,CAAC,CAAC;YAAA;cAAA,MAGpB,IAAIiD,uDAAS,CAAE,8CAA+C,CAAC;YAAA;cAAA,OAAAL,SAAA,CAAA1K,MAAA,WAKtE,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA0K,SAAA,CAAAzI,IAAA;UAAA;QAAA,GAAAqI,QAAA;MAAA,CACZ;MAAA,SAxBK7D,mBAAmBA,CAAA;QAAA,OAAA4D,oBAAA,CAAA1H,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAnB+D,mBAAmB;IAAA;EAAA;IAAA2B,GAAA;IAAAzL,KAAA,EA0BzB,SAAA6K,eAAeA,CAAA,EACf;MACI;MACA,OAAO,CAAC,IAAI,CAACuB,YAAY,CAACiC,UAAU,CAAC,CAAC;IAC1C;EAAC;IAAA5C,GAAA;IAAAzL,KAAA,EAED,SAAAyM,YAAYA,CAAA,EACZ;MACI,IAAK,IAAI,CAACL,YAAY,CAACiC,UAAU,CAAC,CAAC,EACnC;QACI,IAAI,CAAC/B,eAAe,CAACK,KAAK,CAAC,CAAC;MAChC,CAAC,MACD;QACI,IAAM5C,OAAO,GAAG,IAAI,CAACqC,YAAY,CAACkC,UAAU,CAAC,CAAC;QAC9C,IAAAC,SAAA,GAAsCC,uDAAQ,CAAEzE,OAAQ,CAAC;UAAjD0E,YAAY,GAAAF,SAAA,CAAZE,YAAY;UAAEC,WAAW,GAAAH,SAAA,CAAXG,WAAW;QACjC,IAAI,CAACpC,eAAe,CAACqC,SAAS,CAAE;UAC5BF,YAAY,EAAZA,YAAY;UACZC,WAAW,EAAXA;QACJ,CAAE,CAAC;MACP;IACJ;EAAC;IAAAjD,GAAA;IAAAzL,KAAA,EAED,SAAAmL,YAAYA,CAAA,EACZ;MACI,IAAM1B,SAAS,GAAG;QACd2B,WAAW,EAAE,IAAI,CAACwD,cAAc,CAAC,CAAC;QAClC7E,OAAO,EAAE,IAAI,CAACuE,UAAU,CAAC,CAAC;QAC1BzD,eAAe,EAAE,IAAI,CAACA,eAAe,CAAC;MAC1C,CAAC;MAED,OAAOpB,SAAS;IACpB;EAAC;IAAAgC,GAAA;IAAAzL,KAAA,EAED,SAAA6O,WAAWA,CAAA,EACX;MACI,OAAO,IAAI,CAACvC,eAAe,CAACuC,WAAW,CAAC,CAAC;IAC7C;EAAC;IAAApD,GAAA;IAAAzL,KAAA,EAED,SAAAsO,UAAUA,CAAA,EACV;MACI,OAAO,IAAI,CAAClC,YAAY,CAACkC,UAAU,CAAC,CAAC;IACzC;EAAC;IAAA7C,GAAA;IAAAzL,KAAA,EAED,SAAA4O,cAAcA,CAAA,EACd;MACI,OAAO,IAAI,CAACxC,YAAY,CAACwC,cAAc,CAAC,CAAC;IAC7C;EAAC;AAAA;AAGL,IAAME,eAAe,GAAG,8HAA8H;AACtJ,IAAMC,kBAAkB,GAAG,8HAA8H;AAClJ,IAAM7D,UAAU,0BAAA8D,YAAA;EAEnB,SAAA9D,WAAA,EACA;IAAA,IADcb,IAAI,GAAAtE,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,CAAC,CAAC;IAAAuF,eAAA,OAAAJ,UAAA;IAEnB,IACmB+D,qBAAqB,GAKpC5E,IAAI,CALJ6E,aAAa;MACEC,qBAAqB,GAIpC9E,IAAI,CAJJmC,aAAa;MACF4C,iBAAiB,GAG5B/E,IAAI,CAHJgF,SAAS;MACTnD,WAAW,GAEX7B,IAAI,CAFJ6B,WAAW;MACXG,YAAY,GACZhC,IAAI,CADJgC,YAAY;IAEhB,IAAMiD,aAAa,GAAGL,qBAAqB,IAAI,6CAA6C;IAC5F,IAAMhD,aAAa,GAAGkD,qBAAqB,IAAI,6CAA6C;IAC5F,IAAME,SAAS,GAAGD,iBAAiB,IAAIN,eAAe;IAEtD,IAAMS,YAAY,GAAGC,2EAAe,CAACnF,IAAI,CAAC;IAC1C,IAAMoF,sBAAsB,GAAG,IAAIC,+DAAkB,CAAEH,YAAa,CAAC;IACrE,IAAMnD,YAAY,GAAG,IAAIuD,yDAAY,CAAEJ,YAAY,EAAED,aAAa,EAAED,SAAU,CAAC;IAAC,OAAAO,UAAA,OAAA1E,UAAA,GACzEe,aAAa,EAAEC,WAAW,EAAEuD,sBAAsB,EAAErD,YAAY,EAAEC,YAAY;EACzF;EAACwD,SAAA,CAAA3E,UAAA,EAAA8D,YAAA;EAAA,OAAAtD,YAAA,CAAAR,UAAA;AAAA,EAnB2Bc,UAAU;AAsBnC,IAAMf,aAAa,0BAAA6E,YAAA;EAEtB,SAAA7E,cAAA,EACA;IAAA,IADcZ,IAAI,GAAAtE,SAAA,CAAA1B,MAAA,QAAA0B,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,CAAC,CAAC;IAAAuF,eAAA,OAAAL,aAAA;IAEnB,IACmBgE,qBAAqB,GAKpC5E,IAAI,CALJ6E,aAAa;MACEC,qBAAqB,GAIpC9E,IAAI,CAJJmC,aAAa;MACF4C,iBAAiB,GAG5B/E,IAAI,CAHJgF,SAAS;MACTnD,WAAW,GAEX7B,IAAI,CAFJ6B,WAAW;MACXG,YAAY,GACZhC,IAAI,CADJgC,YAAY;IAEhB,IAAMiD,aAAa,GAAGL,qBAAqB,IAAI,qDAAqD;IACpG,IAAMhD,aAAa,GAAGkD,qBAAqB,IAAI,qDAAqD;IACpG,IAAME,SAAS,GAAGD,iBAAiB,IAAIL,kBAAkB;IAEzD,IAAMQ,YAAY,GAAGC,2EAAe,CAACnF,IAAI,CAAC;IAC1C,IAAMoF,sBAAsB,GAAG,IAAIC,+DAAkB,CAAEH,YAAa,CAAC;IACrE,IAAMnD,YAAY,GAAG,IAAIuD,yDAAY,CAAEJ,YAAY,EAAED,aAAa,EAAED,SAAU,CAAC;IAAC,OAAAO,UAAA,OAAA3E,aAAA,GACzEgB,aAAa,EAAEC,WAAW,EAAEuD,sBAAsB,EAAErD,YAAY,EAAEC,YAAY;EACzF;EAACwD,SAAA,CAAA5E,aAAA,EAAA6E,YAAA;EAAA,OAAApE,YAAA,CAAAT,aAAA;AAAA,EAnB8Be,UAAU,E;;;;;;;;;;;;;;;AC5J7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASMO,eAAe;EAIjB,SAAAA,gBAAA,EACA;IAAAjB,eAAA,OAAAiB,eAAA;IAAAZ,eAAA;IACI,IAAI,CAAC9B,UAAU,GAAG,IAAI;IACtB,IAAI,CAACkG,OAAO,GAAG,IAAI;EACvB;EAAC,OAAArE,YAAA,CAAAa,eAAA;IAAAd,GAAA;IAAAzL,KAAA,EAED,SAAA2O,SAASA,CAAGqB,MAAM,EAClB;MACI,IAAI,CAACD,OAAO,GAAGrQ,MAAM,CAACwN,MAAM,CAAE,CAAC,CAAC,EAAE8C,MAAO,CAAC;IAC9C;EAAC;IAAAvE,GAAA;IAAAzL,KAAA,EAED,SAAAiQ,kBAAkBA,CAAGC,SAAS,EAC9B;MACI,IAAK,IAAI,CAACH,OAAO,KAAK,IAAI,EAC1B;QACI,OAAO3I,SAAS;MACpB;MAEA,OAAO,IAAI,CAAC2I,OAAO,CAAEG,SAAS,CAAE;IACpC;EAAC;IAAAzE,GAAA;IAAAzL,KAAA,EAED,SAAA6O,WAAWA,CAAA,EACX;MACI,OAAOnP,MAAM,CAACwN,MAAM,CAAE,CAAC,CAAC,EAAE,IAAI,CAAC6C,OAAQ,CAAC;IAC5C;EAAC;IAAAtE,GAAA;IAAAzL,KAAA,EAED,SAAA2M,KAAKA,CAAA,EACL;MACI,IAAI,CAACoD,OAAO,GAAG,IAAI;IACvB;EAAC;AAAA;AAGUxD,8EAAe,E;;;;;;;;;;;;+CC5C9B,qJAAAjN,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AAAA,SAAAqF,gBAAAnL,CAAA,EAAAP,CAAA,UAAAO,CAAA,YAAAP,CAAA,aAAA0D,SAAA;AAAA,SAAAiI,kBAAAhM,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA4E,MAAA,EAAA7E,CAAA,UAAAM,CAAA,GAAAL,CAAA,CAAAD,CAAA,GAAAM,CAAA,CAAAY,UAAA,GAAAZ,CAAA,CAAAY,UAAA,QAAAZ,CAAA,CAAAa,YAAA,kBAAAb,CAAA,KAAAA,CAAA,CAAAc,QAAA,QAAAlB,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAiM,cAAA,CAAA1L,CAAA,CAAA2L,GAAA,GAAA3L,CAAA;AAAA,SAAA4L,aAAAnM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAA8L,iBAAA,CAAAhM,CAAA,CAAAI,SAAA,EAAAF,CAAA,GAAAD,CAAA,IAAA+L,iBAAA,CAAAhM,CAAA,EAAAC,CAAA,GAAAE,MAAA,CAAAK,cAAA,CAAAR,CAAA,iBAAAqB,QAAA,SAAArB,CAAA;AAAA,SAAAoM,gBAAApM,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAA+L,cAAA,CAAA/L,CAAA,MAAAF,CAAA,GAAAG,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,IAAAO,KAAA,EAAAR,CAAA,EAAAkB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAArB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAiM,eAAAhM,CAAA,QAAAS,CAAA,GAAA2L,YAAA,CAAApM,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA2L,aAAApM,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAA2L,WAAA,kBAAAtM,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAqD,SAAA,yEAAA7D,CAAA,GAAAqM,MAAA,GAAAC,MAAA,EAAAvM,CAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACoC;AACI;AACI;AAE5C,IAAM2Q,kBAAkB,GAAG,kBAAkB;AAAC,IAExCR,YAAY;EAOd,SAAAA,aAAcS,mBAAmB,EAAElB,aAAa,EAAEG,SAAS,EAC3D;IAAA/D,eAAA,OAAAqE,YAAA;IAAAhE,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACI,IAAI,CAAC0E,cAAc,GAAG,IAAID,mBAAmB,CAAED,kBAAmB,CAAC;IACnE,IAAI,CAACjB,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACG,SAAS,GAAGA,SAAS;EAC9B;EAAC,OAAA3D,YAAA,CAAAiE,YAAA;IAAAlE,GAAA;IAAAzL,KAAA,EAED,SAAA2M,KAAKA,CAAA,EACL;MACI,IAAI,CAAC0D,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAAC5D,YAAY,CAAC,CAAC;IACzD;EAAC;IAAAjB,GAAA;IAAAzL,KAAA;MAAA,IAAAuQ,sBAAA,GAAAzK,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAA4D,QAA8BkI,UAAU,EAAE3C,YAAY;QAAA,IAAA4C,IAAA,EAAAC,QAAA,EAAAC,oBAAA,EAAAC,YAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,iBAAA;QAAA,OAAA1R,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;YAAA;cAE5CiN,IAAI,GAAG;gBAAED,UAAU,EAAVA,UAAU;gBAAE3C,YAAY,EAAZA;cAAa,CAAC;cAAArF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAhF,IAAA;cAAA,OAGdyN,KAAK,CAAE,IAAI,CAAC/B,aAAa,EAAE;gBAC9CnM,MAAM,EAAE,MAAM;gBACdmO,OAAO,EAAE;kBACL,cAAc,EAAE;gBACpB,CAAC;gBACDT,IAAI,EAAEU,IAAI,CAACC,SAAS,CAAEX,IAAK;cAC/B,CAAE,CAAC;YAAA;cANGC,QAAQ,GAAAlI,QAAA,CAAAtF,IAAA;cAAAsF,QAAA,CAAAhF,IAAA;cAAA,OAQ2BkN,QAAQ,CAACW,IAAI,CAAC,CAAC;YAAA;cAAAV,oBAAA,GAAAnI,QAAA,CAAAtF,IAAA;cAAhD0N,YAAY,GAAAD,oBAAA,CAAZC,YAAY;cAAEC,QAAQ,GAAAF,oBAAA,CAARE,QAAQ;cAAA,MACzB,CAACD,YAAY,IAAI,CAACC,QAAQ;gBAAArI,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAA,MAErB,IAAI4K,uDAAS,CAAE,wBAAyB,CAAC;YAAA;cAAA5F,QAAA,CAAAhF,IAAA;cAAA,OAE9B,IAAI,CAAC8N,YAAY,CAAC,CAAC;YAAA;cAAlCR,MAAM,GAAAtI,QAAA,CAAAtF,IAAA;cAAAsF,QAAA,CAAAhF,IAAA;cAAA,OACgB+N,2DAAW,CAAEV,QAAQ,EAAEC,MAAO,CAAC;YAAA;cAArDC,aAAa,GAAAvI,QAAA,CAAAtF,IAAA;cAAA,IACb6N,aAAa;gBAAAvI,QAAA,CAAAhF,IAAA;gBAAA;cAAA;cAAA,MAET,IAAI4K,uDAAS,CAAE,wBAAyB,CAAC;YAAA;cAE7C4C,iBAAiB,GAAGxC,uDAAQ,CAAEoC,YAAa,CAAC;cAClD,IAAI,CAACP,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACkB,UAAU,CAAE;gBAC/CZ,YAAY,EAAZA,YAAY;gBACZC,QAAQ,EAARA,QAAQ;gBACRY,OAAO,EAAET,iBAAiB,CAACU;cAC/B,CAAE,CAAC;cAAClJ,QAAA,CAAAhF,IAAA;cAAA;YAAA;cAAAgF,QAAA,CAAArD,IAAA;cAAAqD,QAAA,CAAAyB,EAAA,GAAAzB,QAAA;cAGJmJ,OAAO,CAACC,GAAG,CAAApJ,QAAA,CAAAyB,EAAQ,CAAC;cAAC,MACf,IAAImE,uDAAS,CAAE,0BAA2B,CAAC;YAAA;YAAA;cAAA,OAAA5F,QAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,OAAA;MAAA,CAExD;MAAA,SAnCK6F,qBAAqBA,CAAAV,EAAA,EAAAoE,GAAA;QAAA,OAAAtB,sBAAA,CAAAvK,KAAA,OAAAD,SAAA;MAAA;MAAA,OAArBoI,qBAAqB;IAAA;EAAA;IAAA1C,GAAA;IAAAzL,KAAA,EAqC3B,SAAAsO,UAAUA,CAAA,EACV;MACI,OAAO,IAAI,CAAC+B,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACwB,OAAO,CAAE,UAAW,CAAC;IACvE;EAAC;IAAArG,GAAA;IAAAzL,KAAA,EAED,SAAA4O,cAAcA,CAAA,EACd;MACI,OAAO,IAAI,CAACyB,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACwB,OAAO,CAAE,cAAe,CAAC;IAC3E;EAAC;IAAArG,GAAA;IAAAzL,KAAA,EAED,SAAA+R,YAAYA,CAAA,EACZ;MACI,OAAO,IAAI,CAAC1B,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACwB,OAAO,CAAE,SAAU,CAAC;IACtE;EAAC;IAAArG,GAAA;IAAAzL,KAAA;MAAA,IAAAgS,aAAA,GAAAlM,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAED,SAAAiJ,SAAA;QAAA,OAAArO,mBAAA,GAAAuB,IAAA,UAAAiN,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA5I,IAAA,GAAA4I,SAAA,CAAAvK,IAAA;YAAA;cAAA,OAAAuK,SAAA,CAAA1K,MAAA,WAEW,IAAI,CAACgM,SAAS;YAAA;YAAA;cAAA,OAAAtB,SAAA,CAAAzI,IAAA;UAAA;QAAA,GAAAqI,QAAA;MAAA,CACxB;MAAA,SAHK2D,YAAYA,CAAA;QAAA,OAAAU,aAAA,CAAAhM,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAZuL,YAAY;IAAA;EAAA;IAAA7F,GAAA;IAAAzL,KAAA,EAKlB,SAAAqO,UAAUA,CAAA,EACV;MACI,IAAM4D,SAAS,GAAG,IAAI,CAACF,YAAY,CAAC,CAAC;MACrC,IAAK,CAACE,SAAS,EACf;QACI,OAAO,IAAI;MACf;MACA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,IAAK,CAAC;MAErD,OAAOJ,GAAG,IAAID,SAAS;IAC3B;EAAC;AAAA;AAGUtC,2EAAY,E;;;;;;;ACzG3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACS;AACJ;;;;;;;;ACXjC;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM3B,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;EAC1B,IAAMuE,WAAW,GAAGhF,MAAM,CAACC,QAAQ,CAACgF,MAAM;EAC1C,IAAM5E,SAAS,GAAG,IAAI6E,eAAe,CAACF,WAAW,CAAC;EAClD,IAAMG,WAAW,GAAG,CAAC,CAAC;EAEtB,IAAI9E,SAAS,CAAC+E,GAAG,CAAC,UAAU,CAAC,EAAED,WAAW,CAAC7B,QAAQ,GAAGjD,SAAS,CAACgF,GAAG,CAAC,UAAU,CAAC;EAC/E,IAAIhF,SAAS,CAAC+E,GAAG,CAAC,MAAM,CAAC,EAAED,WAAW,CAACzE,IAAI,GAAGL,SAAS,CAACgF,GAAG,CAAC,MAAM,CAAC;EACnE,IAAIhF,SAAS,CAAC+E,GAAG,CAAC,OAAO,CAAC,EAAED,WAAW,CAAChK,KAAK,GAAGkF,SAAS,CAACgF,GAAG,CAAC,OAAO,CAAC;EAEtE,OAAOF,WAAW;AACtB,CAAC,C;;;;;;;;;;;;+CClBD,qJAAApT,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AACe;AAEvC,IAAMkH,kBAAkB;EAAA,IAAArF,IAAA,GAAAhC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAOuE,MAAM;IAAA,IAAAX,WAAA,EAAAxD,KAAA,EAAAmF,YAAA,EAAAgF,aAAA,EAAAC,WAAA;IAAA,OAAAxT,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;QAAA;UAC3C;UACA;UACA;UACA;UACQ0I,WAAW,GAAYW,MAAM,CAA7BX,WAAW,EAAExD,KAAK,GAAKmE,MAAM,CAAhBnE,KAAK;UAAA,IACrBwD,WAAW;YAAA1D,QAAA,CAAAhF,IAAA;YAAA;UAAA;UAAA,MACN,IAAIuP,0DAAkB,CAAC,0BAA0B,CAAC;QAAA;UAG5D;UACMlF,YAAY,GAAGmF,iDAAI,CAACC,gBAAgB,CAAC,CAAC;UAAAzK,QAAA,CAAAhF,IAAA;UAAA,OAChBwP,iDAAI,CAACE,gBAAgB,CAACrF,YAAY,CAAC;QAAA;UAAzDgF,aAAa,GAAArK,QAAA,CAAAtF,IAAA;UAEnB;UACM4P,WAAW,GAAG;YAChB5G,WAAW,EAAXA,WAAW;YACX2B,YAAY,EAAZA,YAAY;YACZgF,aAAa,EAAbA,aAAa;YACbM,mBAAmB,EAAEH,iDAAI,CAACI,6BAA6B;YACvDC,KAAK,EAAE,QAAQ;YACfC,YAAY,EAAE;UAClB,CAAC,EAED;UACA,IAAI5K,KAAK,KAAKtB,SAAS,IAAIsB,KAAK,KAAK,IAAI,EAAE;YACvCoK,WAAW,CAACpK,KAAK,GAAGA,KAAK;UAC7B;UAAC,OAAAF,QAAA,CAAAnF,MAAA,WAEMyP,WAAW;QAAA;QAAA;UAAA,OAAAtK,QAAA,CAAAlD,IAAA;MAAA;IAAA,GAAAgD,OAAA;EAAA,CACrB;EAAA,gBA9BY6E,kBAAkBA,CAAAM,EAAA;IAAA,OAAA3F,IAAA,CAAA9B,KAAA,OAAAD,SAAA;EAAA;AAAA,GA8B9B,C;;;;;;;AC1CD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEyD;AAElD,IAAMwN,mBAAmB,GAAG,EAAE;AAC9B,IAAMC,mBAAmB,GAAG,GAAG;AAC/B,IAAMJ,6BAA6B,GAAG,MAAM;AAEnD,SAASK,OAAOA,CAAGC,GAAG,EACtB;EACI,OAAO,CAAE,GAAG,GAAGA,GAAG,CAACC,QAAQ,CAAE,EAAG,CAAC,EAAGC,MAAM,CAAE,CAAC,CAAE,CAAC;AACpD;AAEA,SAASC,eAAeA,CAAGxP,MAAM,EACjC;EACI,IAAIlE,CAAC,GAAG,IAAI2T,UAAU,CAAE3B,IAAI,CAAC4B,IAAI,CAAE1P,MAAM,GAAG,CAAE,CAAE,CAAC;EACjD2P,iDAAS,CAACC,eAAe,CAAE9T,CAAE,CAAC;EAC9B,IAAI+T,GAAG,GAAGC,KAAK,CAACC,IAAI,CAAEjU,CAAC,EAAEsT,OAAQ,CAAC,CAACY,IAAI,CAAE,EAAG,CAAC;EAE7C,OAAOH,GAAG,CAAC7O,KAAK,CAAE,CAAC,EAAEhB,MAAO,CAAC;AACjC;AAEA,SAAS4O,gBAAgBA,CAAGqB,MAAM,EAClC;EACI,IAAIC,QAAQ,GAAGD,MAAM,IAAI,EAAE;EAC3B,IAAKC,QAAQ,CAAClQ,MAAM,GAAGkP,mBAAmB,EAC1C;IACIgB,QAAQ,GAAGA,QAAQ,GAAGV,eAAe,CAAEN,mBAAmB,GAAGgB,QAAQ,CAAClQ,MAAO,CAAC;EAClF;EAEA,OAAOmQ,kBAAkB,CAAED,QAAS,CAAC,CAAClP,KAAK,CAAE,CAAC,EAAEmO,mBAAoB,CAAC;AACzE;AAEA,SAASN,gBAAgBA,CAAGgB,GAAG,EAC/B;EACI,IAAIO,MAAM,GAAG,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAAET,GAAI,CAAC;EAE5C,OAAOF,iDAAS,CAACY,MAAM,CAACC,MAAM,CAAE,SAAS,EAAEJ,MAAO,CAAC,CAAC9R,IAAI,CAAE,UAAWmS,WAAW,EAChF;IACI,IAAIC,IAAI,GAAGjJ,MAAM,CAACkJ,YAAY,CAAChP,KAAK,CAAE,IAAI,EAAE,IAAI8N,UAAU,CAAEgB,WAAY,CAAE,CAAC;IAC3E,IAAIG,IAAI,GAAGC,iEAAiB,CAAEH,IAAK,CAAC,CAAC,CAAC;;IAEtC,OAAOE,IAAI;EACf,CAAE,CAAC;AACP;AAEe;EACX7B,6BAA6B,EAA7BA,6BAA6B;EAC7BH,gBAAgB,EAAhBA,gBAAgB;EAChBC,gBAAgB,EAAhBA;AACJ,CAAC,E;;;;;;;AC3DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC4B;AACH;;;;;;;;ACVzB;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM/S,CAAC,GAAG,SAAJA,CAACA,CAAc+T,GAAG,EACxB;EACI,OAAO3G,MAAM,CAAC4H,IAAI,CAAEjB,GAAI,CAAC;AAC7B,CAAC;AACD;AACA,IAAMkB,CAAC,GAAG,SAAJA,CAACA,CAAclB,GAAG,EACxB;EACI,OAAO3G,MAAM,CAAC8H,IAAI,CAAEnB,GAAI,CAAC;AAC7B,CAAC;AACD;AACA,IAAM7T,CAAC,GAAG,OAAOiV,MAAM,KAAK,WAAW,GAAG,IAAI,GAAGA,MAAM;;;;;;;;ACpBvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyC;;AAEzC;AACO,SAASC,iBAAiBA,CAAGC,GAAG,EACvC;EACI,OAAOA,GAAG,CAACC,OAAO,CAAE,KAAK,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,KAAK,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,KAAK,EAAE,EAAG,CAAC;AAC/E;;AAEA;AACO,SAASC,iBAAiBA,CAAGT,IAAI,EACxC;EACI,OAAOA,IAAI,CAACQ,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC;AACzD;;AAEA;AACO,SAASP,iBAAiBA,CAAGhB,GAAG,EACvC;EACI,IAAIsB,GAAG,GAAGH,uDAAI,CAAEnB,GAAI,CAAC;EAErB,OAAOqB,iBAAiB,CAAEC,GAAI,CAAC;AACnC;AAEO,SAASG,cAAcA,CAAGzB,GAAG,EACpC;EACI,IAAIO,MAAM,GAAG,IAAIX,UAAU,CAAEI,GAAG,CAAC7P,MAAO,CAAC;EACzC,KAAM,IAAIpE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiU,GAAG,CAAC7P,MAAM,EAAEpE,CAAC,EAAE,EACpC;IACIwU,MAAM,CAAExU,CAAC,CAAE,GAAGiU,GAAG,CAAC0B,UAAU,CAAE3V,CAAE,CAAC;EACrC;EACA,OAAOwU,MAAM;AACjB;AAEO,SAASoB,eAAeA,CAAG3B,GAAG,EACrC;EACI,OAAOiB,uDAAI,CAAEO,iBAAiB,CAAExB,GAAI,CAAE,CAAC;AAC3C,C;;;;;;;;;;;;+CC3CA,qJAAA5U,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,QAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,eAAAX,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,uCAAA1D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAgE,UAAA,IAAApD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAA+D,IAAA,GAAAjE,CAAA,CAAAkE,OAAA,eAAAhE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAkC,SAAA,sCAAA7D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAgC,aAAAlE,CAAA,QAAAD,CAAA,KAAAoE,MAAA,EAAAnE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAqE,QAAA,GAAApE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAsE,UAAA,GAAArE,CAAA,KAAAD,CAAA,CAAAuE,QAAA,GAAAtE,CAAA,WAAAuE,UAAA,CAAAC,IAAA,CAAAzE,CAAA,cAAA0E,cAAAzE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA0E,UAAA,QAAA3E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA0E,UAAA,GAAA3E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAuE,UAAA,MAAAJ,MAAA,aAAAnE,CAAA,CAAA4C,OAAA,CAAAsB,YAAA,cAAAS,KAAA,iBAAAlC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAiE,IAAA,SAAAjE,CAAA,OAAA6E,KAAA,CAAA7E,CAAA,CAAA8E,MAAA,SAAAvE,CAAA,OAAAG,CAAA,YAAAuD,KAAA,aAAA1D,CAAA,GAAAP,CAAA,CAAA8E,MAAA,OAAAzE,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA0D,IAAA,CAAAxD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAvD,CAAA,CAAAuD,IAAA,GAAAvD,CAAA,gBAAAqD,SAAA,CAAAd,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA2C,WAAA,GAAA7D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAgF,mBAAA,aAAA/E,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAgF,WAAA,WAAAjF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAA+E,WAAA,IAAA/E,CAAA,CAAAkF,IAAA,OAAAlF,CAAA,CAAAmF,IAAA,aAAAlF,CAAA,WAAAE,MAAA,CAAAiF,cAAA,GAAAjF,MAAA,CAAAiF,cAAA,CAAAnF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAoF,SAAA,GAAAhD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAsF,KAAA,aAAArF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA8E,OAAA,OAAA5E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAgF,mBAAA,CAAA9E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAqD,IAAA,GAAAb,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAqD,IAAA,WAAArB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAAyF,IAAA,aAAAxF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAuE,IAAA,CAAApE,CAAA,UAAAH,CAAA,CAAAwF,OAAA,aAAAzB,KAAA,WAAA/D,CAAA,CAAA4E,MAAA,SAAA7E,CAAA,GAAAC,CAAA,CAAAyF,GAAA,QAAA1F,CAAA,IAAAD,CAAA,SAAAiE,IAAA,CAAAxD,KAAA,GAAAR,CAAA,EAAAgE,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAjE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA6E,WAAA,EAAAxD,OAAA,EAAAmD,KAAA,WAAAA,MAAA5E,CAAA,aAAA4F,IAAA,WAAA3B,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAuE,UAAA,CAAA3B,OAAA,CAAA6B,aAAA,IAAA1E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA2F,MAAA,OAAAxF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA2E,KAAA,EAAA3E,CAAA,CAAA4F,KAAA,cAAA5F,CAAA,IAAAD,CAAA,MAAA8F,IAAA,WAAAA,KAAA,SAAAxC,IAAA,WAAAtD,CAAA,QAAAuE,UAAA,IAAAG,UAAA,kBAAA1E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAmE,IAAA,KAAAnC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAA+F,OAAA5F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAA+D,IAAA,GAAA5D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAiE,UAAA,CAAAM,MAAA,MAAAvE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA8D,UAAA,CAAAjE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAiE,UAAA,iBAAAjE,CAAA,CAAA0D,MAAA,SAAA6B,MAAA,aAAAvF,CAAA,CAAA0D,MAAA,SAAAwB,IAAA,QAAA9E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA4E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,gBAAAuB,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,cAAAxD,CAAA,aAAA8E,IAAA,GAAAlF,CAAA,CAAA2D,QAAA,SAAA4B,MAAA,CAAAvF,CAAA,CAAA2D,QAAA,qBAAArD,CAAA,QAAAsC,KAAA,qDAAAsC,IAAA,GAAAlF,CAAA,CAAA4D,UAAA,SAAA2B,MAAA,CAAAvF,CAAA,CAAA4D,UAAA,YAAAR,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAsE,UAAA,CAAAM,MAAA,MAAA5E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAiE,UAAA,CAAAtE,CAAA,OAAAK,CAAA,CAAA6D,MAAA,SAAAwB,IAAA,IAAAvF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAqF,IAAA,GAAArF,CAAA,CAAA+D,UAAA,QAAA5D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA0D,MAAA,IAAApE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA4D,UAAA,KAAA5D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAiE,UAAA,cAAA/D,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAS,IAAA,GAAAvD,CAAA,CAAA4D,UAAA,EAAAnC,CAAA,SAAA+D,QAAA,CAAAtF,CAAA,MAAAsF,QAAA,WAAAA,SAAAjG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAqC,IAAA,GAAAhE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAoE,IAAA,QAAAnE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAS,IAAA,yBAAAhE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAiE,IAAA,GAAAjE,CAAA,GAAAmC,CAAA,KAAAgE,MAAA,WAAAA,OAAAlG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAoE,UAAA,KAAArE,CAAA,cAAAiG,QAAA,CAAAhG,CAAA,CAAAyE,UAAA,EAAAzE,CAAA,CAAAqE,QAAA,GAAAG,aAAA,CAAAxE,CAAA,GAAAiC,CAAA,yBAAAiE,OAAAnG,CAAA,aAAAD,CAAA,QAAAwE,UAAA,CAAAM,MAAA,MAAA9E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAsE,UAAA,CAAAxE,CAAA,OAAAE,CAAA,CAAAkE,MAAA,KAAAnE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAAyE,UAAA,kBAAAtE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA6C,aAAA,CAAAxE,CAAA,YAAAK,CAAA,YAAA+C,KAAA,8BAAA+C,aAAA,WAAAA,cAAArG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAgE,UAAA,EAAA9D,CAAA,EAAAgE,OAAA,EAAA7D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAsG,mBAAAjG,CAAA,EAAAJ,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAE,CAAA,cAAAJ,CAAA,GAAAL,CAAA,CAAAO,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAAN,CAAA,CAAAD,KAAA,WAAAJ,CAAA,gBAAAL,CAAA,CAAAK,CAAA,KAAAK,CAAA,CAAA6C,IAAA,GAAAtD,CAAA,CAAAe,CAAA,IAAAwE,OAAA,CAAAtC,OAAA,CAAAlC,CAAA,EAAAoC,IAAA,CAAAlD,CAAA,EAAAK,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAJ,CAAA,SAAAD,CAAA,GAAAwG,SAAA,aAAAhB,OAAA,WAAAtF,CAAA,EAAAK,CAAA,QAAAK,CAAA,GAAAP,CAAA,CAAAoG,KAAA,CAAAxG,CAAA,EAAAD,CAAA,YAAA0G,MAAArG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,UAAAtG,CAAA,cAAAsG,OAAAtG,CAAA,IAAAiG,kBAAA,CAAA1F,CAAA,EAAAV,CAAA,EAAAK,CAAA,EAAAmG,KAAA,EAAAC,MAAA,WAAAtG,CAAA,KAAAqG,KAAA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAG2D;AACb;AAE9C,IAAM6P,UAAU,GAAG,SAAbA,UAAUA,CAAGrK,GAAG,EACtB;EACI,IAAMsK,eAAe,GAAGZ,uDAAI,CAAE1J,GAAI,CAAC;EACnC,OAAOkK,8DAAc,CAAEI,eAAgB,CAAC;AAC5C,CAAC;AAEM,IAAMxE,WAAW;EAAA,IAAAzJ,IAAA,GAAAhC,iBAAA,eAAAxG,mBAAA,GAAAoF,IAAA,CAAG,SAAA4D,QAAQyB,OAAO,EAAE0B,GAAG;IAAA,IAAAuK,MAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,WAAA,EAAAC,SAAA,EAAAC,GAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,SAAA;IAAA,OAAAnX,mBAAA,GAAAuB,IAAA,UAAA0H,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAArD,IAAA,GAAAqD,QAAA,CAAAhF,IAAA;QAAA;UAEvCwS,MAAM,GAAG,MAAM;UACfC,IAAI,GAAG;YACPxR,IAAI,EAAE,OAAO;YACbiS,UAAU,EAAE,OAAO;YACnB3B,IAAI,EAAE;cAAEtQ,IAAI,EAAE;YAAU;UAC5B,CAAC;UACGyR,WAAW,GAAG,IAAI;UAClBC,MAAM,GAAG,CAAE,QAAQ,CAAE;UACnBC,WAAW,GAAGN,UAAU,CAAErK,GAAI,CAAC;UAAAjD,QAAA,CAAAhF,IAAA;UAAA,OACbwQ,oDAAS,CAACY,MAAM,CAAC+B,SAAS,CAC9CX,MAAM,EACNI,WAAW,EACXH,IAAI,EACJC,WAAW,EACXC,MACJ,CAAC;QAAA;UANKE,SAAS,GAAA7N,QAAA,CAAAtF,IAAA;UAQXoT,GAAG,GAAGvM,OAAO,CAAC6M,KAAK,CAAE,GAAI,CAAC;UAC1BL,OAAO,GAAGZ,8DAAc,CAAEW,GAAG,CAAE,CAAC,CAAE,GAAG,GAAG,GAAGA,GAAG,CAAE,CAAC,CAAG,CAAC;UACrDE,YAAY,GAAGX,+DAAe,CAAES,GAAG,CAAE,CAAC,CAAG,CAAC;UAC1CG,SAAS,GAAGd,8DAAc,CAAEa,YAAa,CAAC;UAAAhO,QAAA,CAAAhF,IAAA;UAAA,OAEjCwQ,oDAAS,CAACY,MAAM,CAACiC,MAAM,CAChCZ,IAAI,EACJI,SAAS,EACTI,SAAS,EACTF,OACJ,CAAC;QAAA;UAAA,OAAA/N,QAAA,CAAAnF,MAAA,WAAAmF,QAAA,CAAAtF,IAAA;QAAA;QAAA;UAAA,OAAAsF,QAAA,CAAAlD,IAAA;MAAA;IAAA,GAAAgD,OAAA;EAAA,CACJ;EAAA,gBA9BYiJ,WAAWA,CAAA9D,EAAA,EAAAoE,GAAA;IAAA,OAAA/J,IAAA,CAAA9B,KAAA,OAAAD,SAAA;EAAA;AAAA,GA8BvB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM+Q,aAAa,0BAAAC,MAAA;EAAA,SAAAD,cAAA;IAAAxL,eAAA,OAAAwL,aAAA;IAAA,OAAAlH,UAAA,OAAAkH,aAAA,EAAA/Q,SAAA;EAAA;EAAA8J,SAAA,CAAAiH,aAAA,EAAAC,MAAA;EAAA,OAAArL,YAAA,CAAAoL,aAAA;AAAA,gBAAAE,gBAAA,CAASnU,KAAK;AACjC,IAAMkQ,kBAAkB,0BAAAkE,cAAA;EAAA,SAAAlE,mBAAA;IAAAzH,eAAA,OAAAyH,kBAAA;IAAA,OAAAnD,UAAA,OAAAmD,kBAAA,EAAAhN,SAAA;EAAA;EAAA8J,SAAA,CAAAkD,kBAAA,EAAAkE,cAAA;EAAA,OAAAvL,YAAA,CAAAqH,kBAAA;AAAA,EAAS+D,aAAa;AAC9C,IAAM1I,SAAS,0BAAA8I,OAAA;EAAA,SAAA9I,UAAA;IAAA9C,eAAA,OAAA8C,SAAA;IAAA,OAAAwB,UAAA,OAAAxB,SAAA,EAAArI,SAAA;EAAA;EAAA8J,SAAA,CAAAzB,SAAA,EAAA8I,OAAA;EAAA,OAAAxL,YAAA,CAAA0C,SAAA;AAAA,gBAAA4I,gBAAA,CAASnU,KAAK,G;;;;;;;ACXpC;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC8C;AAEvC,IAAMuK,cAAc,GAAG,SAAjBA,cAAcA,CAAIL,YAAY,EAAK;EAC5C;EACA;EACA,IAAQ8F,aAAa,GAAwC9F,YAAY,CAAjE8F,aAAa;IAAEhF,YAAY,GAA0Bd,YAAY,CAAlDc,YAAY;IAAEsF,mBAAmB,GAAKpG,YAAY,CAApCoG,mBAAmB;EACxD,IAAI,CAACN,aAAa,IAAI,CAAChF,YAAY,IAAI,CAACsF,mBAAmB,EAAE;IACzD,MAAM,IAAIJ,0DAAkB,CAAC,gEAAgE,CAAC;EAClG;EAEA,OAAO;IACHF,aAAa,EAAbA,aAAa;IACbhF,YAAY,EAAZA,YAAY;IACZsF,mBAAmB,EAAnBA;EACJ,CAAC;AACL,CAAC,C;;;;;;;ACxBD;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAM3E,QAAQ,GAAG,SAAXA,QAAQA,CAAK2I,KAAK,EAC/B;EACI,IAAIC,SAAS,GAAGD,KAAK,CAACP,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;EACvC,IAAIS,MAAM,GAAGD,SAAS,CAAC3B,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC,CAACA,OAAO,CAAE,IAAI,EAAE,GAAI,CAAC;EAChE,IAAI6B,WAAW,GAAGC,kBAAkB,CAChChK,MAAM,CACD4H,IAAI,CAAEkC,MAAO,CAAC,CACdT,KAAK,CAAE,EAAG,CAAC,CACXY,GAAG,CAAE,UAAWnX,CAAC,EAClB;IACI,OAAO,GAAG,GAAG,CAAE,IAAI,GAAGA,CAAC,CAACuV,UAAU,CAAE,CAAE,CAAC,CAACjC,QAAQ,CAAE,EAAG,CAAC,EAAGtO,KAAK,CAAE,CAAC,CAAE,CAAC;EACxE,CAAE,CAAC,CACFgP,IAAI,CAAE,EAAG,CAClB,CAAC;EAED,OAAOlD,IAAI,CAACsG,KAAK,CAAEH,WAAY,CAAC;AACpC,CAAC,C;;;;;;;;;;;;;;;AC1BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMI,wBAAwB,GAAG,wBAAwB;AAAC,IAEpDhI,kBAAkB;EAIpB,SAAAA,mBAAcU,mBAAmB,EACjC;IAAA9E,eAAA,OAAAoE,kBAAA;IAAA/D,eAAA;IACI,IAAI,CAAC0E,cAAc,GAAG,IAAID,mBAAmB,CAAEsH,wBAAyB,CAAC;EAC7E;;EAEA;EAAA,OAAAhM,YAAA,CAAAgE,kBAAA;IAAAjE,GAAA;IAAAzL,KAAA,EACA,SAAA2M,KAAKA,CAAA,EACL;MACI,IAAI,CAAC0D,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAAC5D,YAAY,CAAC,CAAC;IACzD;EAAC;IAAAjB,GAAA;IAAAzL,KAAA,EAED,SAAAqN,IAAIA,CAAGL,IAAI,EACX;MACI,IAAI,CAACqD,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACkB,UAAU,CAAExE,IAAK,CAAC;IAC7D;EAAC;IAAAvB,GAAA;IAAAzL,KAAA,EAED,SAAAkO,kBAAkBA,CAAA,EAClB;MACI,OAAO,IAAI,CAACmC,cAAc,CAACC,gBAAgB,CAAC,CAAC,CAACqH,UAAU,CAAC,CAAC;IAC9D;EAAC;IAAAlM,GAAA;IAAAzL,KAAA,EAED,SAAA4X,oBAAoBA,CAAA,EACpB;MACI,IAAM5K,IAAI,GAAG,IAAI,CAACqD,cAAc,CAACC,gBAAgB,CAAC,CAAC;MAEnD,OAAO,CAAC,CAACtD,IAAI,CAAC6F,aAAa,IAAI,CAAC,CAAC7F,IAAI,CAACa,YAAY;IACtD;EAAC;AAAA;AAGU6B,iFAAkB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgD;AACgB;AAAA,IAE1DmI,WAAW;EAKb,SAAAA,YAAcC,eAAe,EAAEC,WAAW,EAC1C;IAAAzM,eAAA,OAAAuM,WAAA;IAAAlM,eAAA;IAAAA,eAAA;IACI,IAAI,CAACmM,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAAC,OAAArM,YAAA,CAAAmM,WAAA;IAAApM,GAAA;IAAAzL,KAAA,EAED,SAAA8R,OAAOA,CAAGrG,GAAG,EACb;MACI,OAAO,IAAI,CAACkM,UAAU,CAAC,CAAC,CAAElM,GAAG,CAAE;IACnC;EAAC;IAAAA,GAAA;IAAAzL,KAAA,EAED,SAAAgY,OAAOA,CAAGvM,GAAG,EAAEzL,KAAK,EACpB;MACI,OAAO,IAAI,CAACiY,aAAa,CAAExM,GAAG,EAAEzL,KAAM,CAAC;IAC3C;EAAC;IAAAyL,GAAA;IAAAzL,KAAA,EAED,SAAAkY,UAAUA,CAAGzM,GAAG,EAChB;MACI,OAAO,IAAI,CAACiB,YAAY,CAAEjB,GAAI,CAAC;IACnC;EAAC;IAAAA,GAAA;IAAAzL,KAAA,EAED,SAAA2X,UAAUA,CAAA,EACV;MACI,IAAIQ,aAAa,GAAG,IAAI,CAACL,eAAe,CAAChG,OAAO,CAAE,IAAI,CAACiG,WAAY,CAAC;MACpEI,aAAa,GAAGA,aAAa,IAAI,IAAI;MACrC,IACA;QACI,OAAOhH,IAAI,CAACsG,KAAK,CAAEU,aAAc,CAAC;MACtC,CAAC,CAAC,OAAQ5Y,CAAC,EACX;QACI,MAAM,IAAIuX,2DAAa,CAAE,kCAAkC,GAAG,IAAI,CAACiB,WAAY,CAAC;MACpF;IACJ;EAAC;IAAAtM,GAAA;IAAAzL,KAAA,EAED,SAAAwR,UAAUA,CAAG4G,GAAG,EAChB;MACI,IACA;QACI,IAAID,aAAa,GAAGC,GAAG,GAAGjH,IAAI,CAACC,SAAS,CAAEgH,GAAI,CAAC,GAAG,IAAI;QACtD,IAAI,CAACN,eAAe,CAACE,OAAO,CAAE,IAAI,CAACD,WAAW,EAAEI,aAAc,CAAC;MACnE,CAAC,CAAC,OAAQ5Y,CAAC,EACX;QACI,MAAM,IAAIsD,KAAK,CAAE,yBAAyB,GAAG,IAAI,CAACkV,WAAY,CAAC;MACnE;IACJ;EAAC;IAAAtM,GAAA;IAAAzL,KAAA,EAED,SAAA0M,YAAYA,CAAGjB,GAAG,EAClB;MACI,IAAK,CAACA,GAAG,EACT;QACI;QACA,IAAI,CAACqM,eAAe,CAACI,UAAU,CAAE,IAAI,CAACH,WAAY,CAAC;QAEnD;MACJ;MAEA,IAAIK,GAAG,GAAG,IAAI,CAACT,UAAU,CAAC,CAAC;MAC3B,OAAOS,GAAG,CAAE3M,GAAG,CAAE;MACjB,IAAI,CAAC+F,UAAU,CAAE4G,GAAI,CAAC;IAC1B;EAAC;IAAA3M,GAAA;IAAAzL,KAAA,EAED,SAAAiY,aAAaA,CAAGxM,GAAG,EAAEzL,KAAK,EAC1B;MACI,IAAIoY,GAAG,GAAG,IAAI,CAACT,UAAU,CAAC,CAAC;MAC3BS,GAAG,CAAE3M,GAAG,CAAE,GAAGzL,KAAK;MAClB,IAAI,CAACwR,UAAU,CAAE4G,GAAI,CAAC;IAC1B;EAAC;AAAA;AAGE,IAAMC,kBAAkB;EAI3B,SAAAA,mBAAcN,WAAW,EAAED,eAAe,EAC1C;IAAAxM,eAAA,OAAA+M,kBAAA;IAAA1M,eAAA;IAAAA,eAAA;IACI,IAAI,CAACoM,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACD,eAAe,GAAGA,eAAe;EAC1C;EAAC,OAAApM,YAAA,CAAA2M,kBAAA;IAAA5M,GAAA;IAAAzL,KAAA,EAED,SAAAsQ,gBAAgBA,CAAA,EAChB;MACI,OAAO,IAAIuH,WAAW,CAAE,IAAI,CAACC,eAAe,EAAE,IAAI,CAACC,WAAY,CAAC;IACpE;EAAC;AAAA;AAGE,IAAMO,mBAAmB,0BAAAC,oBAAA;EAE5B,SAAAD,oBAAcP,WAAW,EACzB;IAAAzM,eAAA,OAAAgN,mBAAA;IAAA,OAAA1I,UAAA,OAAA0I,mBAAA,GACWP,WAAW,EAAExK,MAAM,CAACiL,YAAY;EAC3C;EAAC3I,SAAA,CAAAyI,mBAAA,EAAAC,oBAAA;EAAA,OAAA7M,YAAA,CAAA4M,mBAAA;AAAA,EALoCD,kBAAkB;AAQpD,IAAM7I,eAAe,GAAG,SAAlBA,eAAeA,CAAInF,IAAI,EAAK;EACrC;EACA,IAAIA,IAAI,CAACoO,WAAW,KAAK,QAAQ,EAAE;IAC/B,8BAAAC,oBAAA;MACI,SAAAC,qBAAcZ,WAAW,EAAG;QAAAzM,eAAA,OAAAqN,oBAAA;QAAA,OAAA/I,UAAA,OAAA+I,oBAAA,GACjBZ,WAAW,EAAE,IAAIa,4EAAqB,CAACvO,IAAI,CAACwO,YAAY,CAAC;MACpE;MAAChJ,SAAA,CAAA8I,oBAAA,EAAAD,oBAAA;MAAA,OAAAhN,YAAA,CAAAiN,oBAAA;IAAA,EAHqCN,kBAAkB;EAKhE,CAAC,MAAM;IACH,OAAOC,mBAAmB;EAC9B;AACJ,CAAC,C;;;;;;;;;;;;;;;;;;AC1HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEgC;;AAEhC;AACO,IAAMM,qBAAqB;EAG9B,SAAAA,sBAAcE,MAAM,EACpB;IAAAxN,eAAA,OAAAsN,qBAAA;IAAAjN,eAAA;IACI,IAAI,CAACmN,MAAM,GAAGA,MAAM;EACxB;EAAC,OAAApN,YAAA,CAAAkN,qBAAA;IAAAnN,GAAA;IAAAzL,KAAA,EACD,SAAA8R,OAAOA,CAAGrG,GAAG,EACb;MACI,OAAOsN,gDAAO,CAACnG,GAAG,CAAEnH,GAAI,CAAC;IAC7B;EAAC;IAAAA,GAAA;IAAAzL,KAAA,EAED,SAAAgY,OAAOA,CAAGvM,GAAG,EAAEzL,KAAK,EACpB;MACI,OAAO+Y,gDAAO,CAACC,GAAG,CAAEvN,GAAG,EAAEzL,KAAK,EAAE;QAAEiZ,OAAO,EAAE,GAAG;QAAEH,MAAM,EAAE,IAAI,CAACA;MAAO,CAAE,CAAC;IAC3E;EAAC;IAAArN,GAAA;IAAAzL,KAAA,EAED,SAAAkY,UAAUA,CAAGzM,GAAG,EAChB;MACI,OAAOsN,gDAAO,CAACG,MAAM,CAACzN,GAAG,CAAC;IAC9B;EAAC;AAAA,I;;;;;;ACjCL;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,SAKK;AACP,CAAC,sBAAsB;;AAEvB;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,4CAA4C;AAC5C;AACA,yEAAyE;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA8D;AAC9D;AACA,qBAAqB,oBAAoB;AACzC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,+BAA+B;AAC/B;AACA,OAAO;AACP;AACA,qBAAqB,0CAA0C;AAC/D,oBAAoB;AACpB;AACA;AACA;;AAEA,oCAAoC,YAAY;AAChD;;AAEA;;AAEA,CAAC;;;;;;;;AClJD;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM6B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAK6L,YAAY,EAAE3M,aAAa,EACjE;EACI,IAAM4M,QAAQ,GAAG,IAAIC,GAAG,CAAE7M,aAAc,CAAC;EACzC4M,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,YAAY,EAAEhM,MAAM,CAACC,QAAQ,CAACgM,IAAK,CAAC;EAClEJ,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,cAAc,EAAEJ,YAAY,CAACjN,WAAY,CAAC;EACxEkN,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,eAAe,EAAEJ,YAAY,CAAC7F,YAAa,CAAC;EAC1E8F,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,OAAO,EAAEJ,YAAY,CAAC9F,KAAM,CAAC;;EAE3D;EACA+F,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,gBAAgB,EAAEJ,YAAY,CAACtG,aAAc,CAAC;EAC5EuG,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,uBAAuB,EAAEJ,YAAY,CAAChG,mBAAoB,CAAC;;EAEzF;EACA,IAAKgG,YAAY,CAACzQ,KAAK,KAAKtB,SAAS,EACrC;IACIgS,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,OAAO,EAAEJ,YAAY,CAACzQ,KAAM,CAAC;EAC/D;;EAEA;EACA,IAAKyQ,YAAY,CAAC9M,YAAY,EAC9B;IACI+M,QAAQ,CAACE,YAAY,CAACC,MAAM,CAAE,KAAK,EAAEJ,YAAY,CAAC9M,YAAa,CAAC;EACpE;EAEA,OAAO+M,QAAQ,CAACI,IAAI;AACxB,CAAC,C;;;;;;;AClCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsB;;;;;;;;ACAtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACY","file":"ocid-connect-js.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slider\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"Slider\"] = factory(root[\"react\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './react';\nexport * from './sdk';\n","export { default as LoginButton } from './LoginButton';\nexport { default as LoginCallBack } from './LoginCallBack';\nexport { default as OCConnect } from './OCConnect';\nexport * from './OCContext';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable react/no-unknown-property */\nimport React from 'react';\nimport { useOCAuth } from './OCContext';\n\nconst lightTheme = {\n background: \"#000\",\n color: \"#fff\",\n button: {\n background: \"#FFF\",\n border: \"#DDDDEB\",\n color: \"#C5C5D1\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst darkTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141414\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#ADADB8\",\n },\n};\n\nconst neutralTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#F5F5F5\",\n border: \"#DDDDEB\",\n color: \"#141414\",\n colorSuccess: \"#8F8FB2\",\n },\n};\n\nconst ocBlueTheme = {\n background: \"#fff\",\n color: \"#000\",\n button: {\n background: \"#141BEB\",\n border: \"#DDDDEB\",\n color: \"#FFFFFF\",\n colorSuccess: \"#9699EB\",\n },\n};\n\nconst themes = {\n light: lightTheme,\n dark: darkTheme,\n neutral: neutralTheme,\n ocBlue: ocBlueTheme,\n};\n\nconst genStyle = ( theme, pill = false ) =>\n( {\n display: \"flex\",\n alignItems: \"center\",\n height: 44,\n width: 160,\n padding: \"10px 12px\",\n fontSize: 14,\n border: \"1px solid\",\n borderColor: theme.button.border,\n borderRadius: pill ? 40 : 8,\n background: theme.button.background,\n color: theme.button.color\n} );\n\nexport default function LoginButton ( {\n pill,\n disabled,\n theme,\n} )\n{\n const { ocAuth } = useOCAuth();\n const customTheme = themes[ theme ] || themes[ 'ocBlue' ];\n\n const loginWithRedirect = async () =>\n {\n await ocAuth.signInWithRedirect( {\n state: 'opencampus',\n } );\n };\n\n const style = genStyle( customTheme, pill );\n\n return (\n <button\n disabled={ disabled }\n onClick={ loginWithRedirect }\n style={ style }\n >\n <img alt=\"logo\" src=\"https://static.opencampus.xyz/assets/oc_logo.svg\" width=\"26px\" height=\"25px\" />\n <span style={ { marginLeft: \"10px\" } }>Connect&nbsp;<strong>OCID</strong></span>\n </button>\n );\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport * as React from 'react';\n\nexport const OCContext = React.createContext( null );\n\nexport const useOCAuth = () => React.useContext( OCContext );\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect } from 'react';\n\nimport { useOCAuth } from './OCContext';\n\nlet handledRedirect = false;\n\nconst LoginCallBack = ( { successCallback, errorCallback, customErrorComponent, customLoadingComponent } ) =>\n{\n const { ocAuth, authState, updateAuthState } = useOCAuth();\n\n useEffect( () =>\n {\n const handleLogin = async () =>\n {\n if ( ocAuth )\n {\n try\n {\n const authState = await ocAuth.handleLoginRedirect();\n if ( authState.idToken )\n {\n updateAuthState( authState );\n handledRedirect = true;\n successCallback();\n } else\n {\n updateAuthState( {\n error: 'missing idToken from redirect callback',\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n } catch ( e )\n {\n updateAuthState( {\n error: e,\n } );\n if ( errorCallback )\n {\n errorCallback();\n }\n }\n }\n };\n if ( !handledRedirect )\n {\n handleLogin();\n }\n }, [ ocAuth ] );\n\n if ( authState.error !== undefined && !errorCallback )\n {\n return customErrorComponent ? customErrorComponent : <div>Error Logging in: { authState.error.message }</div>;\n } else\n {\n return customLoadingComponent ? customLoadingComponent : (\n <div>\n <h3>Loading ......</h3>\n </div>\n );\n }\n};\n\nexport default LoginCallBack;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport React, { useEffect, useState } from 'react';\n\nimport { OCContext } from './OCContext';\nimport { OCAuthLive, OCAuthSandbox } from '../sdk/auth';\n\nconst OCConnect = ( { children, opts, sandboxMode } ) =>\n{\n const [ ocAuth, setOcAuth ] = useState( {} );\n const [ authState, setAuthState ] = useState( {\n isAuthenticated: false,\n } );\n\n useEffect( () =>\n {\n const authSdk = sandboxMode ? new OCAuthSandbox( opts ) : new OCAuthLive( opts );\n setOcAuth( authSdk );\n updateAuthState( authSdk.getAuthState() );\n }, [] );\n\n const updateAuthState = ( authState ) =>\n {\n const { accessToken, idToken, isAuthenticated, error } = authState;\n setAuthState( {\n accessToken,\n idToken,\n isAuthenticated,\n error,\n } );\n };\n\n return <OCContext.Provider value={ { ocAuth, authState, updateAuthState } }>{ children }</OCContext.Provider>;\n};\n\nexport default OCConnect;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport AuthInfoManager from './lib/AuthInfoManager';\nimport TokenManager from './lib/TokenManager';\nimport TransactionManager from './lib/TransactionManager';\nimport { getStorageClass } from './lib/StorageManager';\nimport { createPkceMeta, parseJwt, parseUrl, prepareTokenParams } from './utils';\nimport { buildAuthEndpointUrl } from './endpoints';\nimport { AuthError } from './utils/errors';\n\nexport class OCAuthCore\n{\n tokenManager;\n authInfoManager;\n transactionManager;\n redirectUri;\n loginEndPoint;\n referralCode;\n\n constructor ( loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode )\n {\n this.transactionManager = transactionManager;\n this.tokenManager = tokenManager;\n this.authInfoManager = new AuthInfoManager();\n this.loginEndPoint = loginEndpoint;\n this.redirectUri = redirectUri;\n this.referralCode = referralCode;\n this.syncAuthInfo();\n }\n\n clearStorage ()\n {\n this.transactionManager.clear();\n this.tokenManager.clear();\n }\n\n async signInWithRedirect ( params )\n {\n // we use ONLY code flow with PKCE, so lacks a lot of options\n // available in other OAuth SDKs.\n const paramsClone = Object.assign( {}, params );\n paramsClone.redirectUri = this.redirectUri;\n const signinParams = await prepareTokenParams( paramsClone );\n const meta = createPkceMeta( signinParams );\n this.transactionManager.save( meta );\n signinParams.referralCode = this.referralCode\n const requestUrl = buildAuthEndpointUrl( signinParams, this.loginEndPoint );\n window.location.assign( requestUrl );\n }\n\n async handleLoginRedirect ()\n {\n const urlParams = parseUrl();\n // Again we only handle PKCE code flow\n if ( urlParams.code )\n {\n const meta = this.transactionManager.getTransactionMeta();\n const { codeVerifier } = meta;\n if ( codeVerifier )\n {\n // we used pkce mode, use it\n await this.tokenManager.exchangeTokenFromCode( urlParams.code, codeVerifier );\n // clear transaction meta, coz it's completed\n this.transactionManager.clear();\n this.syncAuthInfo();\n return this.getAuthState();\n } else\n {\n throw new AuthError( 'codeVerifier not found, cannot complete flow' );\n }\n }\n\n // no code found, nothing to do \n return {};\n }\n\n isAuthenticated ()\n {\n // if both token exist and not expired\n return !this.tokenManager.hasExpired();\n }\n\n syncAuthInfo ()\n {\n if ( this.tokenManager.hasExpired() )\n {\n this.authInfoManager.clear();\n } else\n {\n const idToken = this.tokenManager.getIdToken();\n const { edu_username, eth_address } = parseJwt( idToken );\n this.authInfoManager.setIdInfo( {\n edu_username,\n eth_address,\n } );\n }\n }\n\n getAuthState ()\n {\n const authState = {\n accessToken: this.getAccessToken(),\n idToken: this.getIdToken(),\n isAuthenticated: this.isAuthenticated(),\n };\n\n return authState;\n }\n\n getAuthInfo ()\n {\n return this.authInfoManager.getAuthInfo();\n }\n\n getIdToken ()\n {\n return this.tokenManager.getIdToken();\n }\n\n getAccessToken ()\n {\n return this.tokenManager.getAccessToken();\n }\n}\n\nconst LIVE_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBIDHtLbgVM76SXZ4iuIjuO+ERQPnVpJzagOsZdYxFG3ZJmvfdpr/Z29SLUbdZWafrOlAVlKe1Ovf/tcH671tTw==';\nconst SANDBOX_PUBLIC_KEY = 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/EymMLXd/MVYPK5r2xXQj91ZVvX3OQ+QagvR2N6lCvRVjnzmOtPRTf+u5g1RliWnmuxbV3gTm0/0VuV/40Salg==';\nexport class OCAuthLive extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || LIVE_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode);\n }\n}\n\nexport class OCAuthSandbox extends OCAuthCore\n{\n constructor ( opts = {} )\n {\n const {\n tokenEndPoint: overrideTokenEndpoint,\n loginEndPoint: overrideLoginEndpoint,\n publicKey: overridePublicKey,\n redirectUri,\n referralCode,\n } = opts;\n const tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';\n const loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';\n const publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;\n\n const storageClass = getStorageClass(opts);\n const pkceTransactionManager = new TransactionManager( storageClass );\n const tokenManager = new TokenManager( storageClass, tokenEndpoint, publicKey );\n super( loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode);\n }\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nclass AuthInfoManager\n{\n _idInfo;\n\n constructor ()\n {\n this._authState = null;\n this._idInfo = null;\n }\n\n setIdInfo ( IdInfo )\n {\n this._idInfo = Object.assign( {}, IdInfo );\n }\n\n getIdInfoAttribute ( attribute )\n {\n if ( this._idInfo === null )\n {\n return undefined;\n }\n\n return this._idInfo[ attribute ];\n }\n\n getAuthInfo ()\n {\n return Object.assign( {}, this._idInfo );\n }\n\n clear ()\n {\n this._idInfo = null;\n }\n}\n\nexport default AuthInfoManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// import StorageManager from './StorageManager';\nimport { parseJwt } from '../utils';\nimport { verifyToken } from '../crypto';\nimport { AuthError } from '../utils/errors';\n\nconst TOKEN_STORAGE_NAME = 'oc-token-storage';\n\nclass TokenManager\n{\n storageManager;\n tokenExpiredAt;\n tokenEndPoint;\n publicKey;\n\n constructor ( StorageManagerClass, tokenEndPoint, publicKey )\n {\n this.storageManager = new StorageManagerClass( TOKEN_STORAGE_NAME );\n this.tokenEndPoint = tokenEndPoint;\n this.publicKey = publicKey;\n }\n\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n async exchangeTokenFromCode ( accessCode, codeVerifier )\n {\n const body = { accessCode, codeVerifier };\n try\n {\n const response = await fetch( this.tokenEndPoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify( body ),\n } );\n\n const { access_token, id_token } = await response.json();\n if ( !access_token || !id_token )\n {\n throw new AuthError( 'Fail to exchange token' );\n }\n const pubKey = await this.getPublicKey();\n const tokenVerified = await verifyToken( id_token, pubKey );\n if ( !tokenVerified )\n {\n throw new AuthError( 'Unable to verify token' );\n }\n const parsedAccessToken = parseJwt( access_token );\n this.storageManager.getStorageObject().setStorage( {\n access_token,\n id_token,\n expired: parsedAccessToken.exp,\n } );\n } catch ( error )\n {\n console.log( error );\n throw new AuthError( 'Token acquisition failed' );\n }\n }\n\n getIdToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'id_token' );\n }\n\n getAccessToken ()\n {\n return this.storageManager.getStorageObject().getItem( 'access_token' );\n }\n\n getExpiredAt () \n {\n return this.storageManager.getStorageObject().getItem( 'expired' );\n }\n\n async getPublicKey () \n {\n return this.publicKey;\n }\n\n hasExpired ()\n {\n const expiredAt = this.getExpiredAt();\n if ( !expiredAt )\n {\n return true;\n }\n const cur = Math.round( new Date().valueOf() / 1000 );\n\n return cur >= expiredAt;\n }\n}\n\nexport default TokenManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './urlParser';\nexport * from './prepareTokenParams';\nexport * from './createPkceMeta';\nexport * from './jwtParser';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const parseUrl = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const validParams = {};\n\n if (urlParams.has('id_token')) validParams.id_token = urlParams.get('id_token');\n if (urlParams.has('code')) validParams.code = urlParams.get('code');\n if (urlParams.has('state')) validParams.state = urlParams.get('state');\n\n return validParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport PKCE from '../lib/pkce';\nimport { InvalidParamsError } from './errors';\n\nexport const prepareTokenParams = async (params) => {\n // prepare all the params needed for building the signin flow\n // mandatory redirect_uri, for now, we only allow user to set redirect_uri and state\n // again this is not a full on OIDC/OAuth flow allowing user to set all the options\n // we prepare all the rest\n const { redirectUri, state } = params;\n if (!redirectUri) {\n throw new InvalidParamsError(' No redirect uri params!');\n }\n\n // must be pkce\n const codeVerifier = PKCE.generateVerifier();\n const codeChallenge = await PKCE.computeChallenge(codeVerifier);\n\n // pack up the full set of token params needed\n const tokenParams = {\n redirectUri,\n codeVerifier,\n codeChallenge,\n codeChallengeMethod: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,\n scope: 'openid',\n responseType: 'code',\n };\n\n // just filter out undefined and null, honor other falsy states\n if (state !== undefined && state !== null) {\n tokenParams.state = state;\n }\n\n return tokenParams;\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable complexity, max-statements */\n\nimport { stringToBase64Url, webcrypto } from '../crypto';\n\nexport const MIN_VERIFIER_LENGTH = 43;\nexport const MAX_VERIFIER_LENGTH = 128;\nexport const DEFAULT_CODE_CHALLENGE_METHOD = 'S256';\n\nfunction dec2hex ( dec )\n{\n return ( '0' + dec.toString( 16 ) ).substr( -2 );\n}\n\nfunction getRandomString ( length )\n{\n var a = new Uint8Array( Math.ceil( length / 2 ) );\n webcrypto.getRandomValues( a );\n var str = Array.from( a, dec2hex ).join( '' );\n\n return str.slice( 0, length );\n}\n\nfunction generateVerifier ( prefix )\n{\n var verifier = prefix || '';\n if ( verifier.length < MIN_VERIFIER_LENGTH )\n {\n verifier = verifier + getRandomString( MIN_VERIFIER_LENGTH - verifier.length );\n }\n\n return encodeURIComponent( verifier ).slice( 0, MAX_VERIFIER_LENGTH );\n}\n\nfunction computeChallenge ( str )\n{\n var buffer = new TextEncoder().encode( str );\n\n return webcrypto.subtle.digest( 'SHA-256', buffer ).then( function ( arrayBuffer )\n {\n var hash = String.fromCharCode.apply( null, new Uint8Array( arrayBuffer ) );\n var b64u = stringToBase64Url( hash ); // url-safe base64 variant\n\n return b64u;\n } );\n}\n\nexport default {\n DEFAULT_CODE_CHALLENGE_METHOD,\n generateVerifier,\n computeChallenge,\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './webcrypto';\nexport * from './base64';\nexport * from './verifyToken';","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n// eslint-disable-next-line no-redeclare\nconst a = function ( str )\n{\n return window.atob( str );\n};\n// eslint-disable-next-line no-redeclare\nconst b = function ( str )\n{\n return window.btoa( str );\n};\n// eslint-disable-next-line no-redeclare\nconst c = typeof crypto === 'undefined' ? null : crypto;\n\nexport { a as atob, b as btoa, c as webcrypto };\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { atob, btoa } from './webcrypto';\n\n// converts a standard base64-encoded string to a \"url/filename safe\" variant\nexport function base64ToBase64Url ( b64 )\n{\n return b64.replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=+$/, '' );\n}\n\n// converts a \"url/filename safe\" base64 string to a \"standard\" base64 string\nexport function base64UrlToBase64 ( b64u )\n{\n return b64u.replace( /-/g, '+' ).replace( /_/g, '/' );\n}\n\n// converts a string to base64 (url/filename safe variant)\nexport function stringToBase64Url ( str )\n{\n var b64 = btoa( str );\n\n return base64ToBase64Url( b64 );\n}\n\nexport function stringToBuffer ( str )\n{\n var buffer = new Uint8Array( str.length );\n for ( var i = 0; i < str.length; i++ )\n {\n buffer[ i ] = str.charCodeAt( i );\n }\n return buffer;\n}\n\nexport function base64UrlDecode ( str )\n{\n return atob( base64UrlToBase64( str ) );\n}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\nimport { stringToBuffer, base64UrlDecode } from './base64';\nimport { webcrypto, atob } from './webcrypto';\n\nconst prepareKey = key =>\n{\n const binaryDerString = atob( key );\n return stringToBuffer( binaryDerString );\n};\n\nexport const verifyToken = async ( idToken, key ) => \n{\n var format = 'spki';\n var algo = {\n name: 'ECDSA',\n namedCurve: 'P-256',\n hash: { name: \"SHA-256\" }\n };\n var extractable = true;\n var usages = [ 'verify' ];\n const preparedKey = prepareKey( key );\n const cryptoKey = await webcrypto.subtle.importKey(\n format,\n preparedKey,\n algo,\n extractable,\n usages\n );\n\n var jwt = idToken.split( '.' );\n var payload = stringToBuffer( jwt[ 0 ] + '.' + jwt[ 1 ] );\n var b64Signature = base64UrlDecode( jwt[ 2 ] );\n var signature = stringToBuffer( b64Signature );\n\n return await webcrypto.subtle.verify(\n algo,\n cryptoKey,\n signature,\n payload\n );\n}\n\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport class InternalError extends Error {}\nexport class InvalidParamsError extends InternalError {}\nexport class AuthError extends Error {}\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nimport { InvalidParamsError } from './errors';\n\nexport const createPkceMeta = (signinParams) => {\n // prepare the meta that needs to be persisted in storage\n // extracted from the signinParams\n const { codeChallenge, codeVerifier, codeChallengeMethod } = signinParams;\n if (!codeChallenge || !codeVerifier || !codeChallengeMethod) {\n throw new InvalidParamsError('codeChallenge, codeVerifier & codeChallengeMethod are required');\n }\n\n return {\n codeChallenge,\n codeVerifier,\n codeChallengeMethod,\n };\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nexport const parseJwt = ( token ) =>\n{\n var base64Url = token.split( '.' )[ 1 ];\n var base64 = base64Url.replace( /-/g, '+' ).replace( /_/g, '/' );\n var jsonPayload = decodeURIComponent(\n window\n .atob( base64 )\n .split( '' )\n .map( function ( c )\n {\n return '%' + ( '00' + c.charCodeAt( 0 ).toString( 16 ) ).slice( -2 );\n } )\n .join( '' )\n );\n\n return JSON.parse( jsonPayload );\n};\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n// TransactionManager manages data that's stored over a \"transaction\"\n// of the login cycle\n// A transaction contains a few things that we want to carry over multiple\n// times interacting with the SDK\n// Currently just used for\n// codeChallenge, codeVerifier, codeChallengeMethod\n\nconst TRANSACTION_STORAGE_NAME = 'oc-transaction-storage';\n\nclass TransactionManager\n{\n storageManager;\n\n constructor ( StorageManagerClass )\n {\n this.storageManager = new StorageManagerClass( TRANSACTION_STORAGE_NAME );\n }\n\n // called when we start a new transaction\n clear ()\n {\n this.storageManager.getStorageObject().clearStorage();\n }\n\n save ( meta )\n {\n this.storageManager.getStorageObject().setStorage( meta );\n }\n\n getTransactionMeta ()\n {\n return this.storageManager.getStorageObject().getStorage();\n }\n\n hasActiveTransaction ()\n {\n const meta = this.storageManager.getStorageObject();\n\n return !!meta.codeChallenge && !!meta.codeVerifier;\n }\n}\n\nexport default TransactionManager;\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { InternalError } from \"../utils/errors\";\nimport { CookieStorageProvider } from \"./CookieStorageProvider\";\n\nclass SavedObject\n{\n storageProvider;\n storageName;\n\n constructor ( storageProvider, storageName )\n {\n this.storageProvider = storageProvider;\n this.storageName = storageName;\n }\n\n getItem ( key )\n {\n return this.getStorage()[ key ];\n }\n\n setItem ( key, value )\n {\n return this.updateStorage( key, value );\n }\n\n removeItem ( key )\n {\n return this.clearStorage( key );\n }\n\n getStorage ()\n {\n let storageString = this.storageProvider.getItem( this.storageName );\n storageString = storageString || '{}';\n try\n {\n return JSON.parse( storageString );\n } catch ( e )\n {\n throw new InternalError( 'Unable to parse storage string: ' + this.storageName );\n }\n }\n\n setStorage ( obj )\n {\n try\n {\n let storageString = obj ? JSON.stringify( obj ) : '{}';\n this.storageProvider.setItem( this.storageName, storageString );\n } catch ( e )\n {\n throw new Error( 'Unable to set storage: ' + this.storageName );\n }\n }\n\n clearStorage ( key )\n {\n if ( !key )\n {\n // clear all\n this.storageProvider.removeItem( this.storageName );\n\n return;\n }\n\n let obj = this.getStorage();\n delete obj[ key ];\n this.setStorage( obj );\n }\n\n updateStorage ( key, value )\n {\n let obj = this.getStorage();\n obj[ key ] = value;\n this.setStorage( obj );\n }\n}\n\nexport class BaseStorageManager\n{\n storageProvider;\n storageName;\n constructor ( storageName, storageProvider )\n {\n this.storageName = storageName;\n this.storageProvider = storageProvider;\n }\n\n getStorageObject ()\n {\n return new SavedObject( this.storageProvider, this.storageName );\n }\n}\n\nexport class LocalStorageManager extends BaseStorageManager\n{\n constructor ( storageName )\n {\n super( storageName, window.localStorage );\n }\n}\n\nexport const getStorageClass = (opts) => {\n // Only cookie support domain based storage\n if (opts.storageType === 'cookie') {\n return class CookieStorageManager extends BaseStorageManager {\n constructor ( storageName ) {\n super( storageName, new CookieStorageProvider(opts.cookieDomain) );\n }\n }\n } else { \n return LocalStorageManager;\n }\n}","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport Cookies from 'js-cookie';\n\n// Wrapper to support Cookie based storage\nexport class CookieStorageProvider {\n domain;\n\n constructor ( domain )\n {\n this.domain = domain;\n }\n getItem ( key )\n {\n return Cookies.get( key );\n }\n\n setItem ( key, value )\n {\n return Cookies.set( key, value, { expires: 365, domain: this.domain } );\n }\n\n removeItem ( key )\n {\n return Cookies.remove(key);\n }\n}\n","/*! js-cookie v3.0.5 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n })());\n})(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n}));\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport * from './buildAuthEndpointUrl';\n","/*!\n* Copyright 2024-Present Animoca Brands Corporation Ltd. \n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nexport const buildAuthEndpointUrl = ( signInParams, loginEndPoint ) =>\n{\n const loginUrl = new URL( loginEndPoint );\n loginUrl.searchParams.append( 'origin_url', window.location.href );\n loginUrl.searchParams.append( 'redirect_uri', signInParams.redirectUri );\n loginUrl.searchParams.append( 'response_type', signInParams.responseType );\n loginUrl.searchParams.append( 'scope', signInParams.scope );\n\n // pkce params\n loginUrl.searchParams.append( 'code_challenge', signInParams.codeChallenge );\n loginUrl.searchParams.append( 'code_challenge_method', signInParams.codeChallengeMethod );\n\n // as long as it is defined we will use it\n if ( signInParams.state !== undefined )\n {\n loginUrl.searchParams.append( 'state', signInParams.state );\n }\n\n // reference data for register workflow\n if ( signInParams.referralCode )\n {\n loginUrl.searchParams.append( 'ref', signInParams.referralCode );\n }\n\n return loginUrl.href;\n};\n","export * from './lib';\nexport * from './auth';\n","export { default as TokenManager } from './TokenManager';\nexport { default as TransactionManager } from './TransactionManager';\nexport * from './StorageManager';"],"sourceRoot":""}
package/lib/sdk/auth.js CHANGED
@@ -38,18 +38,20 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
38
38
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
39
39
  */
40
40
  var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
41
- function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager) {
41
+ function OCAuthCore(loginEndpoint, redirectUri, transactionManager, tokenManager, referralCode) {
42
42
  _classCallCheck(this, OCAuthCore);
43
43
  _defineProperty(this, "tokenManager", void 0);
44
44
  _defineProperty(this, "authInfoManager", void 0);
45
45
  _defineProperty(this, "transactionManager", void 0);
46
46
  _defineProperty(this, "redirectUri", void 0);
47
47
  _defineProperty(this, "loginEndPoint", void 0);
48
+ _defineProperty(this, "referralCode", void 0);
48
49
  this.transactionManager = transactionManager;
49
50
  this.tokenManager = tokenManager;
50
51
  this.authInfoManager = new _AuthInfoManager["default"]();
51
52
  this.loginEndPoint = loginEndpoint;
52
53
  this.redirectUri = redirectUri;
54
+ this.referralCode = referralCode;
53
55
  this.syncAuthInfo();
54
56
  }
55
57
  return _createClass(OCAuthCore, [{
@@ -76,9 +78,10 @@ var OCAuthCore = exports.OCAuthCore = /*#__PURE__*/function () {
76
78
  signinParams = _context.sent;
77
79
  meta = (0, _utils.createPkceMeta)(signinParams);
78
80
  this.transactionManager.save(meta);
81
+ signinParams.referralCode = this.referralCode;
79
82
  requestUrl = (0, _endpoints.buildAuthEndpointUrl)(signinParams, this.loginEndPoint);
80
83
  window.location.assign(requestUrl);
81
- case 9:
84
+ case 10:
82
85
  case "end":
83
86
  return _context.stop();
84
87
  }
@@ -188,14 +191,15 @@ var OCAuthLive = exports.OCAuthLive = /*#__PURE__*/function (_OCAuthCore2) {
188
191
  var overrideTokenEndpoint = opts.tokenEndPoint,
189
192
  overrideLoginEndpoint = opts.loginEndPoint,
190
193
  overridePublicKey = opts.publicKey,
191
- redirectUri = opts.redirectUri;
194
+ redirectUri = opts.redirectUri,
195
+ referralCode = opts.referralCode;
192
196
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.opencampus.xyz/auth/token';
193
197
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.opencampus.xyz/auth/login';
194
198
  var publicKey = overridePublicKey || LIVE_PUBLIC_KEY;
195
199
  var storageClass = (0, _StorageManager.getStorageClass)(opts);
196
200
  var pkceTransactionManager = new _TransactionManager["default"](storageClass);
197
201
  var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
198
- return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager]);
202
+ return _callSuper(this, OCAuthLive, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
199
203
  }
200
204
  _inherits(OCAuthLive, _OCAuthCore2);
201
205
  return _createClass(OCAuthLive);
@@ -207,14 +211,15 @@ var OCAuthSandbox = exports.OCAuthSandbox = /*#__PURE__*/function (_OCAuthCore3)
207
211
  var overrideTokenEndpoint = opts.tokenEndPoint,
208
212
  overrideLoginEndpoint = opts.loginEndPoint,
209
213
  overridePublicKey = opts.publicKey,
210
- redirectUri = opts.redirectUri;
214
+ redirectUri = opts.redirectUri,
215
+ referralCode = opts.referralCode;
211
216
  var tokenEndpoint = overrideTokenEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/token';
212
217
  var loginEndpoint = overrideLoginEndpoint || 'https://api.login.sandbox.opencampus.xyz/auth/login';
213
218
  var publicKey = overridePublicKey || SANDBOX_PUBLIC_KEY;
214
219
  var storageClass = (0, _StorageManager.getStorageClass)(opts);
215
220
  var pkceTransactionManager = new _TransactionManager["default"](storageClass);
216
221
  var tokenManager = new _TokenManager["default"](storageClass, tokenEndpoint, publicKey);
217
- return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager]);
222
+ return _callSuper(this, OCAuthSandbox, [loginEndpoint, redirectUri, pkceTransactionManager, tokenManager, referralCode]);
218
223
  }
219
224
  _inherits(OCAuthSandbox, _OCAuthCore3);
220
225
  return _createClass(OCAuthSandbox);
@@ -28,5 +28,10 @@ var buildAuthEndpointUrl = exports.buildAuthEndpointUrl = function buildAuthEndp
28
28
  if (signInParams.state !== undefined) {
29
29
  loginUrl.searchParams.append('state', signInParams.state);
30
30
  }
31
+
32
+ // reference data for register workflow
33
+ if (signInParams.referralCode) {
34
+ loginUrl.searchParams.append('ref', signInParams.referralCode);
35
+ }
31
36
  return loginUrl.href;
32
37
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencampus/ocid-connect-js",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "author": "Animoca Brands",
5
5
  "license": "MIT",
6
6
  "description": "OCID Connector Library",