mazey 5.7.3 → 5.8.0

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
@@ -1514,8 +1514,9 @@ future color-scheme changes.
1514
1514
  #### resolveThemePreference
1515
1515
 
1516
1516
  Resolve a project-specific website theme without applying it to the page.
1517
- Resolution checks the fixed `theme` URL query, the supplied local-storage key,
1518
- the current system color scheme, and finally the fixed `light` fallback.
1517
+ Resolution checks the URL query named by the supplied storage key, local storage
1518
+ under the same key, the current system color scheme, and finally the fixed
1519
+ `light` fallback.
1519
1520
 
1520
1521
  ```javascript
1521
1522
  const theme = resolveThemePreference(
@@ -1536,10 +1537,10 @@ Output:
1536
1537
 
1537
1538
  `value` is always the concrete `light` or `dark` theme. `label` identifies the
1538
1539
  preference that selected it: `System`, `Light`, or `Dark`. Only `light` and
1539
- `dark` are accepted from `?theme=` and are persisted under the supplied storage
1540
- key when browser storage is available; stored values may also be `system`. The
1541
- resolver is safe during SSR, tolerates unavailable browser storage and media
1542
- queries, and does not mutate the DOM.
1540
+ `dark` are accepted from `?MY_WEBSITE_THEME=` in this example; the query value
1541
+ is not persisted. Stored values may also be `system`. The resolver is safe
1542
+ during SSR, tolerates unavailable browser storage and media queries, and does
1543
+ not mutate the DOM or write storage.
1543
1544
 
1544
1545
  #### setThemePreference
1545
1546
 
@@ -1895,7 +1896,10 @@ for PWA functionality that synchronous JavaScript can identify: a secure
1895
1896
  context, Service Worker API support, and, by default, a web app manifest link
1896
1897
  with a non-empty `href`. Pass `{ requireManifest: false }` when only secure
1897
1898
  Service Worker eligibility is needed, or `{ scope: "/app/" }` to require the
1898
- current page to be inside a same-origin path scope.
1899
+ current page to be inside a same-origin path scope. Callers that already own
1900
+ browser references can pass
1901
+ `{ environment: { window, navigator, document } }`; injected objects are used
1902
+ exclusively and are never combined with globals.
1899
1903
 
1900
1904
  This check does not validate or request the manifest, verify service worker
1901
1905
  registration, determine whether the app is installed, or guarantee that an
@@ -1909,6 +1913,15 @@ const ret = isSafePWAEnv();
1909
1913
  console.log(ret);
1910
1914
  ```
1911
1915
 
1916
+ Site initialization and deterministic tests can use explicit browser objects:
1917
+
1918
+ ```javascript
1919
+ const ret = isSafePWAEnv({
1920
+ scope: "/app/",
1921
+ environment: { window, navigator, document },
1922
+ });
1923
+ ```
1924
+
1912
1925
  Output:
1913
1926
 
1914
1927
  ```text
@@ -1919,7 +1932,9 @@ true
1919
1932
 
1920
1933
  Detect standard standalone display mode with the iOS Safari
1921
1934
  `navigator.standalone` fallback. This is a presentation hint, not proof that
1922
- the app is installed or controlled by a service worker.
1935
+ the app is installed or controlled by a service worker. Pass
1936
+ `{ environment: { window, navigator } }` to inspect caller-owned browser
1937
+ objects without reading globals.
1923
1938
 
1924
1939
  ```javascript
1925
1940
  if (isStandalonePWA()) {
@@ -1927,6 +1942,12 @@ if (isStandalonePWA()) {
1927
1942
  }
1928
1943
  ```
1929
1944
 
1945
+ ```javascript
1946
+ const standalone = isStandalonePWA({
1947
+ environment: { window, navigator },
1948
+ });
1949
+ ```
1950
+
1930
1951
  ### Web Performance
1931
1952
 
1932
1953
  #### getPerformance
package/lib/index.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Mazey v5.7.3 https://github.com/chengchuu/mazey
2
+ * Mazey v5.8.0 https://github.com/chengchuu/mazey
3
3
  * (c) 2018-2026 Cheng
4
4
  * Released under the MIT License.
5
5
  */
6
- "use strict";function e(e){try{return Date.prototype.getTime.call(e)}catch(e){return null}}const t=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2}))?)?$/,n=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?(Z|[+-]\d{2}:\d{2})$/;function r(e,t,n,r,o,i,s=0,a=!1){const c=new Date(0);return a?(c.setUTCFullYear(e,t-1,n),c.setUTCHours(r,o,i,s),Number.isFinite(c.getTime())&&c.getUTCFullYear()===e&&c.getUTCMonth()===t-1&&c.getUTCDate()===n&&c.getUTCHours()===r&&c.getUTCMinutes()===o&&c.getUTCSeconds()===i&&c.getUTCMilliseconds()===s):(c.setFullYear(e,t-1,n),c.setHours(r,o,i,s),Number.isFinite(c.getTime())&&c.getFullYear()===e&&c.getMonth()===t-1&&c.getDate()===n&&c.getHours()===r&&c.getMinutes()===o&&c.getSeconds()===i&&c.getMilliseconds()===s)}function o(e,t,n,r,o,i,s=0){const a=new Date(0);return a.setFullYear(e,t-1,n),a.setHours(r,o,i,s),a}function i(i){if("number"==typeof i){const e=new Date(i);return Number.isFinite(i)&&Number.isFinite(e.getTime())?e:null}if("object"==typeof i&&null!==i){const t=e(i);return null!==t&&Number.isFinite(t)?new Date(t):null}if("string"!=typeof i)return null;const s=i.trim();if(!s)return null;const a=t.exec(s);if(a){const[e,t,n,i="0",s="0",c="0"]=a.slice(1),[u,l,f,p,d,m]=[e,t,n,i,s,c].map(Number);return r(u,l,f,p,d,m)?o(u,l,f,p,d,m):null}const c=n.exec(s);if(!c)return null;const[u,l,f,p,d,m="0",g="",h]=c.slice(1),y=Number(`${g}00`.slice(0,3));if(!r(Number(u),Number(l),Number(f),Number(p),Number(d),Number(m),y,!0))return null;if("Z"!==h){const e=Number(h.slice(1,3)),t=Number(h.slice(4,6));if(e>23||t>59)return null}return function(e,t,n,r,o,i,s,a){const c=new Date(0);if(c.setUTCFullYear(e,t-1,n),c.setUTCHours(r,o,i,s),"Z"===a)return c;const u="+"===a[0]?1:-1,l=60*Number(a.slice(1,3))+Number(a.slice(4,6));return new Date(c.getTime()-u*l*60*1e3)}(Number(u),Number(l),Number(f),Number(p),Number(d),Number(m),y,h)}const s=/^(\d{4,})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?$/;function a(e,t){const n=String(e);return n.length>=t?n:`${"0".repeat(t-n.length)}${n}`}function c(){return Date.now()}const u={type:"d"};function l(e){return"string"==typeof e&&/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?e.replace(" ","T"):e}function f(e=0,t=0,n=u){n=Object.assign({},u,n);const{type:r}=n;"number"==typeof e&&Number.isFinite(e)||(e=new Date(l(e)).getTime()),"number"==typeof t&&Number.isFinite(t)||(t=new Date(l(t)).getTime());const o=Number(t)-Number(e);let i="",[s,a,c,f]=new Array(4).fill(0);if(o>=0)switch(s=Math.floor(o/1e3/60/60/24),a=Math.floor(o/1e3/60/60),c=Math.floor(o/1e3/60),f=Math.floor(o/1e3),r){case"d":i=s;break;case"text":s=Math.floor(o/1e3/60/60/24),a=Math.floor(o/1e3/60/60%24),c=Math.floor(o/1e3/60%60),f=Math.floor(o/1e3%60),i=[{value:s,unit:"day"},{value:a,unit:"hour"},{value:c,unit:"minute"},{value:f,unit:"second"}].filter(({value:e})=>e>0).map(({value:e,unit:t})=>p(e,t)).join(" ")||p(0,"second");break;default:i=f}return i}function p(e,t){const n=Math.round(10*e)/10;return`${n} ${1===n?t:`${t}s`}`}function d(e,t){const n=Math.max(1,Math.round(e));return`about ${n} ${t}${1===n?"":"s"}`}function m(e,t="yyyy-MM-dd"){void 0===e&&(e=new Date);const n=new Date(e);if(!Number.isFinite(n.getTime()))throw new RangeError("Invalid date");const r=n.getHours(),o={yyyy:n.getFullYear(),MM:n.getMonth()+1,dd:n.getDate()<10?"0"+n.getDate():n.getDate(),HH:r<10?"0"+r:r,hh:(r%12||12)<10?"0"+(r%12||12):r%12||12,mm:n.getMinutes()<10?"0"+n.getMinutes():n.getMinutes(),ss:n.getSeconds()<10?"0"+n.getSeconds():n.getSeconds(),a:r<12?"AM":"PM"};let i=t||"yyyy-MM-dd";return Object.keys(o).forEach(e=>{let t=o[e];"MM"===e&&Number(t)<=9&&(t=`0${t}`),i=i.split(e).join(String(t))}),i}function g(e,t){const n=e.length,r=t.length;if(0===n||0===r)return 0;const o=Array.from({length:n},()=>new Array(r).fill(0));let i=0;for(let s=0;s<n;++s)for(let n=0;n<r;++n)if(e[s]===t[n]){let e=0;s>0&&n>0&&(e=o[s-1][n-1]),o[s][n]=e+1,i=Math.max(i,o[s][n])}return i}function h(e,t){const n=e.length,r=t.length;if(0===n||0===r)return 0;const o=Array.from({length:n},()=>new Array(r).fill(0));for(let i=0;i<n;++i)for(let n=0;n<r;++n)if(e[i]===t[n]){let e=0;i>0&&n>0&&(e=o[i-1][n-1]),o[i][n]=e+1}else{let[e,t]=[0,0];n>0&&(e=o[i][n-1]),i>0&&(t=o[i-1][n]),o[i][n]=Math.max(e,t)}return o[n-1][r-1]}function y(e){return Math.random()<e}const w=Function.prototype.toString.call(Object);function b(e,t,n){const r=Object.getOwnPropertyDescriptor(t,n)?.get;if(!r)return!1;try{return r.call(e),!0}catch(e){return!1}}function x(e){return null===e||"object"!=typeof e?e:v(e,new WeakMap)}function v(t,n){if(null===t||"object"!=typeof t)return t;const r=t,o=n.get(r);if(void 0!==o)return o;const i=e(r);if(null!==i){const e=new Date(i);return n.set(r,e),e}const s=function(e){const t=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")?.get;if(!t)return null;try{return t.call(e)}catch(e){return null}}(r);if(null!==s){const e=t,o=new RegExp(s,function(e){return e.flags}(e));return o.lastIndex=e.lastIndex,n.set(r,o),o}if("undefined"!=typeof ArrayBuffer&&b(r,ArrayBuffer.prototype,"byteLength")){const e=ArrayBuffer.prototype.slice.call(t,0);return n.set(r,e),e}if("undefined"!=typeof SharedArrayBuffer&&b(r,SharedArrayBuffer.prototype,"byteLength")){const e=SharedArrayBuffer.prototype.slice.call(t,0);return n.set(r,e),e}if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)){const e=v(t.buffer,n),o="undefined"!=typeof DataView&&b(r,DataView.prototype,"byteLength")?new DataView(e,t.byteOffset,t.byteLength):new t.constructor(e,t.byteOffset,t.length);return n.set(r,o),o}if("undefined"!=typeof Map&&b(r,Map.prototype,"size")){const e=new Map;return n.set(r,e),Map.prototype.forEach.call(t,(t,r)=>{e.set(v(r,n),v(t,n))}),e}if("undefined"!=typeof Set&&b(r,Set.prototype,"size")){const e=new Set;return n.set(r,e),Set.prototype.forEach.call(t,t=>{e.add(v(t,n))}),e}const a=Array.isArray(t),c=Object.getPrototypeOf(t),u=function(e){const t=Object.getPrototypeOf(e);if(null===t)return!0;const n=Object.hasOwn(t,"constructor")?t.constructor:null;return"function"==typeof n&&Function.prototype.toString.call(n)===w}(r),l=!a&&!u&&function(e){const t=Object.getPrototypeOf(e),n=t?.constructor;return"function"==typeof n&&-1===Function.prototype.toString.call(n).indexOf("[native code]")}(r);if(!a&&!u&&!l)return n.set(r,t),t;const f=a?new Array(t.length):Object.create(l?Object.prototype:c);return n.set(r,f),function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}(r).forEach(e=>{if(a&&"length"===e)return;const t=Object.getOwnPropertyDescriptor(r,e);t&&("value"in t&&(t.value=v(t.value,n)),Object.defineProperty(f,e,t))}),f}function E(e){const t=e.replace(/([A-Z])/g,"-$1").toLowerCase();return"-"===t[0]?t.substring(1):t}function T(e){const t=e.replace(/([A-Z])/g,"_$1").toLowerCase();return"_"===t[0]?t.substring(1):t}function S(e){return T(e)}function A(e){if("string"!=typeof e)throw new TypeError("value must be a string");const t=e.replace(/[^A-Za-z0-9_$]/g,"_").toUpperCase();return/^[A-Za-z_$]/.test(t)?t:`_${t}`}function C(e){if("string"!=typeof e)return!1;try{return JSON.parse(e),!0}catch(e){}return!1}function N(e=5){if(!Number.isFinite(e)||e<=0)return"";e=Math.floor(e);let t="";for(;e--;)t+=Math.floor(10*Math.random());return t}function $(e=5){return N(e)}function O(e=3){const[t,n]=[c(),$(e||3)];return t+n}function _(e,t={}){const{isNaNAsNumber:n=!1,isInfinityAsNumber:r=!1,isUnFiniteAsNumber:o=!1}=t;return"number"==typeof e&&(!(!0!==r&&!0!==o&&!isFinite(e))&&!(!n&&isNaN(e)))}function M(e,...t){let n=null;return e&&"function"==typeof e&&(n=e(...t)),n}function j(e,...t){return M(e,...t)}function D(e){let t=!1;return Array.isArray(e)&&e.length&&(t=!0),t}function L(e){const t=Boolean(e),n="object"==typeof e,r="[object Object]"===Object.prototype.toString.call(e);return t&&n&&r}function k(e){return"boolean"==typeof e}function P(e){if(!e)return"";const t=new RegExp("\\n","g");return e.replace(t,"<br />")}function F(e,t={}){const{removeNewLine:n=!1}=t;let r="";return e&&(r=e.replace(/<\/?.+?>/g,""),n&&(r=r.replace(/[\r\n]/g,""))),r}function R(e){const t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x2F;":"/"};if("string"!=typeof e)throw new Error("Input must be a string");return e.replace(/(&amp;|&lt;|&gt;|&quot;|&#x27;|&#x2F;)/g,e=>t[e])}function U(e,t,n={hasDot:!1,dotText:"..."}){if(n=Object.assign({hasDot:!1,dotText:"..."},n),""!=e&&e){let r=0,o="";const i=/[^\x00-\xff]/g;let s="";const a=e.replace(i,"**").length;for(let n=0;n<a&&(s=e.charAt(n).toString(),null!=s.match(i)?r+=2:r++,!(r>t));n++)o+=s;return n.hasDot&&a>t&&(o+=n.dotText),o}return""}function z(e,t,n=!1){return U(e,t,{hasDot:n})}const I=["B","KB","MB","GB","TB"];function B(e,t={}){const{base:n=1024,fractionDigits:r=1,invalidValue:o=""}=t;if(!Number.isFinite(e)||e<0||1e3!==n&&1024!==n||!Number.isInteger(r)||r<0||r>20)return o;let i=e,s=0;for(;i>=n&&s<I.length-1;)i/=n,s+=1;return 0===s?`${Number(i.toFixed(r))} ${I[s]}`:`${i.toFixed(r)} ${I[s]}`}function H(e){return/^1\d{10}$/.test(e)}const q=H;async function W(e){return new Promise(t=>{setTimeout(()=>{t(e)},e)})}let V="";function Y(e,t){const n=e[t];if(void 0!==n&&"string"!=typeof n)throw new TypeError(`manifest.${t} must be a string when provided`);return n}function Z(e){if(void 0===e)return{name:""};if("string"==typeof e)return{name:e.trim()};if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("manifest.author must be a string or object");const t=e,n={name:""};for(const e of["name","email","url"]){const r=t[e];if(void 0!==r&&"string"!=typeof r)throw new TypeError(`manifest.author.${e} must be a string when provided`);if("string"==typeof r){const t=r.trim();("name"===e||t)&&(n[e]=t)}}return n}function J(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}}function Q(e){const t=e.indexOf("#"),n=-1===t?e:e.slice(0,t),r=n.indexOf("?"),o=/^(?:[a-z][a-z\d+.-]*:)?\/\//i.test(n)||"/"===n.charAt(0),i=-1===r?o?"":n:n.slice(r+1);return i?i.split("&").reduce((e,t)=>{if(!t||-1===t.indexOf("="))return e;const n=t.indexOf("=");return e.push([J(t.slice(0,n)),J(t.slice(n+1))]),e},[]):[]}function G(e,t){return Q(e).filter(([e])=>e===t).map(([,e])=>e)}const K=/^(?=.{1,39}$)(?!.*--)[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/,X=/^(?=.{1,100}$)(?!\.{1,2}$)[A-Za-z0-9_.-]+$/;function ee(){return new Error("The value does not identify one supported GitHub repository")}function te(e,t){const n=t.replace(/\.git$/i,"");if(!K.test(e)||!X.test(n))throw ee();const r=`${e}/${n}`;return{owner:e,name:n,slug:r,url:`https://github.com/${r}`}}function ne(e){return void 0===e||Number(e)<=65535}function re(e){const t=e.split(".");return 4===t.length&&t.every(e=>/^\d{1,3}$/.test(e)&&(1===e.length||"0"!==e.charAt(0))&&Number(e)<=255)}function oe(e){const t=e.split("::");if(t.length>2)return!1;const n=2===t.length;let r=[];t.forEach(e=>{e&&(r=r.concat(e.split(":")))});let o=0;for(let e=0;e<r.length;e++){const t=r[e];if(-1!==t.indexOf(".")){if(e!==r.length-1||!re(t))return!1;o+=2}else{if(!/^[0-9a-f]{1,4}$/i.test(t))return!1;o+=1}}return n?o<8:8===o}function ie(e){const t=e.match(/^\[([0-9a-f:.]+)\]$/i);if(t)return oe(t[1]);if("."===e.charAt(e.length-1)&&(e=e.slice(0,-1)),re(e))return!0;const n=e.split(".");return!(n.length<2||n.some(e=>!e||!/^[a-z\d-]+$/i.test(e)||"-"===e.charAt(0)||"-"===e.charAt(e.length-1)))&&!/^\d+$/.test(n[n.length-1])}function se(e,t={strict:!0}){if("string"!=typeof e||!e||e.trim()!==e)return!1;const n=/^https?:\/\/[^/\\]/i.test(e),r=/^\/\/[^/\\]/.test(e);if(!n&&(t.strict||!r))return!1;const o=r?`http:${e}`:e;if(!function(e){const t=e.match(/^https?:\/\/([^/?#]+)(?:[/?#][^\s<>"`]*)?$/i);if(!t||-1!==t[1].indexOf("@"))return!1;const n=t[1],r=n.match(/^\[([0-9a-f:.]+)\](?::(\d*))?$/i);if(r)return oe(r[1])&&ne(r[2]);const o=n.match(/^([^:]+)(?::(\d*))?$/);return!(!o||!ne(o[2]))&&ie(o[1])}(o))return!1;try{const e=new URL(o);return("http:"===e.protocol||"https:"===e.protocol)&&ie(e.hostname)&&!e.username&&!e.password}catch(e){return!1}}function ae(e){return e.replace(/^http:/,"https:")}const ce={enabled:!0,isClosed:!1,showWrap:!1,showDate:!1,locales:"en-US",isStringifyObject:!1,logFn:()=>{},errorFn:()=>{}};function ue(e="",t={...ce}){const{enabled:n,isClosed:r,showWrap:o,showDate:i,locales:s,isStringifyObject:a,logFn:c,errorFn:u}=Object.assign({...ce},t);let l=n;!0===r&&(le.warn("The options.isClosed is deprecated. Please use options.enabled instead."),l=!1);const f=Object.create(null),p=()=>(new Date).toLocaleDateString(s,{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"});return["log","info","warn","error"].forEach(t=>{f[t]=function(...n){if(!l)return;let r=e,s=e;if("string"==typeof e&&e.length>=2){const t=e.length;r=":"===e[t-1]?e.substring(0,t-1):e}o&&console.log(`--- ${r} - begin ---`),i&&(s=e?`${p()} ${e}`:`${p()}`),a&&(n=n.map(e=>L(e)?JSON.stringify(e):e)),e||i?console[t](s,...n):console[t](...n),"log"===t&&c(),"error"===t&&u(),o&&console.log(`--- ${r} - end ---`)}}),f}const le=ue("[Mazey]"),fe=ue("",{showDate:!0,locales:"zh-CN",isStringifyObject:!0});function pe(e,t){if(!e)return void le.error("The element is not exist.");if(Array.isArray(t))return void t.forEach(t=>{t&&e.classList.add(t)});if(!t)return;const n=e.className,r=n.split(/\s+/);for(let e=0;e<r.length;e++)if(r[e]===t)return;let o="",i="";""!==n&&(o=" "),i=n+o+t,e.className=i}function de(){const e=window.jQuery||window.$;if(e){const t=e("img");return!(!t||!t.length)&&(t.each(function(){const t=e(this);if(!t)return;const n=t.attr("src");if(!(n&&"string"==typeof n&&n.length))return;const r=n.match(/[?&]width=([0-9]+[a-z%]*)/),o=n.match(/[?&]height=([0-9]+[a-z%]*)/);r&&D(r)&&r[1]&&t.width(r[1]),o&&D(o)&&o[1]&&t.height(o[1])}),!0)}{const e=document.getElementsByTagName("img");if(e.length>0)return Array.from(e).forEach(function(e){const t=e;if(!t)return;const n=t.getAttribute("src");if(!(n&&"string"==typeof n&&n.length))return;const r=n.match(/[?&]width=([0-9]+[a-z%]*)/),o=n.match(/[?&]height=([0-9]+[a-z%]*)/);r&&D(r)&&r[1]&&(t.style.width=r[1]),o&&D(o)&&o[1]&&(t.style.height=o[1])}),!0}return!1}function me(e,t={}){if("string"!=typeof e)return!1;const n=e.trim();if(!n)return!0===t.allowEmpty;const r=t.root||("undefined"==typeof document?null:document);if(!r)return!1;try{return r.querySelector(n),!0}catch(e){return!1}}function ge(e){return Boolean(e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}const he=new WeakMap,ye=new WeakMap,we={button:"inline-block",input:"inline-block",select:"inline-block",textarea:"inline-block",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",li:"list-item",summary:"list-item"},be=new Set(["address","article","aside","blockquote","body","dd","details","dialog","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","main","nav","ol","p","pre","section","ul"]);function xe(e){if(!ge(e))return null;const t=e.style;return t&&"string"==typeof t.display?e:null}function ve(e){const t=new Set,n=e=>{const n=xe(e);n&&t.add(n)};if("string"==typeof e){if("undefined"==typeof document)return[];try{document.querySelectorAll(e).forEach(n)}catch(e){return[]}return Array.from(t)}const r=xe(e);if(r)return[r];if(!e||"object"!=typeof e)return[];if("function"==typeof e[Symbol.iterator]){for(const t of e)n(t);return Array.from(t)}const o=e.length;if(!Number.isSafeInteger(o)||o<0)return[];for(let t=0;t<o;t+=1)n(e[t]);return Array.from(t)}function Ee(e){const t=e.ownerDocument.defaultView;return t?t.getComputedStyle(e).display:null}function Te(e){const t=e.ownerDocument,n=e.localName.toLowerCase();let r=ye.get(t);r||(r=new Map,ye.set(t,r));const o=e.namespaceURI||"",i=`${o}:${n}`,s=r.get(i);if(s)return s;let a="";const c="http://www.w3.org/1999/xhtml"===o&&n.includes("-"),u=t.body||t.documentElement;if(u&&!c){const e=o&&"http://www.w3.org/1999/xhtml"!==o?t.createElementNS(o,n):t.createElement(n);u.appendChild(e);try{a=Ee(e)||""}finally{u.removeChild(e)}}return a&&"none"!==a||(a=function(e){return we[e]?we[e]:be.has(e)?"block":"inline"}(n)),r.set(i,a),a}function Se(){const e=window.MAZEY_DEFINE_LISTENERS;if(e&&"object"==typeof e)return e;const t=Object.create(null);return window.MAZEY_DEFINE_LISTENERS=t,t}function Ae(e,t){const n=Se()[e];if(Array.isArray(n)){const e=n.slice();for(let n=0,r=e.length;n<r;n++)"function"==typeof e[n]&&(void 0===t?e[n]():e[n](t))}}function Ce(e,t=null){if(e){const n=JSON.stringify(t);sessionStorage.setItem(e,void 0===n?"null":n)}}function Ne(e){let t=null;if(e){const n=sessionStorage.getItem(e);if(n)try{t=JSON.parse(n)}catch(e){t=n}}return t}function $e(e,t=null){if(e){const n=JSON.stringify(t);localStorage.setItem(e,void 0===n?"null":n)}}function Oe(e){let t=null;if(e){const n=localStorage.getItem(e);if(n)try{t=JSON.parse(n)}catch(e){t=n}}return t}const _e=Ce,Me=Ne,je=$e,De=Oe,Le="__mazey_cookie_name_encoded__-",ke="__mazey_cookie_value_encoded__-";function Pe(e){return`${ke}${encodeURIComponent(e)}`}function Fe(e){const t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/.test(e),n=0===e.indexOf(Le)||0===e.indexOf(ke);return t&&!n?e:function(e){return`${Le}${encodeURIComponent(e)}`}(e)}function Re(e){const t=Fe(e);return t!==e?[t,e]:[e]}function Ue(e){const t=e+"=",n=document.cookie.split(";");for(let e=0;e<n.length;e++){const r=n[e].trim();if(0===r.indexOf(t))return r.substring(t.length)}}function ze(e){const t=Re(e),n="1"===Ue(Pe(e));for(let e=0;e<t.length;e++){const r=Ue(t[e]);if(void 0!==r){if(n)try{return decodeURIComponent(r)}catch(e){return r}return r}}return""}function Ie(e){const t=Re(e),n=t.concat(Pe(e)),r=new Date;r.setTime(r.getTime()-1);const o=t.some(e=>void 0!==Ue(e));return n.forEach((e,t)=>{if(n.indexOf(e)===t&&void 0!==Ue(e)){[`${e}=; expires=${r.toUTCString()}`,`${e}=; expires=${r.toUTCString()}; path=/`].forEach(e=>{document.cookie=e;const t=location.hostname;if(-1!==t.indexOf(".")){const n=t.split(".");for(let t=0;t<n.length;t++)document.cookie=`${e}; domain=.${n.slice(t).join(".")}`}})}}),o&&n.every(e=>void 0===Ue(e))}function Be(e,t={id:""}){const{id:n}=t;return new Promise((t,r)=>{const o=document.createElement("link");let i=!1;const s=()=>{o.onload=null,o.onerror=null};o.rel="stylesheet",o.type="text/css",o.href=e,void 0!==n&&(o.id=n),o.onload=()=>{i||(i=!0,s(),t("loaded"))},o.onerror=()=>{i||(i=!0,s(),r(new Error(`Failed to load CSS: ${e}`)))},document.head.appendChild(o)})}const He={id:"",callback:function(){},timeout:5e3,isDefer:!1,isAsync:!1,isCrossOrigin:!1,attributes:null,cssUrl:""};function qe(e,t={...He}){const{id:n,callback:r,timeout:o,isDefer:i,isAsync:s,isCrossOrigin:a,attributes:c,cssUrl:u}=Object.assign({...He},t);if(u){const t=function(e,t){if(!t)return"";if(se(t))return t;try{const n=new URL(e,location.href);return new URL(t,n).href}catch(n){const r=e.split("/");return r.pop(),`${r.join("/")}/${t}`}}(e,u);t&&Be(t).catch(e=>{console.error(`Failed to load CSS from ${t}: ${e?.message}`)})}return new Promise((t,u)=>{const l=document.createElement("script");let f=!1,p=null;const d=()=>{l.onload=null,l.onerror=null,null!==p&&(clearTimeout(p),p=null)},m=e=>{f||(f=!0,d(),u(e))};l.type="text/javascript",l.defer=Boolean(i),l.async=Boolean(s),a&&(l.crossOrigin="anonymous"),n&&(l.id=n),c&&Object.keys(c).forEach(e=>{l.setAttribute(e,c[e])}),l.onload=()=>{if(!f){f=!0,d();try{j(r),t("loaded")}catch(e){u(e)}}},l.onerror=()=>m(new Error(`Failed to load script: ${e}`)),l.src=e,o&&(p=setTimeout(()=>m(new Error("timeout")),o));const g=document.getElementsByTagName("script")[0];if(g?.parentNode)g.parentNode.insertBefore(l,g);else{(document.head||document.body||document.documentElement).appendChild(l)}})}const We=new Map;function Ve(e){if("undefined"==typeof window)return!1;let t=[];const n=window.PerformanceObserver;return!!n&&(D(n.supportedEntryTypes)&&(t=n.supportedEntryTypes),t.includes(e))}async function Ye(){return Ve("paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-contentful-paint"===e.name);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"paint",buffered:!0})}):0}async function Ze(){return Ve("paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-paint"===e.name);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"paint",buffered:!0})}):0}function Je(e,t=e.userAgent.trim().toLowerCase()){return/\bmacintosh\b/.test(t)&&"macintel"===e.platform.toLowerCase()&&e.maxTouchPoints>1}const Qe=Object.freeze(["adsbot-google","ahrefsbot","amazonbot","applebot","baiduspider","bingbot","bingpreview","bytespider","ccbot","chatgpt-user","claudebot","discordbot","dotbot","duckduckbot","facebookexternalhit","facebot","google-inspectiontool","googlebot","googleother","gptbot","linkedinbot","mediapartners-google","mj12bot","perplexitybot","petalbot","semrushbot","slackbot","slurp","storebot-google","telegrambot","twitterbot","whatsapp","yandexbot"]),Ge=Object.freeze(["headlesschrome","phantomjs","slimerjs","selenium","puppeteer","playwright"]);function Ke(){try{return"undefined"==typeof navigator?null:navigator}catch(e){return null}}function Xe(){const e=Ke();if(!e)return{userAgent:"",platform:"",maxTouchPoints:0};let t="",n="",r=0;try{const n=e.userAgent;t="string"==typeof n?n:""}catch(e){return{userAgent:"",platform:"",maxTouchPoints:0}}try{const t=e.platform;n="string"==typeof t?t:""}catch(e){n=""}try{const t=e.maxTouchPoints;r=Number.isFinite(t)?t:0}catch(e){r=0}return{userAgent:t,platform:n,maxTouchPoints:r}}function et(e){const t=e.userAgent.trim().toLowerCase();return t?/\bandroid\b|\badr\b/.test(t)?"android":/\bios\b|\biphone\b|\bipad\b|\bipod\b|\biwatch\b/.test(t)||Je(e,t)?"ios":/\bwindows\b|\bwin32\b|\bwin64\b|\bwow32\b|\bwow64\b/.test(t)?"windows":/\bmacintosh\b|\bmacintel\b|\bmac os x\b/.test(t)?"macos":/\blinux\b/.test(t)?"linux":"":""}function tt(e){const t=e.userAgent.trim().toLowerCase();if(!t)return"";if(/\biwatch\b|\bapple watch\b/.test(t))return"";if(/\bipad\b|\btablet\b/.test(t)||Je(e,t))return"tablet";const n=et(e);return"android"===n?/\bmobile\b/.test(t)?"mobile":"tablet":"ios"===n&&/\biphone\b|\bipod\b/.test(t)?"mobile":"windows"===n||"macos"===n||"linux"===n||/\bcros\b/.test(t)?"desktop":/\bmobile\b/.test(t)?"mobile":""}function nt(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");return tt(void 0!==e?{userAgent:e,platform:"",maxTouchPoints:0}:Xe())}function rt(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");return et(void 0!==e?{userAgent:e,platform:"",maxTouchPoints:0}:Xe())}function ot(e,t){const n=e.trim().toLowerCase();return t.some(e=>n.includes(e))}function it(){if(window.MAZEY_BROWSER_INFO&&"object"==typeof window.MAZEY_BROWSER_INFO)return window.MAZEY_BROWSER_INFO;let e={engine:"",engineVs:"",platform:"",supporter:"",supporterVs:"",system:"",systemVs:"",shell:"",shellVs:"",appleType:"",colorScheme:""};try{const t=Xe(),n=t.userAgent.toLowerCase();if(!n)return e;const r=e=>e.test(n),o=e=>{let t="";const r=n.match(e);return r&&D(r)&&(t=r.toString(),t=t.replace(/[^0-9|_.]/g,""),t=t.replace(/_/g,".")),t},i=et(t);let s="";"ios"===i&&(r(/ipad/g)?s="ipad":r(/iphone/g)?s="iphone":r(/iwatch/g)?s="iwatch":r(/ipod/g)?s="ipod":"macintel"===t.platform.toLowerCase()&&t.maxTouchPoints>1&&(s="ipad")),e={...e,system:i,appleType:s};let a="";"windows"===i?r(/windows nt 5.0|windows 2000/g)?a="2000":r(/windows nt 5.1|windows xp/g)?a="xp":r(/windows nt 5.2|windows 2003/g)?a="2003":r(/windows nt 6.0|windows vista/g)?a="vista":r(/windows nt 6.1|windows 7/g)?a="7":r(/windows nt 6.2|windows 8/g)?a="8":r(/windows nt 6.3|windows 8.1/g)?a="8.1":r(/windows nt 10.0|windows 10/g)&&(a="10"):"macos"===i?a=o(/os x [\d._]+/g):"android"===i?a=o(/android [\d._]+/g):"ios"===i&&(a=o(/os [\d._]+/g)),e={...e,systemVs:a};let c="";"windows"===i||"macos"===i||"linux"===i?c="desktop":("android"===i||"ios"===i||r(/mobile/g))&&(c="mobile"),e={...e,platform:c};let u="",l="";r(/applewebkit/g)?(u="webkit",r(/edg(?:a|ios)?\//g)||r(/edge\//g)?l="edge":r(/opr/g)?l="opera":r(/chrome/g)?l="chrome":r(/safari/g)&&(l="safari")):r(/gecko/g)&&r(/firefox/g)?(u="gecko",l="firefox"):r(/presto/g)?(u="presto",l="opera"):r(/trident|compatible|msie/g)&&(u="trident",l="iexplore"),e={...e,engine:u,supporter:l};let f="";"webkit"===u?f=o(/applewebkit\/[\d._]+/g):"gecko"===u?f=o(/gecko\/[\d._]+/g):"presto"===u?f=o(/presto\/[\d._]+/g):"trident"===u&&(f=o(/trident\/[\d._]+/g)),e={...e,engineVs:f};let p="";"chrome"===l?p=o(/chrome\/[\d._]+/g):"safari"===l?p=o(/version\/[\d._]+/g):"firefox"===l?p=o(/firefox\/[\d._]+/g):"opera"===l?p=o(/opr\/[\d._]+/g):"iexplore"===l?p=o(/(msie [\d._]+)|(rv:[\d._]+)/g):"edge"===l&&(p=o(/(?:edge|edg|edga|edgios)\/[\d._]+/g)),e={...e,supporterVs:p};let d="",m="";r(/micromessenger/g)?(d="wechat",m=o(/micromessenger\/[\d._]+/g)):r(/qqbrowser/g)?(d="qq_browser",m=o(/qqbrowser\/[\d._]+/g)):r(/\sqq/g)?d="qq_app":r(/ucbrowser/g)?(d="uc",m=o(/ucbrowser\/[\d._]+/g)):r(/qihu 360se/g)?d="360":r(/2345explorer/g)?(d="2345",m=o(/2345explorer\/[\d._]+/g)):r(/metasr/g)?d="sougou":r(/lbbrowser/g)?d="liebao":r(/maxthon/g)?(d="maxthon",m=o(/maxthon\/[\d._]+/g)):r(/biliapp/g)&&(d="bilibili"),e={...e,shell:d,shellVs:m};let g="";if(window.matchMedia){const e=window.matchMedia("(prefers-color-scheme: dark)"),t=window.matchMedia("(prefers-color-scheme: light)");e.matches?g="dark":t.matches&&(g="light")}return e={...e,colorScheme:g},window.MAZEY_BROWSER_INFO=e,e}catch(t){return le.warn(t),e}}let st="";function at(e){if("string"!=typeof e||""===e.trim())throw new TypeError("storageKey must be a non-empty string.")}function ct(e){if("undefined"==typeof window)return null;try{return new URL(window.location.href).searchParams.get(e)}catch(e){return null}}function ut(e){if("undefined"==typeof window)return null;try{const t=window.localStorage;return t&&"function"==typeof t.getItem?t.getItem(e):null}catch(e){return null}}function lt(e,t){if("undefined"==typeof window)return!1;try{const n=window.localStorage;return!(!n||"function"!=typeof n.setItem)&&(n.setItem(e,t),!0)}catch(e){return!1}}const ft=Object.freeze({system:"System",light:"Light",dark:"Dark"});function pt(e){return"light"===e||"dark"===e}function dt(){if("undefined"==typeof window)return null;try{const e=window.matchMedia;return"function"!=typeof e?null:e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){return null}}function mt(e,t){return{value:e,label:ft[t]}}function gt(e){const t=e.split("-");if(!/^[a-z]{2,8}$/i.test(t[0]))return null;const n=[t[0].toLowerCase()];let r=1;if(r<t.length&&/^[a-z]{4}$/i.test(t[r])){const e=t[r].toLowerCase();n.push(`${e[0].toUpperCase()}${e.slice(1)}`),r++}for(r<t.length&&(/^[a-z]{2}$/i.test(t[r])||/^\d{3}$/.test(t[r]))&&(n.push(/^[a-z]{2}$/i.test(t[r])?t[r].toUpperCase():t[r]),r++);r<t.length;r++){const e=t[r];if(!/^(?:[a-z0-9]{5,8}|\d[a-z0-9]{3})$/i.test(e))return null;n.push(e.toLowerCase())}return n.join("-")}function ht(e){if("string"!=typeof e)return null;const t=e.trim().replace(/_/g,"-");if(!t)return null;if("undefined"!=typeof Intl)try{const e=Intl,n=e.getCanonicalLocales;if("function"==typeof n){const r=n.call(e,t)[0];return"string"==typeof r&&r?r:null}}catch(e){return e instanceof RangeError||"object"==typeof e&&null!==e&&"name"in e&&"RangeError"===e.name?null:gt(t)}return gt(t)}function yt(e){if("undefined"==typeof Intl)return e;try{const t=Intl.DisplayNames;if("function"!=typeof t)return e;const n=new t([e],{type:"language"}).of(e);return"string"==typeof n&&n.trim()?n:e}catch(t){return e}}function wt(e){return{value:e,label:yt(e)}}exports.addClass=pe,exports.addEvent=function(e,t){const n=Se();Array.isArray(n[e])||Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:[],writable:!0}),"function"==typeof t&&n[e].push(t)},exports.addStyle=function(e,t={id:""}){if(!e)return!1;const n=document.createDocumentFragment();let r=null,o="";const i=document.createElement("style");return t.id?(o=`${t.id}`,r=document.getElementById(o),r?r.innerHTML=e:(i.setAttribute("id",t.id),i.innerHTML=e,n.appendChild(i),document.head.appendChild(n))):(i.innerHTML=e,n.appendChild(i),document.head.appendChild(n)),!0},exports.assignDefined=function(e,...t){return t.forEach(t=>{void 0!==t&&Object.keys(t).forEach(n=>{const r=t[n];if(void 0!==r){const t=e;"__proto__"!==n||Object.hasOwn(e,n)?t[n]=r:Object.defineProperty(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0})}})}),e},exports.calLongestCommonSubsequence=function(e,t){return h(e,t)},exports.calLongestCommonSubstring=function(e,t){return g(e,t)},exports.calculateAspectRatio=function(e,t){if(!Number.isSafeInteger(e))throw new TypeError("width must be a safe integer.");if(!Number.isSafeInteger(t))throw new TypeError("height must be a safe integer.");if(e<=0||t<=0)throw new RangeError("width and height must be greater than zero.");const n=function(e,t){for(;0!==t;){const n=e%t;e=t,t=n}return e}(e,t);return`${e/n}x${t/n}`},exports.calculateCAGR=function(e,t,n){const r=i(e);if(!r)throw new TypeError("startDate must be a valid date.");const o=i(t);if(!o)throw new TypeError("endDate must be a valid date.");const s=o.getTime()-r.getTime();if(s<=0)throw new RangeError("endDate must be later than startDate.");const a=function(e){if("number"==typeof e){if(!Number.isFinite(e))throw new TypeError("totalReturnRate must be a finite number or percentage string.");return e}if("string"!=typeof e)throw new TypeError("totalReturnRate must be a finite number or percentage string.");const t=e.trim();if(!t)throw new TypeError("totalReturnRate must not be empty.");const n=t.endsWith("%")?t.slice(0,-1).trim():t;if(!n)throw new TypeError("totalReturnRate must be a valid percentage string.");const r=Number(n);if(!Number.isFinite(r))throw new TypeError("totalReturnRate must be a valid percentage string.");return r/100}(n);if(a<=-1)throw new RangeError("totalReturnRate must be greater than -1.");const c=s/864e5,u=Math.pow(1+a,365/c)-1;if(!Number.isFinite(u))throw new RangeError("calculated CAGR must be finite.");return u},exports.camelCase2Underscore=S,exports.camelCaseToKebabCase=function(e){return E(e)},exports.cancelBubble=function(e){e.stopPropagation()},exports.clearHTML=function(e,t={}){return F(e,t)},exports.clearHtml=function(e,t={}){return F(e,t)},exports.convert10To26=function(e){if(!Number.isFinite(e)||e<=0)return"";e=Math.floor(e);let t="";for(;e>0;){let n=e%26;0===n&&(n=26),t=String.fromCharCode(n+96)+t,e=(e-n)/26}return t},exports.convertCamelToKebab=E,exports.convertCamelToUnder=T,exports.convertHttpToHttps=ae,exports.convertKebabToCamel=function(e){const t=e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());return t.endsWith("-")?t.slice(0,-1):t},exports.convertObjectToQuery=function(e){return e&&0===Object.keys(e).length?"":`?${Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}`},exports.convertToHtmlBreaks=P,exports.convertUnderToCamel=function(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())},exports.cutCHSString=function(e,t,n=!1){return z(e,t,n)},exports.cutZHString=U,exports.debounce=function(e,t,n){let r=null,o=null,i=null,s=null,a=null;const u=function(){const l=c()-i;l<t&&l>=0?o=setTimeout(u,t-l):(o=null,n||(a=e.apply(r,s),o||(r=s=null)))};return function(...l){r=this,s=l,i=c();const f=n&&!o;return o||(o=setTimeout(u,t)),f&&(a=e.apply(r,s),r=s=null),a}},exports.deepCopy=x,exports.deepCopyObject=function(e){return x(e)},exports.deepFreeze=function e(t){return!t||"object"!=typeof t||Object.isFrozen(t)||(Object.freeze(t),Object.values(t).forEach(e)),t},exports.delCookie=function(e){Ie(e)},exports.derivePackageMetadata=function(e,t={}){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("manifest must be an object");if(null===t||"object"!=typeof t||Array.isArray(t))throw new TypeError("options must be an object when provided");const n=e;if("string"!=typeof n.name||!n.name.trim())throw new TypeError("manifest.name must be a non-empty string");const r=n.name.trim(),o=function(e){if(/\s/.test(e))throw new TypeError("manifest.name must not contain whitespace");if(e.startsWith("@")){const t=e.split("/");if(2!==t.length||t[0].length<2||!t[1])throw new TypeError("manifest.name must be a valid scoped package name");return t[1]}if(e.includes("/"))throw new TypeError("manifest.name must be an unscoped or scoped package name");return e}(r),i=t.packageManager??"npm";if("npm"!==i&&"pnpm"!==i&&"yarn"!==i)throw new TypeError('packageManager must be "npm", "pnpm", or "yarn"');const s="npm"===i?"npm install":`${i} add`;return{name:r,version:Y(n,"version"),description:Y(n,"description"),license:Y(n,"license"),author:Z(n.author),unscopedName:o,iifeGlobal:A(o),installCommand:`${s} ${r}`}},exports.detectVisitorType=function(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");const t=void 0===e?function(){const e=Ke();if(!e)return"";try{const t=e.userAgent;return"string"==typeof t?t:""}catch(e){return""}}():e;return ot(t,Qe)?"crawler":ot(t,Ge)||function(){const e=Ke();if(!e)return!1;try{return!0===e.webdriver}catch(e){return!1}}()?"automation":"unknown"},exports.doFn=j,exports.escapeHtmlAttribute=function(e,t={}){if("string"!=typeof e)throw new TypeError("value must be a string.");const n=t.preserveEntities?/&(?!(?:#[0-9]+|#x[0-9a-f]+|[a-z][a-z0-9]+);)/gi:/&/g,r={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return e.replace(n,"&amp;").replace(/[<>"']/g,e=>r[e])},exports.extractElementText=function(e,t={}){const{excludeSelector:n="",replaceImagesWithAlt:r=!0,normalizeWhitespace:o=!0}=t,i=e.cloneNode(!0);r&&Array.from(i.querySelectorAll("img[alt]")).forEach(e=>{const t=e.getAttribute("alt")||"";e.parentNode?.replaceChild(i.ownerDocument.createTextNode(t),e)});const s=n.trim();s&&me(s,{root:i})&&Array.from(i.querySelectorAll(s)).forEach(e=>e.parentNode?.removeChild(e));const a=i.innerText||i.textContent||"";return o?a.replace(/\u00a0/g," ").replace(/\s+/g," ").trim():a},exports.fireEvent=Ae,exports.floatFixed=function(e,t=0){return parseFloat(String(e)).toFixed(t)},exports.floatToPercent=function(e,t=0){let n="";return n=t?(100*e).toFixed(t):String(Math.floor(100*e)),`${n}%`},exports.formatByteSize=B,exports.formatDate=m,exports.formatDistanceToNow=function(e){const t=i(e);if(!t)return"";const n=6e4,r=36e5,o=864e5,s=Math.abs(t.getTime()-Date.now());return s<3e4?"less than a minute":s<9e4?"about 1 minute":s<27e5?d(s/n,"minute"):s<54e5?"about 1 hour":s<864e5?d(s/r,"hour"):s<1512e5?"about 1 day":s<30*o?d(s/o,"day"):s<45*o?"about 1 month":s<365*o?d(s/(30*o),"month"):s<545*o?"about 1 year":d(s/(365*o),"year")},exports.formatDurationFromMs=function(e){const t=(Number.isFinite(e)?Math.max(e,0):0)/1e3;return t>=86400?p(t/24/60/60,"day"):t>=3600?p(t/60/60,"hour"):t>=60?p(t/60,"minute"):p(t,"second")},exports.formatLocalDateTime=function(t,n={}){const r="object"==typeof t&&null!==t?e(t):null;if(null===r)throw new TypeError("date must be a Date");if(!Number.isFinite(r))throw new RangeError("Invalid date");const o=n.precision??"minute";if("minute"!==o&&"second"!==o&&"millisecond"!==o)throw new TypeError("precision must be minute, second, or millisecond");const i=new Date(r),s=i.getFullYear();if(s<1)throw new RangeError("Date year must be greater than zero");const c=[a(s,4),a(i.getMonth()+1,2),a(i.getDate(),2)].join("-"),u=[a(i.getHours(),2),a(i.getMinutes(),2)];"minute"!==o&&u.push(a(i.getSeconds(),2));let l=`${c}T${u.join(":")}`;return"millisecond"===o&&(l+=`.${a(i.getMilliseconds(),3)}`),l},exports.genBrowserAttrs=function(e="",t="-"){const n=it(),r=[];return["system","platform","engine","supporter","shell","appleType"].forEach(o=>{const i=n[o];if(i){let n="";e&&e.length>0&&(n=`${e}${t}`),r.push(`${n}${i}`)}}),r},exports.genCustomConsole=ue,exports.genHashCode=function(e){let t,n,r=0;for(t=0;t<e.length;t++)n=e.charCodeAt(t),r=(r<<5)-r+n,r|=0;return r},exports.genRndNumString=N,exports.genStyleString=function(e,t){let n="";return t&&t.length>0&&(n=t.join(";")+";"),`${e}{${n}}`},exports.genUniqueNumString=O,exports.generateCalendarVersion=function(e){return m(void 0===e?new Date:new Date(e instanceof Date?e.getTime():e),"yyyy.MMdd.HHmmss").split(".").map(e=>String(Number(e))).join(".")},exports.generateRndNum=$,exports.generateUniqueNum=function(e=3){return O(e)},exports.getAllQueryParams=function(e=""){""===e&&(e=location.search);const t={};return Q(e).forEach(([e,n])=>{Object.hasOwn(t,e)||Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0})}),t},exports.getBrowserInfo=it,exports.getCLS=async function(){return Ve("layout-shift")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().reduce((e,t)=>{let n=0;return _(t.value)&&(n=t.value),e+n},0);t.disconnect(),e(r)});t.observe({type:"layout-shift",buffered:!0})}):0},exports.getCookie=ze,exports.getCurrentVersion=function(){return"v4"},exports.getDateDifference=f,exports.getDefineListeners=Se,exports.getDomain=function(e,t=["hostname"]){try{const n=new URL(e,document.baseURI);return t.reduce((e,t)=>e+=n[t],"")}catch(n){const r=document.createElement("a");return r.href=e,t.reduce((e,t)=>e+=r[t],"")}},exports.getFCP=Ye,exports.getFID=async function(){return Ve("first-input")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-input"===e.entryType);if(r){t.disconnect();const n=r.processingStart;e(n?Math.round(r.processingStart-r.startTime):0)}});t.observe({type:"first-input",buffered:!0})}):0},exports.getFP=Ze,exports.getFileSize=function(e,t={}){return B(e,t)},exports.getFriendlyInterval=function(e=0,t=0,n=u){return f(e,t,n)},exports.getHashQueryParam=function(e){const t=location.hash.split("?");return 1===t.length?"":G(`?${t.slice(1).join("?")}`,e)[0]||""},exports.getLCP=async function(){return Ve("largest-contentful-paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"largest-contentful-paint"===e.entryType);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"largest-contentful-paint",buffered:!0})}):0},exports.getLocalJSON=Oe,exports.getLocalStorage=De,exports.getPageMeta=function(e){const t=document.getElementsByTagName("meta");for(let n=0;n<t.length;n++)if(t[n].getAttribute("name")===e)return t[n].getAttribute("content")||"";return""},exports.getPerformance=async function(e=!1){if(!Ve("navigation"))return Promise.reject(new Error("navigation is not supported"));const t=window.performance;if(!t||"function"!=typeof t.getEntriesByType)return Promise.reject(new Error("performance is not supported"));let n;const r=new Promise(e=>{[n]=[e]}),o=t.getEntriesByType("navigation");if(!D(o))return Promise.reject(new Error("NavigationTiming is not supported"));const i=o[0];let[s,a,c,u,l,f,p,d,m,g,h,y,w,b,x,v,E,T,A]=new Array(19).fill(0);({decodedBodySize:T,encodedBodySize:A}=i),({unloadEventEnd:s,unloadEventStart:a,redirectEnd:c,redirectStart:u,domainLookupEnd:l,domainLookupStart:f,connectEnd:p,connectStart:d,secureConnectionStart:m,responseStart:g,requestStart:h,responseEnd:y,domContentLoadedEventStart:w,loadEventStart:b,loadEventEnd:x,startTime:v,fetchStart:E}=i);let C=0;if(_(v))C=v;else{if(!_(E))return Promise.reject(new Error("startTime, navigationStart or fetchStart are required"));C=E}const[N,$]=await Promise.all([Ze(),Ye()]);function O(){({decodedBodySize:T,encodedBodySize:A}=i),({unloadEventEnd:s,unloadEventStart:a,redirectEnd:c,redirectStart:u,domainLookupEnd:l,domainLookupStart:f,connectEnd:p,connectStart:d,secureConnectionStart:m,responseStart:g,requestStart:h,responseEnd:y,domContentLoadedEventStart:w,loadEventStart:b,loadEventEnd:x,startTime:v,fetchStart:E}=i),_(v)?C=v:_(E)&&(C=E);const t={source:"PerformanceNavigationTiming",os:M(),osVersion:j(),deviceType:L(),network:k(),screenDirection:P(),unloadTime:s-a,redirectTime:c-u,dnsTime:l-f,tcpTime:p-d,sslTime:F(p,m),responseTime:g-h,downloadTime:y-g,firstPaintTime:N,firstContentfulPaintTime:$,domReadyTime:w-C,onloadTime:b-C,whiteTime:g-C,renderTime:x-C,decodedBodySize:T,encodedBodySize:A};Object.keys(t).forEach(e=>{_(t[e])&&(t[e]<0?t[e]=0:t[e]=Math.round(t[e]))}),_(t.whiteTime)&&t.whiteTime>t.onloadTime&&(t.whiteTime=0);const r={};e||Object.keys(t).forEach(e=>{r[S(e)]=t[e]}),Object.keys(r).length?n(r):n(t)}function M(){let e;return e=navigator.userAgent.indexOf("Android")>-1?"android":navigator.userAgent.indexOf("iPhone")>-1?"ios":navigator.userAgent.indexOf("Windows Phone")>-1?"wp":"others",e}function j(){let e="";const t=navigator.userAgent,n=t.indexOf("Android")>-1,r=!!t.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),o=navigator.userAgent.split(";");if(o.length<2)return e;const i=o[1];return i?(n&&(e=(i.match(/\d+\.\d+/g)||[])[0]),r&&(e=(i.match(/(\d+)_(\d+)_?(\d+)?/)||[])[0]),e||(e=""),e):e}function L(){let e;const t=navigator.userAgent.toLowerCase(),n=t.match(/(ipad)/i)&&"ipad",r=t.match(/iphone os/i)&&"iphone os",o=t.match(/midp/i)&&"midp",i=t.match(/rv:1.2.3.4/i)&&"rv:1.2.3.4",s=t.match(/ucweb/i)&&"ucweb",a=t.match(/android/i)&&"android",c=t.match(/windows ce/i)&&"windows ce",u=t.match(/windows mobile/i)&&"windows mobile";return e=n||r||o||i||s||a||c||u?r||o||i||s||a||c||u?"phone":n?"ipad":void 0:"pc",e||(e=""),e}function k(){let e="";const t=window.navigator;if(t.connection&&t.connection.effectiveType)switch(t.connection.effectiveType){case"wifi":e="wifi";break;case"4g":e="4g";break;case"2g":e="2g";break;case"3g":e="3g";break;case"ethernet":e="ethernet";break;case"default":e=void 0}return e||(e=""),e}function P(){let e="";return window.screen&&window.screen.orientation&&"number"==typeof window.screen.orientation.angle&&(180!==window.screen.orientation.angle&&0!==window.screen.orientation.angle||(e="|"),90!==window.screen.orientation.angle&&-90!==window.screen.orientation.angle||(e="-")),e}function F(e,t){let n=0;return t&&(n=e-t),n}return _(x)&&x>0?O():"complete"===document.readyState?window.setTimeout(O,0):window.addEventListener("load",function e(){window.removeEventListener("load",e),window.setTimeout(function(){O()},0)}),r},exports.getQueryParam=function(e){return G(location.search,e)[0]||""},exports.getScriptQueryParam=function(e,t=""){t||(t=".js");const n=document.querySelectorAll("script[src]");for(let r=0;r<n.length;r++){const o=n[r].getAttribute("src");if(o&&-1!==o.indexOf(t)){const t=G(o,e)[0];if(void 0!==t)return t}}return""},exports.getSessionJSON=Ne,exports.getSessionStorage=Me,exports.getSystemTheme=dt,exports.getTTFB=async function(){if(!Ve("navigation"))return 0;if(!window.performance||!window.performance.getEntriesByType)return 0;const e=window.performance.getEntriesByType("navigation")[0];let t=0;return e?(t=e.responseStart-e.requestStart,Math.round(t)):0},exports.getUrlFileType=function(e){let t="";if("string"!=typeof e||""==e)return t;const n=e.split(/[?#]/,1)[0],r=/\.[^/]+$/.exec(n);return r?(r[0].length>1&&(t=r[0].substring(1)),t):t},exports.getUrlHost=function(e){!se(e)&&se(e,{strict:!1})&&e.startsWith("//")&&(e="https:"+e);try{return new URL(e).host}catch(e){return""}},exports.getUrlParam=function(e,t,n={}){const r=G(e,t);return n.returnArray?r:r.length?r[0]:null},exports.getUrlPath=function(e){!se(e)&&se(e,{strict:!1})&&e.startsWith("//")&&(e="https:"+e);try{return new URL(e).pathname}catch(e){return""}},exports.hasClass=function(e,t){if(!e)return le.error("The element is not exist."),!1;const n=e.className.split(/\s+/);for(let e=0;e<n.length;e++)if(n[e]===t)return!0;return!1},exports.hide=function(e){return ve(e).forEach(e=>{"none"!==Ee(e)&&"none"!==e.style.display&&he.set(e,e.style.display),e.style.display="none"}),e},exports.inRate=function(e){return y(e)},exports.invokeEvent=function(e,t){Ae(e,t)},exports.invokeFn=M,exports.isAndroid=function(e){return"android"===rt(e)},exports.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},exports.isBool=k,exports.isBoolean=function(e){return k(e)},exports.isBrowser=function(){if(V)return"browser"===V;const e="undefined"!=typeof window;return e&&(V="browser"),e},exports.isDesktop=function(e){return"desktop"===nt(e)},exports.isFunction=function(e){return"function"==typeof e},exports.isHit=y,exports.isIOS=function(e){return"ios"===rt(e)},exports.isJSONString=C,exports.isJsonString=function(e){return C(e)},exports.isLinux=function(e){return"linux"===rt(e)},exports.isMacOS=function(e){return"macos"===rt(e)},exports.isMobile=q,exports.isNonEmptyArray=D,exports.isNonEmptyObject=function(e){return!!L(e)&&0!==Object.keys(e).length},exports.isNumber=_,exports.isPhone=function(e){return"mobile"===nt(e)},exports.isPureObject=L,exports.isSafePWAEnv=function(e={}){if("undefined"==typeof window||"undefined"==typeof navigator)return!1;try{if(null===e||"object"!=typeof e||Array.isArray(e))return!1;const t=e.requireManifest,n=e.scope;if(void 0!==t&&"boolean"!=typeof t||void 0!==n&&"string"!=typeof n)return!1;if(!0!==window.isSecureContext||!("serviceWorker"in navigator))return!1;if(void 0!==n&&!function(e){const t=e.trim();if(!t||/[?#]/.test(t))return!1;try{const e=new URL(window.location.href),n=new URL(t,e);if(n.origin!==e.origin||""!==n.search||""!==n.hash)return!1;if(e.pathname===n.pathname)return!0;const r=n.pathname.endsWith("/")?n.pathname:`${n.pathname}/`;return e.pathname.startsWith(r)}catch(e){return!1}}(n))return!1;if(!1===t)return!0;if("undefined"==typeof document)return!1;const r=document.querySelector('link[rel~="manifest"][href]');return Boolean(r?.getAttribute("href")?.trim())}catch(e){return!1}},exports.isStandalonePWA=function(){if("undefined"==typeof window||"undefined"==typeof navigator)return!1;const e=navigator;try{const e=window.matchMedia;if("function"==typeof e&&e.call(window,"(display-mode: standalone)").matches)return!0}catch(e){}try{return!0===e.standalone}catch(e){return!1}},exports.isString=function(e){return"string"==typeof e},exports.isSupportWebp=function(){return st?Promise.resolve("webp"===st):new Promise(e=>{const t=new Image;t.onload=()=>{const n=t.width>0&&t.height>0;st=n?"webp":"no-webp",e(n)},t.onerror=()=>{st="no-webp",e(!1)},t.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="})},exports.isSupportedEntryType=Ve,exports.isTablet=function(e){return"tablet"===nt(e)},exports.isThisHour=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()&&t.getHours()===n.getHours()},exports.isThisMonth=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()},exports.isThisWeek=function(e){const t=i(e);if(!t)return!1;const n=new Date,r=(n.getDay()+6)%7;n.setHours(0,0,0,0),n.setDate(n.getDate()-r);const o=new Date(n.getTime());o.setDate(o.getDate()+7);const s=t.getTime();return s>=n.getTime()&&s<o.getTime()},exports.isThisYear=function(e){const t=i(e);return null!==t&&t.getFullYear()===(new Date).getFullYear()},exports.isToday=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()},exports.isUdfOrNul=function(e){return null==e},exports.isValidCssSelector=me,exports.isValidData=function(e,t,n){if(null===e||"object"!=typeof e)return!1;let r=e;for(const e of t){if(null===r||"object"!=typeof r&&"function"!=typeof r||!Object.hasOwn(r,e))return!1;r=r[e]}return r===n},exports.isValidDate=function(e){return null!==i(e)},exports.isValidEmail=function(e){return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},exports.isValidHttpUrl=se,exports.isValidPhoneNumber=H,exports.isValidUrl=function(e){return/^[a-zA-Z0-9]+:\/\/[-a-zA-Z0-9@:%._+~#=]{1,256}\b([-a-zA-Z0-9\u4E00-\u9FA5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b()!@:%_+.~#?&//=]*)$/.test(e)},exports.isWindows=function(e){return"windows"===rt(e)},exports.listenMediaQueryChanges=function(e,t){if("function"!=typeof t)throw new TypeError("listener must be a function");if(null===e)return()=>{};if("object"!=typeof e)throw new TypeError("media must be a MediaQueryList or null");const n=e.addEventListener,r=e.removeEventListener;let o=null;if("function"==typeof n&&"function"==typeof r){const i=t;n.call(e,"change",i),o=()=>r.call(e,"change",i)}let i=!1;return()=>{i||(i=!0,o?.())}},exports.loadCSS=Be,exports.loadImage=function(e){return new Promise((t,n)=>{const r=new Image;r.onload=()=>{t(r)},r.onerror=e=>{n(e)},r.src=e})},exports.loadScript=qe,exports.loadScriptIfUndefined=function(e,t){if(window[e])return Promise.resolve("defined");let n=We.get(e);const r=n?.get(t);if(r)return r;n||(n=new Map,We.set(e,n));const o=()=>{n?.delete(t),0===n?.size&&We.delete(e)},i=qe(t).then(e=>(o(),e),e=>{throw o(),e});return n.set(t,i),i},exports.longestComSubsequence=h,exports.longestComSubstring=g,exports.mNow=c,exports.mTrim=function(e){return e.trim()},exports.mazeyCon=le,exports.newLine=function(e){return P(e)},exports.onURLChange=function(e,t={}){const{fireOnInit:n=!0}=t,r=history;let o=location.href;const i=[],s=t=>{const n=location.href;if(n===o&&"load"!==t)return;const r=o;o=n,e({url:n,oldUrl:r,trigger:t})},a=()=>s("popstate"),c=()=>s("hashchange");window.addEventListener("popstate",a),window.addEventListener("hashchange",c),i.push(()=>window.removeEventListener("popstate",a)),i.push(()=>window.removeEventListener("hashchange",c)),r.__mazeyUrlChangePatched__||(r.__mazeyUrlChangePatched__=!0,r.__mazeyUrlChangeSubscribers__=new Set,r.__mazeyRawPushState__=history.pushState.bind(history),r.__mazeyRawReplaceState__=history.replaceState.bind(history),history.pushState=function(...e){r.__mazeyRawPushState__(...e),r.__mazeyUrlChangeSubscribers__.forEach(e=>e("pushState"))},history.replaceState=function(...e){r.__mazeyRawReplaceState__(...e),r.__mazeyUrlChangeSubscribers__.forEach(e=>e("replaceState"))});const u=e=>s(e);return r.__mazeyUrlChangeSubscribers__.add(u),i.push(()=>r.__mazeyUrlChangeSubscribers__.delete(u)),n&&s("load"),()=>{i.forEach(e=>e())}},exports.parseGitHubRepository=function(e){if("string"!=typeof e)throw new TypeError("value must be a string");const t=e.trim();if(!t||/[%\\?#]/.test(t)||function(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n<=31||127===n)return!0}return!1}(t))throw ee();const n=t.match(/^(?:github:)?([^/:\s]+)\/([^/\s]+)$/i);if(n)return te(n[1],n[2]);const r=t.match(/^git@([^:\s]+):([^/\s]+)\/([^/\s]+)$/);if(r&&"github.com"===r[1].toLowerCase())return te(r[2],r[3]);const o=t.replace(/^git\+(?=(?:git|ssh|https?):\/\/)/i,""),i=o.match(/^[a-z][a-z\d+.-]*:\/\/([^/?#]+)/i);if(!i||/(^|\/)\.{1,2}(?:\/|$)/.test(o.slice(i[0].length)))throw ee();if(-1!==i[1].slice(i[1].lastIndexOf("@")+1).indexOf(":"))throw ee();let s;try{s=new URL(o)}catch(e){throw ee()}const a=s.protocol.toLowerCase(),c=s.hostname.toLowerCase().replace(/^www\./,"");if(!["git:","ssh:","http:","https:"].includes(a)||"github.com"!==c||""!==s.username&&"git"!==s.username||""!==s.password||""!==s.search||""!==s.hash)throw ee();const u=s.pathname.match(/^\/([^/]+)\/([^/]+)\/?$/);if(!u)throw ee();return te(u[1],u[2])},exports.parseJsonSafe=function(e,t=null){try{return JSON.parse(e)}catch(e){return t}},exports.parseLocalDateTime=function(e){if("string"!=typeof e)return null;const t=s.exec(e);if(!t)return null;const[n,i,a,c,u,l="0",f=""]=t.slice(1),p=Number(n),d=Number(i),m=Number(a),g=Number(c),h=Number(u),y=Number(l),w=Number(`${f}00`.slice(0,3));return p<1||!r(p,d,m,g,h,y,w)?null:o(p,d,m,g,h,y,w)},exports.removeClass=function(e,t){if(!e)return void le.error("The element is not exist.");let n;n=" "+e.className+" ",n=n.replace(/(\s+)/gi," "),n=n.replace(" "+t+" "," "),n=n.replace(/(^\s+)|(\s+$)/g,""),e.className=n},exports.removeCookie=Ie,exports.removeEvent=function(e,t){const n=Se(),r=n[e];if("string"==typeof e&&Array.isArray(r))if("function"==typeof t){for(let o=0,i=r.length;o<i;o++)if(r[o]===t){n[e].splice(o,1);break}}else delete n[e]},exports.removeHTML=F,exports.removeHtml=function(e,t={}){return F(e,t)},exports.repeatUntilConditionMet=function(e,t={},n=e=>!0===e){const{interval:r=1e3,times:o=10,context:i,args:s}=t;if("function"!=typeof e)return void console.error("Expected a function.");if(!Number.isFinite(r)||r<0)return void console.error("Expected a non-negative number for interval.");if(!Number.isFinite(o)||o<0)return void console.error("Expected a non-negative number for times.");if(0===o)return;let a=0;const c=()=>{setTimeout(async()=>{const t=await e.apply(i,s);n(t)||++a>=o||c()},r)};c()},exports.replaceHttp=function(e){return ae(e)},exports.resolveElementTarget=function(e,t){if(void 0===e)return ge(t.defaultElement)?t.defaultElement:null;let n=t.unwrap?t.unwrap(e):e;if(null==n)return null;if("string"==typeof n)try{return t.root.querySelector(n)}catch(e){return null}return"object"==typeof n&&"$el"in n&&(n=n.$el),ge(n)?n:null},exports.resolveLanguagePreference=function(e){at(e);const t=ht(ct("lang"));if(t)return wt(t);const n=ht(ut(e));return wt(n||(ht(function(){if("undefined"==typeof window||"undefined"==typeof navigator)return null;try{return"string"==typeof navigator.language?navigator.language:null}catch(e){return null}}())??"en"))},exports.resolveThemePreference=function(e){at(e);const t=ct("theme");if(pt(t))return lt(e,t),mt(t,t);const n=ut(e);if(pt(n))return mt(n,n);const r=dt();return"system"===n&&r||r?mt(r,"system"):mt("light","light")},exports.sanitizeInput=function(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"};if("string"!=typeof e)throw new Error("Input must be a string");return e.replace(/[&<>"'/]/g,e=>t[e])},exports.setClass=function(e,t){pe(e,t)},exports.setCookie=function(e,t,n,r){let o;if(n){const e=new Date;e.setTime(e.getTime()+24*n*60*60*1e3),o="; expires="+e.toUTCString()}else o="";const i=function(e){let t=!0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(!(33===r||r>=35&&r<=43||r>=45&&r<=58||r>=60&&r<=91||r>=93&&r<=126)){t=!1;break}}return{isEncoded:!t,value:t?e:encodeURIComponent(e)}}(t),s=Fe(e),a=i.isEncoded?"1":"",c=i.isEncoded?o:"; expires=Thu, 01 Jan 1970 00:00:00 GMT",u=[`${s}=${i.value}${o}; path=/`,`${Pe(e)}=${a}${c}; path=/`],l=e=>{const t=e?`; domain=${e}`:"";u.forEach(e=>{document.cookie=`${e}${t}`})},f=location.hostname;if(r)l(r);else if(-1===f.indexOf("."))l();else{const n=f.split(".");n.shift();l("."+n.join(".")),ze(e)!==t&&l(`.${f}`)}},exports.setImgSizeBySrc=de,exports.setImgWidHeiBySrc=function(){return de()},exports.setLanguagePreference=function(e,t){at(e);const n=ht(t);if(!n)throw new TypeError("language must be a valid language tag.");return lt(e,n)},exports.setLocalJSON=$e,exports.setLocalStorage=je,exports.setSessionJSON=Ce,exports.setSessionStorage=_e,exports.setThemePreference=function(e,t){if(at(e),!function(e){return"system"===e||pt(e)}(t))throw new TypeError('value must be "system", "light", or "dark".');return lt(e,t)},exports.sha256Hex=async function(e){const t="undefined"==typeof crypto?null:crypto;if(!t?.subtle||"function"!=typeof t.subtle.digest)throw new Error("Web Crypto API is not available.");let n=e;if("string"==typeof e){if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not available.");n=(new TextEncoder).encode(e)}const r=await t.subtle.digest("SHA-256",n);let o="";const i=new Uint8Array(r);for(let e=0;e<i.length;e++){const t=i[e].toString(16);o+=1===t.length?`0${t}`:t}return o},exports.show=function(e){return ve(e).forEach(e=>{he.has(e)?(e.style.display=he.get(e),he.delete(e)):"none"===e.style.display&&(e.style.display=""),""===e.style.display&&"none"===Ee(e)&&(e.style.display=Te(e))}),e},exports.sleep=async function(e){return W(e)},exports.subYears=function(t,n){const r="number"==typeof t?t:"object"==typeof t&&null!==t?e(t):null,o=new Date(r??NaN),i="number"==typeof n?n<0?Math.ceil(n):Math.floor(n):NaN;if(!Number.isFinite(o.getTime())||!Number.isFinite(i))return new Date(NaN);if(0===i)return o;const s=o.getMonth(),a=o.getDate(),c=o.getFullYear()-i,u=new Date(o.getTime());return u.setFullYear(c,s+1,0),a>=u.getDate()?u:(o.setFullYear(c,s,a),o)},exports.throttle=function(e,t,n={}){n=Object.assign({},n);let r=null,o=null,i=null,[s,a]=[null,0];const u=function(){a=!1===n.leading?0:c(),i=null,s=e.apply(this,o),i||(r=o=null)};return function(...l){const f=c();a||!1!==n.leading||(a=f);const p=t-(f-a);return r=this,o=l,p<=0||p>t?(i&&(clearTimeout(i),i=null),a=f,s=e.apply(r,o),i||(r=o=null)):i||!1===n.trailing||(i=setTimeout(u.bind(r),p)),s}},exports.timeCon=fe,exports.toJavaScriptGlobalName=A,exports.truncateZHString=z,exports.unsanitize=function(e){return R(e)},exports.unsanitizeInput=R,exports.updateQueryParam=function(e,t,n){const r=e.indexOf("#"),o=-1===r?"":e.slice(r),i=-1===r?e:e.slice(0,r),s=i.indexOf("?"),a=-1===s?i:i.slice(0,s),c=-1===s?"":i.slice(s+1),u=encodeURIComponent(t),l=encodeURIComponent(n);let f=!1;const p=(c?c.split("&").filter(Boolean):[]).reduce((e,n)=>{const r=n.indexOf("=");return J(-1===r?n:n.slice(0,r))===t?f||(e.push(`${u}=${l}`),f=!0):e.push(n),e},[]);return f||p.push(`${u}=${l}`),`${a}?${p.join("&")}${o}`},exports.waitTime=W,exports.watchServiceWorkerUpdates=function(e,t,n){if(null===e||"object"!=typeof e||"function"!=typeof e.addEventListener||"function"!=typeof e.removeEventListener)throw new TypeError("registration must support event listeners");if(null===t||"object"!=typeof t||"function"!=typeof t.addEventListener||"function"!=typeof t.removeEventListener)throw new TypeError("container must support event listeners");if(null===n||"object"!=typeof n||"function"!=typeof n.onUpdateAvailable||void 0!==n.onControllerChange&&"function"!=typeof n.onControllerChange)throw new TypeError("callbacks must provide onUpdateAvailable");let r=!1,o=null,i=null,s=!1,a=!1;const c=e=>{r||i===e||(i=e,n.onUpdateAvailable(e))},u=()=>{!r&&"installed"===o?.state&&t.controller&&c(o)},l=()=>{r||(o?.removeEventListener("statechange",u),o=e.installing,o?.addEventListener("statechange",u),u())},f=()=>{r||n.onControllerChange?.()},p=()=>{if(s){try{e.removeEventListener("updatefound",l)}catch(e){}s=!1}try{o?.removeEventListener("statechange",u)}catch(e){}if(a){try{t.removeEventListener("controllerchange",f)}catch(e){}a=!1}};try{e.addEventListener("updatefound",l),s=!0,t.addEventListener("controllerchange",f),a=!0,e.waiting&&t.controller&&c(e.waiting),e.installing&&l()}catch(e){throw r=!0,p(),o=null,i=null,e}return{activateWaiting(e={type:"SKIP_WAITING"}){if(r||!i)return!1;try{return i.postMessage(e),!0}catch(e){return!1}},dispose(){r||(r=!0,p(),o=null,i=null)}}},exports.windowLoaded=function(e=3e4){return new Promise((t,n)=>{let r=null;const o=()=>{window.removeEventListener("load",i),null!==r&&(clearTimeout(r),r=null)},i=()=>{o(),t("load")};"complete"!==document.readyState?(window.addEventListener("load",i),r=setTimeout(()=>{o(),n(new Error("timeout"))},e)):t("complete")})},exports.zAxiosIsValidRes=function(e,t={validStatusRange:[200,300],validCode:[0]}){const n=t||{},{validStatusRange:r=[200,300],validCode:o=[0]}=n;2!==r.length&&console.error("valid validStatusRange is required");let i=!1;if(e&&e.status&&2===r.length&&e.status>=r[0]&&e.status<r[1]){const t=e.data;t&&o.includes(t.code)&&(i=!0)}return i};
6
+ "use strict";function e(e){try{return Date.prototype.getTime.call(e)}catch(e){return null}}const t=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2}))?)?$/,n=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?(Z|[+-]\d{2}:\d{2})$/;function r(e,t,n,r,o,i,s=0,a=!1){const c=new Date(0);return a?(c.setUTCFullYear(e,t-1,n),c.setUTCHours(r,o,i,s),Number.isFinite(c.getTime())&&c.getUTCFullYear()===e&&c.getUTCMonth()===t-1&&c.getUTCDate()===n&&c.getUTCHours()===r&&c.getUTCMinutes()===o&&c.getUTCSeconds()===i&&c.getUTCMilliseconds()===s):(c.setFullYear(e,t-1,n),c.setHours(r,o,i,s),Number.isFinite(c.getTime())&&c.getFullYear()===e&&c.getMonth()===t-1&&c.getDate()===n&&c.getHours()===r&&c.getMinutes()===o&&c.getSeconds()===i&&c.getMilliseconds()===s)}function o(e,t,n,r,o,i,s=0){const a=new Date(0);return a.setFullYear(e,t-1,n),a.setHours(r,o,i,s),a}function i(i){if("number"==typeof i){const e=new Date(i);return Number.isFinite(i)&&Number.isFinite(e.getTime())?e:null}if("object"==typeof i&&null!==i){const t=e(i);return null!==t&&Number.isFinite(t)?new Date(t):null}if("string"!=typeof i)return null;const s=i.trim();if(!s)return null;const a=t.exec(s);if(a){const[e,t,n,i="0",s="0",c="0"]=a.slice(1),[u,l,f,p,d,m]=[e,t,n,i,s,c].map(Number);return r(u,l,f,p,d,m)?o(u,l,f,p,d,m):null}const c=n.exec(s);if(!c)return null;const[u,l,f,p,d,m="0",g="",h]=c.slice(1),y=Number(`${g}00`.slice(0,3));if(!r(Number(u),Number(l),Number(f),Number(p),Number(d),Number(m),y,!0))return null;if("Z"!==h){const e=Number(h.slice(1,3)),t=Number(h.slice(4,6));if(e>23||t>59)return null}return function(e,t,n,r,o,i,s,a){const c=new Date(0);if(c.setUTCFullYear(e,t-1,n),c.setUTCHours(r,o,i,s),"Z"===a)return c;const u="+"===a[0]?1:-1,l=60*Number(a.slice(1,3))+Number(a.slice(4,6));return new Date(c.getTime()-u*l*60*1e3)}(Number(u),Number(l),Number(f),Number(p),Number(d),Number(m),y,h)}const s=/^(\d{4,})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,3}))?)?$/;function a(e,t){const n=String(e);return n.length>=t?n:`${"0".repeat(t-n.length)}${n}`}function c(){return Date.now()}const u={type:"d"};function l(e){return"string"==typeof e&&/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(e)?e.replace(" ","T"):e}function f(e=0,t=0,n=u){n=Object.assign({},u,n);const{type:r}=n;"number"==typeof e&&Number.isFinite(e)||(e=new Date(l(e)).getTime()),"number"==typeof t&&Number.isFinite(t)||(t=new Date(l(t)).getTime());const o=Number(t)-Number(e);let i="",[s,a,c,f]=new Array(4).fill(0);if(o>=0)switch(s=Math.floor(o/1e3/60/60/24),a=Math.floor(o/1e3/60/60),c=Math.floor(o/1e3/60),f=Math.floor(o/1e3),r){case"d":i=s;break;case"text":s=Math.floor(o/1e3/60/60/24),a=Math.floor(o/1e3/60/60%24),c=Math.floor(o/1e3/60%60),f=Math.floor(o/1e3%60),i=[{value:s,unit:"day"},{value:a,unit:"hour"},{value:c,unit:"minute"},{value:f,unit:"second"}].filter(({value:e})=>e>0).map(({value:e,unit:t})=>p(e,t)).join(" ")||p(0,"second");break;default:i=f}return i}function p(e,t){const n=Math.round(10*e)/10;return`${n} ${1===n?t:`${t}s`}`}function d(e,t){const n=Math.max(1,Math.round(e));return`about ${n} ${t}${1===n?"":"s"}`}function m(e,t="yyyy-MM-dd"){void 0===e&&(e=new Date);const n=new Date(e);if(!Number.isFinite(n.getTime()))throw new RangeError("Invalid date");const r=n.getHours(),o={yyyy:n.getFullYear(),MM:n.getMonth()+1,dd:n.getDate()<10?"0"+n.getDate():n.getDate(),HH:r<10?"0"+r:r,hh:(r%12||12)<10?"0"+(r%12||12):r%12||12,mm:n.getMinutes()<10?"0"+n.getMinutes():n.getMinutes(),ss:n.getSeconds()<10?"0"+n.getSeconds():n.getSeconds(),a:r<12?"AM":"PM"};let i=t||"yyyy-MM-dd";return Object.keys(o).forEach(e=>{let t=o[e];"MM"===e&&Number(t)<=9&&(t=`0${t}`),i=i.split(e).join(String(t))}),i}function g(e,t){const n=e.length,r=t.length;if(0===n||0===r)return 0;const o=Array.from({length:n},()=>new Array(r).fill(0));let i=0;for(let s=0;s<n;++s)for(let n=0;n<r;++n)if(e[s]===t[n]){let e=0;s>0&&n>0&&(e=o[s-1][n-1]),o[s][n]=e+1,i=Math.max(i,o[s][n])}return i}function h(e,t){const n=e.length,r=t.length;if(0===n||0===r)return 0;const o=Array.from({length:n},()=>new Array(r).fill(0));for(let i=0;i<n;++i)for(let n=0;n<r;++n)if(e[i]===t[n]){let e=0;i>0&&n>0&&(e=o[i-1][n-1]),o[i][n]=e+1}else{let[e,t]=[0,0];n>0&&(e=o[i][n-1]),i>0&&(t=o[i-1][n]),o[i][n]=Math.max(e,t)}return o[n-1][r-1]}function y(e){return Math.random()<e}const w=Function.prototype.toString.call(Object);function b(e,t,n){const r=Object.getOwnPropertyDescriptor(t,n)?.get;if(!r)return!1;try{return r.call(e),!0}catch(e){return!1}}function x(e){return null===e||"object"!=typeof e?e:v(e,new WeakMap)}function v(t,n){if(null===t||"object"!=typeof t)return t;const r=t,o=n.get(r);if(void 0!==o)return o;const i=e(r);if(null!==i){const e=new Date(i);return n.set(r,e),e}const s=function(e){const t=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")?.get;if(!t)return null;try{return t.call(e)}catch(e){return null}}(r);if(null!==s){const e=t,o=new RegExp(s,function(e){return e.flags}(e));return o.lastIndex=e.lastIndex,n.set(r,o),o}if("undefined"!=typeof ArrayBuffer&&b(r,ArrayBuffer.prototype,"byteLength")){const e=ArrayBuffer.prototype.slice.call(t,0);return n.set(r,e),e}if("undefined"!=typeof SharedArrayBuffer&&b(r,SharedArrayBuffer.prototype,"byteLength")){const e=SharedArrayBuffer.prototype.slice.call(t,0);return n.set(r,e),e}if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)){const e=v(t.buffer,n),o="undefined"!=typeof DataView&&b(r,DataView.prototype,"byteLength")?new DataView(e,t.byteOffset,t.byteLength):new t.constructor(e,t.byteOffset,t.length);return n.set(r,o),o}if("undefined"!=typeof Map&&b(r,Map.prototype,"size")){const e=new Map;return n.set(r,e),Map.prototype.forEach.call(t,(t,r)=>{e.set(v(r,n),v(t,n))}),e}if("undefined"!=typeof Set&&b(r,Set.prototype,"size")){const e=new Set;return n.set(r,e),Set.prototype.forEach.call(t,t=>{e.add(v(t,n))}),e}const a=Array.isArray(t),c=Object.getPrototypeOf(t),u=function(e){const t=Object.getPrototypeOf(e);if(null===t)return!0;const n=Object.hasOwn(t,"constructor")?t.constructor:null;return"function"==typeof n&&Function.prototype.toString.call(n)===w}(r),l=!a&&!u&&function(e){const t=Object.getPrototypeOf(e),n=t?.constructor;return"function"==typeof n&&-1===Function.prototype.toString.call(n).indexOf("[native code]")}(r);if(!a&&!u&&!l)return n.set(r,t),t;const f=a?new Array(t.length):Object.create(l?Object.prototype:c);return n.set(r,f),function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}(r).forEach(e=>{if(a&&"length"===e)return;const t=Object.getOwnPropertyDescriptor(r,e);t&&("value"in t&&(t.value=v(t.value,n)),Object.defineProperty(f,e,t))}),f}function E(e){const t=e.replace(/([A-Z])/g,"-$1").toLowerCase();return"-"===t[0]?t.substring(1):t}function T(e){const t=e.replace(/([A-Z])/g,"_$1").toLowerCase();return"_"===t[0]?t.substring(1):t}function S(e){return T(e)}function A(e){if("string"!=typeof e)throw new TypeError("value must be a string");const t=e.replace(/[^A-Za-z0-9_$]/g,"_").toUpperCase();return/^[A-Za-z_$]/.test(t)?t:`_${t}`}function C(e){if("string"!=typeof e)return!1;try{return JSON.parse(e),!0}catch(e){}return!1}function N(e=5){if(!Number.isFinite(e)||e<=0)return"";e=Math.floor(e);let t="";for(;e--;)t+=Math.floor(10*Math.random());return t}function $(e=5){return N(e)}function O(e=3){const[t,n]=[c(),$(e||3)];return t+n}function _(e,t={}){const{isNaNAsNumber:n=!1,isInfinityAsNumber:r=!1,isUnFiniteAsNumber:o=!1}=t;return"number"==typeof e&&(!(!0!==r&&!0!==o&&!isFinite(e))&&!(!n&&isNaN(e)))}function j(e,...t){let n=null;return e&&"function"==typeof e&&(n=e(...t)),n}function M(e,...t){return j(e,...t)}function D(e){let t=!1;return Array.isArray(e)&&e.length&&(t=!0),t}function L(e){const t=Boolean(e),n="object"==typeof e,r="[object Object]"===Object.prototype.toString.call(e);return t&&n&&r}function k(e){return"boolean"==typeof e}function P(e){if(!e)return"";const t=new RegExp("\\n","g");return e.replace(t,"<br />")}function F(e,t={}){const{removeNewLine:n=!1}=t;let r="";return e&&(r=e.replace(/<\/?.+?>/g,""),n&&(r=r.replace(/[\r\n]/g,""))),r}function R(e){const t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x2F;":"/"};if("string"!=typeof e)throw new Error("Input must be a string");return e.replace(/(&amp;|&lt;|&gt;|&quot;|&#x27;|&#x2F;)/g,e=>t[e])}function U(e,t,n={hasDot:!1,dotText:"..."}){if(n=Object.assign({hasDot:!1,dotText:"..."},n),""!=e&&e){let r=0,o="";const i=/[^\x00-\xff]/g;let s="";const a=e.replace(i,"**").length;for(let n=0;n<a&&(s=e.charAt(n).toString(),null!=s.match(i)?r+=2:r++,!(r>t));n++)o+=s;return n.hasDot&&a>t&&(o+=n.dotText),o}return""}function z(e,t,n=!1){return U(e,t,{hasDot:n})}const I=["B","KB","MB","GB","TB"];function B(e,t={}){const{base:n=1024,fractionDigits:r=1,invalidValue:o=""}=t;if(!Number.isFinite(e)||e<0||1e3!==n&&1024!==n||!Number.isInteger(r)||r<0||r>20)return o;let i=e,s=0;for(;i>=n&&s<I.length-1;)i/=n,s+=1;return 0===s?`${Number(i.toFixed(r))} ${I[s]}`:`${i.toFixed(r)} ${I[s]}`}function H(e){return/^1\d{10}$/.test(e)}const q=H;async function W(e){return new Promise(t=>{setTimeout(()=>{t(e)},e)})}let V="";function Y(e,t){const n=e[t];if(void 0!==n&&"string"!=typeof n)throw new TypeError(`manifest.${t} must be a string when provided`);return n}function Z(e){if(void 0===e)return{name:""};if("string"==typeof e)return{name:e.trim()};if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("manifest.author must be a string or object");const t=e,n={name:""};for(const e of["name","email","url"]){const r=t[e];if(void 0!==r&&"string"!=typeof r)throw new TypeError(`manifest.author.${e} must be a string when provided`);if("string"==typeof r){const t=r.trim();("name"===e||t)&&(n[e]=t)}}return n}function J(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}}function Q(e){const t=e.indexOf("#"),n=-1===t?e:e.slice(0,t),r=n.indexOf("?"),o=/^(?:[a-z][a-z\d+.-]*:)?\/\//i.test(n)||"/"===n.charAt(0),i=-1===r?o?"":n:n.slice(r+1);return i?i.split("&").reduce((e,t)=>{if(!t||-1===t.indexOf("="))return e;const n=t.indexOf("=");return e.push([J(t.slice(0,n)),J(t.slice(n+1))]),e},[]):[]}function G(e,t){return Q(e).filter(([e])=>e===t).map(([,e])=>e)}const K=/^(?=.{1,39}$)(?!.*--)[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/,X=/^(?=.{1,100}$)(?!\.{1,2}$)[A-Za-z0-9_.-]+$/;function ee(){return new Error("The value does not identify one supported GitHub repository")}function te(e,t){const n=t.replace(/\.git$/i,"");if(!K.test(e)||!X.test(n))throw ee();const r=`${e}/${n}`;return{owner:e,name:n,slug:r,url:`https://github.com/${r}`}}function ne(e){return void 0===e||Number(e)<=65535}function re(e){const t=e.split(".");return 4===t.length&&t.every(e=>/^\d{1,3}$/.test(e)&&(1===e.length||"0"!==e.charAt(0))&&Number(e)<=255)}function oe(e){const t=e.split("::");if(t.length>2)return!1;const n=2===t.length;let r=[];t.forEach(e=>{e&&(r=r.concat(e.split(":")))});let o=0;for(let e=0;e<r.length;e++){const t=r[e];if(-1!==t.indexOf(".")){if(e!==r.length-1||!re(t))return!1;o+=2}else{if(!/^[0-9a-f]{1,4}$/i.test(t))return!1;o+=1}}return n?o<8:8===o}function ie(e){const t=e.match(/^\[([0-9a-f:.]+)\]$/i);if(t)return oe(t[1]);if("."===e.charAt(e.length-1)&&(e=e.slice(0,-1)),re(e))return!0;const n=e.split(".");return!(n.length<2||n.some(e=>!e||!/^[a-z\d-]+$/i.test(e)||"-"===e.charAt(0)||"-"===e.charAt(e.length-1)))&&!/^\d+$/.test(n[n.length-1])}function se(e,t={strict:!0}){if("string"!=typeof e||!e||e.trim()!==e)return!1;const n=/^https?:\/\/[^/\\]/i.test(e),r=/^\/\/[^/\\]/.test(e);if(!n&&(t.strict||!r))return!1;const o=r?`http:${e}`:e;if(!function(e){const t=e.match(/^https?:\/\/([^/?#]+)(?:[/?#][^\s<>"`]*)?$/i);if(!t||-1!==t[1].indexOf("@"))return!1;const n=t[1],r=n.match(/^\[([0-9a-f:.]+)\](?::(\d*))?$/i);if(r)return oe(r[1])&&ne(r[2]);const o=n.match(/^([^:]+)(?::(\d*))?$/);return!(!o||!ne(o[2]))&&ie(o[1])}(o))return!1;try{const e=new URL(o);return("http:"===e.protocol||"https:"===e.protocol)&&ie(e.hostname)&&!e.username&&!e.password}catch(e){return!1}}function ae(e){return e.replace(/^http:/,"https:")}const ce={enabled:!0,isClosed:!1,showWrap:!1,showDate:!1,locales:"en-US",isStringifyObject:!1,logFn:()=>{},errorFn:()=>{}};function ue(e="",t={...ce}){const{enabled:n,isClosed:r,showWrap:o,showDate:i,locales:s,isStringifyObject:a,logFn:c,errorFn:u}=Object.assign({...ce},t);let l=n;!0===r&&(le.warn("The options.isClosed is deprecated. Please use options.enabled instead."),l=!1);const f=Object.create(null),p=()=>(new Date).toLocaleDateString(s,{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"});return["log","info","warn","error"].forEach(t=>{f[t]=function(...n){if(!l)return;let r=e,s=e;if("string"==typeof e&&e.length>=2){const t=e.length;r=":"===e[t-1]?e.substring(0,t-1):e}o&&console.log(`--- ${r} - begin ---`),i&&(s=e?`${p()} ${e}`:`${p()}`),a&&(n=n.map(e=>L(e)?JSON.stringify(e):e)),e||i?console[t](s,...n):console[t](...n),"log"===t&&c(),"error"===t&&u(),o&&console.log(`--- ${r} - end ---`)}}),f}const le=ue("[Mazey]"),fe=ue("",{showDate:!0,locales:"zh-CN",isStringifyObject:!0});function pe(e,t){if(!e)return void le.error("The element is not exist.");if(Array.isArray(t))return void t.forEach(t=>{t&&e.classList.add(t)});if(!t)return;const n=e.className,r=n.split(/\s+/);for(let e=0;e<r.length;e++)if(r[e]===t)return;let o="",i="";""!==n&&(o=" "),i=n+o+t,e.className=i}function de(){const e=window.jQuery||window.$;if(e){const t=e("img");return!(!t||!t.length)&&(t.each(function(){const t=e(this);if(!t)return;const n=t.attr("src");if(!(n&&"string"==typeof n&&n.length))return;const r=n.match(/[?&]width=([0-9]+[a-z%]*)/),o=n.match(/[?&]height=([0-9]+[a-z%]*)/);r&&D(r)&&r[1]&&t.width(r[1]),o&&D(o)&&o[1]&&t.height(o[1])}),!0)}{const e=document.getElementsByTagName("img");if(e.length>0)return Array.from(e).forEach(function(e){const t=e;if(!t)return;const n=t.getAttribute("src");if(!(n&&"string"==typeof n&&n.length))return;const r=n.match(/[?&]width=([0-9]+[a-z%]*)/),o=n.match(/[?&]height=([0-9]+[a-z%]*)/);r&&D(r)&&r[1]&&(t.style.width=r[1]),o&&D(o)&&o[1]&&(t.style.height=o[1])}),!0}return!1}function me(e,t={}){if("string"!=typeof e)return!1;const n=e.trim();if(!n)return!0===t.allowEmpty;const r=t.root||("undefined"==typeof document?null:document);if(!r)return!1;try{return r.querySelector(n),!0}catch(e){return!1}}function ge(e){return Boolean(e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}const he=new WeakMap,ye=new WeakMap,we={button:"inline-block",input:"inline-block",select:"inline-block",textarea:"inline-block",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",li:"list-item",summary:"list-item"},be=new Set(["address","article","aside","blockquote","body","dd","details","dialog","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","main","nav","ol","p","pre","section","ul"]);function xe(e){if(!ge(e))return null;const t=e.style;return t&&"string"==typeof t.display?e:null}function ve(e){const t=new Set,n=e=>{const n=xe(e);n&&t.add(n)};if("string"==typeof e){if("undefined"==typeof document)return[];try{document.querySelectorAll(e).forEach(n)}catch(e){return[]}return Array.from(t)}const r=xe(e);if(r)return[r];if(!e||"object"!=typeof e)return[];if("function"==typeof e[Symbol.iterator]){for(const t of e)n(t);return Array.from(t)}const o=e.length;if(!Number.isSafeInteger(o)||o<0)return[];for(let t=0;t<o;t+=1)n(e[t]);return Array.from(t)}function Ee(e){const t=e.ownerDocument.defaultView;return t?t.getComputedStyle(e).display:null}function Te(e){const t=e.ownerDocument,n=e.localName.toLowerCase();let r=ye.get(t);r||(r=new Map,ye.set(t,r));const o=e.namespaceURI||"",i=`${o}:${n}`,s=r.get(i);if(s)return s;let a="";const c="http://www.w3.org/1999/xhtml"===o&&n.includes("-"),u=t.body||t.documentElement;if(u&&!c){const e=o&&"http://www.w3.org/1999/xhtml"!==o?t.createElementNS(o,n):t.createElement(n);u.appendChild(e);try{a=Ee(e)||""}finally{u.removeChild(e)}}return a&&"none"!==a||(a=function(e){return we[e]?we[e]:be.has(e)?"block":"inline"}(n)),r.set(i,a),a}function Se(){const e=window.MAZEY_DEFINE_LISTENERS;if(e&&"object"==typeof e)return e;const t=Object.create(null);return window.MAZEY_DEFINE_LISTENERS=t,t}function Ae(e,t){const n=Se()[e];if(Array.isArray(n)){const e=n.slice();for(let n=0,r=e.length;n<r;n++)"function"==typeof e[n]&&(void 0===t?e[n]():e[n](t))}}function Ce(e,t=null){if(e){const n=JSON.stringify(t);sessionStorage.setItem(e,void 0===n?"null":n)}}function Ne(e){let t=null;if(e){const n=sessionStorage.getItem(e);if(n)try{t=JSON.parse(n)}catch(e){t=n}}return t}function $e(e,t=null){if(e){const n=JSON.stringify(t);localStorage.setItem(e,void 0===n?"null":n)}}function Oe(e){let t=null;if(e){const n=localStorage.getItem(e);if(n)try{t=JSON.parse(n)}catch(e){t=n}}return t}const _e=Ce,je=Ne,Me=$e,De=Oe,Le="__mazey_cookie_name_encoded__-",ke="__mazey_cookie_value_encoded__-";function Pe(e){return`${ke}${encodeURIComponent(e)}`}function Fe(e){const t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/.test(e),n=0===e.indexOf(Le)||0===e.indexOf(ke);return t&&!n?e:function(e){return`${Le}${encodeURIComponent(e)}`}(e)}function Re(e){const t=Fe(e);return t!==e?[t,e]:[e]}function Ue(e){const t=e+"=",n=document.cookie.split(";");for(let e=0;e<n.length;e++){const r=n[e].trim();if(0===r.indexOf(t))return r.substring(t.length)}}function ze(e){const t=Re(e),n="1"===Ue(Pe(e));for(let e=0;e<t.length;e++){const r=Ue(t[e]);if(void 0!==r){if(n)try{return decodeURIComponent(r)}catch(e){return r}return r}}return""}function Ie(e){const t=Re(e),n=t.concat(Pe(e)),r=new Date;r.setTime(r.getTime()-1);const o=t.some(e=>void 0!==Ue(e));return n.forEach((e,t)=>{if(n.indexOf(e)===t&&void 0!==Ue(e)){[`${e}=; expires=${r.toUTCString()}`,`${e}=; expires=${r.toUTCString()}; path=/`].forEach(e=>{document.cookie=e;const t=location.hostname;if(-1!==t.indexOf(".")){const n=t.split(".");for(let t=0;t<n.length;t++)document.cookie=`${e}; domain=.${n.slice(t).join(".")}`}})}}),o&&n.every(e=>void 0===Ue(e))}function Be(e,t={id:""}){const{id:n}=t;return new Promise((t,r)=>{const o=document.createElement("link");let i=!1;const s=()=>{o.onload=null,o.onerror=null};o.rel="stylesheet",o.type="text/css",o.href=e,void 0!==n&&(o.id=n),o.onload=()=>{i||(i=!0,s(),t("loaded"))},o.onerror=()=>{i||(i=!0,s(),r(new Error(`Failed to load CSS: ${e}`)))},document.head.appendChild(o)})}const He={id:"",callback:function(){},timeout:5e3,isDefer:!1,isAsync:!1,isCrossOrigin:!1,attributes:null,cssUrl:""};function qe(e,t={...He}){const{id:n,callback:r,timeout:o,isDefer:i,isAsync:s,isCrossOrigin:a,attributes:c,cssUrl:u}=Object.assign({...He},t);if(u){const t=function(e,t){if(!t)return"";if(se(t))return t;try{const n=new URL(e,location.href);return new URL(t,n).href}catch(n){const r=e.split("/");return r.pop(),`${r.join("/")}/${t}`}}(e,u);t&&Be(t).catch(e=>{console.error(`Failed to load CSS from ${t}: ${e?.message}`)})}return new Promise((t,u)=>{const l=document.createElement("script");let f=!1,p=null;const d=()=>{l.onload=null,l.onerror=null,null!==p&&(clearTimeout(p),p=null)},m=e=>{f||(f=!0,d(),u(e))};l.type="text/javascript",l.defer=Boolean(i),l.async=Boolean(s),a&&(l.crossOrigin="anonymous"),n&&(l.id=n),c&&Object.keys(c).forEach(e=>{l.setAttribute(e,c[e])}),l.onload=()=>{if(!f){f=!0,d();try{M(r),t("loaded")}catch(e){u(e)}}},l.onerror=()=>m(new Error(`Failed to load script: ${e}`)),l.src=e,o&&(p=setTimeout(()=>m(new Error("timeout")),o));const g=document.getElementsByTagName("script")[0];if(g?.parentNode)g.parentNode.insertBefore(l,g);else{(document.head||document.body||document.documentElement).appendChild(l)}})}const We=new Map;function Ve(e){if("undefined"==typeof window)return!1;let t=[];const n=window.PerformanceObserver;return!!n&&(D(n.supportedEntryTypes)&&(t=n.supportedEntryTypes),t.includes(e))}async function Ye(){return Ve("paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-contentful-paint"===e.name);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"paint",buffered:!0})}):0}async function Ze(){return Ve("paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-paint"===e.name);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"paint",buffered:!0})}):0}function Je(e,t=e.userAgent.trim().toLowerCase()){return/\bmacintosh\b/.test(t)&&"macintel"===e.platform.toLowerCase()&&e.maxTouchPoints>1}const Qe=Object.freeze(["adsbot-google","ahrefsbot","amazonbot","applebot","baiduspider","bingbot","bingpreview","bytespider","ccbot","chatgpt-user","claudebot","discordbot","dotbot","duckduckbot","facebookexternalhit","facebot","google-inspectiontool","googlebot","googleother","gptbot","linkedinbot","mediapartners-google","mj12bot","perplexitybot","petalbot","semrushbot","slackbot","slurp","storebot-google","telegrambot","twitterbot","whatsapp","yandexbot"]),Ge=Object.freeze(["headlesschrome","phantomjs","slimerjs","selenium","puppeteer","playwright"]);function Ke(){try{return"undefined"==typeof navigator?null:navigator}catch(e){return null}}function Xe(){const e=Ke();if(!e)return{userAgent:"",platform:"",maxTouchPoints:0};let t="",n="",r=0;try{const n=e.userAgent;t="string"==typeof n?n:""}catch(e){return{userAgent:"",platform:"",maxTouchPoints:0}}try{const t=e.platform;n="string"==typeof t?t:""}catch(e){n=""}try{const t=e.maxTouchPoints;r=Number.isFinite(t)?t:0}catch(e){r=0}return{userAgent:t,platform:n,maxTouchPoints:r}}function et(e){const t=e.userAgent.trim().toLowerCase();return t?/\bandroid\b|\badr\b/.test(t)?"android":/\bios\b|\biphone\b|\bipad\b|\bipod\b|\biwatch\b/.test(t)||Je(e,t)?"ios":/\bwindows\b|\bwin32\b|\bwin64\b|\bwow32\b|\bwow64\b/.test(t)?"windows":/\bmacintosh\b|\bmacintel\b|\bmac os x\b/.test(t)?"macos":/\blinux\b/.test(t)?"linux":"":""}function tt(e){const t=e.userAgent.trim().toLowerCase();if(!t)return"";if(/\biwatch\b|\bapple watch\b/.test(t))return"";if(/\bipad\b|\btablet\b/.test(t)||Je(e,t))return"tablet";const n=et(e);return"android"===n?/\bmobile\b/.test(t)?"mobile":"tablet":"ios"===n&&/\biphone\b|\bipod\b/.test(t)?"mobile":"windows"===n||"macos"===n||"linux"===n||/\bcros\b/.test(t)?"desktop":/\bmobile\b/.test(t)?"mobile":""}function nt(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");return tt(void 0!==e?{userAgent:e,platform:"",maxTouchPoints:0}:Xe())}function rt(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");return et(void 0!==e?{userAgent:e,platform:"",maxTouchPoints:0}:Xe())}function ot(e,t){const n=e.trim().toLowerCase();return t.some(e=>n.includes(e))}function it(e){if(void 0===e)return function(){try{return"undefined"==typeof window||"undefined"==typeof navigator?null:{window:window,navigator:navigator,document:"undefined"==typeof document?void 0:document}}catch(e){return null}}();if(null===e||"object"!=typeof e||Array.isArray(e))return null;try{const t=e.window,n=e.navigator,r=e.document;return null===t||"object"!=typeof t||null===n||"object"!=typeof n||void 0!==r&&(null===r||"object"!=typeof r)?null:{window:t,navigator:n,document:r}}catch(e){return null}}function st(){if(window.MAZEY_BROWSER_INFO&&"object"==typeof window.MAZEY_BROWSER_INFO)return window.MAZEY_BROWSER_INFO;let e={engine:"",engineVs:"",platform:"",supporter:"",supporterVs:"",system:"",systemVs:"",shell:"",shellVs:"",appleType:"",colorScheme:""};try{const t=Xe(),n=t.userAgent.toLowerCase();if(!n)return e;const r=e=>e.test(n),o=e=>{let t="";const r=n.match(e);return r&&D(r)&&(t=r.toString(),t=t.replace(/[^0-9|_.]/g,""),t=t.replace(/_/g,".")),t},i=et(t);let s="";"ios"===i&&(r(/ipad/g)?s="ipad":r(/iphone/g)?s="iphone":r(/iwatch/g)?s="iwatch":r(/ipod/g)?s="ipod":"macintel"===t.platform.toLowerCase()&&t.maxTouchPoints>1&&(s="ipad")),e={...e,system:i,appleType:s};let a="";"windows"===i?r(/windows nt 5.0|windows 2000/g)?a="2000":r(/windows nt 5.1|windows xp/g)?a="xp":r(/windows nt 5.2|windows 2003/g)?a="2003":r(/windows nt 6.0|windows vista/g)?a="vista":r(/windows nt 6.1|windows 7/g)?a="7":r(/windows nt 6.2|windows 8/g)?a="8":r(/windows nt 6.3|windows 8.1/g)?a="8.1":r(/windows nt 10.0|windows 10/g)&&(a="10"):"macos"===i?a=o(/os x [\d._]+/g):"android"===i?a=o(/android [\d._]+/g):"ios"===i&&(a=o(/os [\d._]+/g)),e={...e,systemVs:a};let c="";"windows"===i||"macos"===i||"linux"===i?c="desktop":("android"===i||"ios"===i||r(/mobile/g))&&(c="mobile"),e={...e,platform:c};let u="",l="";r(/applewebkit/g)?(u="webkit",r(/edg(?:a|ios)?\//g)||r(/edge\//g)?l="edge":r(/opr/g)?l="opera":r(/chrome/g)?l="chrome":r(/safari/g)&&(l="safari")):r(/gecko/g)&&r(/firefox/g)?(u="gecko",l="firefox"):r(/presto/g)?(u="presto",l="opera"):r(/trident|compatible|msie/g)&&(u="trident",l="iexplore"),e={...e,engine:u,supporter:l};let f="";"webkit"===u?f=o(/applewebkit\/[\d._]+/g):"gecko"===u?f=o(/gecko\/[\d._]+/g):"presto"===u?f=o(/presto\/[\d._]+/g):"trident"===u&&(f=o(/trident\/[\d._]+/g)),e={...e,engineVs:f};let p="";"chrome"===l?p=o(/chrome\/[\d._]+/g):"safari"===l?p=o(/version\/[\d._]+/g):"firefox"===l?p=o(/firefox\/[\d._]+/g):"opera"===l?p=o(/opr\/[\d._]+/g):"iexplore"===l?p=o(/(msie [\d._]+)|(rv:[\d._]+)/g):"edge"===l&&(p=o(/(?:edge|edg|edga|edgios)\/[\d._]+/g)),e={...e,supporterVs:p};let d="",m="";r(/micromessenger/g)?(d="wechat",m=o(/micromessenger\/[\d._]+/g)):r(/qqbrowser/g)?(d="qq_browser",m=o(/qqbrowser\/[\d._]+/g)):r(/\sqq/g)?d="qq_app":r(/ucbrowser/g)?(d="uc",m=o(/ucbrowser\/[\d._]+/g)):r(/qihu 360se/g)?d="360":r(/2345explorer/g)?(d="2345",m=o(/2345explorer\/[\d._]+/g)):r(/metasr/g)?d="sougou":r(/lbbrowser/g)?d="liebao":r(/maxthon/g)?(d="maxthon",m=o(/maxthon\/[\d._]+/g)):r(/biliapp/g)&&(d="bilibili"),e={...e,shell:d,shellVs:m};let g="";if(window.matchMedia){const e=window.matchMedia("(prefers-color-scheme: dark)"),t=window.matchMedia("(prefers-color-scheme: light)");e.matches?g="dark":t.matches&&(g="light")}return e={...e,colorScheme:g},window.MAZEY_BROWSER_INFO=e,e}catch(t){return le.warn(t),e}}let at="";function ct(e){if("string"!=typeof e||""===e.trim())throw new TypeError("storageKey must be a non-empty string.")}function ut(e){if("undefined"==typeof window)return null;try{return new URL(window.location.href).searchParams.get(e)}catch(e){return null}}function lt(e){if("undefined"==typeof window)return null;try{const t=window.localStorage;return t&&"function"==typeof t.getItem?t.getItem(e):null}catch(e){return null}}function ft(e,t){if("undefined"==typeof window)return!1;try{const n=window.localStorage;return!(!n||"function"!=typeof n.setItem)&&(n.setItem(e,t),!0)}catch(e){return!1}}const pt=Object.freeze({system:"System",light:"Light",dark:"Dark"});function dt(e){return"light"===e||"dark"===e}function mt(){if("undefined"==typeof window)return null;try{const e=window.matchMedia;return"function"!=typeof e?null:e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){return null}}function gt(e,t){return{value:e,label:pt[t]}}function ht(e){const t=e.split("-");if(!/^[a-z]{2,8}$/i.test(t[0]))return null;const n=[t[0].toLowerCase()];let r=1;if(r<t.length&&/^[a-z]{4}$/i.test(t[r])){const e=t[r].toLowerCase();n.push(`${e[0].toUpperCase()}${e.slice(1)}`),r++}for(r<t.length&&(/^[a-z]{2}$/i.test(t[r])||/^\d{3}$/.test(t[r]))&&(n.push(/^[a-z]{2}$/i.test(t[r])?t[r].toUpperCase():t[r]),r++);r<t.length;r++){const e=t[r];if(!/^(?:[a-z0-9]{5,8}|\d[a-z0-9]{3})$/i.test(e))return null;n.push(e.toLowerCase())}return n.join("-")}function yt(e){if("string"!=typeof e)return null;const t=e.trim().replace(/_/g,"-");if(!t)return null;if("undefined"!=typeof Intl)try{const e=Intl,n=e.getCanonicalLocales;if("function"==typeof n){const r=n.call(e,t)[0];return"string"==typeof r&&r?r:null}}catch(e){return e instanceof RangeError||"object"==typeof e&&null!==e&&"name"in e&&"RangeError"===e.name?null:ht(t)}return ht(t)}function wt(e){if("undefined"==typeof Intl)return e;try{const t=Intl.DisplayNames;if("function"!=typeof t)return e;const n=new t([e],{type:"language"}).of(e);return"string"==typeof n&&n.trim()?n:e}catch(t){return e}}function bt(e){return{value:e,label:wt(e)}}exports.addClass=pe,exports.addEvent=function(e,t){const n=Se();Array.isArray(n[e])||Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:[],writable:!0}),"function"==typeof t&&n[e].push(t)},exports.addStyle=function(e,t={id:""}){if(!e)return!1;const n=document.createDocumentFragment();let r=null,o="";const i=document.createElement("style");return t.id?(o=`${t.id}`,r=document.getElementById(o),r?r.innerHTML=e:(i.setAttribute("id",t.id),i.innerHTML=e,n.appendChild(i),document.head.appendChild(n))):(i.innerHTML=e,n.appendChild(i),document.head.appendChild(n)),!0},exports.assignDefined=function(e,...t){return t.forEach(t=>{void 0!==t&&Object.keys(t).forEach(n=>{const r=t[n];if(void 0!==r){const t=e;"__proto__"!==n||Object.hasOwn(e,n)?t[n]=r:Object.defineProperty(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0})}})}),e},exports.calLongestCommonSubsequence=function(e,t){return h(e,t)},exports.calLongestCommonSubstring=function(e,t){return g(e,t)},exports.calculateAspectRatio=function(e,t){if(!Number.isSafeInteger(e))throw new TypeError("width must be a safe integer.");if(!Number.isSafeInteger(t))throw new TypeError("height must be a safe integer.");if(e<=0||t<=0)throw new RangeError("width and height must be greater than zero.");const n=function(e,t){for(;0!==t;){const n=e%t;e=t,t=n}return e}(e,t);return`${e/n}x${t/n}`},exports.calculateCAGR=function(e,t,n){const r=i(e);if(!r)throw new TypeError("startDate must be a valid date.");const o=i(t);if(!o)throw new TypeError("endDate must be a valid date.");const s=o.getTime()-r.getTime();if(s<=0)throw new RangeError("endDate must be later than startDate.");const a=function(e){if("number"==typeof e){if(!Number.isFinite(e))throw new TypeError("totalReturnRate must be a finite number or percentage string.");return e}if("string"!=typeof e)throw new TypeError("totalReturnRate must be a finite number or percentage string.");const t=e.trim();if(!t)throw new TypeError("totalReturnRate must not be empty.");const n=t.endsWith("%")?t.slice(0,-1).trim():t;if(!n)throw new TypeError("totalReturnRate must be a valid percentage string.");const r=Number(n);if(!Number.isFinite(r))throw new TypeError("totalReturnRate must be a valid percentage string.");return r/100}(n);if(a<=-1)throw new RangeError("totalReturnRate must be greater than -1.");const c=s/864e5,u=Math.pow(1+a,365/c)-1;if(!Number.isFinite(u))throw new RangeError("calculated CAGR must be finite.");return u},exports.camelCase2Underscore=S,exports.camelCaseToKebabCase=function(e){return E(e)},exports.cancelBubble=function(e){e.stopPropagation()},exports.clearHTML=function(e,t={}){return F(e,t)},exports.clearHtml=function(e,t={}){return F(e,t)},exports.convert10To26=function(e){if(!Number.isFinite(e)||e<=0)return"";e=Math.floor(e);let t="";for(;e>0;){let n=e%26;0===n&&(n=26),t=String.fromCharCode(n+96)+t,e=(e-n)/26}return t},exports.convertCamelToKebab=E,exports.convertCamelToUnder=T,exports.convertHttpToHttps=ae,exports.convertKebabToCamel=function(e){const t=e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());return t.endsWith("-")?t.slice(0,-1):t},exports.convertObjectToQuery=function(e){return e&&0===Object.keys(e).length?"":`?${Object.keys(e).map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`).join("&")}`},exports.convertToHtmlBreaks=P,exports.convertUnderToCamel=function(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())},exports.cutCHSString=function(e,t,n=!1){return z(e,t,n)},exports.cutZHString=U,exports.debounce=function(e,t,n){let r=null,o=null,i=null,s=null,a=null;const u=function(){const l=c()-i;l<t&&l>=0?o=setTimeout(u,t-l):(o=null,n||(a=e.apply(r,s),o||(r=s=null)))};return function(...l){r=this,s=l,i=c();const f=n&&!o;return o||(o=setTimeout(u,t)),f&&(a=e.apply(r,s),r=s=null),a}},exports.deepCopy=x,exports.deepCopyObject=function(e){return x(e)},exports.deepFreeze=function e(t){return!t||"object"!=typeof t||Object.isFrozen(t)||(Object.freeze(t),Object.values(t).forEach(e)),t},exports.delCookie=function(e){Ie(e)},exports.derivePackageMetadata=function(e,t={}){if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError("manifest must be an object");if(null===t||"object"!=typeof t||Array.isArray(t))throw new TypeError("options must be an object when provided");const n=e;if("string"!=typeof n.name||!n.name.trim())throw new TypeError("manifest.name must be a non-empty string");const r=n.name.trim(),o=function(e){if(/\s/.test(e))throw new TypeError("manifest.name must not contain whitespace");if(e.startsWith("@")){const t=e.split("/");if(2!==t.length||t[0].length<2||!t[1])throw new TypeError("manifest.name must be a valid scoped package name");return t[1]}if(e.includes("/"))throw new TypeError("manifest.name must be an unscoped or scoped package name");return e}(r),i=t.packageManager??"npm";if("npm"!==i&&"pnpm"!==i&&"yarn"!==i)throw new TypeError('packageManager must be "npm", "pnpm", or "yarn"');const s="npm"===i?"npm install":`${i} add`;return{name:r,version:Y(n,"version"),description:Y(n,"description"),license:Y(n,"license"),author:Z(n.author),unscopedName:o,iifeGlobal:A(o),installCommand:`${s} ${r}`}},exports.detectVisitorType=function(e){if(void 0!==e&&"string"!=typeof e)throw new TypeError("userAgent must be a string when provided.");const t=void 0===e?function(){const e=Ke();if(!e)return"";try{const t=e.userAgent;return"string"==typeof t?t:""}catch(e){return""}}():e;return ot(t,Qe)?"crawler":ot(t,Ge)||function(){const e=Ke();if(!e)return!1;try{return!0===e.webdriver}catch(e){return!1}}()?"automation":"unknown"},exports.doFn=M,exports.escapeHtmlAttribute=function(e,t={}){if("string"!=typeof e)throw new TypeError("value must be a string.");const n=t.preserveEntities?/&(?!(?:#[0-9]+|#x[0-9a-f]+|[a-z][a-z0-9]+);)/gi:/&/g,r={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return e.replace(n,"&amp;").replace(/[<>"']/g,e=>r[e])},exports.extractElementText=function(e,t={}){const{excludeSelector:n="",replaceImagesWithAlt:r=!0,normalizeWhitespace:o=!0}=t,i=e.cloneNode(!0);r&&Array.from(i.querySelectorAll("img[alt]")).forEach(e=>{const t=e.getAttribute("alt")||"";e.parentNode?.replaceChild(i.ownerDocument.createTextNode(t),e)});const s=n.trim();s&&me(s,{root:i})&&Array.from(i.querySelectorAll(s)).forEach(e=>e.parentNode?.removeChild(e));const a=i.innerText||i.textContent||"";return o?a.replace(/\u00a0/g," ").replace(/\s+/g," ").trim():a},exports.fireEvent=Ae,exports.floatFixed=function(e,t=0){return parseFloat(String(e)).toFixed(t)},exports.floatToPercent=function(e,t=0){let n="";return n=t?(100*e).toFixed(t):String(Math.floor(100*e)),`${n}%`},exports.formatByteSize=B,exports.formatDate=m,exports.formatDistanceToNow=function(e){const t=i(e);if(!t)return"";const n=6e4,r=36e5,o=864e5,s=Math.abs(t.getTime()-Date.now());return s<3e4?"less than a minute":s<9e4?"about 1 minute":s<27e5?d(s/n,"minute"):s<54e5?"about 1 hour":s<864e5?d(s/r,"hour"):s<1512e5?"about 1 day":s<30*o?d(s/o,"day"):s<45*o?"about 1 month":s<365*o?d(s/(30*o),"month"):s<545*o?"about 1 year":d(s/(365*o),"year")},exports.formatDurationFromMs=function(e){const t=(Number.isFinite(e)?Math.max(e,0):0)/1e3;return t>=86400?p(t/24/60/60,"day"):t>=3600?p(t/60/60,"hour"):t>=60?p(t/60,"minute"):p(t,"second")},exports.formatLocalDateTime=function(t,n={}){const r="object"==typeof t&&null!==t?e(t):null;if(null===r)throw new TypeError("date must be a Date");if(!Number.isFinite(r))throw new RangeError("Invalid date");const o=n.precision??"minute";if("minute"!==o&&"second"!==o&&"millisecond"!==o)throw new TypeError("precision must be minute, second, or millisecond");const i=new Date(r),s=i.getFullYear();if(s<1)throw new RangeError("Date year must be greater than zero");const c=[a(s,4),a(i.getMonth()+1,2),a(i.getDate(),2)].join("-"),u=[a(i.getHours(),2),a(i.getMinutes(),2)];"minute"!==o&&u.push(a(i.getSeconds(),2));let l=`${c}T${u.join(":")}`;return"millisecond"===o&&(l+=`.${a(i.getMilliseconds(),3)}`),l},exports.genBrowserAttrs=function(e="",t="-"){const n=st(),r=[];return["system","platform","engine","supporter","shell","appleType"].forEach(o=>{const i=n[o];if(i){let n="";e&&e.length>0&&(n=`${e}${t}`),r.push(`${n}${i}`)}}),r},exports.genCustomConsole=ue,exports.genHashCode=function(e){let t,n,r=0;for(t=0;t<e.length;t++)n=e.charCodeAt(t),r=(r<<5)-r+n,r|=0;return r},exports.genRndNumString=N,exports.genStyleString=function(e,t){let n="";return t&&t.length>0&&(n=t.join(";")+";"),`${e}{${n}}`},exports.genUniqueNumString=O,exports.generateCalendarVersion=function(e){return m(void 0===e?new Date:new Date(e instanceof Date?e.getTime():e),"yyyy.MMdd.HHmmss").split(".").map(e=>String(Number(e))).join(".")},exports.generateRndNum=$,exports.generateUniqueNum=function(e=3){return O(e)},exports.getAllQueryParams=function(e=""){""===e&&(e=location.search);const t={};return Q(e).forEach(([e,n])=>{Object.hasOwn(t,e)||Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0})}),t},exports.getBrowserInfo=st,exports.getCLS=async function(){return Ve("layout-shift")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().reduce((e,t)=>{let n=0;return _(t.value)&&(n=t.value),e+n},0);t.disconnect(),e(r)});t.observe({type:"layout-shift",buffered:!0})}):0},exports.getCookie=ze,exports.getCurrentVersion=function(){return"v4"},exports.getDateDifference=f,exports.getDefineListeners=Se,exports.getDomain=function(e,t=["hostname"]){try{const n=new URL(e,document.baseURI);return t.reduce((e,t)=>e+=n[t],"")}catch(n){const r=document.createElement("a");return r.href=e,t.reduce((e,t)=>e+=r[t],"")}},exports.getFCP=Ye,exports.getFID=async function(){return Ve("first-input")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"first-input"===e.entryType);if(r){t.disconnect();const n=r.processingStart;e(n?Math.round(r.processingStart-r.startTime):0)}});t.observe({type:"first-input",buffered:!0})}):0},exports.getFP=Ze,exports.getFileSize=function(e,t={}){return B(e,t)},exports.getFriendlyInterval=function(e=0,t=0,n=u){return f(e,t,n)},exports.getHashQueryParam=function(e){const t=location.hash.split("?");return 1===t.length?"":G(`?${t.slice(1).join("?")}`,e)[0]||""},exports.getLCP=async function(){return Ve("largest-contentful-paint")?new Promise(e=>{const t=new window.PerformanceObserver(n=>{const r=n.getEntries().find(e=>"largest-contentful-paint"===e.entryType);r&&(t.disconnect(),e(Math.round(r.startTime)))});t.observe({type:"largest-contentful-paint",buffered:!0})}):0},exports.getLocalJSON=Oe,exports.getLocalStorage=De,exports.getPageMeta=function(e){const t=document.getElementsByTagName("meta");for(let n=0;n<t.length;n++)if(t[n].getAttribute("name")===e)return t[n].getAttribute("content")||"";return""},exports.getPerformance=async function(e=!1){if(!Ve("navigation"))return Promise.reject(new Error("navigation is not supported"));const t=window.performance;if(!t||"function"!=typeof t.getEntriesByType)return Promise.reject(new Error("performance is not supported"));let n;const r=new Promise(e=>{[n]=[e]}),o=t.getEntriesByType("navigation");if(!D(o))return Promise.reject(new Error("NavigationTiming is not supported"));const i=o[0];let[s,a,c,u,l,f,p,d,m,g,h,y,w,b,x,v,E,T,A]=new Array(19).fill(0);({decodedBodySize:T,encodedBodySize:A}=i),({unloadEventEnd:s,unloadEventStart:a,redirectEnd:c,redirectStart:u,domainLookupEnd:l,domainLookupStart:f,connectEnd:p,connectStart:d,secureConnectionStart:m,responseStart:g,requestStart:h,responseEnd:y,domContentLoadedEventStart:w,loadEventStart:b,loadEventEnd:x,startTime:v,fetchStart:E}=i);let C=0;if(_(v))C=v;else{if(!_(E))return Promise.reject(new Error("startTime, navigationStart or fetchStart are required"));C=E}const[N,$]=await Promise.all([Ze(),Ye()]);function O(){({decodedBodySize:T,encodedBodySize:A}=i),({unloadEventEnd:s,unloadEventStart:a,redirectEnd:c,redirectStart:u,domainLookupEnd:l,domainLookupStart:f,connectEnd:p,connectStart:d,secureConnectionStart:m,responseStart:g,requestStart:h,responseEnd:y,domContentLoadedEventStart:w,loadEventStart:b,loadEventEnd:x,startTime:v,fetchStart:E}=i),_(v)?C=v:_(E)&&(C=E);const t={source:"PerformanceNavigationTiming",os:j(),osVersion:M(),deviceType:L(),network:k(),screenDirection:P(),unloadTime:s-a,redirectTime:c-u,dnsTime:l-f,tcpTime:p-d,sslTime:F(p,m),responseTime:g-h,downloadTime:y-g,firstPaintTime:N,firstContentfulPaintTime:$,domReadyTime:w-C,onloadTime:b-C,whiteTime:g-C,renderTime:x-C,decodedBodySize:T,encodedBodySize:A};Object.keys(t).forEach(e=>{_(t[e])&&(t[e]<0?t[e]=0:t[e]=Math.round(t[e]))}),_(t.whiteTime)&&t.whiteTime>t.onloadTime&&(t.whiteTime=0);const r={};e||Object.keys(t).forEach(e=>{r[S(e)]=t[e]}),Object.keys(r).length?n(r):n(t)}function j(){let e;return e=navigator.userAgent.indexOf("Android")>-1?"android":navigator.userAgent.indexOf("iPhone")>-1?"ios":navigator.userAgent.indexOf("Windows Phone")>-1?"wp":"others",e}function M(){let e="";const t=navigator.userAgent,n=t.indexOf("Android")>-1,r=!!t.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),o=navigator.userAgent.split(";");if(o.length<2)return e;const i=o[1];return i?(n&&(e=(i.match(/\d+\.\d+/g)||[])[0]),r&&(e=(i.match(/(\d+)_(\d+)_?(\d+)?/)||[])[0]),e||(e=""),e):e}function L(){let e;const t=navigator.userAgent.toLowerCase(),n=t.match(/(ipad)/i)&&"ipad",r=t.match(/iphone os/i)&&"iphone os",o=t.match(/midp/i)&&"midp",i=t.match(/rv:1.2.3.4/i)&&"rv:1.2.3.4",s=t.match(/ucweb/i)&&"ucweb",a=t.match(/android/i)&&"android",c=t.match(/windows ce/i)&&"windows ce",u=t.match(/windows mobile/i)&&"windows mobile";return e=n||r||o||i||s||a||c||u?r||o||i||s||a||c||u?"phone":n?"ipad":void 0:"pc",e||(e=""),e}function k(){let e="";const t=window.navigator;if(t.connection&&t.connection.effectiveType)switch(t.connection.effectiveType){case"wifi":e="wifi";break;case"4g":e="4g";break;case"2g":e="2g";break;case"3g":e="3g";break;case"ethernet":e="ethernet";break;case"default":e=void 0}return e||(e=""),e}function P(){let e="";return window.screen&&window.screen.orientation&&"number"==typeof window.screen.orientation.angle&&(180!==window.screen.orientation.angle&&0!==window.screen.orientation.angle||(e="|"),90!==window.screen.orientation.angle&&-90!==window.screen.orientation.angle||(e="-")),e}function F(e,t){let n=0;return t&&(n=e-t),n}return _(x)&&x>0?O():"complete"===document.readyState?window.setTimeout(O,0):window.addEventListener("load",function e(){window.removeEventListener("load",e),window.setTimeout(function(){O()},0)}),r},exports.getQueryParam=function(e){return G(location.search,e)[0]||""},exports.getScriptQueryParam=function(e,t=""){t||(t=".js");const n=document.querySelectorAll("script[src]");for(let r=0;r<n.length;r++){const o=n[r].getAttribute("src");if(o&&-1!==o.indexOf(t)){const t=G(o,e)[0];if(void 0!==t)return t}}return""},exports.getSessionJSON=Ne,exports.getSessionStorage=je,exports.getSystemTheme=mt,exports.getTTFB=async function(){if(!Ve("navigation"))return 0;if(!window.performance||!window.performance.getEntriesByType)return 0;const e=window.performance.getEntriesByType("navigation")[0];let t=0;return e?(t=e.responseStart-e.requestStart,Math.round(t)):0},exports.getUrlFileType=function(e){let t="";if("string"!=typeof e||""==e)return t;const n=e.split(/[?#]/,1)[0],r=/\.[^/]+$/.exec(n);return r?(r[0].length>1&&(t=r[0].substring(1)),t):t},exports.getUrlHost=function(e){!se(e)&&se(e,{strict:!1})&&e.startsWith("//")&&(e="https:"+e);try{return new URL(e).host}catch(e){return""}},exports.getUrlParam=function(e,t,n={}){const r=G(e,t);return n.returnArray?r:r.length?r[0]:null},exports.getUrlPath=function(e){!se(e)&&se(e,{strict:!1})&&e.startsWith("//")&&(e="https:"+e);try{return new URL(e).pathname}catch(e){return""}},exports.hasClass=function(e,t){if(!e)return le.error("The element is not exist."),!1;const n=e.className.split(/\s+/);for(let e=0;e<n.length;e++)if(n[e]===t)return!0;return!1},exports.hide=function(e){return ve(e).forEach(e=>{"none"!==Ee(e)&&"none"!==e.style.display&&he.set(e,e.style.display),e.style.display="none"}),e},exports.inRate=function(e){return y(e)},exports.invokeEvent=function(e,t){Ae(e,t)},exports.invokeFn=j,exports.isAndroid=function(e){return"android"===rt(e)},exports.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},exports.isBool=k,exports.isBoolean=function(e){return k(e)},exports.isBrowser=function(){if(V)return"browser"===V;const e="undefined"!=typeof window;return e&&(V="browser"),e},exports.isDesktop=function(e){return"desktop"===nt(e)},exports.isFunction=function(e){return"function"==typeof e},exports.isHit=y,exports.isIOS=function(e){return"ios"===rt(e)},exports.isJSONString=C,exports.isJsonString=function(e){return C(e)},exports.isLinux=function(e){return"linux"===rt(e)},exports.isMacOS=function(e){return"macos"===rt(e)},exports.isMobile=q,exports.isNonEmptyArray=D,exports.isNonEmptyObject=function(e){return!!L(e)&&0!==Object.keys(e).length},exports.isNumber=_,exports.isPhone=function(e){return"mobile"===nt(e)},exports.isPureObject=L,exports.isSafePWAEnv=function(e={}){try{if(null===e||"object"!=typeof e||Array.isArray(e))return!1;const t=e.requireManifest,n=e.scope,r=e.environment;if(void 0!==t&&"boolean"!=typeof t||void 0!==n&&"string"!=typeof n)return!1;const o=it(r);if(!o)return!1;const{window:i,navigator:s,document:a}=o,c=s.serviceWorker;if(!0!==i.isSecureContext||null===c||"object"!=typeof c)return!1;if(void 0!==n&&!function(e,t){const n=e.trim();if(!n||/[?#]/.test(n))return!1;try{const e=new URL(t.location.href),r=new URL(n,e);if(r.origin!==e.origin||""!==r.search||""!==r.hash)return!1;if(e.pathname===r.pathname)return!0;const o=r.pathname.endsWith("/")?r.pathname:`${r.pathname}/`;return e.pathname.startsWith(o)}catch(e){return!1}}(n,i))return!1;if(!1===t)return!0;if(!a)return!1;const u=a.querySelector('link[rel~="manifest"][href]');return Boolean(u?.getAttribute("href")?.trim())}catch(e){return!1}},exports.isStandalonePWA=function(e={}){let t;try{if(null===e||"object"!=typeof e||Array.isArray(e))return!1;t=e.environment}catch(e){return!1}const n=it(t);if(!n)return!1;const{window:r,navigator:o}=n;try{const e=r.matchMedia;if("function"==typeof e&&e.call(r,"(display-mode: standalone)").matches)return!0}catch(e){}try{return!0===o.standalone}catch(e){return!1}},exports.isString=function(e){return"string"==typeof e},exports.isSupportWebp=function(){return at?Promise.resolve("webp"===at):new Promise(e=>{const t=new Image;t.onload=()=>{const n=t.width>0&&t.height>0;at=n?"webp":"no-webp",e(n)},t.onerror=()=>{at="no-webp",e(!1)},t.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="})},exports.isSupportedEntryType=Ve,exports.isTablet=function(e){return"tablet"===nt(e)},exports.isThisHour=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()&&t.getHours()===n.getHours()},exports.isThisMonth=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()},exports.isThisWeek=function(e){const t=i(e);if(!t)return!1;const n=new Date,r=(n.getDay()+6)%7;n.setHours(0,0,0,0),n.setDate(n.getDate()-r);const o=new Date(n.getTime());o.setDate(o.getDate()+7);const s=t.getTime();return s>=n.getTime()&&s<o.getTime()},exports.isThisYear=function(e){const t=i(e);return null!==t&&t.getFullYear()===(new Date).getFullYear()},exports.isToday=function(e){const t=i(e);if(!t)return!1;const n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()},exports.isUdfOrNul=function(e){return null==e},exports.isValidCssSelector=me,exports.isValidData=function(e,t,n){if(null===e||"object"!=typeof e)return!1;let r=e;for(const e of t){if(null===r||"object"!=typeof r&&"function"!=typeof r||!Object.hasOwn(r,e))return!1;r=r[e]}return r===n},exports.isValidDate=function(e){return null!==i(e)},exports.isValidEmail=function(e){return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)},exports.isValidHttpUrl=se,exports.isValidPhoneNumber=H,exports.isValidUrl=function(e){return/^[a-zA-Z0-9]+:\/\/[-a-zA-Z0-9@:%._+~#=]{1,256}\b([-a-zA-Z0-9\u4E00-\u9FA5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b()!@:%_+.~#?&//=]*)$/.test(e)},exports.isWindows=function(e){return"windows"===rt(e)},exports.listenMediaQueryChanges=function(e,t){if("function"!=typeof t)throw new TypeError("listener must be a function");if(null===e)return()=>{};if("object"!=typeof e)throw new TypeError("media must be a MediaQueryList or null");const n=e.addEventListener,r=e.removeEventListener;let o=null;if("function"==typeof n&&"function"==typeof r){const i=t;n.call(e,"change",i),o=()=>r.call(e,"change",i)}let i=!1;return()=>{i||(i=!0,o?.())}},exports.loadCSS=Be,exports.loadImage=function(e){return new Promise((t,n)=>{const r=new Image;r.onload=()=>{t(r)},r.onerror=e=>{n(e)},r.src=e})},exports.loadScript=qe,exports.loadScriptIfUndefined=function(e,t){if(window[e])return Promise.resolve("defined");let n=We.get(e);const r=n?.get(t);if(r)return r;n||(n=new Map,We.set(e,n));const o=()=>{n?.delete(t),0===n?.size&&We.delete(e)},i=qe(t).then(e=>(o(),e),e=>{throw o(),e});return n.set(t,i),i},exports.longestComSubsequence=h,exports.longestComSubstring=g,exports.mNow=c,exports.mTrim=function(e){return e.trim()},exports.mazeyCon=le,exports.newLine=function(e){return P(e)},exports.onURLChange=function(e,t={}){const{fireOnInit:n=!0}=t,r=history;let o=location.href;const i=[],s=t=>{const n=location.href;if(n===o&&"load"!==t)return;const r=o;o=n,e({url:n,oldUrl:r,trigger:t})},a=()=>s("popstate"),c=()=>s("hashchange");window.addEventListener("popstate",a),window.addEventListener("hashchange",c),i.push(()=>window.removeEventListener("popstate",a)),i.push(()=>window.removeEventListener("hashchange",c)),r.__mazeyUrlChangePatched__||(r.__mazeyUrlChangePatched__=!0,r.__mazeyUrlChangeSubscribers__=new Set,r.__mazeyRawPushState__=history.pushState.bind(history),r.__mazeyRawReplaceState__=history.replaceState.bind(history),history.pushState=function(...e){r.__mazeyRawPushState__(...e),r.__mazeyUrlChangeSubscribers__.forEach(e=>e("pushState"))},history.replaceState=function(...e){r.__mazeyRawReplaceState__(...e),r.__mazeyUrlChangeSubscribers__.forEach(e=>e("replaceState"))});const u=e=>s(e);return r.__mazeyUrlChangeSubscribers__.add(u),i.push(()=>r.__mazeyUrlChangeSubscribers__.delete(u)),n&&s("load"),()=>{i.forEach(e=>e())}},exports.parseGitHubRepository=function(e){if("string"!=typeof e)throw new TypeError("value must be a string");const t=e.trim();if(!t||/[%\\?#]/.test(t)||function(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n<=31||127===n)return!0}return!1}(t))throw ee();const n=t.match(/^(?:github:)?([^/:\s]+)\/([^/\s]+)$/i);if(n)return te(n[1],n[2]);const r=t.match(/^git@([^:\s]+):([^/\s]+)\/([^/\s]+)$/);if(r&&"github.com"===r[1].toLowerCase())return te(r[2],r[3]);const o=t.replace(/^git\+(?=(?:git|ssh|https?):\/\/)/i,""),i=o.match(/^[a-z][a-z\d+.-]*:\/\/([^/?#]+)/i);if(!i||/(^|\/)\.{1,2}(?:\/|$)/.test(o.slice(i[0].length)))throw ee();if(-1!==i[1].slice(i[1].lastIndexOf("@")+1).indexOf(":"))throw ee();let s;try{s=new URL(o)}catch(e){throw ee()}const a=s.protocol.toLowerCase(),c=s.hostname.toLowerCase().replace(/^www\./,"");if(!["git:","ssh:","http:","https:"].includes(a)||"github.com"!==c||""!==s.username&&"git"!==s.username||""!==s.password||""!==s.search||""!==s.hash)throw ee();const u=s.pathname.match(/^\/([^/]+)\/([^/]+)\/?$/);if(!u)throw ee();return te(u[1],u[2])},exports.parseJsonSafe=function(e,t=null){try{return JSON.parse(e)}catch(e){return t}},exports.parseLocalDateTime=function(e){if("string"!=typeof e)return null;const t=s.exec(e);if(!t)return null;const[n,i,a,c,u,l="0",f=""]=t.slice(1),p=Number(n),d=Number(i),m=Number(a),g=Number(c),h=Number(u),y=Number(l),w=Number(`${f}00`.slice(0,3));return p<1||!r(p,d,m,g,h,y,w)?null:o(p,d,m,g,h,y,w)},exports.removeClass=function(e,t){if(!e)return void le.error("The element is not exist.");let n;n=" "+e.className+" ",n=n.replace(/(\s+)/gi," "),n=n.replace(" "+t+" "," "),n=n.replace(/(^\s+)|(\s+$)/g,""),e.className=n},exports.removeCookie=Ie,exports.removeEvent=function(e,t){const n=Se(),r=n[e];if("string"==typeof e&&Array.isArray(r))if("function"==typeof t){for(let o=0,i=r.length;o<i;o++)if(r[o]===t){n[e].splice(o,1);break}}else delete n[e]},exports.removeHTML=F,exports.removeHtml=function(e,t={}){return F(e,t)},exports.repeatUntilConditionMet=function(e,t={},n=e=>!0===e){const{interval:r=1e3,times:o=10,context:i,args:s}=t;if("function"!=typeof e)return void console.error("Expected a function.");if(!Number.isFinite(r)||r<0)return void console.error("Expected a non-negative number for interval.");if(!Number.isFinite(o)||o<0)return void console.error("Expected a non-negative number for times.");if(0===o)return;let a=0;const c=()=>{setTimeout(async()=>{const t=await e.apply(i,s);n(t)||++a>=o||c()},r)};c()},exports.replaceHttp=function(e){return ae(e)},exports.resolveElementTarget=function(e,t){if(void 0===e)return ge(t.defaultElement)?t.defaultElement:null;let n=t.unwrap?t.unwrap(e):e;if(null==n)return null;if("string"==typeof n)try{return t.root.querySelector(n)}catch(e){return null}return"object"==typeof n&&"$el"in n&&(n=n.$el),ge(n)?n:null},exports.resolveLanguagePreference=function(e){ct(e);const t=yt(ut("lang"));if(t)return bt(t);const n=yt(lt(e));return bt(n||(yt(function(){if("undefined"==typeof window||"undefined"==typeof navigator)return null;try{return"string"==typeof navigator.language?navigator.language:null}catch(e){return null}}())??"en"))},exports.resolveThemePreference=function(e){ct(e);const t=ut(e);if(dt(t))return gt(t,t);const n=lt(e);if(dt(n))return gt(n,n);const r=mt();return"system"===n&&r||r?gt(r,"system"):gt("light","light")},exports.sanitizeInput=function(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"};if("string"!=typeof e)throw new Error("Input must be a string");return e.replace(/[&<>"'/]/g,e=>t[e])},exports.setClass=function(e,t){pe(e,t)},exports.setCookie=function(e,t,n,r){let o;if(n){const e=new Date;e.setTime(e.getTime()+24*n*60*60*1e3),o="; expires="+e.toUTCString()}else o="";const i=function(e){let t=!0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);if(!(33===r||r>=35&&r<=43||r>=45&&r<=58||r>=60&&r<=91||r>=93&&r<=126)){t=!1;break}}return{isEncoded:!t,value:t?e:encodeURIComponent(e)}}(t),s=Fe(e),a=i.isEncoded?"1":"",c=i.isEncoded?o:"; expires=Thu, 01 Jan 1970 00:00:00 GMT",u=[`${s}=${i.value}${o}; path=/`,`${Pe(e)}=${a}${c}; path=/`],l=e=>{const t=e?`; domain=${e}`:"";u.forEach(e=>{document.cookie=`${e}${t}`})},f=location.hostname;if(r)l(r);else if(-1===f.indexOf("."))l();else{const n=f.split(".");n.shift();l("."+n.join(".")),ze(e)!==t&&l(`.${f}`)}},exports.setImgSizeBySrc=de,exports.setImgWidHeiBySrc=function(){return de()},exports.setLanguagePreference=function(e,t){ct(e);const n=yt(t);if(!n)throw new TypeError("language must be a valid language tag.");return ft(e,n)},exports.setLocalJSON=$e,exports.setLocalStorage=Me,exports.setSessionJSON=Ce,exports.setSessionStorage=_e,exports.setThemePreference=function(e,t){if(ct(e),!function(e){return"system"===e||dt(e)}(t))throw new TypeError('value must be "system", "light", or "dark".');return ft(e,t)},exports.sha256Hex=async function(e){const t="undefined"==typeof crypto?null:crypto;if(!t?.subtle||"function"!=typeof t.subtle.digest)throw new Error("Web Crypto API is not available.");let n=e;if("string"==typeof e){if("undefined"==typeof TextEncoder)throw new Error("TextEncoder is not available.");n=(new TextEncoder).encode(e)}const r=await t.subtle.digest("SHA-256",n);let o="";const i=new Uint8Array(r);for(let e=0;e<i.length;e++){const t=i[e].toString(16);o+=1===t.length?`0${t}`:t}return o},exports.show=function(e){return ve(e).forEach(e=>{he.has(e)?(e.style.display=he.get(e),he.delete(e)):"none"===e.style.display&&(e.style.display=""),""===e.style.display&&"none"===Ee(e)&&(e.style.display=Te(e))}),e},exports.sleep=async function(e){return W(e)},exports.subYears=function(t,n){const r="number"==typeof t?t:"object"==typeof t&&null!==t?e(t):null,o=new Date(r??NaN),i="number"==typeof n?n<0?Math.ceil(n):Math.floor(n):NaN;if(!Number.isFinite(o.getTime())||!Number.isFinite(i))return new Date(NaN);if(0===i)return o;const s=o.getMonth(),a=o.getDate(),c=o.getFullYear()-i,u=new Date(o.getTime());return u.setFullYear(c,s+1,0),a>=u.getDate()?u:(o.setFullYear(c,s,a),o)},exports.throttle=function(e,t,n={}){n=Object.assign({},n);let r=null,o=null,i=null,[s,a]=[null,0];const u=function(){a=!1===n.leading?0:c(),i=null,s=e.apply(this,o),i||(r=o=null)};return function(...l){const f=c();a||!1!==n.leading||(a=f);const p=t-(f-a);return r=this,o=l,p<=0||p>t?(i&&(clearTimeout(i),i=null),a=f,s=e.apply(r,o),i||(r=o=null)):i||!1===n.trailing||(i=setTimeout(u.bind(r),p)),s}},exports.timeCon=fe,exports.toJavaScriptGlobalName=A,exports.truncateZHString=z,exports.unsanitize=function(e){return R(e)},exports.unsanitizeInput=R,exports.updateQueryParam=function(e,t,n){const r=e.indexOf("#"),o=-1===r?"":e.slice(r),i=-1===r?e:e.slice(0,r),s=i.indexOf("?"),a=-1===s?i:i.slice(0,s),c=-1===s?"":i.slice(s+1),u=encodeURIComponent(t),l=encodeURIComponent(n);let f=!1;const p=(c?c.split("&").filter(Boolean):[]).reduce((e,n)=>{const r=n.indexOf("=");return J(-1===r?n:n.slice(0,r))===t?f||(e.push(`${u}=${l}`),f=!0):e.push(n),e},[]);return f||p.push(`${u}=${l}`),`${a}?${p.join("&")}${o}`},exports.waitTime=W,exports.watchServiceWorkerUpdates=function(e,t,n){if(null===e||"object"!=typeof e||"function"!=typeof e.addEventListener||"function"!=typeof e.removeEventListener)throw new TypeError("registration must support event listeners");if(null===t||"object"!=typeof t||"function"!=typeof t.addEventListener||"function"!=typeof t.removeEventListener)throw new TypeError("container must support event listeners");if(null===n||"object"!=typeof n||"function"!=typeof n.onUpdateAvailable||void 0!==n.onControllerChange&&"function"!=typeof n.onControllerChange)throw new TypeError("callbacks must provide onUpdateAvailable");let r=!1,o=null,i=null,s=!1,a=!1;const c=e=>{r||i===e||(i=e,n.onUpdateAvailable(e))},u=()=>{!r&&"installed"===o?.state&&t.controller&&c(o)},l=()=>{r||(o?.removeEventListener("statechange",u),o=e.installing,o?.addEventListener("statechange",u),u())},f=()=>{r||n.onControllerChange?.()},p=()=>{if(s){try{e.removeEventListener("updatefound",l)}catch(e){}s=!1}try{o?.removeEventListener("statechange",u)}catch(e){}if(a){try{t.removeEventListener("controllerchange",f)}catch(e){}a=!1}};try{e.addEventListener("updatefound",l),s=!0,t.addEventListener("controllerchange",f),a=!0,e.waiting&&t.controller&&c(e.waiting),e.installing&&l()}catch(e){throw r=!0,p(),o=null,i=null,e}return{activateWaiting(e={type:"SKIP_WAITING"}){if(r||!i)return!1;try{return i.postMessage(e),!0}catch(e){return!1}},dispose(){r||(r=!0,p(),o=null,i=null)}}},exports.windowLoaded=function(e=3e4){return new Promise((t,n)=>{let r=null;const o=()=>{window.removeEventListener("load",i),null!==r&&(clearTimeout(r),r=null)},i=()=>{o(),t("load")};"complete"!==document.readyState?(window.addEventListener("load",i),r=setTimeout(()=>{o(),n(new Error("timeout"))},e)):t("complete")})},exports.zAxiosIsValidRes=function(e,t={validStatusRange:[200,300],validCode:[0]}){const n=t||{},{validStatusRange:r=[200,300],validCode:o=[0]}=n;2!==r.length&&console.error("valid validStatusRange is required");let i=!1;if(e&&e.status&&2===r.length&&e.status>=r[0]&&e.status<r[1]){const t=e.data;t&&o.includes(t.code)&&(i=!0)}return i};
package/lib/index.d.ts CHANGED
@@ -3990,6 +3990,35 @@ declare function isLinux(userAgent?: string): boolean;
3990
3990
  * @category Browser Information
3991
3991
  */
3992
3992
  declare function detectVisitorType(userAgent?: string): VisitorType;
3993
+ /**
3994
+ * Browser objects used by Mazey's synchronous PWA capability checks.
3995
+ *
3996
+ * Supply an environment when the caller already owns browser references, such
3997
+ * as a site initializer, iframe integration, or deterministic test. Injected
3998
+ * objects are used exclusively and are never combined with global browser
3999
+ * objects.
4000
+ *
4001
+ * @category Browser Information
4002
+ */
4003
+ interface PWAEnvironment {
4004
+ /** Window capabilities used by PWA scope and display-mode checks. */
4005
+ window: Pick<Window, "isSecureContext" | "location" | "matchMedia">;
4006
+ /** Navigator capabilities used by Service Worker and iOS standalone checks. */
4007
+ navigator: Navigator & {
4008
+ readonly standalone?: boolean;
4009
+ };
4010
+ /** Document inspected for a web app manifest when one is required. */
4011
+ document?: Document;
4012
+ }
4013
+ /**
4014
+ * Options for {@link isStandalonePWA}.
4015
+ *
4016
+ * @category Browser Information
4017
+ */
4018
+ interface IsStandalonePWAOptions {
4019
+ /** Browser objects to inspect instead of browser globals. */
4020
+ environment?: PWAEnvironment;
4021
+ }
3993
4022
  /**
3994
4023
  * Options for {@link isSafePWAEnv}.
3995
4024
  *
@@ -4003,6 +4032,8 @@ interface IsSafePWAEnvOptions {
4003
4032
  * Comparison uses serialized WHATWG URL paths; encoded separators remain encoded.
4004
4033
  */
4005
4034
  scope?: string;
4035
+ /** Browser objects to inspect instead of browser globals. */
4036
+ environment?: PWAEnvironment;
4006
4037
  }
4007
4038
  /**
4008
4039
  * Detect whether the current browser document provides the minimum
@@ -4033,8 +4064,20 @@ interface IsSafePWAEnvOptions {
4033
4064
  * true
4034
4065
  * ```
4035
4066
  *
4036
- * @remarks Browser-preferred and safe to call during SSR.
4037
- * @param options Optional manifest and URL-scope requirements.
4067
+ * Callers that already own browser references can inject them without changing
4068
+ * globals:
4069
+ *
4070
+ * ```javascript
4071
+ * const ret = isSafePWAEnv({
4072
+ * scope: "/app/",
4073
+ * environment: { window, navigator, document },
4074
+ * });
4075
+ * ```
4076
+ *
4077
+ * @remarks Browser-preferred and safe to call during SSR. When `environment`
4078
+ * is provided, only those objects are inspected; missing injected capabilities
4079
+ * return `false` rather than falling back to globals.
4080
+ * @param options Optional manifest, URL-scope, and browser-environment requirements.
4038
4081
  * @returns Whether the detectable minimum PWA prerequisites are satisfied.
4039
4082
  * @category Browser Information
4040
4083
  */
@@ -4046,11 +4089,23 @@ declare function isSafePWAEnv(options?: IsSafePWAEnvOptions): boolean;
4046
4089
  * `navigator.standalone` compatibility signal. This does not prove that the app
4047
4090
  * is installed, trusted, or controlled by a service worker.
4048
4091
  *
4049
- * @remarks Browser-preferred and safe to call during SSR.
4092
+ * Callers that already own browser references can inject them without changing
4093
+ * globals:
4094
+ *
4095
+ * ```javascript
4096
+ * const standalone = isStandalonePWA({
4097
+ * environment: { window, navigator },
4098
+ * });
4099
+ * ```
4100
+ *
4101
+ * @remarks Browser-preferred and safe to call during SSR. This is a one-time
4102
+ * synchronous read and does not install listeners. When `environment` is
4103
+ * supplied, only those objects are inspected.
4104
+ * @param options Optional browser environment to inspect instead of globals.
4050
4105
  * @returns `true` in detected standalone presentation; otherwise `false`.
4051
4106
  * @category Browser Information
4052
4107
  */
4053
- declare function isStandalonePWA(): boolean;
4108
+ declare function isStandalonePWA(options?: IsStandalonePWAOptions): boolean;
4054
4109
  /**
4055
4110
  * Return detailed information about the current browser.
4056
4111
  *
@@ -4281,13 +4336,12 @@ declare function getSystemTheme(): ResolvedTheme | null;
4281
4336
  /**
4282
4337
  * Resolve the current website theme.
4283
4338
  *
4284
- * Resolution checks the fixed `theme` URL query, the supplied local-storage
4285
- * key, the current `prefers-color-scheme` media query, and finally the fixed
4286
- * `light` fallback. Query values accept only `light` and `dark`. Storage also
4287
- * accepts `system`, which resolves to a concrete value while retaining the
4288
- * `System` label. A valid query preference is written under the supplied
4289
- * storage key when browser storage is available; resolution still succeeds
4290
- * when the write fails.
4339
+ * Resolution checks the URL query named by `storageKey`, local storage under
4340
+ * the same key, the current `prefers-color-scheme` media query, and finally
4341
+ * the fixed `light` fallback. Query values accept only `light` and `dark`.
4342
+ * Storage also accepts `system`, which resolves to a concrete value while
4343
+ * retaining the `System` label. URL query preferences apply only to the
4344
+ * current resolution and are not persisted.
4291
4345
  *
4292
4346
  * Resolution matrix:
4293
4347
  *
@@ -4332,10 +4386,10 @@ declare function getSystemTheme(): ResolvedTheme | null;
4332
4386
  * }
4333
4387
  * ```
4334
4388
  *
4335
- * @param storageKey Project-specific local-storage key.
4389
+ * @param storageKey Project-specific URL query and local-storage key.
4336
4390
  * @returns The concrete `light` or `dark` value and the label of the preference that selected it.
4337
4391
  * @throws {TypeError} If `storageKey` is not a non-empty string.
4338
- * @remarks Safe during SSR and resilient to unavailable or throwing browser APIs. A valid URL preference is written to storage when possible; other resolution paths remain read-only. The function never mutates the DOM or adds listeners.
4392
+ * @remarks Safe during SSR and resilient to unavailable or throwing browser APIs. Resolution is read-only: the function never writes storage, mutates the DOM, or adds listeners.
4339
4393
  * @category Browser Information
4340
4394
  */
4341
4395
  declare function resolveThemePreference(storageKey: string): PreferenceResult<ResolvedTheme>;
@@ -4530,4 +4584,4 @@ declare const mazeyCon: Console;
4530
4584
  declare const timeCon: Console;
4531
4585
 
4532
4586
  export { addClass, addEvent, addStyle, assignDefined, calLongestCommonSubsequence, calLongestCommonSubstring, calculateAspectRatio, calculateCAGR, camelCase2Underscore, camelCaseToKebabCase, cancelBubble, clearHTML, clearHtml, convert10To26, convertCamelToKebab, convertCamelToUnder, convertHttpToHttps, convertKebabToCamel, convertObjectToQuery, convertToHtmlBreaks, convertUnderToCamel, cutCHSString, cutZHString, debounce, deepCopy, deepCopyObject, deepFreeze, delCookie, derivePackageMetadata, detectVisitorType, doFn, escapeHtmlAttribute, extractElementText, fireEvent, floatFixed, floatToPercent, formatByteSize, formatDate, formatDistanceToNow, formatDurationFromMs, formatLocalDateTime, genBrowserAttrs, genCustomConsole, genHashCode, genRndNumString, genStyleString, genUniqueNumString, generateCalendarVersion, generateRndNum, generateUniqueNum, getAllQueryParams, getBrowserInfo, getCLS, getCookie, getCurrentVersion, getDateDifference, getDefineListeners, getDomain, getFCP, getFID, getFP, getFileSize, getFriendlyInterval, getHashQueryParam, getLCP, getLocalJSON, getLocalStorage, getPageMeta, getPerformance, getQueryParam, getScriptQueryParam, getSessionJSON, getSessionStorage, getSystemTheme, getTTFB, getUrlFileType, getUrlHost, getUrlParam, getUrlPath, hasClass, hide, inRate, invokeEvent, invokeFn, isAndroid, isArray, isBool, isBoolean, isBrowser, isDesktop, isFunction, isHit, isIOS, isJSONString, isJsonString, isLinux, isMacOS, isMobile, isNonEmptyArray, isNonEmptyObject, isNumber, isPhone, isPureObject, isSafePWAEnv, isStandalonePWA, isString, isSupportWebp, isSupportedEntryType, isTablet, isThisHour, isThisMonth, isThisWeek, isThisYear, isToday, isUdfOrNul, isValidCssSelector, isValidData, isValidDate, isValidEmail, isValidHttpUrl, isValidPhoneNumber, isValidUrl, isWindows, listenMediaQueryChanges, loadCSS, loadImage, loadScript, loadScriptIfUndefined, longestComSubsequence, longestComSubstring, mNow, mTrim, mazeyCon, newLine, onURLChange, parseGitHubRepository, parseJsonSafe, parseLocalDateTime, removeClass, removeCookie, removeEvent, removeHTML, removeHtml, repeatUntilConditionMet, replaceHttp, resolveElementTarget, resolveLanguagePreference, resolveThemePreference, sanitizeInput, setClass, setCookie, setImgSizeBySrc, setImgWidHeiBySrc, setLanguagePreference, setLocalJSON, setLocalStorage, setSessionJSON, setSessionStorage, setThemePreference, sha256Hex, show, sleep, subYears, throttle, timeCon, toJavaScriptGlobalName, truncateZHString, unsanitize, unsanitizeInput, updateQueryParam, waitTime, watchServiceWorkerUpdates, windowLoaded, zAxiosIsValidRes };
4533
- export type { DerivePackageMetadataOptions, DerivedPackageMetadata, DomVisibilityTarget, FormatByteSizeOptions, GitHubRepositoryDetails, InvestmentReturnRate, IsSafePWAEnvOptions, LocalDateTimePrecision, PackageManager, PackageManifest, PackageManifestAuthor, PreferenceResult, ResolveElementTargetOptions, ResolvedTheme, ServiceWorkerUpdateCallbacks, ServiceWorkerUpdateWatcher, ThemePreference, VisitorType };
4587
+ export type { DerivePackageMetadataOptions, DerivedPackageMetadata, DomVisibilityTarget, FormatByteSizeOptions, GitHubRepositoryDetails, InvestmentReturnRate, IsSafePWAEnvOptions, IsStandalonePWAOptions, LocalDateTimePrecision, PWAEnvironment, PackageManager, PackageManifest, PackageManifestAuthor, PreferenceResult, ResolveElementTargetOptions, ResolvedTheme, ServiceWorkerUpdateCallbacks, ServiceWorkerUpdateWatcher, ThemePreference, VisitorType };