From f33ef580876864bf50b8bdc8d1e1af39dbc1224d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 28 May 2025 05:47:26 +0000 Subject: [PATCH] release: 2.19.56 --- .gitkeep | 0 cron-sync-artifacts.min.js | 1152 ++++++++++++++++++++ sub-store-0.min.js | 1152 ++++++++++++++++++++ sub-store-1.min.js | 1165 +++++++++++++++++++++ sub-store-parser.loon.min.js | 1149 ++++++++++++++++++++ sub-store.bundle.js | 1915 ++++++++++++++++++++++++++++++++++ sub-store.no-bundle.js | 1169 +++++++++++++++++++++ 7 files changed, 7702 insertions(+) create mode 100644 .gitkeep create mode 100644 cron-sync-artifacts.min.js create mode 100644 sub-store-0.min.js create mode 100644 sub-store-1.min.js create mode 100644 sub-store-parser.loon.min.js create mode 100644 sub-store.bundle.js create mode 100644 sub-store.no-bundle.js diff --git a/.gitkeep b/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/cron-sync-artifacts.min.js b/cron-sync-artifacts.min.js new file mode 100644 index 0000000..8d4fdea --- /dev/null +++ b/cron-sync-artifacts.min.js @@ -0,0 +1,1152 @@ +(()=>{var m3=Object.create;var X1=Object.defineProperty;var v3=Object.getOwnPropertyDescriptor;var w3=Object.getOwnPropertyNames;var A3=Object.getPrototypeOf,E3=Object.prototype.hasOwnProperty;var Sa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var be=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var y3=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of w3(t))!E3.call(e,s)&&s!==r&&X1(e,s,{get:()=>t[s],enumerable:!(n=v3(t,s))||n.enumerable});return e};var jn=(e,t,r)=>(r=e!=null?m3(A3(e)):{},y3(t||!e||!e.__esModule?X1(r,"default",{value:e,enumerable:!0}):r,e));var pp=be(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.isCorrect=Du.isInSubnet=void 0;function T3(e){return this.subnetMask{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.RE_SUBNET_STRING=gi.RE_ADDRESS=gi.GROUPS=gi.BITS=void 0;gi.BITS=32;gi.GROUPS=4;gi.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;gi.RE_SUBNET_STRING=/\/\d{1,2}$/});var Nl=be(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});kl.AddressError=void 0;var gp=class extends Error{constructor(t,r){super(t),this.name="AddressError",r!==null&&(this.parseMessage=r)}};kl.AddressError=gp});var mp=be((Ll,ng)=>{(function(){var e,t=0xdeadbeefcafe,r=(t&16777215)==15715070;function n($,T,L){$!=null&&(typeof $=="number"?this.fromNumber($,T,L):T==null&&typeof $!="string"?this.fromString($,256):this.fromString($,T))}function s(){return new n(null)}function a($,T,L,Z,pe,me){for(;--me>=0;){var Fe=T*this[$++]+L[Z]+pe;pe=Math.floor(Fe/67108864),L[Z++]=Fe&67108863}return pe}function i($,T,L,Z,pe,me){for(var Fe=T&32767,Pe=T>>15;--me>=0;){var wt=this[$]&32767,Nt=this[$++]>>15,mr=Pe*wt+Nt*Fe;wt=Fe*wt+((mr&32767)<<15)+L[Z]+(pe&1073741823),pe=(wt>>>30)+(mr>>>15)+Pe*Nt+(pe>>>30),L[Z++]=wt&1073741823}return pe}function c($,T,L,Z,pe,me){for(var Fe=T&16383,Pe=T>>14;--me>=0;){var wt=this[$]&16383,Nt=this[$++]>>14,mr=Pe*wt+Nt*Fe;wt=Fe*wt+((mr&16383)<<14)+L[Z]+pe,pe=(wt>>28)+(mr>>14)+Pe*Nt,L[Z++]=wt&268435455}return pe}var l=typeof navigator<"u";l&&r&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=i,e=30):l&&r&&navigator.appName!="Netscape"?(n.prototype.am=a,e=26):(n.prototype.am=c,e=28),n.prototype.DB=e,n.prototype.DM=(1<=0;--T)$[T]=this[T];$.t=this.t,$.s=this.s}function w($){this.t=1,this.s=$<0?-1:0,$>0?this[0]=$:$<-1?this[0]=$+this.DV:this.t=0}function S($){var T=s();return T.fromInt($),T}function F($,T){var L;if(T==16)L=4;else if(T==8)L=3;else if(T==256)L=8;else if(T==2)L=1;else if(T==32)L=5;else if(T==4)L=2;else{this.fromRadix($,T);return}this.t=0,this.s=0;for(var Z=$.length,pe=!1,me=0;--Z>=0;){var Fe=L==8?$[Z]&255:v($,Z);if(Fe<0){$.charAt(Z)=="-"&&(pe=!0);continue}pe=!1,me==0?this[this.t++]=Fe:me+L>this.DB?(this[this.t-1]|=(Fe&(1<>this.DB-me):this[this.t-1]|=Fe<=this.DB&&(me-=this.DB)}L==8&&$[0]&128&&(this.s=-1,me>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==$;)--this.t}function I($){if(this.s<0)return"-"+this.negate().toString($);var T;if($==16)T=4;else if($==8)T=3;else if($==2)T=1;else if($==32)T=5;else if($==4)T=2;else return this.toRadix($);var L=(1<0)for(Pe>Pe)>0&&(pe=!0,me=E(Z));Fe>=0;)Pe>(Pe+=this.DB-T)):(Z=this[Fe]>>(Pe-=T)&L,Pe<=0&&(Pe+=this.DB,--Fe)),Z>0&&(pe=!0),pe&&(me+=E(Z));return pe?me:"0"}function j(){var $=s();return n.ZERO.subTo(this,$),$}function q(){return this.s<0?this.negate():this}function _($){var T=this.s-$.s;if(T!=0)return T;var L=this.t;if(T=L-$.t,T!=0)return this.s<0?-T:T;for(;--L>=0;)if((T=this[L]-$[L])!=0)return T;return 0}function P($){var T=1,L;return(L=$>>>16)!=0&&($=L,T+=16),(L=$>>8)!=0&&($=L,T+=8),(L=$>>4)!=0&&($=L,T+=4),(L=$>>2)!=0&&($=L,T+=2),(L=$>>1)!=0&&($=L,T+=1),T}function k(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)}function U($,T){var L;for(L=this.t-1;L>=0;--L)T[L+$]=this[L];for(L=$-1;L>=0;--L)T[L]=0;T.t=this.t+$,T.s=this.s}function M($,T){for(var L=$;L=0;--Pe)T[Pe+me+1]=this[Pe]>>Z|Fe,Fe=(this[Pe]&pe)<=0;--Pe)T[Pe]=0;T[me]=Fe,T.t=this.t+me+1,T.s=this.s,T.clamp()}function K($,T){T.s=this.s;var L=Math.floor($/this.DB);if(L>=this.t){T.t=0;return}var Z=$%this.DB,pe=this.DB-Z,me=(1<>Z;for(var Fe=L+1;Fe>Z;Z>0&&(T[this.t-L-1]|=(this.s&me)<>=this.DB;if($.t>=this.DB;Z+=this.s}else{for(Z+=this.s;L<$.t;)Z-=$[L],T[L++]=Z&this.DM,Z>>=this.DB;Z-=$.s}T.s=Z<0?-1:0,Z<-1?T[L++]=this.DV+Z:Z>0&&(T[L++]=Z),T.t=L,T.clamp()}function z($,T){var L=this.abs(),Z=$.abs(),pe=L.t;for(T.t=pe+Z.t;--pe>=0;)T[pe]=0;for(pe=0;pe=0;)$[L]=0;for(L=0;L=T.DV&&($[L+T.t]-=T.DV,$[L+T.t+1]=1)}$.t>0&&($[$.t-1]+=T.am(L,T[L],$,2*L,0,1)),$.s=0,$.clamp()}function Ee($,T,L){var Z=$.abs();if(!(Z.t<=0)){var pe=this.abs();if(pe.t0?(Z.lShiftTo(wt,me),pe.lShiftTo(wt,L)):(Z.copyTo(me),pe.copyTo(L));var Nt=me.t,mr=me[Nt-1];if(mr!=0){var vr=mr*(1<1?me[Nt-2]>>this.F2:0),hn=this.FV/vr,Is=(1<=0&&(L[L.t++]=1,L.subTo(Tn,L)),n.ONE.dlShiftTo(Nt,Tn),Tn.subTo(me,me);me.t=0;){var fa=L[--wr]==mr?this.DM:Math.floor(L[wr]*hn+(L[wr-1]+Nr)*Is);if((L[wr]+=me.am(0,fa,L,Bs,0,Nt))0&&L.rShiftTo(wt,L),Fe<0&&n.ZERO.subTo(L,L)}}}function we($){var T=s();return this.abs().divRemTo($,null,T),this.s<0&&T.compareTo(n.ZERO)>0&&$.subTo(T,T),T}function _e($){this.m=$}function He($){return $.s<0||$.compareTo(this.m)>=0?$.mod(this.m):$}function ue($){return $}function Ce($){$.divRemTo(this.m,null,$)}function Oe($,T,L){$.multiplyTo(T,L),this.reduce(L)}function sr($,T){$.squareTo(T),this.reduce(T)}_e.prototype.convert=He,_e.prototype.revert=ue,_e.prototype.reduce=Ce,_e.prototype.mulTo=Oe,_e.prototype.sqrTo=sr;function _t(){if(this.t<1)return 0;var $=this[0];if(!($&1))return 0;var T=$&3;return T=T*(2-($&15)*T)&15,T=T*(2-($&255)*T)&255,T=T*(2-(($&65535)*T&65535))&65535,T=T*(2-$*T%this.DV)%this.DV,T>0?this.DV-T:-T}function lt($){this.m=$,this.mp=$.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<$.DB-15)-1,this.mt2=2*$.t}function Mt($){var T=s();return $.abs().dlShiftTo(this.m.t,T),T.divRemTo(this.m,null,T),$.s<0&&T.compareTo(n.ZERO)>0&&this.m.subTo(T,T),T}function Pt($){var T=s();return $.copyTo(T),this.reduce(T),T}function Qe($){for(;$.t<=this.mt2;)$[$.t++]=0;for(var T=0;T>15)*this.mpl&this.um)<<15)&$.DM;for(L=T+this.m.t,$[L]+=this.m.am(0,Z,$,T,0,this.m.t);$[L]>=$.DV;)$[L]-=$.DV,$[++L]++}$.clamp(),$.drShiftTo(this.m.t,$),$.compareTo(this.m)>=0&&$.subTo(this.m,$)}function bt($,T){$.squareTo(T),this.reduce(T)}function Je($,T,L){$.multiplyTo(T,L),this.reduce(L)}lt.prototype.convert=Mt,lt.prototype.revert=Pt,lt.prototype.reduce=Qe,lt.prototype.mulTo=Je,lt.prototype.sqrTo=bt;function ht(){return(this.t>0?this[0]&1:this.s)==0}function qt($,T){if($>4294967295||$<1)return n.ONE;var L=s(),Z=s(),pe=T.convert(this),me=P($)-1;for(pe.copyTo(L);--me>=0;)if(T.sqrTo(L,Z),($&1<0)T.mulTo(Z,pe,L);else{var Fe=L;L=Z,Z=Fe}return T.revert(L)}function ze($,T){var L;return $<256||T.isEven()?L=new _e(T):L=new lt(T),this.exp($,L)}n.prototype.copyTo=b,n.prototype.fromInt=w,n.prototype.fromString=F,n.prototype.clamp=D,n.prototype.dlShiftTo=U,n.prototype.drShiftTo=M,n.prototype.lShiftTo=W,n.prototype.rShiftTo=K,n.prototype.subTo=V,n.prototype.multiplyTo=z,n.prototype.squareTo=ne,n.prototype.divRemTo=Ee,n.prototype.invDigit=_t,n.prototype.isEven=ht,n.prototype.exp=qt,n.prototype.toString=I,n.prototype.negate=j,n.prototype.abs=q,n.prototype.compareTo=_,n.prototype.bitLength=k,n.prototype.mod=we,n.prototype.modPowInt=ze,n.ZERO=S(0),n.ONE=S(1);function Ot(){var $=s();return this.copyTo($),$}function Rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function gr(){return this.t==0?this.s:this[0]<<16>>16}function zt($){return Math.floor(Math.LN2*this.DB/Math.log($))}function br(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Xs($){if($==null&&($=10),this.signum()==0||$<2||$>36)return"0";var T=this.chunkSize($),L=Math.pow($,T),Z=S(L),pe=s(),me=s(),Fe="";for(this.divRemTo(Z,pe,me);pe.signum()>0;)Fe=(L+me.intValue()).toString($).substr(1)+Fe,pe.divRemTo(Z,pe,me);return me.intValue().toString($)+Fe}function Or($,T){this.fromInt(0),T==null&&(T=10);for(var L=this.chunkSize(T),Z=Math.pow(T,L),pe=!1,me=0,Fe=0,Pe=0;Pe<$.length;++Pe){var wt=v($,Pe);if(wt<0){$.charAt(Pe)=="-"&&this.signum()==0&&(pe=!0);continue}Fe=T*Fe+wt,++me>=L&&(this.dMultiply(Z),this.dAddOffset(Fe,0),me=0,Fe=0)}me>0&&(this.dMultiply(Math.pow(T,me)),this.dAddOffset(Fe,0)),pe&&n.ZERO.subTo(this,this)}function pt($,T,L){if(typeof T=="number")if($<2)this.fromInt(1);else for(this.fromNumber($,L),this.testBit($-1)||this.bitwiseTo(n.ONE.shiftLeft($-1),Oi,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(T);)this.dAddOffset(2,0),this.bitLength()>$&&this.subTo(n.ONE.shiftLeft($-1),this);else{var Z=new Array,pe=$&7;Z.length=($>>3)+1,T.nextBytes(Z),pe>0?Z[0]&=(1<0)for(L>L)!=(this.s&this.DM)>>L&&(T[pe++]=Z|this.s<=0;)L<8?(Z=(this[$]&(1<>(L+=this.DB-8)):(Z=this[$]>>(L-=8)&255,L<=0&&(L+=this.DB,--$)),Z&128&&(Z|=-256),pe==0&&(this.s&128)!=(Z&128)&&++pe,(pe>0||Z!=this.s)&&(T[pe++]=Z);return T}function We($){return this.compareTo($)==0}function Cr($){return this.compareTo($)<0?this:$}function Js($){return this.compareTo($)>0?this:$}function Zs($,T,L){var Z,pe,me=Math.min($.t,this.t);for(Z=0;Z>=16,T+=16),$&255||($>>=8,T+=8),$&15||($>>=4,T+=4),$&3||($>>=2,T+=2),$&1||++T,T}function Xa(){for(var $=0;$=this.t?this.s!=0:(this[T]&1<<$%this.DB)!=0}function lo($,T){var L=n.ONE.shiftLeft($);return this.bitwiseTo(L,T,L),L}function fo($){return this.changeBit($,Oi)}function ho($){return this.changeBit($,ki)}function Cs($){return this.changeBit($,bs)}function po($,T){for(var L=0,Z=0,pe=Math.min($.t,this.t);L>=this.DB;if($.t>=this.DB;Z+=this.s}else{for(Z+=this.s;L<$.t;)Z+=$[L],T[L++]=Z&this.DM,Z>>=this.DB;Z+=$.s}T.s=Z<0?-1:0,Z>0?T[L++]=Z:Z<-1&&(T[L++]=this.DV+Z),T.t=L,T.clamp()}function ra($){var T=s();return this.addTo($,T),T}function go($){var T=s();return this.subTo($,T),T}function mo($){var T=s();return this.multiplyTo($,T),T}function vo(){var $=s();return this.squareTo($),$}function wo($){var T=s();return this.divRemTo($,T,null),T}function Ao($){var T=s();return this.divRemTo($,null,T),T}function Eo($){var T=s(),L=s();return this.divRemTo($,T,L),new Array(T,L)}function yo($){this[this.t]=this.am(0,$-1,this,0,0,this.t),++this.t,this.clamp()}function So($,T){if($!=0){for(;this.t<=T;)this[this.t++]=0;for(this[T]+=$;this[T]>=this.DV;)this[T]-=this.DV,++T>=this.t&&(this[this.t++]=0),++this[T]}}function si(){}function Qa($){return $}function bo($,T,L){$.multiplyTo(T,L)}function Co($,T){$.squareTo(T)}si.prototype.convert=Qa,si.prototype.revert=Qa,si.prototype.mulTo=bo,si.prototype.sqrTo=Co;function Fo($){return this.exp($,new si)}function eu($,T,L){var Z=Math.min(this.t+$.t,T);for(L.s=0,L.t=Z;Z>0;)L[--Z]=0;var pe;for(pe=L.t-this.t;Z=0;)L[Z]=0;for(Z=Math.max(T-this.t,0);Z<$.t;++Z)L[this.t+Z-T]=this.am(T-Z,$[Z],L,0,0,this.t+Z-T);L.clamp(),L.drShiftTo(1,L)}function zr($){this.r2=s(),this.q3=s(),n.ONE.dlShiftTo(2*$.t,this.r2),this.mu=this.r2.divide($),this.m=$}function _o($){if($.s<0||$.t>2*this.m.t)return $.mod(this.m);if($.compareTo(this.m)<0)return $;var T=s();return $.copyTo(T),this.reduce(T),T}function Fs($){return $}function fn($){for($.drShiftTo(this.m.t-1,this.r2),$.t>this.m.t+1&&($.t=this.m.t+1,$.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);$.compareTo(this.r2)<0;)$.dAddOffset(1,this.m.t+1);for($.subTo(this.r2,$);$.compareTo(this.m)>=0;)$.subTo(this.m,$)}function Io($,T){$.squareTo(T),this.reduce(T)}function Bo($,T,L){$.multiplyTo(T,L),this.reduce(L)}zr.prototype.convert=_o,zr.prototype.revert=Fs,zr.prototype.reduce=fn,zr.prototype.mulTo=Bo,zr.prototype.sqrTo=Io;function tu($,T){var L=$.bitLength(),Z,pe=S(1),me;if(L<=0)return pe;L<18?Z=1:L<48?Z=3:L<144?Z=4:L<768?Z=5:Z=6,L<8?me=new _e(T):T.isEven()?me=new zr(T):me=new lt(T);var Fe=new Array,Pe=3,wt=Z-1,Nt=(1<1){var mr=s();for(me.sqrTo(Fe[1],mr);Pe<=Nt;)Fe[Pe]=s(),me.mulTo(mr,Fe[Pe-2],Fe[Pe]),Pe+=2}var vr=$.t-1,hn,Is=!0,Nr=s(),wr;for(L=P($[vr])-1;vr>=0;){for(L>=wt?hn=$[vr]>>L-wt&Nt:(hn=($[vr]&(1<0&&(hn|=$[vr-1]>>this.DB+L-wt)),Pe=Z;!(hn&1);)hn>>=1,--Pe;if((L-=Pe)<0&&(L+=this.DB,--vr),Is)Fe[hn].copyTo(pe),Is=!1;else{for(;Pe>1;)me.sqrTo(pe,Nr),me.sqrTo(Nr,pe),Pe-=2;Pe>0?me.sqrTo(pe,Nr):(wr=pe,pe=Nr,Nr=wr),me.mulTo(Nr,Fe[hn],pe)}for(;vr>=0&&!($[vr]&1<0&&(T.rShiftTo(me,T),L.rShiftTo(me,L));T.signum()>0;)(pe=T.getLowestSetBit())>0&&T.rShiftTo(pe,T),(pe=L.getLowestSetBit())>0&&L.rShiftTo(pe,L),T.compareTo(L)>=0?(T.subTo(L,T),T.rShiftTo(1,T)):(L.subTo(T,L),L.rShiftTo(1,L));return me>0&&L.lShiftTo(me,L),L}function ru($){if($<=0)return 0;var T=this.DV%$,L=this.s<0?$-1:0;if(this.t>0)if(T==0)L=this[0]%$;else for(var Z=this.t-1;Z>=0;--Z)L=(T*L+this[Z])%$;return L}function _s($){var T=$.isEven();if(this.isEven()&&T||$.signum()==0)return n.ZERO;for(var L=$.clone(),Z=this.clone(),pe=S(1),me=S(0),Fe=S(0),Pe=S(1);L.signum()!=0;){for(;L.isEven();)L.rShiftTo(1,L),T?((!pe.isEven()||!me.isEven())&&(pe.addTo(this,pe),me.subTo($,me)),pe.rShiftTo(1,pe)):me.isEven()||me.subTo($,me),me.rShiftTo(1,me);for(;Z.isEven();)Z.rShiftTo(1,Z),T?((!Fe.isEven()||!Pe.isEven())&&(Fe.addTo(this,Fe),Pe.subTo($,Pe)),Fe.rShiftTo(1,Fe)):Pe.isEven()||Pe.subTo($,Pe),Pe.rShiftTo(1,Pe);L.compareTo(Z)>=0?(L.subTo(Z,L),T&&pe.subTo(Fe,pe),me.subTo(Pe,me)):(Z.subTo(L,Z),T&&Fe.subTo(pe,Fe),Pe.subTo(me,Pe))}if(Z.compareTo(n.ONE)!=0)return n.ZERO;if(Pe.compareTo($)>=0)return Pe.subtract($);if(Pe.signum()<0)Pe.addTo($,Pe);else return Pe;return Pe.signum()<0?Pe.add($):Pe}var kt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Do=(1<<26)/kt[kt.length-1];function Po($){var T,L=this.abs();if(L.t==1&&L[0]<=kt[kt.length-1]){for(T=0;T>1,$>kt.length&&($=kt.length);for(var pe=s(),me=0;me<$;++me){pe.fromInt(kt[Math.floor(Math.random()*kt.length)]);var Fe=pe.modPow(Z,this);if(Fe.compareTo(n.ONE)!=0&&Fe.compareTo(T)!=0){for(var Pe=1;Pe++>8&255,ur[Dt++]^=$>>16&255,ur[Dt++]^=$>>24&255,Dt>=kr&&(Dt-=kr)}function ia(){$o(new Date().getTime())}if(ur==null){ur=new Array,Dt=0;var or;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var sa=new Uint8Array(32);for(window.crypto.getRandomValues(sa),or=0;or<32;++or)ur[Dt++]=sa[or]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var iu=window.crypto.random(32);for(or=0;or>>8,ur[Dt++]=or&255;Dt=0,ia()}function su(){if(ui==null){for(ia(),ui=la(),ui.init(ur),Dt=0;Dt{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(i){return n(a(i),arguments)}function r(i,c){return t.apply(null,[i].concat(c||[]))}function n(i,c){var l=1,h=i.length,m,A="",p,f,E,v,b,w,S,F;for(p=0;p=0),E.type){case"b":m=parseInt(m,10).toString(2);break;case"c":m=String.fromCharCode(parseInt(m,10));break;case"d":case"i":m=parseInt(m,10);break;case"j":m=JSON.stringify(m,null,E.width?parseInt(E.width):0);break;case"e":m=E.precision?parseFloat(m).toExponential(E.precision):parseFloat(m).toExponential();break;case"f":m=E.precision?parseFloat(m).toFixed(E.precision):parseFloat(m);break;case"g":m=E.precision?String(Number(m.toPrecision(E.precision))):parseFloat(m);break;case"o":m=(parseInt(m,10)>>>0).toString(8);break;case"s":m=String(m),m=E.precision?m.substring(0,E.precision):m;break;case"t":m=String(!!m),m=E.precision?m.substring(0,E.precision):m;break;case"T":m=Object.prototype.toString.call(m).slice(8,-1).toLowerCase(),m=E.precision?m.substring(0,E.precision):m;break;case"u":m=parseInt(m,10)>>>0;break;case"v":m=m.valueOf(),m=E.precision?m.substring(0,E.precision):m;break;case"x":m=(parseInt(m,10)>>>0).toString(16);break;case"X":m=(parseInt(m,10)>>>0).toString(16).toUpperCase();break}e.json.test(E.type)?A+=m:(e.number.test(E.type)&&(!S||E.sign)?(F=S?"+":"-",m=m.toString().replace(e.sign,"")):F="",b=E.pad_char?E.pad_char==="0"?"0":E.pad_char.charAt(1):" ",w=E.width-(F+m).length,v=E.width&&w>0?b.repeat(w):"",A+=E.align?F+m+v:b==="0"?F+v+m:v+F+m)}return A}var s=Object.create(null);function a(i){if(s[i])return s[i];for(var c=i,l,h=[],m=0;c;){if((l=e.text.exec(c))!==null)h.push(l[0]);else if((l=e.modulo.exec(c))!==null)h.push("%");else if((l=e.placeholder.exec(c))!==null){if(l[2]){m|=1;var A=[],p=l[2],f=[];if((f=e.key.exec(p))!==null)for(A.push(f[1]);(p=p.substring(f[0].length))!=="";)if((f=e.key_access.exec(p))!==null)A.push(f[1]);else if((f=e.index_access.exec(p))!==null)A.push(f[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=A}else m|=2;if(m===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");h.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");c=c.substring(l[0].length)}return s[i]=h}typeof Ul<"u"&&(Ul.sprintf=t,Ul.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var wp=be(mi=>{"use strict";var O3=mi&&mi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),k3=mi&&mi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ag=mi&&mi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&O3(t,e,r);return k3(t,e),t};Object.defineProperty(mi,"__esModule",{value:!0});mi.Address4=void 0;var ig=ag(pp()),Qn=ag(dp()),sg=Nl(),rc=mp(),Pu=tc(),vp=class e{constructor(t){this.groups=Qn.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=ig.isCorrect(Qn.BITS),this.isInSubnet=ig.isInSubnet,this.address=t;let r=Qn.RE_SUBNET_STRING.exec(t);if(r){if(this.parsedSubnet=r[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>Qn.BITS)throw new sg.AddressError("Invalid subnet mask.");t=t.replace(Qn.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(t){let r=t.split(".");if(!t.match(Qn.RE_ADDRESS))throw new sg.AddressError("Invalid IPv4 address.");return r}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let r=t.replace(/:/g,"").padStart(8,"0"),n=[],s;for(s=0;s<8;s+=2){let a=r.slice(s,s+2);n.push(parseInt(a,16))}return new e(n.join("."))}static fromInteger(t){return e.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new e(n)}toHex(){return this.parsedAddress.map(t=>(0,Pu.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],r;for(r=0;r(0,Pu.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new rc.BigInteger(this.mask()+"0".repeat(Qn.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new rc.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new rc.BigInteger(this.mask()+"1".repeat(Qn.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new rc.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return e.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}reverseForm(t){t||(t={});let r=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?r:(0,Pu.sprintf)("%s.in-addr.arpa.",r)}isMulticast(){return this.isInSubnet(new e("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(Qn.BITS,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(Qn.RE_ADDRESS,(0,Pu.sprintf)('%s.%s',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};mi.Address4=vp});var Ap=be(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.RE_URL_WITH_PORT=Ht.RE_URL=Ht.RE_ZONE_STRING=Ht.RE_SUBNET_STRING=Ht.RE_BAD_ADDRESS=Ht.RE_BAD_CHARACTERS=Ht.TYPES=Ht.SCOPES=Ht.GROUPS=Ht.BITS=void 0;Ht.BITS=128;Ht.GROUPS=8;Ht.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"};Ht.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"};Ht.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi;Ht.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;Ht.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/;Ht.RE_ZONE_STRING=/%.*$/;Ht.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);Ht.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)});var Ep=be(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.simpleGroup=vi.spanLeadingZeroes=vi.spanAll=vi.spanAllZeroes=void 0;var ug=tc();function og(e){return e.replace(/(0+)/g,'$1')}vi.spanAllZeroes=og;function N3(e,t=0){return e.split("").map((n,s)=>(0,ug.sprintf)('%s',n,s+t,og(n))).join("")}vi.spanAll=N3;function cg(e){return e.replace(/^(0+)/,'$1')}function L3(e){return e.split(":").map(r=>cg(r)).join(":")}vi.spanLeadingZeroes=L3;function U3(e,t=0){return e.split(":").map((n,s)=>/group-v4/.test(n)?n:(0,ug.sprintf)('%s',s+t,cg(n)))}vi.simpleGroup=U3});var lg=be(lr=>{"use strict";var H3=lr&&lr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),j3=lr&&lr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),M3=lr&&lr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&H3(t,e,r);return j3(t,e),t};Object.defineProperty(lr,"__esModule",{value:!0});lr.possibleElisions=lr.simpleRegularExpression=lr.ADDRESS_BOUNDARY=lr.padGroup=lr.groupPossibilities=void 0;var q3=M3(Ap()),$u=tc();function jl(e){return(0,$u.sprintf)("(%s)",e.join("|"))}lr.groupPossibilities=jl;function Hl(e){return e.length<4?(0,$u.sprintf)("0{0,%d}%s",4-e.length,e):e}lr.padGroup=Hl;lr.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function K3(e){let t=[];e.forEach((n,s)=>{parseInt(n,16)===0&&t.push(s)});let r=t.map(n=>e.map((s,a)=>{if(a===n){let i=a===0||a===q3.GROUPS-1?":":"";return jl([Hl(s),i])}return Hl(s)}).join(":"));return r.push(e.map(Hl).join(":")),jl(r)}lr.simpleRegularExpression=K3;function V3(e,t,r){let n=t?"":":",s=r?"":":",a=[];!t&&!r&&a.push("::"),t&&r&&a.push(""),(r&&!t||!r&&t)&&a.push(":"),a.push((0,$u.sprintf)("%s(:0{1,4}){1,%d}",n,e-1)),a.push((0,$u.sprintf)("(0{1,4}:){1,%d}%s",e-1,s)),a.push((0,$u.sprintf)("(0{1,4}:){%d}0{1,4}",e-1));for(let i=1;i{"use strict";var G3=wi&&wi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),z3=wi&&wi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ql=wi&&wi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&G3(t,e,r);return z3(t,e),t};Object.defineProperty(wi,"__esModule",{value:!0});wi.Address6=void 0;var fg=ql(pp()),yp=ql(dp()),It=ql(Ap()),Sp=ql(Ep()),_a=wp(),Ia=lg(),ts=Nl(),qr=mp(),Kr=tc();function Ml(e){if(!e)throw new Error("Assertion failed.")}function W3(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,"$1,$2");return e}function Y3(e){return e=e.replace(/^(0{1,})([1-9]+)$/,'$1$2'),e=e.replace(/^(0{1,})(0)$/,'$1$2'),e}function X3(e,t){let r=[],n=[],s;for(s=0;st[1]&&n.push(e[s]);return r.concat(["compact"]).concat(n)}function hg(e){return(0,Kr.sprintf)("%04x",parseInt(e,16))}function pg(e){return e&255}var bp=class e{constructor(t,r){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=fg.isInSubnet,this.isCorrect=fg.isCorrect(It.BITS),r===void 0?this.groups=It.GROUPS:this.groups=r,this.address=t;let n=It.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>It.BITS)throw new ts.AddressError("Invalid subnet mask.");t=t.replace(It.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new ts.AddressError("Invalid subnet mask.");let s=It.RE_ZONE_STRING.exec(t);s&&(this.zone=s[0],t=t.replace(It.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInteger(t){let r=t.toString(16).padStart(32,"0"),n=[],s;for(s=0;s65536)&&(n=null)):n=null,{address:new e(r),port:n}}static fromAddress4(t){let r=new _a.Address4(t),n=It.BITS-(yp.BITS-r.subnetMask);return new e(`::ffff:${r.correctForm()}/${n}`)}static fromArpa(t){let r=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(r.length!==63)throw new ts.AddressError("Invalid 'ip6.arpa' form.");let s=r.split(".").reverse();for(let a=n;a>0;a--){let i=a*4;s.splice(i,0,":")}return r=s.join(""),new e(r)}microsoftTranscription(){return(0,Kr.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let r=It.BITS-this.subnetMask,n=Math.abs(t-It.BITS),s=r-n;return s<0?"0":W3(new qr.BigInteger("2",10).pow(s).toString(10))}_startAddress(){return new qr.BigInteger(this.mask()+"0".repeat(It.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new qr.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new qr.BigInteger(this.mask()+"1".repeat(It.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new qr.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=It.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(It.TYPES))if(this.isInSubnet(new e(t)))return It.TYPES[t];return"Global unicast"}getBits(t,r){return new qr.BigInteger(this.getBitsBase2(t,r),2)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}getBitsBase16(t,r){let n=r-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,r).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,It.BITS)}reverseForm(t){t||(t={});let r=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,r).reverse().join(".");return r>0?t.omitSuffix?n:(0,Kr.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,r=[],n=0,s=[];for(t=0;t0&&(n>1&&s.push([t-n,t-1]),n=0)}n>1&&s.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let a=s.map(c=>c[1]-c[0]+1);if(s.length>0){let c=a.indexOf(Math.max(...a));r=X3(this.parsedAddress,s[c])}else r=this.parsedAddress;for(t=0;t1?"s":"",r.join("")),t.replace(It.RE_BAD_CHARACTERS,'$1'));let n=t.match(It.RE_BAD_ADDRESS);if(n)throw new ts.AddressError((0,Kr.sprintf)("Address failed regex: %s",n.join("")),t.replace(It.RE_BAD_ADDRESS,'$1'));let s=[],a=t.split("::");if(a.length===2){let i=a[0].split(":"),c=a[1].split(":");i.length===1&&i[0]===""&&(i=[]),c.length===1&&c[0]===""&&(c=[]);let l=this.groups-(i.length+c.length);if(!l)throw new ts.AddressError("Error parsing groups");this.elidedGroups=l,this.elisionBegin=i.length,this.elisionEnd=i.length+this.elidedGroups,s=s.concat(i);for(let h=0;h(0,Kr.sprintf)("%x",parseInt(i,16))),s.length!==this.groups)throw new ts.AddressError("Incorrect number of groups found");return s}canonicalForm(){return this.parsedAddress.map(hg).join(":")}decimal(){return this.parsedAddress.map(t=>(0,Kr.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new qr.BigInteger(this.parsedAddress.map(hg).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return _a.Address4.fromHex(new qr.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),s="";return/:$/.test(n)||(s=":"),n+s+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),r=this.getBits(80,96).xor(new qr.BigInteger("ffff",16)).toString(),n=_a.Address4.fromHex(this.getBitsBase16(32,64)),s=_a.Address4.fromHex(this.getBits(96,128).xor(new qr.BigInteger("ffffffff",16)).toString(16)),a=this.getBits(64,80),i=this.getBitsBase2(64,80),c=a.testBit(15),l=a.testBit(14),h=a.testBit(8),m=a.testBit(9),A=new qr.BigInteger(i.slice(2,6)+i.slice(8,16),2).toString(10);return{prefix:(0,Kr.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:s.address,flags:i,coneNat:c,microsoft:{reserved:l,universalLocal:m,groupIndividual:h,nonce:A},udpPort:r}}inspect6to4(){let t=this.getBitsBase16(0,16),r=_a.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,Kr.sprintf)("%s",t.slice(0,4)),gateway:r.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new e(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(pg)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(pg))}static fromUnsignedByteArray(t){let r=new qr.BigInteger("256",10),n=new qr.BigInteger("0",10),s=new qr.BigInteger("1",10);for(let a=t.length-1;a>=0;a--)n=n.add(s.multiply(new qr.BigInteger(t[a].toString(10),10))),s=s.multiply(r);return e.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new e("2001::/32"))}is6to4(){return this.isInSubnet(new e("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,Kr.sprintf)(":%s",t),(0,Kr.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let r=this.correctForm;return t.v4&&(r=this.to4in6),t.className?(0,Kr.sprintf)('%2$s',t.prefix,r.call(this),t.className):(0,Kr.sprintf)('%2$s',t.prefix,r.call(this))}group(){if(this.elidedGroups===0)return Sp.simpleGroup(this.address).join(":");Ml(typeof this.elidedGroups=="number"),Ml(typeof this.elisionBegin=="number");let t=[],[r,n]=this.address.split("::");r.length?t.push(...Sp.simpleGroup(r)):t.push("");let s=["hover-group"];for(let a=this.elisionBegin;a',s.join(" "))),n.length?t.push(...Sp.simpleGroup(n,this.elisionEnd)):t.push(""),this.is4()&&(Ml(this.address4 instanceof _a.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let r=[],n=new e(this.correctForm());if(n.elidedGroups===0)r.push((0,Ia.simpleRegularExpression)(n.parsedAddress));else if(n.elidedGroups===It.GROUPS)r.push((0,Ia.possibleElisions)(It.GROUPS));else{let s=n.address.split("::");s[0].length&&r.push((0,Ia.simpleRegularExpression)(s[0].split(":"))),Ml(typeof n.elidedGroups=="number"),r.push((0,Ia.possibleElisions)(n.elidedGroups,s[0].length!==0,s[1].length!==0)),s[1].length&&r.push((0,Ia.simpleRegularExpression)(s[1].split(":"))),r=[r.join(":")]}return t||(r=["(?=^|",Ia.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...r,")(?=[^\\w\\:]|",Ia.ADDRESS_BOUNDARY,"|$)"]),r.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};wi.Address6=bp});var gg=be(Rr=>{"use strict";var J3=Rr&&Rr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Z3=Rr&&Rr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Q3=Rr&&Rr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&J3(t,e,r);return Z3(t,e),t};Object.defineProperty(Rr,"__esModule",{value:!0});Rr.v6=Rr.AddressError=Rr.Address6=Rr.Address4=void 0;var eS=wp();Object.defineProperty(Rr,"Address4",{enumerable:!0,get:function(){return eS.Address4}});var tS=dg();Object.defineProperty(Rr,"Address6",{enumerable:!0,get:function(){return tS.Address6}});var rS=Nl();Object.defineProperty(Rr,"AddressError",{enumerable:!0,get:function(){return rS.AddressError}});var nS=Q3(Ep());Rr.v6={helpers:nS}});var Da=be((cP,Ba)=>{"use strict";function Eg(e){return typeof e>"u"||e===null}function cS(e){return typeof e=="object"&&e!==null}function lS(e){return Array.isArray(e)?e:Eg(e)?[]:[e]}function fS(e,t){var r,n,s,a;if(t)for(a=Object.keys(t),r=0,n=a.length;r{"use strict";function ac(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ac.prototype=Object.create(Error.prototype);ac.prototype.constructor=ac;ac.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};yg.exports=ac});var Cg=be((fP,bg)=>{"use strict";var Sg=Da();function _p(e,t,r,n,s){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=s}_p.prototype.getSnippet=function(t,r){var n,s,a,i,c;if(!this.buffer)return null;for(t=t||4,r=r||75,n="",s=this.position;s>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(s-1))===-1;)if(s-=1,this.position-s>r/2-1){n=" ... ",s+=5;break}for(a="",i=this.position;ir/2-1){a=" ... ",i-=5;break}return c=this.buffer.slice(s,i),Sg.repeat(" ",t)+n+c+a+` +`+Sg.repeat(" ",t+this.position-s+n.length)+"^"};_p.prototype.toString=function(t){var r,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(n+=`: +`+r)),n};bg.exports=_p});var rr=be((hP,_g)=>{"use strict";var Fg=Ou(),dS=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],gS=["scalar","sequence","mapping"];function mS(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function vS(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(dS.indexOf(r)===-1)throw new Fg('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=mS(t.styleAliases||null),gS.indexOf(this.kind)===-1)throw new Fg('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}_g.exports=vS});var Pa=be((pP,Bg)=>{"use strict";var Ig=Da(),Yl=Ou(),wS=rr();function Ip(e,t,r){var n=[];return e.include.forEach(function(s){r=Ip(s,t,r)}),e[t].forEach(function(s){r.forEach(function(a,i){a.tag===s.tag&&a.kind===s.kind&&n.push(i)}),r.push(s)}),r.filter(function(s,a){return n.indexOf(a)===-1})}function AS(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function n(s){e[s.kind][s.tag]=e.fallback[s.tag]=s}for(t=0,r=arguments.length;t{"use strict";var ES=rr();Dg.exports=new ES("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Rg=be((gP,$g)=>{"use strict";var yS=rr();$g.exports=new yS("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var xg=be((mP,Tg)=>{"use strict";var SS=rr();Tg.exports=new SS("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var Xl=be((vP,Og)=>{"use strict";var bS=Pa();Og.exports=new bS({explicit:[Pg(),Rg(),xg()]})});var Ng=be((wP,kg)=>{"use strict";var CS=rr();function FS(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function _S(){return null}function IS(e){return e===null}kg.exports=new CS("tag:yaml.org,2002:null",{kind:"scalar",resolve:FS,construct:_S,predicate:IS,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Ug=be((AP,Lg)=>{"use strict";var BS=rr();function DS(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function PS(e){return e==="true"||e==="True"||e==="TRUE"}function $S(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Lg.exports=new BS("tag:yaml.org,2002:bool",{kind:"scalar",resolve:DS,construct:PS,predicate:$S,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var jg=be((EP,Hg)=>{"use strict";var RS=Da(),TS=rr();function xS(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function OS(e){return 48<=e&&e<=55}function kS(e){return 48<=e&&e<=57}function NS(e){if(e===null)return!1;var t=e.length,r=0,n=!1,s;if(!t)return!1;if(s=e[r],(s==="-"||s==="+")&&(s=e[++r]),s==="0"){if(r+1===t)return!0;if(s=e[++r],s==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Kg=be((yP,qg)=>{"use strict";var Mg=Da(),HS=rr(),jS=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function MS(e){return!(e===null||!jS.test(e)||e[e.length-1]==="_")}function qS(e){var t,r,n,s;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,s=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(a){s.unshift(parseFloat(a,10))}),t=0,n=1,s.forEach(function(a){t+=a*n,n*=60}),r*t):r*parseFloat(t,10)}var KS=/^[-+]?[0-9]+e/;function VS(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Mg.isNegativeZero(e))return"-0.0";return r=e.toString(10),KS.test(r)?r.replace("e",".e"):r}function GS(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Mg.isNegativeZero(e))}qg.exports=new HS("tag:yaml.org,2002:float",{kind:"scalar",resolve:MS,construct:qS,predicate:GS,represent:VS,defaultStyle:"lowercase"})});var Bp=be((SP,Vg)=>{"use strict";var zS=Pa();Vg.exports=new zS({include:[Xl()],implicit:[Ng(),Ug(),jg(),Kg()]})});var Dp=be((bP,Gg)=>{"use strict";var WS=Pa();Gg.exports=new WS({include:[Bp()]})});var Xg=be((CP,Yg)=>{"use strict";var YS=rr(),zg=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Wg=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function XS(e){return e===null?!1:zg.exec(e)!==null||Wg.exec(e)!==null}function JS(e){var t,r,n,s,a,i,c,l=0,h=null,m,A,p;if(t=zg.exec(e),t===null&&(t=Wg.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(r,n,s));if(a=+t[4],i=+t[5],c=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(m=+t[10],A=+(t[11]||0),h=(m*60+A)*6e4,t[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,s,a,i,c,l)),h&&p.setTime(p.getTime()-h),p}function ZS(e){return e.toISOString()}Yg.exports=new YS("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:XS,construct:JS,instanceOf:Date,represent:ZS})});var Zg=be((FP,Jg)=>{"use strict";var QS=rr();function eb(e){return e==="<<"||e===null}Jg.exports=new QS("tag:yaml.org,2002:merge",{kind:"scalar",resolve:eb})});var tm=be((_P,em)=>{"use strict";var $a;try{Qg=Sa,$a=Qg("buffer").Buffer}catch{}var Qg,tb=rr(),Pp=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function rb(e){if(e===null)return!1;var t,r,n=0,s=e.length,a=Pp;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function nb(e){var t,r,n=e.replace(/[\r\n=]/g,""),s=n.length,a=Pp,i=0,c=[];for(t=0;t>16&255),c.push(i>>8&255),c.push(i&255)),i=i<<6|a.indexOf(n.charAt(t));return r=s%4*6,r===0?(c.push(i>>16&255),c.push(i>>8&255),c.push(i&255)):r===18?(c.push(i>>10&255),c.push(i>>2&255)):r===12&&c.push(i>>4&255),$a?$a.from?$a.from(c):new $a(c):c}function ib(e){var t="",r=0,n,s,a=e.length,i=Pp;for(n=0;n>18&63],t+=i[r>>12&63],t+=i[r>>6&63],t+=i[r&63]),r=(r<<8)+e[n];return s=a%3,s===0?(t+=i[r>>18&63],t+=i[r>>12&63],t+=i[r>>6&63],t+=i[r&63]):s===2?(t+=i[r>>10&63],t+=i[r>>4&63],t+=i[r<<2&63],t+=i[64]):s===1&&(t+=i[r>>2&63],t+=i[r<<4&63],t+=i[64],t+=i[64]),t}function sb(e){return $a&&$a.isBuffer(e)}em.exports=new tb("tag:yaml.org,2002:binary",{kind:"scalar",resolve:rb,construct:nb,predicate:sb,represent:ib})});var nm=be((BP,rm)=>{"use strict";var ab=rr(),ub=Object.prototype.hasOwnProperty,ob=Object.prototype.toString;function cb(e){if(e===null)return!0;var t=[],r,n,s,a,i,c=e;for(r=0,n=c.length;r{"use strict";var fb=rr(),hb=Object.prototype.toString;function pb(e){if(e===null)return!0;var t,r,n,s,a,i=e;for(a=new Array(i.length),t=0,r=i.length;t{"use strict";var gb=rr(),mb=Object.prototype.hasOwnProperty;function vb(e){if(e===null)return!0;var t,r=e;for(t in r)if(mb.call(r,t)&&r[t]!==null)return!1;return!0}function wb(e){return e!==null?e:{}}am.exports=new gb("tag:yaml.org,2002:set",{kind:"mapping",resolve:vb,construct:wb})});var Nu=be(($P,om)=>{"use strict";var Ab=Pa();om.exports=new Ab({include:[Dp()],implicit:[Xg(),Zg()],explicit:[tm(),nm(),sm(),um()]})});var lm=be((RP,cm)=>{"use strict";var Eb=rr();function yb(){return!0}function Sb(){}function bb(){return""}function Cb(e){return typeof e>"u"}cm.exports=new Eb("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:yb,construct:Sb,predicate:Cb,represent:bb})});var hm=be((TP,fm)=>{"use strict";var Fb=rr();function _b(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";return!(t[0]==="/"&&(r&&(n=r[1]),n.length>3||t[t.length-n.length-1]!=="/"))}function Ib(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return t[0]==="/"&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)}function Bb(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function Db(e){return Object.prototype.toString.call(e)==="[object RegExp]"}fm.exports=new Fb("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:_b,construct:Ib,predicate:Db,represent:Bb})});var gm=be((xP,dm)=>{"use strict";var Jl;try{pm=Sa,Jl=pm("esprima")}catch{typeof window<"u"&&(Jl=window.esprima)}var pm,Pb=rr();function $b(e){if(e===null)return!1;try{var t="("+e+")",r=Jl.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Rb(e){var t="("+e+")",r=Jl.parse(t,{range:!0}),n=[],s;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(a){n.push(a.name)}),s=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(n,t.slice(s[0]+1,s[1]-1)):new Function(n,"return "+t.slice(s[0],s[1]))}function Tb(e){return e.toString()}function xb(e){return Object.prototype.toString.call(e)==="[object Function]"}dm.exports=new Pb("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:$b,construct:Rb,predicate:xb,represent:Tb})});var uc=be((kP,vm)=>{"use strict";var mm=Pa();vm.exports=mm.DEFAULT=new mm({include:[Nu()],explicit:[lm(),hm(),gm()]})});var km=be((NP,oc)=>{"use strict";var ns=Da(),Cm=Ou(),Ob=Cg(),Fm=Nu(),kb=uc(),Hs=Object.prototype.hasOwnProperty,Zl=1,_m=2,Im=3,Ql=4,$p=1,Nb=2,wm=3,Lb=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ub=/[\x85\u2028\u2029]/,Hb=/[,\[\]\{\}]/,Bm=/^(?:!|!!|![a-z\-]+!)$/i,Dm=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Am(e){return Object.prototype.toString.call(e)}function Ei(e){return e===10||e===13}function Ta(e){return e===9||e===32}function nn(e){return e===9||e===32||e===10||e===13}function Lu(e){return e===44||e===91||e===93||e===123||e===125}function jb(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function Mb(e){return e===120?2:e===117?4:e===85?8:0}function qb(e){return 48<=e&&e<=57?e-48:-1}function Em(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function Kb(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var Pm=new Array(256),$m=new Array(256);for(Ra=0;Ra<256;Ra++)Pm[Ra]=Em(Ra)?1:0,$m[Ra]=Em(Ra);var Ra;function Vb(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||kb,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Rm(e,t){return new Cm(t,new Ob(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Ue(e,t){throw Rm(e,t)}function ef(e,t){e.onWarning&&e.onWarning.call(null,Rm(e,t))}var ym={YAML:function(t,r,n){var s,a,i;t.version!==null&&Ue(t,"duplication of %YAML directive"),n.length!==1&&Ue(t,"YAML directive accepts exactly one argument"),s=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),s===null&&Ue(t,"ill-formed argument of the YAML directive"),a=parseInt(s[1],10),i=parseInt(s[2],10),a!==1&&Ue(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=i<2,i!==1&&i!==2&&ef(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var s,a;n.length!==2&&Ue(t,"TAG directive accepts exactly two arguments"),s=n[0],a=n[1],Bm.test(s)||Ue(t,"ill-formed tag handle (first argument) of the TAG directive"),Hs.call(t.tagMap,s)&&Ue(t,'there is a previously declared suffix for "'+s+'" tag handle'),Dm.test(a)||Ue(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[s]=a}};function Us(e,t,r,n){var s,a,i,c;if(t1&&(e.result+=ns.repeat(` +`,t-1))}function Gb(e,t,r){var n,s,a,i,c,l,h,m,A=e.kind,p=e.result,f;if(f=e.input.charCodeAt(e.position),nn(f)||Lu(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(s=e.input.charCodeAt(e.position+1),nn(s)||r&&Lu(s)))return!1;for(e.kind="scalar",e.result="",a=i=e.position,c=!1;f!==0;){if(f===58){if(s=e.input.charCodeAt(e.position+1),nn(s)||r&&Lu(s))break}else if(f===35){if(n=e.input.charCodeAt(e.position-1),nn(n))break}else{if(e.position===e.lineStart&&tf(e)||r&&Lu(f))break;if(Ei(f))if(l=e.line,h=e.lineStart,m=e.lineIndent,Jt(e,!1,-1),e.lineIndent>=t){c=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=i,e.line=l,e.lineStart=h,e.lineIndent=m;break}}c&&(Us(e,a,i,!1),Tp(e,e.line-l),a=i=e.position,c=!1),Ta(f)||(i=e.position+1),f=e.input.charCodeAt(++e.position)}return Us(e,a,i,!1),e.result?!0:(e.kind=A,e.result=p,!1)}function zb(e,t){var r,n,s;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=s=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(Us(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,s=e.position;else return!0;else Ei(r)?(Us(e,n,s,!0),Tp(e,Jt(e,!1,t)),n=s=e.position):e.position===e.lineStart&&tf(e)?Ue(e,"unexpected end of the document within a single quoted scalar"):(e.position++,s=e.position);Ue(e,"unexpected end of the stream within a single quoted scalar")}function Wb(e,t){var r,n,s,a,i,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return Us(e,r,e.position,!0),e.position++,!0;if(c===92){if(Us(e,r,e.position,!0),c=e.input.charCodeAt(++e.position),Ei(c))Jt(e,!1,t);else if(c<256&&Pm[c])e.result+=$m[c],e.position++;else if((i=Mb(c))>0){for(s=i,a=0;s>0;s--)c=e.input.charCodeAt(++e.position),(i=jb(c))>=0?a=(a<<4)+i:Ue(e,"expected hexadecimal character");e.result+=Kb(a),e.position++}else Ue(e,"unknown escape sequence");r=n=e.position}else Ei(c)?(Us(e,r,n,!0),Tp(e,Jt(e,!1,t)),r=n=e.position):e.position===e.lineStart&&tf(e)?Ue(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Ue(e,"unexpected end of the stream within a double quoted scalar")}function Yb(e,t){var r=!0,n,s=e.tag,a,i=e.anchor,c,l,h,m,A,p={},f,E,v,b;if(b=e.input.charCodeAt(e.position),b===91)l=93,A=!1,a=[];else if(b===123)l=125,A=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),b=e.input.charCodeAt(++e.position);b!==0;){if(Jt(e,!0,t),b=e.input.charCodeAt(e.position),b===l)return e.position++,e.tag=s,e.anchor=i,e.kind=A?"mapping":"sequence",e.result=a,!0;r||Ue(e,"missed comma between flow collection entries"),E=f=v=null,h=m=!1,b===63&&(c=e.input.charCodeAt(e.position+1),nn(c)&&(h=m=!0,e.position++,Jt(e,!0,t))),n=e.line,Hu(e,t,Zl,!1,!0),E=e.tag,f=e.result,Jt(e,!0,t),b=e.input.charCodeAt(e.position),(m||e.line===n)&&b===58&&(h=!0,b=e.input.charCodeAt(++e.position),Jt(e,!0,t),Hu(e,t,Zl,!1,!0),v=e.result),A?Uu(e,a,p,E,f,v):h?a.push(Uu(e,null,p,E,f,v)):a.push(f),Jt(e,!0,t),b=e.input.charCodeAt(e.position),b===44?(r=!0,b=e.input.charCodeAt(++e.position)):r=!1}Ue(e,"unexpected end of the stream within a flow collection")}function Xb(e,t){var r,n,s=$p,a=!1,i=!1,c=t,l=0,h=!1,m,A;if(A=e.input.charCodeAt(e.position),A===124)n=!1;else if(A===62)n=!0;else return!1;for(e.kind="scalar",e.result="";A!==0;)if(A=e.input.charCodeAt(++e.position),A===43||A===45)$p===s?s=A===43?wm:Nb:Ue(e,"repeat of a chomping mode identifier");else if((m=qb(A))>=0)m===0?Ue(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):i?Ue(e,"repeat of an indentation width identifier"):(c=t+m-1,i=!0);else break;if(Ta(A)){do A=e.input.charCodeAt(++e.position);while(Ta(A));if(A===35)do A=e.input.charCodeAt(++e.position);while(!Ei(A)&&A!==0)}for(;A!==0;){for(Rp(e),e.lineIndent=0,A=e.input.charCodeAt(e.position);(!i||e.lineIndentc&&(c=e.lineIndent),Ei(A)){l++;continue}if(e.lineIndentt)&&l!==0)Ue(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(Hu(e,t,Ql,!0,s)&&(E?p=e.result:f=e.result),E||(Uu(e,h,m,A,p,f,a,i),A=p=f=null),Jt(e,!0,-1),b=e.input.charCodeAt(e.position)),e.lineIndent>t&&b!==0)Ue(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),A=0,p=e.implicitTypes.length;A tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result)?(e.result=f.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Ue(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Ue(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||m}function tC(e){var t=e.position,r,n,s,a=!1,i;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(i=e.input.charCodeAt(e.position))!==0&&(Jt(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||i!==37));){for(a=!0,i=e.input.charCodeAt(++e.position),r=e.position;i!==0&&!nn(i);)i=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),s=[],n.length<1&&Ue(e,"directive name must not be less than one character in length");i!==0;){for(;Ta(i);)i=e.input.charCodeAt(++e.position);if(i===35){do i=e.input.charCodeAt(++e.position);while(i!==0&&!Ei(i));break}if(Ei(i))break;for(r=e.position;i!==0&&!nn(i);)i=e.input.charCodeAt(++e.position);s.push(e.input.slice(r,e.position))}i!==0&&Rp(e),Hs.call(ym,n)?ym[n](e,n,s):ef(e,'unknown document directive "'+n+'"')}if(Jt(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Jt(e,!0,-1)):a&&Ue(e,"directives end mark is expected"),Hu(e,e.lineIndent-1,Ql,!1,!0),Jt(e,!0,-1),e.checkLineBreaks&&Ub.test(e.input.slice(t,e.position))&&ef(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&tf(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Jt(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=Tm(e,r);if(typeof t!="function")return n;for(var s=0,a=n.length;s"u"&&(r=t,t=null),xm(e,t,ns.extend({schema:Fm},r))}function nC(e,t){return Om(e,ns.extend({schema:Fm},t))}oc.exports.loadAll=xm;oc.exports.load=Om;oc.exports.safeLoadAll=rC;oc.exports.safeLoad=nC});var sv=be((LP,Np)=>{"use strict";var lc=Da(),fc=Ou(),iC=uc(),sC=Nu(),Km=Object.prototype.toString,Vm=Object.prototype.hasOwnProperty,aC=9,cc=10,uC=13,oC=32,cC=33,lC=34,Gm=35,fC=37,hC=38,pC=39,dC=42,zm=44,gC=45,Wm=58,mC=61,vC=62,wC=63,AC=64,Ym=91,Xm=93,EC=96,Jm=123,yC=124,Zm=125,Tr={};Tr[0]="\\0";Tr[7]="\\a";Tr[8]="\\b";Tr[9]="\\t";Tr[10]="\\n";Tr[11]="\\v";Tr[12]="\\f";Tr[13]="\\r";Tr[27]="\\e";Tr[34]='\\"';Tr[92]="\\\\";Tr[133]="\\N";Tr[160]="\\_";Tr[8232]="\\L";Tr[8233]="\\P";var SC=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function bC(e,t){var r,n,s,a,i,c,l;if(t===null)return{};for(r={},n=Object.keys(t),s=0,a=n.length;s0?e.charCodeAt(a-1):null,p=p&&Um(i,c)}else{for(a=0;an&&e[A+1]!==" ",A=a);else if(!ju(i))return rf;c=a>0?e.charCodeAt(a-1):null,p=p&&Um(i,c)}h=h||m&&a-A-1>n&&e[A+1]!==" "}return!l&&!h?p&&!s(e)?ev:tv:r>9&&Qm(e)?rf:h?nv:rv}function DC(e,t,r,n){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&SC.indexOf(t)!==-1)return"'"+t+"'";var s=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),i=n||e.flowLevel>-1&&r>=e.flowLevel;function c(l){return FC(e,l)}switch(BC(t,i,e.indent,a,c)){case ev:return t;case tv:return"'"+t.replace(/'/g,"''")+"'";case rv:return"|"+Hm(t,e.indent)+jm(Lm(t,s));case nv:return">"+Hm(t,e.indent)+jm(Lm(PC(t,a),s));case rf:return'"'+$C(t,a)+'"';default:throw new fc("impossible error: invalid scalar style")}}()}function Hm(e,t){var r=Qm(e)?String(t):"",n=e[e.length-1]===` +`,s=n&&(e[e.length-2]===` +`||e===` +`),a=s?"+":n?"":"-";return r+a+` +`}function jm(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function PC(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=e.indexOf(` +`);return h=h!==-1?h:e.length,r.lastIndex=h,Mm(e.slice(0,h),t)}(),s=e[0]===` +`||e[0]===" ",a,i;i=r.exec(e);){var c=i[1],l=i[2];a=l[0]===" ",n+=c+(!s&&!a&&l!==""?` +`:"")+Mm(l,t),s=a}return n}function Mm(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,s=0,a,i=0,c=0,l="";n=r.exec(e);)c=n.index,c-s>t&&(a=i>s?i:c,l+=` +`+e.slice(s,a),s=a+1),i=c;return l+=` +`,e.length-s>t&&i>s?l+=e.slice(s,i)+` +`+e.slice(i+1):l+=e.slice(s),l.slice(1)}function $C(e){for(var t="",r,n,s,a=0;a=55296&&r<=56319&&(n=e.charCodeAt(a+1),n>=56320&&n<=57343)){t+=Nm((r-55296)*1024+n-56320+65536),a++;continue}s=Tr[r],t+=!s&&ju(r)?e[a]:s||Nm(r)}return t}function RC(e,t,r){var n="",s=e.tag,a,i;for(a=0,i=r.length;a1024&&(m+="? "),m+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),xa(e,t,h,!1,!1)&&(m+=e.dump,n+=m));e.tag=s,e.dump="{"+n+"}"}function OC(e,t,r,n){var s="",a=e.tag,i=Object.keys(r),c,l,h,m,A,p;if(e.sortKeys===!0)i.sort();else if(typeof e.sortKeys=="function")i.sort(e.sortKeys);else if(e.sortKeys)throw new fc("sortKeys must be a boolean or a function");for(c=0,l=i.length;c1024,A&&(e.dump&&cc===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,A&&(p+=xp(e,t)),xa(e,t+1,m,!0,A)&&(e.dump&&cc===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,s+=p));e.tag=a,e.dump=s||"{}"}function qm(e,t,r){var n,s,a,i,c,l;for(s=r?e.explicitTypes:e.implicitTypes,a=0,i=s.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function xa(e,t,r,n,s,a){e.tag=null,e.dump=r,qm(e,r,!1)||qm(e,r,!0);var i=Km.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var c=i==="[object Object]"||i==="[object Array]",l,h;if(c&&(l=e.duplicates.indexOf(r),h=l!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(s=!1),h&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(c&&h&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),i==="[object Object]")n&&Object.keys(e.dump).length!==0?(OC(e,t,e.dump,s),h&&(e.dump="&ref_"+l+e.dump)):(xC(e,t,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(i==="[object Array]"){var m=e.noArrayIndent&&t>0?t-1:t;n&&e.dump.length!==0?(TC(e,m,e.dump,s),h&&(e.dump="&ref_"+l+e.dump)):(RC(e,m,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump))}else if(i==="[object String]")e.tag!=="?"&&DC(e,e.dump,t,a);else{if(e.skipInvalid)return!1;throw new fc("unacceptable kind of an object to dump "+i)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function kC(e,t){var r=[],n=[],s,a;for(Op(e,r,n),s=0,a=n.length;s{"use strict";var nf=km(),av=sv();function sf(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}jt.exports.Type=rr();jt.exports.Schema=Pa();jt.exports.FAILSAFE_SCHEMA=Xl();jt.exports.JSON_SCHEMA=Bp();jt.exports.CORE_SCHEMA=Dp();jt.exports.DEFAULT_SAFE_SCHEMA=Nu();jt.exports.DEFAULT_FULL_SCHEMA=uc();jt.exports.load=nf.load;jt.exports.loadAll=nf.loadAll;jt.exports.safeLoad=nf.safeLoad;jt.exports.safeLoadAll=nf.safeLoadAll;jt.exports.dump=av.dump;jt.exports.safeDump=av.safeDump;jt.exports.YAMLException=Ou();jt.exports.MINIMAL_SCHEMA=Xl();jt.exports.SAFE_SCHEMA=Nu();jt.exports.DEFAULT_SCHEMA=uc();jt.exports.scan=sf("scan");jt.exports.parse=sf("parse");jt.exports.compose=sf("compose");jt.exports.addConstructor=sf("addConstructor")});var cv=be((HP,ov)=>{"use strict";var LC=uv();ov.exports=LC});var fv=be((jP,lv)=>{"use strict";var af=cv();lv.exports={safeLoad:af.safeLoad,load:af.load,safeDump:af.safeDump,dump:af.dump}});var Nv=be(lf=>{"use strict";lf.byteLength=nF;lf.toByteArray=sF;lf.fromByteArray=oF;var yi=[],Mn=[],rF=typeof Uint8Array<"u"?Uint8Array:Array,qp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ka=0,Ov=qp.length;ka0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function nF(e){var t=kv(e),r=t[0],n=t[1];return(r+n)*3/4-n}function iF(e,t,r){return(t+r)*3/4-r}function sF(e){var t,r=kv(e),n=r[0],s=r[1],a=new rF(iF(e,n,s)),i=0,c=s>0?n-4:n,l;for(l=0;l>16&255,a[i++]=t>>8&255,a[i++]=t&255;return s===2&&(t=Mn[e.charCodeAt(l)]<<2|Mn[e.charCodeAt(l+1)]>>4,a[i++]=t&255),s===1&&(t=Mn[e.charCodeAt(l)]<<10|Mn[e.charCodeAt(l+1)]<<4|Mn[e.charCodeAt(l+2)]>>2,a[i++]=t>>8&255,a[i++]=t&255),a}function aF(e){return yi[e>>18&63]+yi[e>>12&63]+yi[e>>6&63]+yi[e&63]}function uF(e,t,r){for(var n,s=[],a=t;ac?c:i+a));return n===1?(t=e[r-1],s.push(yi[t>>2]+yi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],s.push(yi[t>>10]+yi[t>>4&63]+yi[t<<2&63]+"=")),s.join("")}});var Lv=be(Kp=>{Kp.read=function(e,t,r,n,s){var a,i,c=s*8-n-1,l=(1<>1,m=-7,A=r?s-1:0,p=r?-1:1,f=e[t+A];for(A+=p,a=f&(1<<-m)-1,f>>=-m,m+=c;m>0;a=a*256+e[t+A],A+=p,m-=8);for(i=a&(1<<-m)-1,a>>=-m,m+=n;m>0;i=i*256+e[t+A],A+=p,m-=8);if(a===0)a=1-h;else{if(a===l)return i?NaN:(f?-1:1)*(1/0);i=i+Math.pow(2,n),a=a-h}return(f?-1:1)*i*Math.pow(2,a-n)};Kp.write=function(e,t,r,n,s,a){var i,c,l,h=a*8-s-1,m=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,E=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,i=m):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),i+A>=1?t+=p/l:t+=p*Math.pow(2,1-A),t*l>=2&&(i++,l/=2),i+A>=m?(c=0,i=m):i+A>=1?(c=(t*l-1)*Math.pow(2,s),i=i+A):(c=t*Math.pow(2,A-1)*Math.pow(2,s),i=0));s>=8;e[r+f]=c&255,f+=E,c/=256,s-=8);for(i=i<0;e[r+f]=i&255,f+=E,i/=256,h-=8);e[r+f-E]|=v*128}});var pf=be(zu=>{"use strict";var Vp=Nv(),Vu=Lv(),Uv=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;zu.Buffer=le;zu.SlowBuffer=dF;zu.INSPECT_MAX_BYTES=50;var ff=2147483647;zu.kMaxLength=ff;le.TYPED_ARRAY_SUPPORT=cF();!le.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function cF(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(le.prototype,"parent",{enumerable:!0,get:function(){if(le.isBuffer(this))return this.buffer}});Object.defineProperty(le.prototype,"offset",{enumerable:!0,get:function(){if(le.isBuffer(this))return this.byteOffset}});function is(e){if(e>ff)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,le.prototype),t}function le(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Yp(e)}return qv(e,t,r)}le.poolSize=8192;function qv(e,t,r){if(typeof e=="string")return fF(e,t);if(ArrayBuffer.isView(e))return hF(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Si(e,ArrayBuffer)||e&&Si(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Si(e,SharedArrayBuffer)||e&&Si(e.buffer,SharedArrayBuffer)))return zp(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return le.from(n,t,r);let s=pF(e);if(s)return s;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return le.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}le.from=function(e,t,r){return qv(e,t,r)};Object.setPrototypeOf(le.prototype,Uint8Array.prototype);Object.setPrototypeOf(le,Uint8Array);function Kv(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function lF(e,t,r){return Kv(e),e<=0?is(e):t!==void 0?typeof r=="string"?is(e).fill(t,r):is(e).fill(t):is(e)}le.alloc=function(e,t,r){return lF(e,t,r)};function Yp(e){return Kv(e),is(e<0?0:Xp(e)|0)}le.allocUnsafe=function(e){return Yp(e)};le.allocUnsafeSlow=function(e){return Yp(e)};function fF(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!le.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Vv(e,t)|0,n=is(r),s=n.write(e,t);return s!==r&&(n=n.slice(0,s)),n}function Gp(e){let t=e.length<0?0:Xp(e.length)|0,r=is(t);for(let n=0;n=ff)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ff.toString(16)+" bytes");return e|0}function dF(e){return+e!=e&&(e=0),le.alloc(+e)}le.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==le.prototype};le.compare=function(t,r){if(Si(t,Uint8Array)&&(t=le.from(t,t.offset,t.byteLength)),Si(r,Uint8Array)&&(r=le.from(r,r.offset,r.byteLength)),!le.isBuffer(t)||!le.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,s=r.length;for(let a=0,i=Math.min(n,s);as.length?(le.isBuffer(i)||(i=le.from(i)),i.copy(s,a)):Uint8Array.prototype.set.call(s,i,a);else if(le.isBuffer(i))i.copy(s,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=i.length}return s};function Vv(e,t){if(le.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Si(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let s=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wp(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return e2(e).length;default:if(s)return n?-1:Wp(e).length;t=(""+t).toLowerCase(),s=!0}}le.byteLength=Vv;function gF(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return FF(this,t,r);case"utf8":case"utf-8":return zv(this,t,r);case"ascii":return bF(this,t,r);case"latin1":case"binary":return CF(this,t,r);case"base64":return yF(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _F(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}le.prototype._isBuffer=!0;function Na(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}le.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};Uv&&(le.prototype[Uv]=le.prototype.inspect);le.prototype.compare=function(t,r,n,s,a){if(Si(t,Uint8Array)&&(t=le.from(t,t.offset,t.byteLength)),!le.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),s===void 0&&(s=0),a===void 0&&(a=this.length),r<0||n>t.length||s<0||a>this.length)throw new RangeError("out of range index");if(s>=a&&r>=n)return 0;if(s>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,s>>>=0,a>>>=0,this===t)return 0;let i=a-s,c=n-r,l=Math.min(i,c),h=this.slice(s,a),m=t.slice(r,n);for(let A=0;A2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Zp(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0)if(s)r=0;else return-1;if(typeof t=="string"&&(t=le.from(t,n)),le.isBuffer(t))return t.length===0?-1:Hv(e,t,r,n,s);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Hv(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function Hv(e,t,r,n,s){let a=1,i=e.length,c=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,i/=2,c/=2,r/=2}function l(m,A){return a===1?m[A]:m.readUInt16BE(A*a)}let h;if(s){let m=-1;for(h=r;hi&&(r=i-c),h=r;h>=0;h--){let m=!0;for(let A=0;As&&(n=s)):n=s;let a=t.length;n>a/2&&(n=a/2);let i;for(i=0;i>>0,isFinite(n)?(n=n>>>0,s===void 0&&(s="utf8")):(s=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");let i=!1;for(;;)switch(s){case"hex":return mF(this,t,r,n);case"utf8":case"utf-8":return vF(this,t,r,n);case"ascii":case"latin1":case"binary":return wF(this,t,r,n);case"base64":return AF(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return EF(this,t,r,n);default:if(i)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),i=!0}};le.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function yF(e,t,r){return t===0&&r===e.length?Vp.fromByteArray(e):Vp.fromByteArray(e.slice(t,r))}function zv(e,t,r){r=Math.min(e.length,r);let n=[],s=t;for(;s239?4:a>223?3:a>191?2:1;if(s+c<=r){let l,h,m,A;switch(c){case 1:a<128&&(i=a);break;case 2:l=e[s+1],(l&192)===128&&(A=(a&31)<<6|l&63,A>127&&(i=A));break;case 3:l=e[s+1],h=e[s+2],(l&192)===128&&(h&192)===128&&(A=(a&15)<<12|(l&63)<<6|h&63,A>2047&&(A<55296||A>57343)&&(i=A));break;case 4:l=e[s+1],h=e[s+2],m=e[s+3],(l&192)===128&&(h&192)===128&&(m&192)===128&&(A=(a&15)<<18|(l&63)<<12|(h&63)<<6|m&63,A>65535&&A<1114112&&(i=A))}}i===null?(i=65533,c=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),s+=c}return SF(n)}var jv=4096;function SF(e){let t=e.length;if(t<=jv)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let s="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}le.prototype.readUintLE=le.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||hr(t,r,this.length);let s=this[t],a=1,i=0;for(;++i>>0,r=r>>>0,n||hr(t,r,this.length);let s=this[t+--r],a=1;for(;r>0&&(a*=256);)s+=this[t+--r]*a;return s};le.prototype.readUint8=le.prototype.readUInt8=function(t,r){return t=t>>>0,r||hr(t,1,this.length),this[t]};le.prototype.readUint16LE=le.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||hr(t,2,this.length),this[t]|this[t+1]<<8};le.prototype.readUint16BE=le.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||hr(t,2,this.length),this[t]<<8|this[t+1]};le.prototype.readUint32LE=le.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||hr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};le.prototype.readUint32BE=le.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||hr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};le.prototype.readBigUInt64LE=js(function(t){t=t>>>0,Gu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&gc(t,this.length-8);let s=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(s)+(BigInt(a)<>>0,Gu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&gc(t,this.length-8);let s=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(s)<>>0,r=r>>>0,n||hr(t,r,this.length);let s=this[t],a=1,i=0;for(;++i=a&&(s-=Math.pow(2,8*r)),s};le.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||hr(t,r,this.length);let s=r,a=1,i=this[t+--s];for(;s>0&&(a*=256);)i+=this[t+--s]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};le.prototype.readInt8=function(t,r){return t=t>>>0,r||hr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};le.prototype.readInt16LE=function(t,r){t=t>>>0,r||hr(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};le.prototype.readInt16BE=function(t,r){t=t>>>0,r||hr(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};le.prototype.readInt32LE=function(t,r){return t=t>>>0,r||hr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};le.prototype.readInt32BE=function(t,r){return t=t>>>0,r||hr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};le.prototype.readBigInt64LE=js(function(t){t=t>>>0,Gu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&gc(t,this.length-8);let s=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(s)<>>0,Gu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&gc(t,this.length-8);let s=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(s)<>>0,r||hr(t,4,this.length),Vu.read(this,t,!0,23,4)};le.prototype.readFloatBE=function(t,r){return t=t>>>0,r||hr(t,4,this.length),Vu.read(this,t,!1,23,4)};le.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||hr(t,8,this.length),Vu.read(this,t,!0,52,8)};le.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||hr(t,8,this.length),Vu.read(this,t,!1,52,8)};function sn(e,t,r,n,s,a){if(!le.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}le.prototype.writeUintLE=le.prototype.writeUIntLE=function(t,r,n,s){if(t=+t,r=r>>>0,n=n>>>0,!s){let c=Math.pow(2,8*n)-1;sn(this,t,r,n,c,0)}let a=1,i=0;for(this[r]=t&255;++i>>0,n=n>>>0,!s){let c=Math.pow(2,8*n)-1;sn(this,t,r,n,c,0)}let a=n-1,i=1;for(this[r+a]=t&255;--a>=0&&(i*=256);)this[r+a]=t/i&255;return r+n};le.prototype.writeUint8=le.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,1,255,0),this[r]=t&255,r+1};le.prototype.writeUint16LE=le.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};le.prototype.writeUint16BE=le.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};le.prototype.writeUint32LE=le.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};le.prototype.writeUint32BE=le.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function Wv(e,t,r,n,s){Qv(t,n,s,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i,r}function Yv(e,t,r,n,s){Qv(t,n,s,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=i,i=i>>8,e[r+2]=i,i=i>>8,e[r+1]=i,i=i>>8,e[r]=i,r+8}le.prototype.writeBigUInt64LE=js(function(t,r=0){return Wv(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});le.prototype.writeBigUInt64BE=js(function(t,r=0){return Yv(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});le.prototype.writeIntLE=function(t,r,n,s){if(t=+t,r=r>>>0,!s){let l=Math.pow(2,8*n-1);sn(this,t,r,n,l-1,-l)}let a=0,i=1,c=0;for(this[r]=t&255;++a>0)-c&255;return r+n};le.prototype.writeIntBE=function(t,r,n,s){if(t=+t,r=r>>>0,!s){let l=Math.pow(2,8*n-1);sn(this,t,r,n,l-1,-l)}let a=n-1,i=1,c=0;for(this[r+a]=t&255;--a>=0&&(i*=256);)t<0&&c===0&&this[r+a+1]!==0&&(c=1),this[r+a]=(t/i>>0)-c&255;return r+n};le.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};le.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};le.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};le.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};le.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||sn(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};le.prototype.writeBigInt64LE=js(function(t,r=0){return Wv(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});le.prototype.writeBigInt64BE=js(function(t,r=0){return Yv(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Xv(e,t,r,n,s,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Jv(e,t,r,n,s){return t=+t,r=r>>>0,s||Xv(e,t,r,4,34028234663852886e22,-34028234663852886e22),Vu.write(e,t,r,n,23,4),r+4}le.prototype.writeFloatLE=function(t,r,n){return Jv(this,t,r,!0,n)};le.prototype.writeFloatBE=function(t,r,n){return Jv(this,t,r,!1,n)};function Zv(e,t,r,n,s){return t=+t,r=r>>>0,s||Xv(e,t,r,8,17976931348623157e292,-17976931348623157e292),Vu.write(e,t,r,n,52,8),r+8}le.prototype.writeDoubleLE=function(t,r,n){return Zv(this,t,r,!0,n)};le.prototype.writeDoubleBE=function(t,r,n){return Zv(this,t,r,!1,n)};le.prototype.copy=function(t,r,n,s){if(!le.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!s&&s!==0&&(s=this.length),r>=t.length&&(r=t.length),r||(r=0),s>0&&s=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?s=Mv(String(r)):typeof r=="bigint"&&(s=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(s=Mv(s)),s+="n"),n+=` It must be ${t}. Received ${s}`,n},RangeError);function Mv(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function IF(e,t,r){Gu(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&gc(t,e.length-(r+1))}function Qv(e,t,r,n,s,a){if(e>r||e3?t===0||t===BigInt(0)?c=`>= 0${i} and < 2${i} ** ${(a+1)*8}${i}`:c=`>= -(2${i} ** ${(a+1)*8-1}${i}) and < 2 ** ${(a+1)*8-1}${i}`:c=`>= ${t}${i} and <= ${r}${i}`,new Ku.ERR_OUT_OF_RANGE("value",c,e)}IF(n,s,a)}function Gu(e,t){if(typeof e!="number")throw new Ku.ERR_INVALID_ARG_TYPE(t,"number",e)}function gc(e,t,r){throw Math.floor(e)!==e?(Gu(e,r),new Ku.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Ku.ERR_BUFFER_OUT_OF_BOUNDS:new Ku.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var BF=/[^+/0-9A-Za-z-_]/g;function DF(e){if(e=e.split("=")[0],e=e.trim().replace(BF,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Wp(e,t){t=t||1/0;let r,n=e.length,s=null,a=[];for(let i=0;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(i+1===n){(t-=3)>-1&&a.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),s=r;continue}r=(s-55296<<10|r-56320)+65536}else s&&(t-=3)>-1&&a.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function PF(e){let t=[];for(let r=0;r>8,s=r%256,a.push(s),a.push(n);return a}function e2(e){return Vp.toByteArray(DF(e))}function hf(e,t,r,n){let s;for(s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function Si(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Zp(e){return e!==e}var RF=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let s=0;s<16;++s)t[n+s]=e[r]+e[s]}return t}();function js(e){return typeof BigInt>"u"?TF:e}function TF(){throw new Error("BigInt not supported")}});var C2=be(ye=>{var mc={};mc.userAgent=!1;var Wu={},xF="11.1.0",OF="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license";var Se=Se||function(e,t){var r={},n=r.lib={},s=n.Base=function(){function f(){}return{extend:function(E){f.prototype=this;var v=new f;return E&&v.mixIn(E),v.hasOwnProperty("init")||(v.init=function(){v.$super.init.apply(this,arguments)}),v.init.prototype=v,v.$super=this,v},create:function(){var E=this.extend();return E.init.apply(E,arguments),E},init:function(){},mixIn:function(E){for(var v in E)E.hasOwnProperty(v)&&(this[v]=E[v]);E.hasOwnProperty("toString")&&(this.toString=E.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=s.extend({init:function(f,E){f=this.words=f||[],E!=t?this.sigBytes=E:this.sigBytes=f.length*4},toString:function(f){return(f||c).stringify(this)},concat:function(f){var E=this.words,v=f.words,b=this.sigBytes,w=f.sigBytes;if(this.clamp(),b%4)for(var S=0;S>>2]>>>24-S%4*8&255;E[b+S>>>2]|=F<<24-(b+S)%4*8}else for(var S=0;S>>2]=v[S>>>2];return this.sigBytes+=w,this},clamp:function(){var f=this.words,E=this.sigBytes;f[E>>>2]&=4294967295<<32-E%4*8,f.length=e.ceil(E/4)},clone:function(){var f=s.clone.call(this);return f.words=this.words.slice(0),f},random:function(f){for(var E=[],v=0;v>>2]>>>24-w%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16))}return b.join("")},parse:function(f){for(var E=f.length,v=[],b=0;b>>3]|=parseInt(f.substr(b,2),16)<<24-b%8*4;return new a.init(v,E/2)}},l=i.Latin1={stringify:function(f){for(var E=f.words,v=f.sigBytes,b=[],w=0;w>>2]>>>24-w%4*8&255;b.push(String.fromCharCode(S))}return b.join("")},parse:function(f){for(var E=f.length,v=[],b=0;b>>2]|=(f.charCodeAt(b)&255)<<24-b%4*8;return new a.init(v,E)}},h=i.Utf8={stringify:function(f){try{return decodeURIComponent(escape(l.stringify(f)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(f){return l.parse(unescape(encodeURIComponent(f)))}},m=n.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(f){typeof f=="string"&&(f=h.parse(f)),this._data.concat(f),this._nDataBytes+=f.sigBytes},_process:function(f){var E=this._data,v=E.words,b=E.sigBytes,w=this.blockSize,S=w*4,F=b/S;f?F=e.ceil(F):F=e.max((F|0)-this._minBufferSize,0);var D=F*w,I=e.min(D*4,b);if(D){for(var j=0;j>>2]&255}},t.BlockCipher=c.extend({cfg:c.cfg.extend({mode:A,padding:h}),reset:function(){c.reset.call(this);var b=this.cfg,v=b.iv,b=b.mode;if(this._xformMode==this._ENC_XFORM_MODE)var w=b.createEncryptor;else w=b.createDecryptor,this._minBufferSize=1;this._mode=w.call(b,this,v&&v.words)},_doProcessBlock:function(v,b){this._mode.processBlock(v,b)},_doFinalize:function(){var v=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){v.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),v.unpad(b);return b},blockSize:4});var m=t.CipherParams=r.extend({init:function(v){this.mixIn(v)},toString:function(v){return(v||this.formatter).stringify(this)}}),A=(f.format={}).OpenSSL={stringify:function(v){var b=v.ciphertext;return v=v.salt,(v?n.create([1398893684,1701076831]).concat(v).concat(b):b).toString(a)},parse:function(v){v=a.parse(v);var b=v.words;if(b[0]==1398893684&&b[1]==1701076831){var w=n.create(b.slice(2,4));b.splice(0,4),v.sigBytes-=16}return m.create({ciphertext:v,salt:w})}},p=t.SerializableCipher=r.extend({cfg:r.extend({format:A}),encrypt:function(v,b,w,S){S=this.cfg.extend(S);var F=v.createEncryptor(w,S);return b=F.finalize(b),F=F.cfg,m.create({ciphertext:b,key:w,iv:F.iv,algorithm:v,mode:F.mode,padding:F.padding,blockSize:v.blockSize,formatter:S.format})},decrypt:function(v,b,w,S){return S=this.cfg.extend(S),b=this._parse(b,S.format),v.createDecryptor(w,S).finalize(b.ciphertext)},_parse:function(v,b){return typeof v=="string"?b.parse(v,this):v}}),f=(f.kdf={}).OpenSSL={execute:function(v,b,w,S){return S||(S=n.random(8)),v=i.create({keySize:b+w}).compute(v,S),w=n.create(v.words.slice(b),4*w),v.sigBytes=4*b,m.create({key:v,iv:w,salt:S})}},E=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:f}),encrypt:function(v,b,w,S){return S=this.cfg.extend(S),w=S.kdf.execute(w,v.keySize,v.ivSize),S.iv=w.iv,v=p.encrypt.call(this,v,b,w.key,S),v.mixIn(w),v},decrypt:function(v,b,w,S){return S=this.cfg.extend(S),b=this._parse(b,S.format),w=S.kdf.execute(w,v.keySize,v.ivSize,b.salt),S.iv=w.iv,p.decrypt.call(this,v,b,w.key,S)}})}();(function(){for(var e=Se,t=e.lib.BlockCipher,j=e.algo,r=[],n=[],s=[],a=[],i=[],c=[],l=[],h=[],m=[],A=[],p=[],f=0;256>f;f++)p[f]=128>f?f<<1:f<<1^283;for(var E=0,v=0,f=0;256>f;f++){var b=v^v<<1^v<<2^v<<3^v<<4,b=b>>>8^b&255^99;r[E]=b,n[b]=E;var w=p[E],S=p[w],F=p[S],D=257*p[b]^16843008*b;s[E]=D<<24|D>>>8,a[E]=D<<16|D>>>16,i[E]=D<<8|D>>>24,c[E]=D,D=16843009*F^65537*S^257*w^16843008*E,l[b]=D<<24|D>>>8,h[b]=D<<16|D>>>16,m[b]=D<<8|D>>>24,A[b]=D,E?(E=w^p[p[p[F^w]]],v^=p[p[v]]):E=v=1}var I=[0,1,2,4,8,16,32,64,128,27,54],j=j.AES=t.extend({_doReset:function(){for(var P=this._key,q=P.words,_=P.sigBytes/4,P=4*((this._nRounds=_+6)+1),k=this._keySchedule=[],U=0;U>>24]<<24|r[M>>>16&255]<<16|r[M>>>8&255]<<8|r[M&255]):(M=M<<8|M>>>24,M=r[M>>>24]<<24|r[M>>>16&255]<<16|r[M>>>8&255]<<8|r[M&255],M^=I[U/_|0]<<24),k[U]=k[U-_]^M}for(q=this._invKeySchedule=[],_=0;__||4>=U?M:l[r[M>>>24]]^h[r[M>>>16&255]]^m[r[M>>>8&255]]^A[r[M&255]]},encryptBlock:function(q,_){this._doCryptBlock(q,_,this._keySchedule,s,a,i,c,r)},decryptBlock:function(q,_){var P=q[_+1];q[_+1]=q[_+3],q[_+3]=P,this._doCryptBlock(q,_,this._invKeySchedule,l,h,m,A,n),P=q[_+1],q[_+1]=q[_+3],q[_+3]=P},_doCryptBlock:function(q,_,P,k,U,M,W,K){for(var V=this._nRounds,ue=q[_]^P[0],Ce=q[_+1]^P[1],Oe=q[_+2]^P[2],He=q[_+3]^P[3],z=4,ne=1;ne>>24]^U[Ce>>>16&255]^M[Oe>>>8&255]^W[He&255]^P[z++],we=k[Ce>>>24]^U[Oe>>>16&255]^M[He>>>8&255]^W[ue&255]^P[z++],_e=k[Oe>>>24]^U[He>>>16&255]^M[ue>>>8&255]^W[Ce&255]^P[z++],He=k[He>>>24]^U[ue>>>16&255]^M[Ce>>>8&255]^W[Oe&255]^P[z++],ue=Ee,Ce=we,Oe=_e;Ee=(K[ue>>>24]<<24|K[Ce>>>16&255]<<16|K[Oe>>>8&255]<<8|K[He&255])^P[z++],we=(K[Ce>>>24]<<24|K[Oe>>>16&255]<<16|K[He>>>8&255]<<8|K[ue&255])^P[z++],_e=(K[Oe>>>24]<<24|K[He>>>16&255]<<16|K[ue>>>8&255]<<8|K[Ce&255])^P[z++],He=(K[He>>>24]<<24|K[ue>>>16&255]<<16|K[Ce>>>8&255]<<8|K[Oe&255])^P[z++],q[_]=Ee,q[_+1]=we,q[_+2]=_e,q[_+3]=He},keySize:8});e.AES=t._createHelper(j)})();(function(){function e(p,f){var E=(this._lBlock>>>p^this._rBlock)&f;this._rBlock^=E,this._lBlock^=E<>>p^this._lBlock)&f;this._lBlock^=E,this._rBlock^=E<E;E++){var v=i[E]-1;f[E]=p[v>>>5]>>>31-v%32&1}for(p=this._subKeys=[],v=0;16>v;v++){for(var b=p[v]=[],w=l[v],E=0;24>E;E++)b[E/6|0]|=f[(c[E]-1+w)%28]<<31-E%6,b[4+(E/6|0)]|=f[28+(c[E+24]-1+w)%28]<<31-E%6;for(b[0]=b[0]<<1|b[0]>>>31,E=1;7>E;E++)b[E]>>>=4*(E-1)+3;b[7]=b[7]<<5|b[7]>>>27}for(f=this._invSubKeys=[],E=0;16>E;E++)f[E]=p[15-E]},encryptBlock:function(p,f){this._doCryptBlock(p,f,this._subKeys)},decryptBlock:function(p,f){this._doCryptBlock(p,f,this._invSubKeys)},_doCryptBlock:function(p,f,E){this._lBlock=p[f],this._rBlock=p[f+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var v=0;16>v;v++){for(var b=E[v],w=this._lBlock,S=this._rBlock,F=0,D=0;8>D;D++)F|=h[D][((S^b[D])&m[D])>>>0];this._lBlock=S,this._rBlock=w^F}E=this._lBlock,this._lBlock=this._rBlock,this._rBlock=E,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),p[f]=this._lBlock,p[f+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});r.DES=s._createHelper(A),a=a.TripleDES=s.extend({_doReset:function(){var p=this._key.words;this._des1=A.createEncryptor(n.create(p.slice(0,2))),this._des2=A.createEncryptor(n.create(p.slice(2,4))),this._des3=A.createEncryptor(n.create(p.slice(4,6)))},encryptBlock:function(p,f){this._des1.encryptBlock(p,f),this._des2.decryptBlock(p,f),this._des3.encryptBlock(p,f)},decryptBlock:function(p,f){this._des3.decryptBlock(p,f),this._des2.encryptBlock(p,f),this._des1.decryptBlock(p,f)},keySize:6,ivSize:2,blockSize:2}),r.TripleDES=s._createHelper(a)})();(function(){var e=Se,t=e.lib.WordArray;e.enc.Base64={stringify:function(r){var n=r.words,s=r.sigBytes,a=this._map;r.clamp(),r=[];for(var i=0;i>>2]>>>24-8*(i%4)&255)<<16|(n[i+1>>>2]>>>24-8*((i+1)%4)&255)<<8|n[i+2>>>2]>>>24-8*((i+2)%4)&255,l=0;4>l&&i+.75*l>>6*(3-l)&63));if(n=a.charAt(64))for(;r.length%4;)r.push(n);return r.join("")},parse:function(r){var n=r.length,s=this._map,a=s.charAt(64);a&&(a=r.indexOf(a),a!=-1&&(n=a));for(var a=[],i=0,c=0;c>>6-2*(c%4);a[i>>>2]|=(l|h)<<24-8*(i%4),i++}return t.create(a,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();(function(e){function t(A,p,f,E,v,b,w){return A=A+(p&f|~p&E)+v+w,(A<>>32-b)+p}function r(A,p,f,E,v,b,w){return A=A+(p&E|f&~E)+v+w,(A<>>32-b)+p}function n(A,p,f,E,v,b,w){return A=A+(p^f^E)+v+w,(A<>>32-b)+p}function s(A,p,f,E,v,b,w){return A=A+(f^(p|~E))+v+w,(A<>>32-b)+p}for(var a=Se,l=a.lib,i=l.WordArray,c=l.Hasher,l=a.algo,h=[],m=0;64>m;m++)h[m]=4294967296*e.abs(e.sin(m+1))|0;l=l.MD5=c.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(A,p){for(var f=0;16>f;f++){var E=p+f,v=A[E];A[E]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}var f=this._hash.words,E=A[p+0],v=A[p+1],b=A[p+2],w=A[p+3],S=A[p+4],F=A[p+5],D=A[p+6],I=A[p+7],j=A[p+8],q=A[p+9],_=A[p+10],P=A[p+11],k=A[p+12],U=A[p+13],M=A[p+14],W=A[p+15],K=f[0],ne=f[1],z=f[2],V=f[3],K=t(K,ne,z,V,E,7,h[0]),V=t(V,K,ne,z,v,12,h[1]),z=t(z,V,K,ne,b,17,h[2]),ne=t(ne,z,V,K,w,22,h[3]),K=t(K,ne,z,V,S,7,h[4]),V=t(V,K,ne,z,F,12,h[5]),z=t(z,V,K,ne,D,17,h[6]),ne=t(ne,z,V,K,I,22,h[7]),K=t(K,ne,z,V,j,7,h[8]),V=t(V,K,ne,z,q,12,h[9]),z=t(z,V,K,ne,_,17,h[10]),ne=t(ne,z,V,K,P,22,h[11]),K=t(K,ne,z,V,k,7,h[12]),V=t(V,K,ne,z,U,12,h[13]),z=t(z,V,K,ne,M,17,h[14]),ne=t(ne,z,V,K,W,22,h[15]),K=r(K,ne,z,V,v,5,h[16]),V=r(V,K,ne,z,D,9,h[17]),z=r(z,V,K,ne,P,14,h[18]),ne=r(ne,z,V,K,E,20,h[19]),K=r(K,ne,z,V,F,5,h[20]),V=r(V,K,ne,z,_,9,h[21]),z=r(z,V,K,ne,W,14,h[22]),ne=r(ne,z,V,K,S,20,h[23]),K=r(K,ne,z,V,q,5,h[24]),V=r(V,K,ne,z,M,9,h[25]),z=r(z,V,K,ne,w,14,h[26]),ne=r(ne,z,V,K,j,20,h[27]),K=r(K,ne,z,V,U,5,h[28]),V=r(V,K,ne,z,b,9,h[29]),z=r(z,V,K,ne,I,14,h[30]),ne=r(ne,z,V,K,k,20,h[31]),K=n(K,ne,z,V,F,4,h[32]),V=n(V,K,ne,z,j,11,h[33]),z=n(z,V,K,ne,P,16,h[34]),ne=n(ne,z,V,K,M,23,h[35]),K=n(K,ne,z,V,v,4,h[36]),V=n(V,K,ne,z,S,11,h[37]),z=n(z,V,K,ne,I,16,h[38]),ne=n(ne,z,V,K,_,23,h[39]),K=n(K,ne,z,V,U,4,h[40]),V=n(V,K,ne,z,E,11,h[41]),z=n(z,V,K,ne,w,16,h[42]),ne=n(ne,z,V,K,D,23,h[43]),K=n(K,ne,z,V,q,4,h[44]),V=n(V,K,ne,z,k,11,h[45]),z=n(z,V,K,ne,W,16,h[46]),ne=n(ne,z,V,K,b,23,h[47]),K=s(K,ne,z,V,E,6,h[48]),V=s(V,K,ne,z,I,10,h[49]),z=s(z,V,K,ne,M,15,h[50]),ne=s(ne,z,V,K,F,21,h[51]),K=s(K,ne,z,V,k,6,h[52]),V=s(V,K,ne,z,w,10,h[53]),z=s(z,V,K,ne,_,15,h[54]),ne=s(ne,z,V,K,v,21,h[55]),K=s(K,ne,z,V,j,6,h[56]),V=s(V,K,ne,z,W,10,h[57]),z=s(z,V,K,ne,D,15,h[58]),ne=s(ne,z,V,K,U,21,h[59]),K=s(K,ne,z,V,S,6,h[60]),V=s(V,K,ne,z,P,10,h[61]),z=s(z,V,K,ne,b,15,h[62]),ne=s(ne,z,V,K,q,21,h[63]);f[0]=f[0]+K|0,f[1]=f[1]+ne|0,f[2]=f[2]+z|0,f[3]=f[3]+V|0},_doFinalize:function(){var A=this._data,p=A.words,f=8*this._nDataBytes,E=8*A.sigBytes;p[E>>>5]|=128<<24-E%32;var v=e.floor(f/4294967296);for(p[(E+64>>>9<<4)+15]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,p[(E+64>>>9<<4)+14]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,A.sigBytes=4*(p.length+1),this._process(),A=this._hash,p=A.words,f=0;4>f;f++)E=p[f],p[f]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360;return A},clone:function(){var A=c.clone.call(this);return A._hash=this._hash.clone(),A}}),a.MD5=c._createHelper(l),a.HmacMD5=c._createHmacHelper(l)})(Math);(function(){var e=Se,s=e.lib,t=s.WordArray,r=s.Hasher,n=[],s=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,i){for(var c=this._hash.words,l=c[0],h=c[1],m=c[2],A=c[3],p=c[4],f=0;80>f;f++){if(16>f)n[f]=a[i+f]|0;else{var E=n[f-3]^n[f-8]^n[f-14]^n[f-16];n[f]=E<<1|E>>>31}E=(l<<5|l>>>27)+p+n[f],E=20>f?E+((h&m|~h&A)+1518500249):40>f?E+((h^m^A)+1859775393):60>f?E+((h&m|h&A|m&A)-1894007588):E+((h^m^A)-899497514),p=A,A=m,m=h<<30|h>>>2,h=l,l=E}c[0]=c[0]+l|0,c[1]=c[1]+h|0,c[2]=c[2]+m|0,c[3]=c[3]+A|0,c[4]=c[4]+p|0},_doFinalize:function(){var a=this._data,i=a.words,c=8*this._nDataBytes,l=8*a.sigBytes;return i[l>>>5]|=128<<24-l%32,i[(l+64>>>9<<4)+14]=Math.floor(c/4294967296),i[(l+64>>>9<<4)+15]=c,a.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});e.SHA1=r._createHelper(s),e.HmacSHA1=r._createHmacHelper(s)})();(function(e){for(var t=Se,f=t.lib,r=f.WordArray,n=f.Hasher,f=t.algo,s=[],a=[],i=function(v){return 4294967296*(v-(v|0))|0},c=2,l=0;64>l;){var h;e:{h=c;for(var m=e.sqrt(h),A=2;A<=m;A++)if(!(h%A)){h=!1;break e}h=!0}h&&(8>l&&(s[l]=i(e.pow(c,.5))),a[l]=i(e.pow(c,1/3)),l++),c++}var p=[],f=f.SHA256=n.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(E,v){for(var b=this._hash.words,w=b[0],S=b[1],F=b[2],D=b[3],I=b[4],j=b[5],q=b[6],_=b[7],P=0;64>P;P++){if(16>P)p[P]=E[v+P]|0;else{var k=p[P-15],U=p[P-2];p[P]=((k<<25|k>>>7)^(k<<14|k>>>18)^k>>>3)+p[P-7]+((U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10)+p[P-16]}k=_+((I<<26|I>>>6)^(I<<21|I>>>11)^(I<<7|I>>>25))+(I&j^~I&q)+a[P]+p[P],U=((w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22))+(w&S^w&F^S&F),_=q,q=j,j=I,I=D+k|0,D=F,F=S,S=w,w=k+U|0}b[0]=b[0]+w|0,b[1]=b[1]+S|0,b[2]=b[2]+F|0,b[3]=b[3]+D|0,b[4]=b[4]+I|0,b[5]=b[5]+j|0,b[6]=b[6]+q|0,b[7]=b[7]+_|0},_doFinalize:function(){var E=this._data,v=E.words,b=8*this._nDataBytes,w=8*E.sigBytes;return v[w>>>5]|=128<<24-w%32,v[(w+64>>>9<<4)+14]=e.floor(b/4294967296),v[(w+64>>>9<<4)+15]=b,E.sigBytes=4*v.length,this._process(),this._hash},clone:function(){var E=n.clone.call(this);return E._hash=this._hash.clone(),E}});t.SHA256=n._createHelper(f),t.HmacSHA256=n._createHmacHelper(f)})(Math);(function(){var e=Se,t=e.lib.WordArray,n=e.algo,r=n.SHA256,n=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var s=r._doFinalize.call(this);return s.sigBytes-=4,s}});e.SHA224=r._createHelper(n),e.HmacSHA224=r._createHmacHelper(n)})();(function(){function e(){return n.create.apply(n,arguments)}for(var t=Se,r=t.lib.Hasher,a=t.x64,n=a.Word,s=a.WordArray,a=t.algo,i=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],c=[],l=0;80>l;l++)c[l]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(h,m){for(var S=this._hash.words,A=S[0],p=S[1],f=S[2],E=S[3],v=S[4],b=S[5],w=S[6],S=S[7],F=A.high,D=A.low,I=p.high,j=p.low,q=f.high,_=f.low,P=E.high,k=E.low,U=v.high,M=v.low,W=b.high,K=b.low,V=w.high,z=w.low,ne=S.high,Ee=S.low,we=F,_e=D,He=I,ue=j,Ce=q,Oe=_,sr=P,_t=k,lt=U,Mt=M,Pt=W,Qe=K,bt=V,Je=z,ht=ne,qt=Ee,ze=0;80>ze;ze++){var Cr=c[ze];if(16>ze)var Ot=Cr.high=h[m+2*ze]|0,We=Cr.low=h[m+2*ze+1]|0;else{var Ot=c[ze-15],We=Ot.high,zt=Ot.low,Ot=(We>>>1|zt<<31)^(We>>>8|zt<<24)^We>>>7,zt=(zt>>>1|We<<31)^(zt>>>8|We<<24)^(zt>>>7|We<<25),br=c[ze-2],We=br.high,pt=br.low,br=(We>>>19|pt<<13)^(We<<3|pt>>>29)^We>>>6,pt=(pt>>>19|We<<13)^(pt<<3|We>>>29)^(pt>>>6|We<<26),We=c[ze-7],Rn=We.high,ar=c[ze-16],Wt=ar.high,ar=ar.low,We=zt+We.low,Ot=Ot+Rn+(We>>>0>>0?1:0),We=We+pt,Ot=Ot+br+(We>>>0>>0?1:0),We=We+ar,Ot=Ot+Wt+(We>>>0>>0?1:0);Cr.high=Ot,Cr.low=We}var Rn=lt&Pt^~lt&bt,ar=Mt&Qe^~Mt&Je,Cr=we&He^we&Ce^He&Ce,gr=_e&ue^_e&Oe^ue&Oe,zt=(we>>>28|_e<<4)^(we<<30|_e>>>2)^(we<<25|_e>>>7),br=(_e>>>28|we<<4)^(_e<<30|we>>>2)^(_e<<25|we>>>7),pt=i[ze],Xs=pt.high,Or=pt.low,pt=qt+((Mt>>>14|lt<<18)^(Mt>>>18|lt<<14)^(Mt<<23|lt>>>9)),Wt=ht+((lt>>>14|Mt<<18)^(lt>>>18|Mt<<14)^(lt<<23|Mt>>>9))+(pt>>>0>>0?1:0),pt=pt+ar,Wt=Wt+Rn+(pt>>>0>>0?1:0),pt=pt+Or,Wt=Wt+Xs+(pt>>>0>>0?1:0),pt=pt+We,Wt=Wt+Ot+(pt>>>0>>0?1:0),We=br+gr,Cr=zt+Cr+(We>>>0
>>0?1:0),ht=bt,qt=Je,bt=Pt,Je=Qe,Pt=lt,Qe=Mt,Mt=_t+pt|0,lt=sr+Wt+(Mt>>>0<_t>>>0?1:0)|0,sr=Ce,_t=Oe,Ce=He,Oe=ue,He=we,ue=_e,_e=pt+We|0,we=Wt+Cr+(_e>>>0>>0?1:0)|0}D=A.low=D+_e,A.high=F+we+(D>>>0<_e>>>0?1:0),j=p.low=j+ue,p.high=I+He+(j>>>0>>0?1:0),_=f.low=_+Oe,f.high=q+Ce+(_>>>0>>0?1:0),k=E.low=k+_t,E.high=P+sr+(k>>>0<_t>>>0?1:0),M=v.low=M+Mt,v.high=U+lt+(M>>>0>>0?1:0),K=b.low=K+Qe,b.high=W+Pt+(K>>>0>>0?1:0),z=w.low=z+Je,w.high=V+bt+(z>>>0>>0?1:0),Ee=S.low=Ee+qt,S.high=ne+ht+(Ee>>>0>>0?1:0)},_doFinalize:function(){var h=this._data,m=h.words,A=8*this._nDataBytes,p=8*h.sigBytes;return m[p>>>5]|=128<<24-p%32,m[(p+128>>>10<<5)+30]=Math.floor(A/4294967296),m[(p+128>>>10<<5)+31]=A,h.sigBytes=4*m.length,this._process(),this._hash.toX32()},clone:function(){var h=r.clone.call(this);return h._hash=this._hash.clone(),h},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)})();(function(){var e=Se,s=e.x64,t=s.Word,r=s.WordArray,s=e.algo,n=s.SHA512,s=s.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var a=n._doFinalize.call(this);return a.sigBytes-=16,a}});e.SHA384=n._createHelper(s),e.HmacSHA384=n._createHmacHelper(s)})();(function(){var e=Se,h=e.lib,t=h.WordArray,r=h.Hasher,h=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),i=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]),h=h.RIPEMD160=r.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(m,A){for(var p=0;16>p;p++){var f=A+p,E=m[f];m[f]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360}var f=this._hash.words,E=c.words,v=l.words,b=n.words,w=s.words,S=a.words,F=i.words,D,I,j,q,_,P,k,U,M,W;P=D=f[0],k=I=f[1],U=j=f[2],M=q=f[3],W=_=f[4];for(var K,p=0;80>p;p+=1)K=D+m[A+b[p]]|0,K=16>p?K+((I^j^q)+E[0]):32>p?K+((I&j|~I&q)+E[1]):48>p?K+(((I|~j)^q)+E[2]):64>p?K+((I&q|j&~q)+E[3]):K+((I^(j|~q))+E[4]),K|=0,K=K<>>32-S[p],K=K+_|0,D=_,_=q,q=j<<10|j>>>22,j=I,I=K,K=P+m[A+w[p]]|0,K=16>p?K+((k^(U|~M))+v[0]):32>p?K+((k&M|U&~M)+v[1]):48>p?K+(((k|~U)^M)+v[2]):64>p?K+((k&U|~k&M)+v[3]):K+((k^U^M)+v[4]),K|=0,K=K<>>32-F[p],K=K+W|0,P=W,W=M,M=U<<10|U>>>22,U=k,k=K;K=f[1]+j+M|0,f[1]=f[2]+q+W|0,f[2]=f[3]+_+P|0,f[3]=f[4]+D+k|0,f[4]=f[0]+I+U|0,f[0]=K},_doFinalize:function(){var m=this._data,A=m.words,p=8*this._nDataBytes,f=8*m.sigBytes;for(A[f>>>5]|=128<<24-f%32,A[(f+64>>>9<<4)+14]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,m.sigBytes=4*(A.length+1),this._process(),m=this._hash,A=m.words,p=0;5>p;p++)f=A[p],A[p]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360;return m},clone:function(){var m=r.clone.call(this);return m._hash=this._hash.clone(),m}});e.RIPEMD160=r._createHelper(h),e.HmacRIPEMD160=r._createHmacHelper(h)})(Math);(function(){var e=Se,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(r,n){r=this._hasher=new r.init,typeof n=="string"&&(n=t.parse(n));var s=r.blockSize,a=4*s;n.sigBytes>a&&(n=r.finalize(n)),n.clamp();for(var i=this._oKey=n.clone(),c=this._iKey=n.clone(),l=i.words,h=c.words,m=0;m>6)+Yu.charAt(r&63);if(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=Yu.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=Yu.charAt(r>>2)+Yu.charAt((r&3)<<4)),r0)for(;(n.length&3)>0;)n+=r0;return n}function Ju(e){var t="",r,n=0,s,a;for(r=0;r>2),s=a&3,n=1):n==1?(t+=ss(s<<2|a>>4),s=a&15,n=2):n==2?(t+=ss(s),t+=ss(a>>2),s=a&3,n=3):(t+=ss(s<<2|a>>4),t+=ss(a&15),n=0));return n==1&&(t+=ss(s<<2)),t}function i2(e){var t=Ju(e),r,n=new Array;for(r=0;2*r=0;){var i=t*this[e++]+r[n]+s;s=Math.floor(i/67108864),r[n++]=i&67108863}return s}function LF(e,t,r,n,s,a){for(var i=t&32767,c=t>>15;--a>=0;){var l=this[e]&32767,h=this[e++]>>15,m=c*l+h*i;l=i*l+((m&32767)<<15)+r[n]+(s&1073741823),s=(l>>>30)+(m>>>15)+c*h+(s>>>30),r[n++]=l&1073741823}return s}function UF(e,t,r,n,s,a){for(var i=t&16383,c=t>>14;--a>=0;){var l=this[e]&16383,h=this[e++]>>14,m=c*l+h*i;l=i*l+((m&16383)<<14)+r[n]+s,s=(l>>28)+(m>>14)+c*h,r[n++]=l&268435455}return s}t2&&mc.appName=="Microsoft Internet Explorer"?(Q.prototype.am=LF,qs=30):t2&&mc.appName!="Netscape"?(Q.prototype.am=NF,qs=26):(Q.prototype.am=UF,qs=28);Q.prototype.DB=qs;Q.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function MF(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function Ms(e){var t=ut();return t.fromInt(e),t}function qF(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,s=!1,a=0;--n>=0;){var i=r==8?e[n]&255:s2(e,n);if(i<0){e.charAt(n)=="-"&&(s=!0);continue}s=!1,a==0?this[this.t++]=i:a+r>this.DB?(this[this.t-1]|=(i&(1<>this.DB-a):this[this.t-1]|=i<=this.DB&&(a-=this.DB)}r==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function VF(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(c>c)>0&&(s=!0,a=ss(n));i>=0;)c>(c+=this.DB-t)):(n=this[i]>>(c-=t)&r,c<=0&&(c+=this.DB,--i)),n>0&&(s=!0),s&&(a+=ss(n));return s?a:"0"}function GF(){var e=ut();return Q.ZERO.subTo(this,e),e}function zF(){return this.s<0?this.negate():this}function WF(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function Af(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function YF(){return this.t<=0?0:this.DB*(this.t-1)+Af(this[this.t-1]^this.s&this.DM)}function XF(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function JF(e,t){for(var r=e;r=0;--c)t[c+a+1]=this[c]>>n|i,i=(this[c]&s)<=0;--c)t[c]=0;t[a]=i,t.t=this.t+a+1,t.s=this.s,t.clamp()}function QF(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,s=this.DB-n,a=(1<>n;for(var i=r+1;i>n;n>0&&(t[this.t-r-1]|=(this.s&a)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function t8(e,t){var r=this.abs(),n=e.abs(),s=r.t;for(t.t=s+n.t;--s>=0;)t[s]=0;for(s=0;s=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function n8(e,t,r){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(l,a),s.lShiftTo(l,r)):(n.copyTo(a),s.copyTo(r));var h=a.t,m=a[h-1];if(m!=0){var A=m*(1<1?a[h-2]>>this.F2:0),p=this.FV/A,f=(1<=0&&(r[r.t++]=1,r.subTo(w,r)),Q.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t=0;){var S=r[--v]==m?this.DM:Math.floor(r[v]*p+(r[v-1]+E)*f);if((r[v]+=a.am(0,S,r,b,0,h))0&&r.rShiftTo(l,r),i<0&&Q.ZERO.subTo(r,r)}}}function i8(e){var t=ut();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(Q.ZERO)>0&&e.subTo(t,t),t}function La(e){this.m=e}function s8(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function a8(e){return e}function u8(e){e.divRemTo(this.m,null,e)}function o8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function c8(e,t){e.squareTo(t),this.reduce(t)}La.prototype.convert=s8;La.prototype.revert=a8;La.prototype.reduce=u8;La.prototype.mulTo=o8;La.prototype.sqrTo=c8;function l8(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Ua(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function h8(e){var t=ut();return e.copyTo(t),this.reduce(t),t}function p8(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function d8(e,t){e.squareTo(t),this.reduce(t)}function g8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Ua.prototype.convert=f8;Ua.prototype.revert=h8;Ua.prototype.reduce=p8;Ua.prototype.mulTo=g8;Ua.prototype.sqrTo=d8;function m8(){return(this.t>0?this[0]&1:this.s)==0}function v8(e,t){if(e>4294967295||e<1)return Q.ONE;var r=ut(),n=ut(),s=t.convert(this),a=Af(e)-1;for(s.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,s,r);else{var i=r;r=n,n=i}return t.revert(r)}function w8(e,t){var r;return e<256||t.isEven()?r=new La(t):r=new Ua(t),this.exp(e,r)}Q.prototype.copyTo=jF;Q.prototype.fromInt=MF;Q.prototype.fromString=qF;Q.prototype.clamp=KF;Q.prototype.dlShiftTo=XF;Q.prototype.drShiftTo=JF;Q.prototype.lShiftTo=ZF;Q.prototype.rShiftTo=QF;Q.prototype.subTo=e8;Q.prototype.multiplyTo=t8;Q.prototype.squareTo=r8;Q.prototype.divRemTo=n8;Q.prototype.invDigit=l8;Q.prototype.isEven=m8;Q.prototype.exp=v8;Q.prototype.toString=VF;Q.prototype.negate=GF;Q.prototype.abs=zF;Q.prototype.compareTo=WF;Q.prototype.bitLength=YF;Q.prototype.mod=i8;Q.prototype.modPowInt=w8;Q.ZERO=Ms(0);Q.ONE=Ms(1);function A8(){var e=ut();return this.copyTo(e),e}function E8(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function S8(){return this.t==0?this.s:this[0]<<16>>16}function b8(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function C8(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function F8(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Ms(r),s=ut(),a=ut(),i="";for(this.divRemTo(n,s,a);s.signum()>0;)i=(r+a.intValue()).toString(e).substr(1)+i,s.divRemTo(n,s,a);return a.intValue().toString(e)+i}function _8(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),s=!1,a=0,i=0,c=0;c=r&&(this.dMultiply(n),this.dAddOffset(i,0),a=0,i=0)}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(i,0)),s&&Q.ZERO.subTo(this,this)}function I8(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(Q.ONE.shiftLeft(e-1),o0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(Q.ONE.shiftLeft(e-1),this);else{var n=new Array,s=e&7;n.length=(e>>3)+1,t.nextBytes(n),s>0?n[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[s++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),s==0&&(this.s&128)!=(n&128)&&++s,(s>0||n!=this.s)&&(t[s++]=n);return t}function D8(e){return this.compareTo(e)==0}function P8(e){return this.compareTo(e)<0?this:e}function $8(e){return this.compareTo(e)>0?this:e}function R8(e,t,r){var n,s,a=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function M8(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function J8(e){var t=ut();return this.addTo(e,t),t}function Z8(e){var t=ut();return this.subTo(e,t),t}function Q8(e){var t=ut();return this.multiplyTo(e,t),t}function e_(){var e=ut();return this.squareTo(e),e}function t_(e){var t=ut();return this.divRemTo(e,t,null),t}function r_(e){var t=ut();return this.divRemTo(e,null,t),t}function n_(e){var t=ut(),r=ut();return this.divRemTo(e,t,r),new Array(t,r)}function i_(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function s_(e,t){if(e!=0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function wc(){}function o2(e){return e}function a_(e,t,r){e.multiplyTo(t,r)}function u_(e,t){e.squareTo(t)}wc.prototype.convert=o2;wc.prototype.revert=o2;wc.prototype.mulTo=a_;wc.prototype.sqrTo=u_;function o_(e){return this.exp(e,new wc)}function c_(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var s;for(s=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ut();return e.copyTo(t),this.reduce(t),t}function h_(e){return e}function p_(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function d_(e,t){e.squareTo(t),this.reduce(t)}function g_(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Qu.prototype.convert=f_;Qu.prototype.revert=h_;Qu.prototype.reduce=p_;Qu.prototype.mulTo=g_;Qu.prototype.sqrTo=d_;function m_(e,t){var r=e.bitLength(),n,s=Ms(1),a;if(r<=0)return s;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?a=new La(t):t.isEven()?a=new Qu(t):a=new Ua(t);var i=new Array,c=3,l=n-1,h=(1<1){var m=ut();for(a.sqrTo(i[1],m);c<=h;)i[c]=ut(),a.mulTo(m,i[c-2],i[c]),c+=2}var A=e.t-1,p,f=!0,E=ut(),v;for(r=Af(e[A])-1;A>=0;){for(r>=l?p=e[A]>>r-l&h:(p=(e[A]&(1<0&&(p|=e[A-1]>>this.DB+r-l)),c=n;!(p&1);)p>>=1,--c;if((r-=c)<0&&(r+=this.DB,--A),f)i[p].copyTo(s),f=!1;else{for(;c>1;)a.sqrTo(s,E),a.sqrTo(E,s),c-=2;c>0?a.sqrTo(s,E):(v=s,s=E,E=v),a.mulTo(E,i[p],s)}for(;A>=0&&!(e[A]&1<0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(s=t.getLowestSetBit())>0&&t.rShiftTo(s,t),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function w_(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function A_(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return Q.ZERO;for(var r=e.clone(),n=this.clone(),s=Ms(1),a=Ms(0),i=Ms(0),c=Ms(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?((!i.isEven()||!c.isEven())&&(i.addTo(this,i),c.subTo(e,c)),i.rShiftTo(1,i)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&s.subTo(i,s),a.subTo(c,a)):(n.subTo(r,n),t&&i.subTo(s,i),c.subTo(a,c))}if(n.compareTo(Q.ONE)!=0)return Q.ZERO;if(c.compareTo(e)>=0)return c.subtract(e);if(c.signum()<0)c.addTo(e,c);else return c;return c.signum()<0?c.add(e):c}var Vr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],E_=(1<<26)/Vr[Vr.length-1];function y_(e){var t,r=this.abs();if(r.t==1&&r[0]<=Vr[Vr.length-1]){for(t=0;t>1,e>Vr.length&&(e=Vr.length);for(var s=ut(),a=0;a>8&255,bn[pr++]^=e>>16&255,bn[pr++]^=e>>24&255,pr>=n0&&(pr-=n0)}function l0(){__(new Date().getTime())}if(bn==null){if(bn=new Array,pr=0,Wu!==void 0&&(Wu.crypto!==void 0||Wu.msCrypto!==void 0)){if(Qp=Wu.crypto||Wu.msCrypto,Qp.getRandomValues)for(e0=new Uint8Array(32),Qp.getRandomValues(e0),qn=0;qn<32;++qn)bn[pr++]=e0[qn];else if(mc.appName=="Netscape"&&mc.appVersion<"5")for(t0=Wu.crypto.random(32),qn=0;qn>>8,bn[pr++]=qn&255;pr=0,l0()}var qn,Qp,e0,t0;function I_(){if(df==null){for(l0(),df=F_(),df.init(bn),pr=0;pr0&&t.length>0)this.n=an(e,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function P_(e){return e.modPowInt(this.e,this.n)}Ke.prototype.doPublic=P_;Ke.prototype.setPublic=D_;Ke.prototype.type="RSA";function $_(e,t,r){if(this.isPrivate=!0,typeof e!="string")this.n=e,this.e=t,this.d=r;else if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=an(e,16),this.e=parseInt(t,16),this.d=an(r,16);else throw"Invalid RSA private key"}function R_(e,t,r,n,s,a,i,c){if(this.isPrivate=!0,this.isPublic=!1,e==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(e.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=an(e,16),this.e=parseInt(t,16),this.d=an(r,16),this.p=an(n,16),this.q=an(s,16),this.dmp1=an(a,16),this.dmq1=an(i,16),this.coeff=an(c,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function T_(e,t){var r=new eo,n=e>>1;this.e=parseInt(t,16);for(var s=new Q(t,16),a=e/2-100,i=Q.ONE.shiftLeft(a);;){for(;this.p=new Q(e-n,1,r),!(this.p.subtract(Q.ONE).gcd(s).compareTo(Q.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new Q(n,1,r),!(this.q.subtract(Q.ONE).gcd(s).compareTo(Q.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var c=this.p;this.p=this.q,this.q=c}var l=this.q.subtract(this.p).abs();if(!(l.bitLength()0;--h){s=s.twice();var m=r.testBit(h),A=t.testBit(h);m!=A&&(s=s.add(m?this:n))}for(h=i.bitLength()-2;h>0;--h){c=c.twice();var p=i.testBit(h),f=a.testBit(h);p!=f&&(c=c.add(p?c:l))}return s}function J_(e,t,r){var n;e.bitLength()>r.bitLength()?n=e.bitLength()-1:n=r.bitLength()-1;for(var s=this.curve.getInfinity(),a=this.add(t);n>=0;)s=s.twice(),e.testBit(n)?r.testBit(n)?s=s.add(a):s=s.add(this):r.testBit(n)&&(s=s.add(t)),--n;return s}ft.prototype.getX=q_;ft.prototype.getY=K_;ft.prototype.equals=V_;ft.prototype.isInfinity=G_;ft.prototype.negate=z_;ft.prototype.add=W_;ft.prototype.twice=Y_;ft.prototype.multiply=X_;ft.prototype.multiplyTwo=J_;function us(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new ft(this,null,null)}function Z_(){return this.q}function Q_(){return this.a}function eI(){return this.b}function tI(e){return e==this?!0:this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function rI(){return this.infinity}function nI(e){return new ir(this.q,e)}function iI(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var t=e.substr(0,2),r=e.substr(2),n=this.fromBigInteger(new Q(h,16)),s=this.getA(),a=this.getB(),i=n.square().add(s).multiply(n).add(a),c=i.sqrt();return t=="03"&&(c=c.negate()),new ft(this,n,c);case 4:case 6:case 7:var l=(e.length-2)/2,h=e.substr(2,l),m=e.substr(l+2,l);return new ft(this,this.fromBigInteger(new Q(h,16)),this.fromBigInteger(new Q(m,16)));default:return null}}us.prototype.getQ=Z_;us.prototype.getA=Q_;us.prototype.getB=eI;us.prototype.equals=tI;us.prototype.getInfinity=rI;us.prototype.fromBigInteger=nI;us.prototype.decodePointHex=iI;ir.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};ft.prototype.getEncoded=function(e){var t=function(a,i){var c=a.toByteArrayUnsigned();if(ic.length;)c.unshift(0);return c},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),s=t(r,32);return e?n.isEven()?s.unshift(2):s.unshift(3):(s.unshift(4),s=s.concat(t(n,32))),s};ft.decodeFrom=function(e,t){var r=t[0],n=t.length-1,s=t.slice(1,1+n/2),a=t.slice(1+n/2,1+n);s.unshift(0),a.unshift(0);var i=new Q(s),c=new Q(a);return new ft(e,e.fromBigInteger(i),e.fromBigInteger(c))};ft.decodeFromHex=function(e,t){var r=t.substr(0,2),n=t.length-2,s=t.substr(2,n/2),a=t.substr(2+n/2,n/2),i=new Q(s,16),c=new Q(a,16);return new ft(e,e.fromBigInteger(i),e.fromBigInteger(c))};ft.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y),n=r.divide(t),s=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(s)).subtract(this.y);return new ft(this.curve,s,a)};ft.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var e=this.curve.fromBigInteger(Q.valueOf(2)),t=this.curve.fromBigInteger(Q.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),s=r.multiply(this.x.subtract(n)).subtract(this.y);return new ft(this.curve,n,s)};ft.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(e.signum()==0)return this.curve.getInfinity();var t=e,r=t.multiply(new Q("3")),n=this.negate(),s=this,a;for(a=r.bitLength()-2;a>0;--a){s=s.twice();var i=r.testBit(a),c=t.testBit(a);i!=c&&(s=s.add2D(i?this:n))}return s};ft.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),s=this.curve.getQ(),a=t.multiply(t).mod(s),i=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(s);return a.equals(i)};ft.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};ft.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(Q.ONE)<0||t.compareTo(e.subtract(Q.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(Q.ONE)<0||r.compareTo(e.subtract(Q.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var c2=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',r='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+r+")","g"),s=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function i(A,p,f){return p?a[p]:String.fromCharCode(parseInt(f,16))}var c=new String(""),l="\\",h={"{":Object,"[":Array},m=Object.hasOwnProperty;return function(A,p){var f=A.match(n),E,v=f[0],b=!1;v==="{"?E={}:v==="["?E=[]:(E=[],b=!0);for(var w,S=[E],F=1-b,D=f.length;F=0;)delete P[k[W]]}return p.call(q,_,P)};E=j({"":E},"")}return E}}();(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});d.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){return Ec(e)},this.getPEMStringFromHex=function(e,t){return xr(e,t)},this.newObject=function(e){var t=d,r=t.asn1,n=r.ASN1Object,s=r.DERBoolean,a=r.DERInteger,i=r.DERBitString,c=r.DEROctetString,l=r.DERNull,h=r.DERObjectIdentifier,m=r.DEREnumerated,A=r.DERUTF8String,p=r.DERNumericString,f=r.DERPrintableString,E=r.DERTeletexString,v=r.DERIA5String,b=r.DERUTCTime,w=r.DERGeneralizedTime,S=r.DERVisibleString,F=r.DERBMPString,D=r.DERSequence,I=r.DERSet,j=r.DERTaggedObject,q=r.ASN1Util.newObject;if(e instanceof r.ASN1Object)return e;var _=Object.keys(e);if(_.length!=1)throw new Error("key of param shall be only one.");var P=_[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":")==-1)throw new Error("undefined key: "+P);if(P=="bool")return new s(e[P]);if(P=="int")return new a(e[P]);if(P=="bitstr")return new i(e[P]);if(P=="octstr")return new c(e[P]);if(P=="null")return new l(e[P]);if(P=="oid")return new h(e[P]);if(P=="enum")return new m(e[P]);if(P=="utf8str")return new A(e[P]);if(P=="numstr")return new p(e[P]);if(P=="prnstr")return new f(e[P]);if(P=="telstr")return new E(e[P]);if(P=="ia5str")return new v(e[P]);if(P=="utctime")return new b(e[P]);if(P=="gentime")return new w(e[P]);if(P=="visstr")return new S(e[P]);if(P=="bmpstr")return new F(e[P]);if(P=="asn1")return new n(e[P]);if(P=="seq"){for(var k=e[P],U=[],M=0;M"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+a.length+",v="+this.hV);var i=this.hV.length/2,c=i.toString(16);if(c.length%2==1&&(c="0"+c),i<128)return c;var l=c.length/2;if(l>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+i.toString(16));var h=128+l;return h.toString(16)+c},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(i){this.params=i},e!=null&&e.tlv!=null&&(this.hTLV=e.tlv,this.isModified=!1)};d.asn1.DERAbstractString=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null,r=null;this.getString=function(){return this.s},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.s=n,this.hV=yf(this.s).toLowerCase()},this.setStringHex=function(n){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.getFreshValueHex=function(){return this.hV},typeof e<"u"&&(typeof e=="string"?this.setString(e):typeof e.str<"u"?this.setString(e.str):typeof e.hex<"u"&&this.setStringHex(e.hex))};fe(d.asn1.DERAbstractString,d.asn1.ASN1Object);d.asn1.DERAbstractTime=function(e){d.asn1.DERAbstractTime.superclass.constructor.call(this);var t=null,r=null;this.localDateToUTC=function(n){var s=n.getTime()+n.getTimezoneOffset()*6e4,a=new Date(s);return a},this.formatDate=function(n,s,a){var i=this.zeroPadding,c=this.localDateToUTC(n),l=String(c.getFullYear());s=="utc"&&(l=l.substr(2,2));var h=i(String(c.getMonth()+1),2),m=i(String(c.getDate()),2),A=i(String(c.getHours()),2),p=i(String(c.getMinutes()),2),f=i(String(c.getSeconds()),2),E=l+h+m+A+p+f;if(a===!0){var v=c.getMilliseconds();if(v!=0){var b=i(String(v),3);b=b.replace(/[0]+$/,""),E=E+"."+b}}return E+"Z"},this.zeroPadding=function(n,s){return n.length>=s?n:new Array(s-n.length+1).join("0")+n},this.setByParam=function(n){this.hV=null,this.hTLV=null,this.params=n},this.getString=function(){},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=n},this.setByDate=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=n},this.setByDateValue=function(n,s,a,i,c,l){var h=new Date(Date.UTC(n,s-1,a,i,c,l,0));this.setByDate(h)},this.getFreshValueHex=function(){return this.hV}};fe(d.asn1.DERAbstractTime,d.asn1.ASN1Object);d.asn1.DERAbstractStructured=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null;this.setByASN1ObjectArray=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array=r},this.appendASN1Object=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array.push(r)},this.asn1Array=new Array,typeof e<"u"&&typeof e.array<"u"&&(this.asn1Array=e.array)};fe(d.asn1.DERAbstractStructured,d.asn1.ASN1Object);d.asn1.DERBoolean=function(e){d.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",e==!1?this.hTLV="010100":this.hTLV="0101ff"};fe(d.asn1.DERBoolean,d.asn1.ASN1Object);d.asn1.DERInteger=function(e){d.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var t=Ec;this.setByBigInteger=function(r){this.isModified=!0,this.params={bigint:r}},this.setByInteger=function(r){this.isModified=!0,this.params=r},this.setValueHex=function(r){this.isModified=!0,this.params={hex:r}},this.getFreshValueHex=function(){var r=this.params,n=null;if(r==null)throw new Error("value not set");if(typeof r=="object"&&r.hex!=null)return this.hV=r.hex,this.hV;if(typeof r=="number")n=new Q(String(r),10);else if(r.int!=null)n=new Q(String(r.int),10);else if(r.bigint!=null)n=r.bigint;else throw new Error("wrong parameter");return this.hV=t(n),this.hV},e!=null&&(this.params=e)};fe(d.asn1.DERInteger,d.asn1.ASN1Object);d.asn1.DERBitString=function(e){if(e!==void 0&&typeof e.obj<"u"){var t=d.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.tohex()}d.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(r){this.hTLV=null,this.isModified=!0,this.hV=r},this.setUnusedBitsAndHexValue=function(r,n){if(r<0||7=a)break}return n};Ae.getNthChildIdx=function(e,t,r){var n=Ae.getChildIdx(e,t);return n[r]};Ae.getIdxbyList=function(e,t,r,n){var s=Ae,a,i;return r.length==0?n!==void 0&&e.substr(t,2)!==n?-1:t:(a=r.shift(),i=s.getChildIdx(e,t),a>=i.length?-1:s.getIdxbyList(e,i[a],r,n))};Ae.getIdxbyListEx=function(e,t,r,n){var s=Ae,a,i;if(r.length==0)return n!==void 0&&e.substr(t,2)!==n?-1:t;a=r.shift(),i=s.getChildIdx(e,t);for(var c=0,l=0;l=e.length?null:s.getTLV(e,a)};Ae.getTLVbyListEx=function(e,t,r,n){var s=Ae,a=s.getIdxbyListEx(e,t,r,n);return a==-1?null:s.getTLV(e,a)};Ae.getVbyList=function(e,t,r,n,s){var a=Ae,i,c;return i=a.getIdxbyList(e,t,r,n),i==-1||i>=e.length?null:(c=a.getV(e,i),s===!0&&(c=c.substr(2)),c)};Ae.getVbyListEx=function(e,t,r,n,s){var a=Ae,i,c,l;return i=a.getIdxbyListEx(e,t,r,n),i==-1?null:(l=a.getV(e,i),e.substr(i,2)=="03"&&s!==!1&&(l=l.substr(2)),l)};Ae.getInt=function(e,t,r){r==null&&(r=-1);try{var n=e.substr(t,2);if(n!="02"&&n!="03")return r;var s=Ae.getV(e,t);return n=="02"?parseInt(s,16):w2(s)}catch{return r}};Ae.getOID=function(e,t,r){r==null&&(r=null);try{if(e.substr(t,2)!="06")return r;var n=Ae.getV(e,t);return _f(n)}catch{return r}};Ae.getOIDName=function(e,t,r){r==null&&(r=null);try{var n=Ae.getOID(e,t,r);if(n==r)return r;var s=d.asn1.x509.OID.oid2name(n);return s==""?n:s}catch{return r}};Ae.getString=function(e,t,r){r==null&&(r=null);try{var n=Ae.getV(e,t);return on(n)}catch{return r}};Ae.hextooidstr=function(e){var t=function(A,p){return A.length>=p?A:new Array(p-A.length+1).join("0")+A},r=[],n=e.substr(0,2),s=parseInt(n,16);r[0]=new String(Math.floor(s/40)),r[1]=new String(s%40);for(var a=e.substr(2),i=[],c=0;c0&&(m=m+"."+l.join(".")),m};Ae.dump=function(e,t,r,n){var s=Ae,a=s.getV,i=s.dump,c=s.getChildIdx,l=e;e instanceof d.asn1.ASN1Object&&(l=e.tohex());var h=function(q,_){if(q.length<=_*2)return q;var P=q.substr(0,_)+"..(total "+q.length/2+"bytes).."+q.substr(q.length-_,_);return P};t===void 0&&(t={ommit_long_octet:32}),r===void 0&&(r=0),n===void 0&&(n="");var m=t.ommit_long_octet,I=l.substr(r,2);if(I=="01"){var A=a(l,r);return A=="00"?n+`BOOLEAN FALSE +`:n+`BOOLEAN TRUE +`}if(I=="02"){var A=a(l,r);return n+"INTEGER "+h(A,m)+` +`}if(I=="03"){var A=a(l,r);if(s.isASN1HEX(A.substr(2))){var p=n+`BITSTRING, encapsulates +`;return p=p+i(A.substr(2),t,0,n+" "),p}else return n+"BITSTRING "+h(A,m)+` +`}if(I=="04"){var A=a(l,r);if(s.isASN1HEX(A)){var p=n+`OCTETSTRING, encapsulates +`;return p=p+i(A,t,0,n+" "),p}else return n+"OCTETSTRING "+h(A,m)+` +`}if(I=="05")return n+`NULL +`;if(I=="06"){var f=a(l,r),E=d.asn1.ASN1Util.oidHexToInt(f),v=d.asn1.x509.OID.oid2name(E),b=E.replace(/\./g," ");return v!=""?n+"ObjectIdentifier "+v+" ("+b+`) +`:n+"ObjectIdentifier ("+b+`) +`}if(I=="0a")return n+"ENUMERATED "+parseInt(a(l,r))+` +`;if(I=="0c")return n+"UTF8String '"+vt(a(l,r))+`' +`;if(I=="13")return n+"PrintableString '"+vt(a(l,r))+`' +`;if(I=="14")return n+"TeletexString '"+vt(a(l,r))+`' +`;if(I=="16")return n+"IA5String '"+vt(a(l,r))+`' +`;if(I=="17")return n+"UTCTime "+vt(a(l,r))+` +`;if(I=="18")return n+"GeneralizedTime "+vt(a(l,r))+` +`;if(I=="1a")return n+"VisualString '"+vt(a(l,r))+`' +`;if(I=="1e")return n+"BMPString '"+d0(a(l,r))+`' +`;if(I=="30"){if(l.substr(r,4)=="3000")return n+`SEQUENCE {} +`;var p=n+`SEQUENCE +`,w=c(l,r),S=t;if((w.length==2||w.length==3)&&l.substr(w[0],2)=="06"&&l.substr(w[w.length-1],2)=="04"){var v=s.oidname(a(l,w[0])),F=JSON.parse(JSON.stringify(t));F.x509ExtName=v,S=F}for(var D=0;D4?{enum:{hex:w}}:{enum:parseInt(w,16)};if(v=="30"||v=="31")return b[f[v]]=E(e),b;if(v=="14"){var j=p(w);return b[f[v]]={str:j},b}else if(v=="1e"){var j=A(w);return b[f[v]]={str:j},b}else if(":0c:12:13:16:17:18:1a:".indexOf(v)!=-1){var j=m(w);return b[f[v]]={str:j},b}else if(v.match(/^8[0-9]$/)){var j=m(w);return j==null|j==""?{tag:{tag:v,explicit:!1,hex:w}}:j.match(/[\x00-\x1F\x7F-\x9F]/)!=null||j.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:v,explicit:!1,hex:w}}:{tag:{tag:v,explicit:!1,str:j}}}else if(v.match(/^a[0-9]$/))try{if(!n(w))throw new Error("not encap");return{tag:{tag:v,explicit:!0,obj:r(w)}}}catch{return{tag:{tag:v,explicit:!0,hex:w}}}else{var q=new d.asn1.ASN1Object;q.hV=w;var _=q.getLengthHexFromValue();return{asn1:{tlv:v+_+w}}}}}};Ae.isContextTag=function(e,t){e=e.toLowerCase();var r,n;try{r=parseInt(e,16)}catch{return-1}if(t===void 0)return(r&192)==128;try{var s=t.match(/^\[[0-9]+\]$/);return s==null||(n=parseInt(t.substr(1,t.length-1),10),n>31)?!1:(r&192)==128&&(r&31)==n}catch{return!1}};Ae.isASN1HEX=function(e){var t=Ae;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),s=t.getL(e,0),a=e.length-n.length-s.length;return a==r*2};Ae.checkStrictDER=function(e,t,r,n,s){var a=Ae;if(r===void 0){if(typeof e!="string")throw new Error("not hex string");if(e=e.toLowerCase(),!d.lang.String.isHex(e))throw new Error("not hex string");r=e.length,n=e.length/2,n<128?s=1:s=Math.ceil(n.toString(16))+1}var i=a.getL(e,t);if(i.length>s*2)throw new Error("L of TLV too long: idx="+t);var c=a.getVblen(e,t);if(c>n)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(e,t),h=l.length-2-a.getL(e,t).length;if(h!==c*2)throw new Error("V string length and L's value not the same:"+h+"/"+c*2);if(t===0&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var m=e.substr(t,2);if(m==="02"){var A=a.getVidx(e,t);if(e.substr(A,2)=="00"&&e.charCodeAt(A+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(m,16)&32){for(var p=a.getVblen(e,t),f=0,E=a.getChildIdx(e,t),v=0;v"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.x509>"u"||!d.asn1.x509)&&(d.asn1.x509={});d.asn1.x509.Certificate=function(e){d.asn1.x509.Certificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.x509,i=a.TBSCertificate,c=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(l){this.params=l},this.sign=function(){var l=this.params,h=l.sigalg;l.sigalg.name!=null&&(h=l.sigalg.name);var m=l.tbsobj.tohex(),A=new d.crypto.Signature({alg:h});A.init(l.cakey),A.updateHex(m),l.sighex=A.sign()},this.getPEM=function(){return xr(this.tohex(),"CERTIFICATE")},this.tohex=function(){var l=this.params;if((l.tbsobj==null||l.tbsobj==null)&&(l.tbsobj=new i(l)),l.sighex==null&&l.cakey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or cakey parameter not defined");var h=[];h.push(l.tbsobj),h.push(new c({name:l.sigalg})),h.push(new n({hex:"00"+l.sighex}));var m=new s({array:h});return m.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&(this.params=e)};fe(d.asn1.x509.Certificate,d.asn1.ASN1Object);d.asn1.x509.TBSCertificate=function(e){d.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.x509,s=r.DERTaggedObject,a=r.DERInteger,i=r.DERSequence,c=n.AlgorithmIdentifier,l=n.Time,h=n.X500Name,m=n.Extensions,A=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(p){this.params=p},this.tohex=function(){var p=[],f=this.params;if(f.version!=null||f.version!=1){var E=2;f.version!=null&&(E=f.version-1);var v=new s({obj:new a({int:E})});p.push(v)}p.push(new a(f.serial)),p.push(new c({name:f.sigalg})),p.push(new h(f.issuer)),p.push(new i({array:[new l(f.notbefore),new l(f.notafter)]})),p.push(new h(f.subject)),p.push(new A(rt.getKey(f.sbjpubkey))),f.ext!==void 0&&f.ext.length>0&&p.push(new s({tag:"a3",obj:new m(f.ext)}));var b=new d.asn1.DERSequence({array:p});return b.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.TBSCertificate,d.asn1.ASN1Object);d.asn1.x509.Extensions=function(e){d.asn1.x509.Extensions.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERSequence,s=r.x509;this.aParam=[],this.setByParam=function(a){this.aParam=a},this.tohex=function(){for(var a=[],i=0;i-1&&c.push(new n({int:this.pathLen}));var l=new s({array:c});return this.asn1ExtnValue=l,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,e!==void 0&&(e.cA!==void 0&&(this.cA=e.cA),e.pathLen!==void 0&&(this.pathLen=e.pathLen))};fe(d.asn1.x509.BasicConstraints,d.asn1.x509.Extension);d.asn1.x509.CRLDistributionPoints=function(e){d.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=d,r=t.asn1,n=r.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(s){for(var a=[],i=0;i0&&a.push(new r({array:i}))}var l=new r({array:a});return l.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.PolicyInformation,d.asn1.ASN1Object);d.asn1.x509.PolicyQualifierInfo=function(e){d.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=d.asn1,r=t.DERSequence,n=t.DERIA5String,s=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var i=new r({array:[new s({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return i.tohex()}if(this.params.unotice!=null){var i=new r({array:[new s({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return i.tohex()}},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.PolicyQualifierInfo,d.asn1.ASN1Object);d.asn1.x509.UserNotice=function(e){d.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText,s=d.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var a=[];this.params.noticeref!==void 0&&a.push(new s(this.params.noticeref)),this.params.exptext!==void 0&&a.push(new n(this.params.exptext));var i=new t({array:a});return i.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.UserNotice,d.asn1.ASN1Object);d.asn1.x509.NoticeReference=function(e){d.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var s=[];if(this.params.org!==void 0&&s.push(new n(this.params.org)),this.params.noticenum!==void 0){for(var a=[],i=this.params.noticenum,c=0;c0)for(var i=0;i0;s++){var a=t.shift();if(r===!0){var i=n.pop(),c=(i+","+a).replace(/\\,/g,",");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}return n=n.map(function(l){return l.replace("/","\\/")}),n.reverse(),"/"+n.join("/")};d.asn1.x509.X500Name.ldapToOneline=function(e){return d.asn1.x509.X500Name.ldapToCompat(e)};d.asn1.x509.RDN=function(e){d.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=d.asn1.x509.AttributeTypeAndValue;this.setByParam=function(r){r.rule!==void 0&&(this.sRule=r.rule),r.str!==void 0&&this.addByMultiValuedString(r.str),r.array!==void 0&&(this.paramArray=r.array)},this.addByString=function(r){this.asn1Array.push(new d.asn1.x509.AttributeTypeAndValue({str:r,rule:this.sRule}))},this.addByMultiValuedString=function(r){for(var n=d.asn1.x509.RDN.parseString(r),s=0;s0)for(var r=0;r0;s++){var a=t.shift();if(r===!0){var i=n.pop(),c=(i+"+"+a).replace(/\\\+/g,"+");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}for(var l=!1,h=[],s=0;n.length>0;s++){var a=n.shift();if(l===!0){var m=h.pop();if(a.match(/"$/)){var c=(m+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");h.push(c),l=!1}else h.push(m+"+"+a)}else h.push(a);a.match(/^[^=]+="/)&&(l=!0)}return h};d.asn1.x509.AttributeTypeAndValue=function(e){d.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=d,r=t.asn1,n=r.DERSequence,s=r.DERUTF8String,a=r.DERPrintableString,i=r.DERTeletexString,c=r.DERIA5String,l=r.DERVisibleString,h=r.DERBMPString,m=t.lang.String.isMail,A=t.lang.String.isPrintable;this.setByParam=function(p){if(p.rule!==void 0&&(this.sRule=p.rule),p.ds!==void 0&&(this.dsType=p.ds),p.value===void 0&&p.str!==void 0){var f=p.str,E=f.match(/^([^=]+)=(.+)$/);if(E)this.sType=E[1],this.sValue=E[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=p.type,this.sValue=p.value},this.setByString=function(p,f){f!==void 0&&(this.sRule=f);var E=p.match(/^([^=]+)=(.+)$/);if(E)this.setByAttrTypeAndValueStr(E[1],E[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var p=this.sType,f=this.sValue,E=this.sRule;return E==="prn"?p=="CN"&&m(f)?"ia5":A(f)?"prn":"utf8":E==="utf8"?p=="CN"&&m(f)?"ia5":p=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(p,f,E){E!==void 0&&(this.sRule=E),this.sType=p,this.sValue=f},this.getValueObj=function(p,f){if(p=="utf8")return new s({str:f});if(p=="prn")return new a({str:f});if(p=="tel")return new i({str:f});if(p=="ia5")return new c({str:f});if(p=="vis")return new l({str:f});if(p=="bmp")return new h({str:f});throw new Error("unsupported directory string type: type="+p+" value="+f)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var p=d.asn1.x509.OID.atype2obj(this.sType),f=this.getValueObj(this.dsType,this.sValue),E=new n({array:[p,f]});return this.TLV=E.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.AttributeTypeAndValue,d.asn1.ASN1Object);d.asn1.x509.SubjectPublicKeyInfo=function(e){d.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERInteger,i=s.DERBitString,c=s.DERObjectIdentifier,l=s.DERSequence,h=s.ASN1Util.newObject,m=s.x509,A=m.AlgorithmIdentifier,p=n.crypto,f=p.ECDSA,E=p.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var v=new l({array:[this.asn1AlgId,this.asn1SubjPKey]});return v},this.tohex=function(){var v=this.getASN1Object();return this.hTLV=v.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(v){try{if(v instanceof Ke){var b=h({seq:[{int:{bigint:v.n}},{int:{int:v.e}}]}),w=b.tohex();this.asn1AlgId=new A({name:"rsaEncryption"}),this.asn1SubjPKey=new i({hex:"00"+w})}}catch{}try{if(v instanceof d.crypto.ECDSA){var S=new c({name:v.curveName});this.asn1AlgId=new A({name:"ecPublicKey",asn1params:S}),this.asn1SubjPKey=new i({hex:"00"+v.pubKeyHex})}}catch{}try{if(v instanceof d.crypto.DSA){var S=new h({seq:[{int:{bigint:v.p}},{int:{bigint:v.q}},{int:{bigint:v.g}}]});this.asn1AlgId=new A({name:"dsa",asn1params:S});var F=new a({bigint:v.y});this.asn1SubjPKey=new i({hex:"00"+F.tohex()})}}catch{}},e!==void 0&&this.setPubKey(e)};fe(d.asn1.x509.SubjectPublicKeyInfo,d.asn1.ASN1Object);d.asn1.x509.Time=function(e){d.asn1.x509.Time.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERUTCTime,i=s.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(c){this.timeParams=c},this.setByParam=function(c){this.params=c},this.getType=function(c){return c.match(/^[0-9]{12}Z$/)?"utc":c.match(/^[0-9]{14}Z$/)?"gen":c.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":c.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var c=this.params,l=null;if(typeof c=="string"&&(c={str:c}),c!=null&&c.str&&(c.type==null||c.type==null)&&(c.type=this.getType(c.str)),c!=null&&c.str?(c.type=="utc"&&(l=new a(c.str)),c.type=="gen"&&(l=new i(c.str))):this.type=="gen"?l=new i:l=new a,l==null)throw new Error("wrong setting for Time");return this.TLV=l.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};d.asn1.x509.Time_bak=function(e){d.asn1.x509.Time_bak.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERUTCTime,i=s.DERGeneralizedTime;this.setTimeParams=function(c){this.timeParams=c},this.tohex=function(){var c=null;return this.timeParams!=null?this.type=="utc"?c=new a(this.timeParams):c=new i(this.timeParams):this.type=="utc"?c=new a:c=new i,this.TLV=c.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",e!==void 0&&(e.type!==void 0?this.type=e.type:e.str!==void 0&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)};fe(d.asn1.x509.Time,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier=function(e){d.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=d,r=t.asn1,n=r.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var a=null;for(var i in n)i===this.nameAlg&&(a=n[i]);if(a!==null)return this.hTLV=a,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=r.x509.OID.name2obj(this.nameAlg));var c=[this.asn1Alg];this.asn1Params!==null&&c.push(this.asn1Params);var l=new r.DERSequence({array:c});return this.hTLV=l.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(e.name!==void 0&&(this.nameAlg=e.name),e.asn1params!==void 0&&(this.asn1Params=e.asn1params),e.paramempty!==void 0&&(this.paramEmpty=e.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var s=this.nameAlg.toLowerCase();s.substr(-7,7)!=="withdsa"&&s.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new r.DERNull)}};fe(d.asn1.x509.AlgorithmIdentifier,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};d.asn1.x509.GeneralName=function(e){d.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},r=d,n=r.asn1,s=n.x509,a=s.X500Name,i=s.OtherName,c=n.DERIA5String,l=n.DERPrintableString,h=n.DEROctetString,m=n.DERTaggedObject,A=n.ASN1Object,p=Error;this.params=null,this.setByParam=function(f){this.params=f},this.tohex=function(){var f=this.params,E,b,v,b=!1;if(f.other!==void 0)E="a0",v=new i(f.other);else if(f.rfc822!==void 0)E="81",v=new c({str:f.rfc822});else if(f.dns!==void 0)E="82",v=new c({str:f.dns});else if(f.dn!==void 0)E="a4",b=!0,typeof f.dn=="string"?v=new a({str:f.dn}):f.dn instanceof d.asn1.x509.X500Name?v=f.dn:v=new a(f.dn);else if(f.ldapdn!==void 0)E="a4",b=!0,v=new a({ldapstr:f.ldapdn});else if(f.certissuer!==void 0||f.certsubj!==void 0){E="a4",b=!0;var w,S,F=null;if(f.certsubj!==void 0?(w=!1,S=f.certsubj):(w=!0,S=f.certissuer),S.match(/^[0-9A-Fa-f]+$/)&&F==S,S.indexOf("-----BEGIN ")!=-1&&(F=xt(S)),F==null)throw new Error("certsubj/certissuer not cert");var D=new Ne;D.hex=F;var I;w?I=D.getIssuerHex():I=D.getSubjectHex(),v=new A,v.hTLV=I}else if(f.uri!==void 0)E="86",v=new c({str:f.uri});else if(f.ip!==void 0){E="87";var j,q=f.ip;try{if(q.match(/^[0-9a-f]+$/)){var _=q.length;if(_==8||_==16||_==32||_==64)j=q;else throw"err"}else j=p0(q)}catch(k){throw new p("malformed IP address: "+f.ip+":"+k.message)}v=new h({hex:j})}else throw new p("improper params");var P=new m({tag:E,explicit:b,obj:v});return P.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.GeneralName,d.asn1.ASN1Object);d.asn1.x509.GeneralNames=function(e){d.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=null,r=d,n=r.asn1;this.setByParamArray=function(s){for(var a=0;a"u")throw"Name of ObjectIdentifier not defined: "+t;var r=this.name2oidList[t],n=new e({oid:r});return this.objCache[t]=n,n},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var r;if(t.match(/^\d+\.\d+\.[0-9.]+$/))r=t;else if(this.atype2oidList[t]!==void 0)r=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)r=this.name2oidList[t];else throw new Error("AttributeType name undefined: "+t);var n=new e({oid:r});return this.objCache[t]=n,n},this.registerOIDs=function(t){if(this.checkOIDs(t))for(var r in t)this.name2oidList[r]=t[r]},this.checkOIDs=function(t){try{var r=Object.keys(t);return r.length==0?!1:(r.map(function(n,s,a){var i=this[n];if(!i.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},t),!0)}catch{return!1}}};d.asn1.x509.OID.oid2name=function(e){var t=d.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""};d.asn1.x509.OID.oid2atype=function(e){var t=d.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e};d.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=d.asn1.x509.OID.name2oidList;return t[e]===void 0?"":t[e]};d.asn1.x509.X509Util={};d.asn1.x509.X509Util.newCertPEM=function(e){var t=d.asn1.x509,r=t.TBSCertificate,n=t.Certificate,s=new n(e);return s.getPEM()};(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cms>"u"||!d.asn1.cms)&&(d.asn1.cms={});d.asn1.cms.Attribute=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERSet,i=n.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(c){this.params=c},this.getValueArray=function(){throw new t("not yet implemented abstract")},this.tohex=function(){var c=new i({oid:this.typeOid}),l=new a({array:this.getValueArray()}),h=new s({array:[c,l]});return h.tohex()},this.getEncodedHex=function(){return this.tohex()}};fe(d.asn1.cms.Attribute,d.asn1.ASN1Object);d.asn1.cms.ContentType=function(e){var t=d,r=t.asn1;r.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var n=new r.DERObjectIdentifier(this.params.type);return[n]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.ContentType,d.asn1.cms.Attribute);d.asn1.cms.MessageDigest=function(e){var t=d,r=t.asn1,n=r.DEROctetString,s=r.cms;s.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var a=new n(this.params);return[a]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.MessageDigest,d.asn1.cms.Attribute);d.asn1.cms.SigningTime=function(e){var t=d,r=t.asn1;r.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var n=new r.x509.Time(this.params);return[n]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.SigningTime,d.asn1.cms.Attribute);d.asn1.cms.SigningCertificate=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.cms,i=a.ESSCertID,c=r.crypto;a.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new t("parameter 'array' not specified");for(var l=this.params.array,h=[],m=0;m0){for(var E=a(p.valhex,f[0]),v=A(E,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.setSignaturePolicyIdentifier=function(p){var f=A(p.valhex,0);if(f.length>0){var E=n.getOID(p.valhex,f[0]);p.oid=E}if(f.length>1){var v=new t,b=A(p.valhex,f[1]),w=a(p.valhex,b[0]),S=v.getAlgorithmIdentifierName(w);p.alg=S;var F=s(p.valhex,b[1]);p.hash=F}delete p.valhex},this.setSigningCertificateV2=function(p){var f=A(p.valhex,0);if(f.length>0){for(var E=a(p.valhex,f[0]),v=A(E,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.getESSCertID=function(p){var f={},E=A(p,0);if(E.length>0){var v=s(p,E[0]);f.hash=v}if(E.length>1){var b=a(p,E[1]),w=this.getIssuerSerial(b);w.serial!=null&&(f.serial=w.serial),w.issuer!=null&&(f.issuer=w.issuer)}return f},this.getESSCertIDv2=function(p){var f={},E=A(p,0);if(E.length<1||3v+1){var S=a(p,E[v+1]),F=this.getIssuerSerial(S);f.issuer=F.issuer,f.serial=F.serial}return f},this.getIssuerSerial=function(p){var f={},E=A(p,0),v=a(p,E[0]),b=r.getGeneralNames(v),w=b[0].dn;f.issuer=w;var S=s(p,E[1]);return f.serial={hex:S},f},this.getCertificateSet=function(p){for(var f=A(p,0),E=[],v=0;v"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.tsp>"u"||!d.asn1.tsp)&&(d.asn1.tsp={});d.asn1.tsp.TimeStampToken=function(e){var t=d,r=t.asn1,n=r.tsp;n.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var s=new n.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=s.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampToken,d.asn1.cms.SignedData);d.asn1.tsp.TSTInfo=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERInteger,i=n.DERBoolean,c=n.DERGeneralizedTime,l=n.DERObjectIdentifier,h=n.DERTaggedObject,m=n.tsp,A=m.MessageImprint,p=m.Accuracy,f=n.x509.X500Name,E=n.x509.GeneralName;if(m.TSTInfo.superclass.constructor.call(this),this.dVersion=new a({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var v=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(v.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(v.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(v.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");v.push(this.dGenTime),this.dAccuracy!=null&&v.push(this.dAccuracy),this.dOrdering!=null&&v.push(this.dOrdering),this.dNonce!=null&&v.push(this.dNonce),this.dTsa!=null&&v.push(this.dTsa);var b=new s({array:v});return this.hTLV=b.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0){if(typeof e.policy=="string"){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new l({oid:e.policy})}e.messageImprint!==void 0&&(this.dMessageImprint=new A(e.messageImprint)),e.serial!==void 0&&(this.dSerial=new a(e.serial)),e.genTime!==void 0&&(this.dGenTime=new c(e.genTime)),e.accuracy!==void 0&&(this.dAccuracy=new p(e.accuracy)),e.ordering!==void 0&&e.ordering==!0&&(this.dOrdering=new i),e.nonce!==void 0&&(this.dNonce=new a(e.nonce)),e.tsa!==void 0&&(this.dTsa=new h({tag:"a0",explicit:!0,obj:new E({dn:e.tsa})}))}};fe(d.asn1.tsp.TSTInfo,d.asn1.ASN1Object);d.asn1.tsp.Accuracy=function(e){var t=d,r=t.asn1,n=r.ASN1Util.newObject;r.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var s=this.params,a=[];return s.seconds!=null&&typeof s.seconds=="number"&&a.push({int:s.seconds}),s.millis!=null&&typeof s.millis=="number"&&a.push({tag:{tagi:"80",obj:{int:s.millis}}}),s.micros!=null&&typeof s.micros=="number"&&a.push({tag:{tagi:"81",obj:{int:s.micros}}}),n({seq:a}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.Accuracy,d.asn1.ASN1Object);d.asn1.tsp.MessageImprint=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DEROctetString,a=r.x509,i=a.AlgorithmIdentifier;r.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=new i({name:c.alg}),h=new s({hex:c.hash}),m=new n({array:[l,h]});return m.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.tsp.MessageImprint,d.asn1.ASN1Object);d.asn1.tsp.TimeStampReq=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DERInteger,a=r.DERBoolean,i=r.ASN1Object,c=r.DERObjectIdentifier,l=r.tsp,h=l.MessageImprint;l.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var m=this.params,A=[];A.push(new s({int:1})),m.messageImprint instanceof d.asn1.ASN1Object?A.push(m.messageImprint):A.push(new h(m.messageImprint)),m.policy!=null&&A.push(new c(m.policy)),m.nonce!=null&&A.push(new s(m.nonce)),m.certreq==!0&&A.push(new a);var p=new n({array:A});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampReq,d.asn1.ASN1Object);d.asn1.tsp.TimeStampResp=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.ASN1Object,a=r.tsp,i=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=[];if(c.econtent!=null||c.tst!=null)if(c.statusinfo!=null?l.push(new i(c.statusinfo)):l.push(new i("granted")),c.econtent!=null)l.push(new a.TimeStampToken(c).getContentInfo());else if(c.tst instanceof r.ASN1Object)l.push(c.tst);else throw new Error("improper member tst value");else if(c.statusinfo!=null)l.push(new i(c.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var h=new n({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampResp,d.asn1.ASN1Object);d.asn1.tsp.PKIStatusInfo=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.tsp,i=a.PKIStatus,c=a.PKIFreeText,l=a.PKIFailureInfo;a.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var h=this.params,m=[];if(typeof h=="string")m.push(new i(h));else{if(h.status==null)throw new t("property 'status' unspecified");m.push(new i(h.status)),h.statusstr!=null&&m.push(new c(h.statusstr)),h.failinfo!=null&&m.push(new l(h.failinfo))}var A=new s({array:m});return A.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIStatusInfo,d.asn1.ASN1Object);d.asn1.tsp.PKIStatus=function(e){var t=Error,r=d,n=r.asn1,s=n.DERInteger,a=n.tsp;a.PKIStatus.superclass.constructor.call(this);var i={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var c=this.params,l,h;if(typeof c=="string")try{h=i[c]}catch{throw new t("undefined name: "+c)}else if(typeof c=="number")h=c;else throw new t("unsupported params");return new s({int:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIStatus,d.asn1.ASN1Object);d.asn1.tsp.PKIFreeText=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERUTF8String,i=n.tsp;i.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params;if(!c instanceof Array)throw new t("wrong params: not array");for(var l=[],h=0;h=0;p--)A+=m[p];return A}else{if(typeof l=="string"&&c[l]!=null)return vf([l],c);if(typeof l=="object"&&l.length!=null)return vf(l,c);throw new t("wrong params")}},this.tohex=function(){var l=this.params,h=this.getBinValue();return new s({bin:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIFailureInfo,d.asn1.ASN1Object);d.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(t,r){throw"not implemented yet"}};d.asn1.tsp.SimpleTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,s=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(a,i){var c=s(a,i);this.params.econtent.content.messageImprint={alg:i,hash:c},this.params.econtent.content.serial={int:this.serial++};var l=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:l};var h=new n.TimeStampToken(this.params);return h.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};fe(d.asn1.tsp.SimpleTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.FixedTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,s=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(a,i){var c=s(a,i);this.params.econtent.content.messageImprint={alg:i,hash:c};var l=new n.TimeStampToken(this.params);return l.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};fe(d.asn1.tsp.FixedTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.TSPUtil=new function(){};d.asn1.tsp.TSPUtil.newTimeStampToken=function(e){return new d.asn1.tsp.TimeStampToken(e)};d.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=new d.asn1.tsp.TSPParser;return t.getTimeStampReq(e)};d.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=new d.asn1.tsp.TSPParser;return t.getMessageImprint(e)};d.asn1.tsp.TSPParser=function(){var e=Error,t=Ne,r=new t,n=Ae,s=n.getV,a=n.getTLV,i=n.getIdxbyList,c=n.getTLVbyListEx,l=n.getChildIdx,h=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],m={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(A){var p=l(A,0);if(p.length==1)return this.getPKIStatusInfo(a(A,p[0]));if(p.length>1){var f=this.getPKIStatusInfo(a(A,p[0])),E=a(A,p[1]),v=this.getToken(E);return v.statusinfo=f,v}},this.getToken=function(A){var p=new d.asn1.cms.CMSParser,f=p.getCMSSignedData(A);return this.setTSTInfo(f),f},this.setTSTInfo=function(A){var p=A.econtent;if(p.type=="tstinfo"){var f=p.content.hex,E=this.getTSTInfo(f);p.content=E}},this.getTSTInfo=function(A){var p={},f=l(A,0),E=s(A,f[1]);p.policy=_f(E);var v=a(A,f[2]);p.messageImprint=this.getMessageImprint(v);var b=s(A,f[3]);p.serial={hex:b};var w=s(A,f[4]);p.genTime={str:vt(w)};var S=0;if(f.length>5&&A.substr(f[5],2)=="30"){var F=a(A,f[5]);p.accuracy=this.getAccuracy(F),S++}if(f.length>5+S&&A.substr(f[5+S],2)=="01"){var D=s(A,f[5+S]);D=="ff"&&(p.ordering=!0),S++}if(f.length>5+S&&A.substr(f[5+S],2)=="02"){var I=s(A,f[5+S]);p.nonce={hex:I},S++}if(f.length>5+S&&A.substr(f[5+S],2)=="a0"){var j=a(A,f[5+S]);j="30"+j.substr(2),pGeneralNames=r.getGeneralNames(j);var q=pGeneralNames[0].dn;p.tsa=q,S++}if(f.length>5+S&&A.substr(f[5+S],2)=="a1"){var _=a(A,f[5+S]);_="30"+_.substr(2);var P=r.getExtParamArray(_);p.ext=P,S++}return p},this.getAccuracy=function(A){for(var p={},f=l(A,0),E=0;E1&&A.substr(f[1],2)=="30"){var w=a(A,f[1]);p.statusstr=this.getPKIFreeText(w),E++}if(f.length>E&&A.substr(f[1+E],2)=="03"){var S=a(A,f[1+E]);p.failinfo=this.getPKIFailureInfo(S)}return p},this.getPKIFreeText=function(A){for(var p=[],f=l(A,0),E=0;E"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cades>"u"||!d.asn1.cades)&&(d.asn1.cades={});d.asn1.cades.SignaturePolicyIdentifier=function(e){var t=d,r=t.asn1,n=r.cades,s=n.SignaturePolicyId;n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new s(this.params)]},this.setByParam=function(a){this.params=a},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignaturePolicyIdentifier,d.asn1.cms.Attribute);d.asn1.cades.SignaturePolicyId=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DERObjectIdentifier,a=r.x509,i=a.AlgorithmIdentifier,c=r.cades,l=c.SignaturePolicyId,h=c.OtherHashAlgAndValue;l.superclass.constructor.call(this),this.params=null,this.tohex=function(){var m=this.params,A=[];A.push(new s(m.oid)),A.push(new h(m));var p=new n({array:A});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(m){this.params=m},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignaturePolicyId,d.asn1.ASN1Object);d.asn1.cades.OtherHashAlgAndValue=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DEROctetString,i=n.x509,c=i.AlgorithmIdentifier,l=n.cades,h=l.OtherHashAlgAndValue;h.superclass.constructor.call(this),this.params=null,this.tohex=function(){var m=this.params;if(m.alg==null)throw new t("property 'alg' not specified");if(m.hash==null&&m.cert==null)throw new t("property 'hash' nor 'cert' not specified");var A=null;if(m.hash!=null)A=m.hash;else if(m.cert!=null){if(typeof m.cert!="string")throw new t("cert not string");var p=m.cert;m.cert.indexOf("-----BEGIN")!=-1&&(p=xt(m.cert)),A=d.crypto.Util.hashHex(p,m.alg)}var f=[];f.push(new c({name:m.alg})),f.push(new a({hex:A}));var E=new s({array:f});return E.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.cades.OtherHashAlgAndValue,d.asn1.ASN1Object);d.asn1.cades.OtherHashValue=function(e){d.asn1.cades.OtherHashValue.superclass.constructor.call(this);var t=Error,r=d,n=r.lang.String.isHex,s=r.asn1,a=s.DEROctetString,i=r.crypto.Util.hashHex;this.params=null,this.tohex=function(){var c=this.params;if(c.hash==null&&c.cert==null)throw new t("hash or cert not specified");var l=null;if(c.hash!=null)l=c.hash;else if(c.cert!=null){if(typeof c.cert!="string")throw new t("cert not string");var h=c.cert;c.cert.indexOf("-----BEGIN")!=-1&&(h=xt(c.cert)),l=d.crypto.Util.hashHex(h,"sha1")}return new a({hex:l}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.cades.OtherHashValue,d.asn1.ASN1Object);d.asn1.cades.SignatureTimeStamp=function(e){var t=Error,r=d,n=r.lang.String.isHex,s=r.asn1,a=s.ASN1Object,i=s.x509,c=s.cades;c.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var l=this.params;if(l.tst!=null)if(n(l.tst)){var h=new a;return h.hTLV=l.tst,[h]}else{if(l.tst instanceof a)return[l.tst];throw new t("params.tst has wrong value")}else if(l.res!=null){var m=l.res;if(m instanceof a&&(m=m.tohex()),typeof m!="string"||!n(m))throw new t("params.res has wrong value");var A=Ae.getTLVbyList(m,0,[1]),h=new a;return h.hTLV=l.tst,[h]}},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignatureTimeStamp,d.asn1.cms.Attribute);d.asn1.cades.CompleteCertificateRefs=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.cades,i=a.OtherCertID,c=r.lang.String.isHex;a.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var l=this.params,h=[],m=0;m"u"||!d.asn1.csr)&&(d.asn1.csr={});d.asn1.csr.CertificationRequest=function(e){var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.csr,i=r.x509,c=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(l){this.params=l},this.sign=function(){var l=new c(this.params).tohex(),h=new d.crypto.Signature({alg:this.params.sigalg});h.init(this.params.sbjprvkey),h.updateHex(l);var m=h.sign();this.params.sighex=m},this.getPEM=function(){return xr(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var l=this.params,h=new d.asn1.csr.CertificationRequestInfo(this.params),m=new d.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==null&&l.sbjprvkey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var A=new n({hex:"00"+l.sighex}),p=new s({array:[h,m,A]});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.csr.CertificationRequest,d.asn1.ASN1Object);d.asn1.csr.CertificationRequestInfo=function(e){var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.DERInteger,i=r.DERUTF8String,c=r.DERTaggedObject,l=r.ASN1Util.newObject,h=r.csr,m=r.x509,A=m.X500Name,p=m.Extensions,f=m.SubjectPublicKeyInfo,E=h.AttributeList;h.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(b){b!=null&&(this.params=b)},this.tohex=function(){var b=this.params,w=[];if(w.push(new a({int:0})),w.push(new A(b.subject)),w.push(new f(rt.getKey(b.sbjpubkey))),b.attrs!=null){var S=v(b.attrs),F=l({tag:{tage:"a0",obj:S}});w.push(F)}else if(b.extreq!=null){var D=new p(b.extreq),F=l({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[D]}]}}});w.push(F)}else w.push(new c({tag:"a0",explicit:!1,obj:new i({str:""})}));var I=new s({array:w});return I.tohex()},this.getEncodedHex=function(){return this.tohex()};function v(b){for(var w=Error,S=d.asn1.x509.Extensions,F=[],D=0;D"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.ocsp>"u"||!d.asn1.ocsp)&&(d.asn1.ocsp={});d.asn1.ocsp.DEFAULT_HASH="sha1";d.asn1.ocsp.OCSPResponse=function(e){d.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var t=d.asn1.DEREnumerated,r=d.asn1.ASN1Util.newObject,n=d.asn1.ocsp.ResponseBytes,s=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var a=this.params.resstatus;return typeof a=="number"?a:typeof a!="string"?-1:s.indexOf(a)},this.setByParam=function(a){this.params=a},this.tohex=function(){var a=this.params,i=this._getStatusCode();if(i==-1)throw new Error("responseStatus not supported: "+a.resstatus);if(i!=0)return r({seq:[{enum:{int:i}}]}).tohex();var c=new n(a);return r({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:c}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.ocsp.OCSPResponse,d.asn1.ASN1Object);d.asn1.ocsp.ResponseBytes=function(e){d.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=d.asn1,r=t.DERSequence,n=t.DERObjectIdentifier,s=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(i){this.params=i},this.tohex=function(){var i=this.params;if(i.restype!="ocspBasic")throw new Error("not supported responseType: "+i.restype);var c=new a(i),l=[];l.push(new n({name:"ocspBasic"})),l.push(new s({hex:c.tohex()}));var h=new r({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.ocsp.ResponseBytes,d.asn1.ASN1Object);d.asn1.ocsp.BasicOCSPResponse=function(e){d.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,r=d.asn1,n=r.ASN1Object,s=r.DERSequence,a=r.DERGeneralizedTime,i=r.DERTaggedObject,c=r.DERBitString,l=r.x509.Extensions,h=r.x509.AlgorithmIdentifier,m=r.ocsp,A=m.ResponderID;_SingleResponseList=m.SingleResponseList,_ResponseData=m.ResponseData,this.params=null,this.setByParam=function(p){this.params=p},this.sign=function(){var p=this.params,f=p.tbsresp.tohex(),E=new d.crypto.Signature({alg:p.sigalg});E.init(p.reskey),E.updateHex(f),p.sighex=E.sign()},this.tohex=function(){var p=this.params;p.tbsresp==null&&(p.tbsresp=new _ResponseData(p)),p.sighex==null&&p.reskey!=null&&this.sign();var f=[];if(f.push(p.tbsresp),f.push(new h({name:p.sigalg})),f.push(new c({hex:"00"+p.sighex})),p.certs!=null&&p.certs.length!=null){for(var E=[],v=0;v"u"||!d)&&(d={});(typeof d.lang>"u"||!d.lang)&&(d.lang={});d.lang.String=function(){};function l2(e){for(var t=new Array,r=0;r>6,l=128|i&63;return vt(c.toString(16)+l.toString(16))}var c=224|(a&240)>>4,l=128|(a&15)<<2|(i&192)>>6,h=128|i&63;return vt(c.toString(16)+l.toString(16)+h.toString(16))}var r=e.match(/.{4}/g),n=r.map(t);return n.join("")}function Ff(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}function SI(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map(function(r,n,s){var a=parseInt(r);if(a<0||255t.length&&(r=t.length);for(var n=0;n0&&(h=h+"."+c.join(".")),h}catch{return null}}function v2(e){var t=new Q(String(e),10);return Ec(t)}function Ec(e){var t=e.toString(16);if(t.substr(0,1)!="-")return t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t),t;var r=t.substr(1),n=r.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var s="",a=0;a=t?e:new Array(t-e.length+1).join(r)+e};function w2(e){if(e.length%2!=0||(e=e.toLowerCase(),e.match(/^[0-9a-f]+$/)==null))return-1;try{var t=e.substr(0,2);if(t=="00")return parseInt(e.substr(2),16);var r=parseInt(t,16);if(r>7)return-1;var n=e.substr(2),s=parseInt(n,16).toString(2);s=="0"&&(s="00000000"),s=s.slice(0,0-r);var a=parseInt(s,2);return a==NaN?-1:a}catch{return-1}}function A2(e){if(typeof e!="number"||e<0)return null;var t=Number(e).toString(2),r=8-t.length%8;r==8&&(r=0),t=t+mf("",r,"0");var n=parseInt(t,2).toString(16);n.length%2==1&&(n="0"+n);var s="0"+r;return s+n}function E2(e){if(typeof e!="string"||e.length%2!=0||!e.match(/^[0-9a-f]+$/))return null;try{var t=parseInt(e.substr(0,2),16);if(t<0||7=0;n--)a+=s[n];return a}function St(e,n,r){if(typeof e=="object"){for(var n=String(n).split("."),s=0;s"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:Se.algo.MD5,sha1:Se.algo.SHA1,sha224:Se.algo.SHA224,sha256:Se.algo.SHA256,sha384:Se.algo.SHA384,sha512:Se.algo.SHA512,ripemd160:Se.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(typeof this.DIGESTINFOHEAD[t]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),s=r/4;if(n.length+22>s)throw"key is too short for SigAlg: keylen="+r+","+t;for(var a="0001",i="00"+n,c="",l=s-a.length-i.length,h=0;h"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECDSA=function(e){var t="secp256r1",r=null,n=null,s=null,a=Error,i=Q,c=ft,l=d.crypto.ECDSA,h=d.crypto.ECParameterDB,m=l.getName,A=Ae,p=A.getVbyListEx,f=A.isASN1HEX,E=new eo,v=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function b(w,S,F,D){for(var I=Math.max(S.bitLength(),D.bitLength()),j=w.add2D(F),q=w.curve.getInfinity(),_=I-1;_>=0;--_)q=q.twice2D(),q.z=i.ONE,S.testBit(_)?D.testBit(_)?q=q.add2D(j):q=q.add2D(w):D.testBit(_)&&(q=q.add2D(F));return q}this.getBigRandom=function(w){return new i(w.bitLength(),E).mod(w.subtract(i.ONE)).add(i.ONE)},this.setNamedCurve=function(w){this.ecparams=h.getByName(w),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=w},this.setPrivateKeyHex=function(w){this.isPrivate=!0,this.prvKeyHex=w},this.setPublicKeyHex=function(w){this.isPublic=!0,this.pubKeyHex=w},this.getPublicKeyXYHex=function(){var w=this.pubKeyHex;if(w.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var S=this.ecparams.keycharlen;if(w.length!==2+S*2)throw"malformed public key hex length";var F={};return F.x=w.substr(2,S),F.y=w.substr(2+S),F},this.getShortNISTPCurveName=function(){var w=this.curveName;return w==="secp256r1"||w==="NIST P-256"||w==="P-256"||w==="prime256v1"?"P-256":w==="secp384r1"||w==="NIST P-384"||w==="P-384"?"P-384":w==="secp521r1"||w==="NIST P-521"||w==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var w=this.ecparams.n,S=this.getBigRandom(w),F=this.ecparams.keycharlen,D=("0000000000"+S.toString(16)).slice(-F);this.setPrivateKeyHex(D);var I=this.generatePublicKeyHex();return{ecprvhex:D,ecpubhex:I}},this.generatePublicKeyHex=function(){var w=new i(this.prvKeyHex,16),S=this.ecparams.G.multiply(w),F=S.getX().toBigInteger(),D=S.getY().toBigInteger(),I=this.ecparams.keycharlen,j=("0000000000"+F.toString(16)).slice(-I),q=("0000000000"+D.toString(16)).slice(-I),_="04"+j+q;return this.setPublicKeyHex(_),_},this.signWithMessageHash=function(w){return this.signHex(w,this.prvKeyHex)},this.signHex=function(w,S){var F=new i(S,16),D=this.ecparams.n,I=new i(w.substring(0,this.ecparams.keycharlen),16);do var j=this.getBigRandom(D),q=this.ecparams.G,_=q.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(i.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return l.biRSSigToASN1Sig(P,k)},this.sign=function(w,S){var F=S,D=this.ecparams.n,I=i.fromByteArrayUnsigned(w);do var j=this.getBigRandom(D),q=this.ecparams.G,_=q.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(Q.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return this.serializeSig(P,k)},this.verifyWithMessageHash=function(w,S){return this.verifyHex(w,S,this.pubKeyHex)},this.verifyHex=function(w,S,F){try{var D,I,j=l.parseSigHex(S);D=j.r,I=j.s;var q=c.decodeFromHex(this.ecparams.curve,F),_=new i(w.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(_,D,I,q)}catch{return!1}},this.verify=function(w,S,F){var D,I;if(Bitcoin.Util.isArray(S)){var j=this.parseSig(S);D=j.r,I=j.s}else if(typeof S=="object"&&S.r&&S.s)D=S.r,I=S.s;else throw"Invalid value for signature";var q;if(F instanceof ft)q=F;else if(Bitcoin.Util.isArray(F))q=c.decodeFrom(this.ecparams.curve,F);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var _=i.fromByteArrayUnsigned(w);return this.verifyRaw(_,D,I,q)},this.verifyRaw=function(w,S,F,D){var I=this.ecparams.n,j=this.ecparams.G;if(S.compareTo(i.ONE)<0||S.compareTo(I)>=0||F.compareTo(i.ONE)<0||F.compareTo(I)>=0)return!1;var q=F.modInverse(I),_=w.multiply(q).mod(I),P=S.multiply(q).mod(I),k=j.multiply(_).add(D.multiply(P)),U=k.getX().toBigInteger().mod(I);return U.equals(S)},this.serializeSig=function(w,S){var F=w.toByteArraySigned(),D=S.toByteArraySigned(),I=[];return I.push(2),I.push(F.length),I=I.concat(F),I.push(2),I.push(D.length),I=I.concat(D),I.unshift(I.length),I.unshift(48),I},this.parseSig=function(w){var S;if(w[0]!=48)throw new Error("Signature not a valid DERSequence");if(S=2,w[S]!=2)throw new Error("First element in signature must be a DERInteger");var F=w.slice(S+2,S+2+w[S+1]);if(S+=2+w[S+1],w[S]!=2)throw new Error("Second element in signature must be a DERInteger");var D=w.slice(S+2,S+2+w[S+1]);S+=2+w[S+1];var I=i.fromByteArrayUnsigned(F),j=i.fromByteArrayUnsigned(D);return{r:I,s:j}},this.parseSigCompact=function(w){if(w.length!==65)throw"Signature has the wrong length";var S=w[0]-27;if(S<0||S>7)throw"Invalid signature type";var F=this.ecparams.n,D=i.fromByteArrayUnsigned(w.slice(1,33)).mod(F),I=i.fromByteArrayUnsigned(w.slice(33,65)).mod(F);return{r:D,s:I,i:S}},this.readPKCS5PrvKeyHex=function(w){if(f(w)===!1)throw new Error("not ASN.1 hex string");var S,F,D;try{S=p(w,0,["[0]",0],"06"),F=p(w,0,[1],"04");try{D=p(w,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=m(S),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(D),this.setPrivateKeyHex(F),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var S,F,D,I;try{S=p(w,0,[1,0],"06"),F=p(w,0,[1,1],"06"),D=p(w,0,[2,0,1],"04");try{I=p(w,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new a("malformed PKCS#8 plain ECC private key")}if(this.curveName=m(F),this.curveName===void 0)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(I),this.setPrivateKeyHex(D),this.isPublic=!1},this.readPKCS8PubKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var S,F,D;try{S=p(w,0,[0,0],"06"),F=p(w,0,[0,1],"06"),D=p(w,0,[1],"03")}catch{throw new a("malformed PKCS#8 ECC public key")}if(this.curveName=m(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},this.readCertPubKeyHex=function(w,S){if(f(w)===!1)throw new a("not ASN.1 hex string");var F,D;try{F=p(w,0,[0,5,0,1],"06"),D=p(w,0,[0,5,1],"03")}catch{throw new a("malformed X.509 certificate ECC public key")}if(this.curveName=m(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},e!==void 0&&e.curve!==void 0&&(this.curveName=e.curve),this.curveName===void 0&&(this.curveName=t),this.setNamedCurve(this.curveName),e!==void 0&&(e.prv!==void 0&&this.setPrivateKeyHex(e.prv),e.pub!==void 0&&this.setPublicKeyHex(e.pub))};d.crypto.ECDSA.parseSigHex=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=new Q(t.r,16),n=new Q(t.s,16);return{r,s:n}};d.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ae,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),e.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var s=r(e,0);if(s.length!=2)throw new Error("signature shall have two elements");var a=s[0],i=s[1];if(e.substr(a,2)!="02")throw new Error("1st item not ASN.1 integer");if(e.substr(i,2)!="02")throw new Error("2nd item not ASN.1 integer");var c=n(e,a),l=n(e,i);return{r:c,s:l}};d.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if(r.length>=130&&r.length<=134){if(r.length%2!=0)throw Error("unknown ECDSA sig r length error");if(n.length%2!=0)throw Error("unknown ECDSA sig s length error");r.substr(0,2)=="00"&&(r=r.substr(2)),n.substr(0,2)=="00"&&(n=n.substr(2));var s=Math.max(r.length,n.length);return r=("000000"+r).slice(-s),n=("000000"+n).slice(-s),r+n}if(r.substr(0,2)=="00"&&r.length%32==2&&(r=r.substr(2)),n.substr(0,2)=="00"&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw Error("unknown ECDSA sig r length error");if(n.length%32!=0)throw Error("unknown ECDSA sig s length error");return r+n};d.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return d.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};d.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new Q(e,16),n=new Q(t,16);return d.crypto.ECDSA.biRSSigToASN1Sig(r,n)};d.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=d.asn1,n=new r.DERInteger({bigint:e}),s=new r.DERInteger({bigint:t}),a=new r.DERSequence({array:[n,s]});return a.tohex()};d.crypto.ECDSA.getName=function(e){return e==="2b8104001f"?"secp192k1":e==="2a8648ce3d030107"?"secp256r1":e==="2b8104000a"?"secp256k1":e==="2b81040021"?"secp224r1":e==="2b81040022"?"secp384r1":e==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)!==-1?"secp256r1":"|secp256k1|".indexOf(e)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(e)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(e)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(e)!==-1?"secp521r1":null};(typeof d>"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECParameterDB=new function(){var e={},t={};function r(n){return new Q(n,16)}this.getByName=function(n){var s=n;if(typeof t[s]<"u"&&(s=t[n]),typeof e[s]<"u")return e[s];throw"unregistered EC curve name: "+s},this.regist=function(n,s,a,i,c,l,h,m,A,p,f,E){e[n]={};var v=r(a),b=r(i),w=r(c),S=r(l),F=r(h),D=new us(v,b,w),I=D.decodePointHex("04"+m+A);e[n].name=n,e[n].keylen=s,e[n].keycharlen=Math.ceil(s/8)*2,e[n].curve=D,e[n].G=I,e[n].n=S,e[n].h=F,e[n].oid=f,e[n].info=E;for(var j=0;j"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.DSA=function(){var e=Ae,t=e.getVbyList,r=e.getVbyListEx,n=e.isASN1HEX,s=Q;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(a,i,c,l,h){this.isPrivate=!0,this.p=a,this.q=i,this.g=c,this.y=l,this.x=h},this.setPrivateHex=function(a,i,c,l,h){var m,A,p,f,E;m=new Q(a,16),A=new Q(i,16),p=new Q(c,16),typeof l=="string"&&l.length>1?f=new Q(l,16):f=null,E=new Q(h,16),this.setPrivate(m,A,p,f,E)},this.setPublic=function(a,i,c,l){this.isPublic=!0,this.p=a,this.q=i,this.g=c,this.y=l,this.x=null},this.setPublicHex=function(a,i,c,l){var h,m,A,p;h=new Q(a,16),m=new Q(i,16),A=new Q(c,16),p=new Q(l,16),this.setPublic(h,m,A,p)},this.signWithMessageHash=function(a){var i=this.p,c=this.q,l=this.g,h=this.y,m=this.x,A=d.crypto.Util.getRandomBigIntegerMinToMax(Q.ONE.add(Q.ONE),c.subtract(Q.ONE)),p=a.substr(0,c.bitLength()/4),f=new Q(p,16),E=l.modPow(A,i).mod(c),v=A.modInverse(c).multiply(f.add(m.multiply(E))).mod(c),b=d.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:E}},{int:{bigint:v}}]});return b},this.verifyWithMessageHash=function(a,i){var c=this.p,l=this.q,h=this.g,m=this.y,A=this.parseASN1Signature(i),p=A[0],f=A[1],E=a.substr(0,l.bitLength()/4),v=new Q(E,16);if(Q.ZERO.compareTo(p)>0||p.compareTo(l)>0||Q.ZERO.compareTo(f)>=0||f.compareTo(l)>0)throw"invalid DSA signature";var b=f.modInverse(l),w=v.multiply(b).mod(l),S=p.multiply(b).mod(l),F=h.modPow(w,c).multiply(m.modPow(S,c)).mod(c).mod(l);return F.compareTo(p)==0},this.parseASN1Signature=function(a){try{var i=new s(r(a,0,[0],"02"),16),c=new s(r(a,0,[1],"02"),16);return[i,c]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(a){var i,c,l,h,m;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[1],"02"),c=r(a,0,[2],"02"),l=r(a,0,[3],"02"),h=r(a,0,[4],"02"),m=r(a,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(i,c,l,h,m)},this.readPKCS8PrvKeyHex=function(a){var i,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[1,1,0],"02"),c=r(a,0,[1,1,1],"02"),l=r(a,0,[1,1,2],"02"),h=r(a,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(i,c,l,null,h)},this.readPKCS8PubKeyHex=function(a){var i,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[0,1,0],"02"),c=r(a,0,[0,1,1],"02"),l=r(a,0,[0,1,2],"02"),h=r(a,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(i,c,l,h)},this.readCertPubKeyHex=function(a,i){var c,l,h,m;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{c=r(a,0,[0,5,0,1,0],"02"),l=r(a,0,[0,5,0,1,1],"02"),h=r(a,0,[0,5,0,1,2],"02"),m=r(a,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(c,l,h,m)}};var rt=function(){var e=function(v,b,w){return n(Se.AES,v,b,w)},t=function(v,b,w){return n(Se.TripleDES,v,b,w)},r=function(v,b,w){return n(Se.DES,v,b,w)},n=function(v,b,w,S){var F=Se.enc.Hex.parse(b),D=Se.enc.Hex.parse(w),I=Se.enc.Hex.parse(S),j={};j.key=D,j.iv=I,j.ciphertext=F;var q=v.decrypt(j,D,{iv:I});return Se.enc.Hex.stringify(q)},s=function(v,b,w){return c(Se.AES,v,b,w)},a=function(v,b,w){return c(Se.TripleDES,v,b,w)},i=function(v,b,w){return c(Se.DES,v,b,w)},c=function(v,b,w,S){var F=Se.enc.Hex.parse(b),D=Se.enc.Hex.parse(w),I=Se.enc.Hex.parse(S),j=v.encrypt(F,D,{iv:I}),q=Se.enc.Hex.parse(j.toString()),_=Se.enc.Base64.stringify(q);return _},l={"AES-256-CBC":{proc:e,eproc:s,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:s,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:s,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:a,keylen:24,ivlen:8},"DES-CBC":{proc:r,eproc:i,keylen:8,ivlen:8}},h=function(v){return l[v].proc},m=function(v){var b=Se.lib.WordArray.random(v),w=Se.enc.Hex.stringify(b);return w},A=function(v){var b={},w=v.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));w&&(b.cipher=w[1],b.ivsalt=w[2]);var S=v.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));S&&(b.type=S[1]);var F=-1,D=0;v.indexOf(`\r +\r +`)!=-1&&(F=v.indexOf(`\r +\r +`),D=2),v.indexOf(` + +`)!=-1&&(F=v.indexOf(` + +`),D=1);var I=v.indexOf("-----END");if(F!=-1&&I!=-1){var j=v.substring(F+D*2,I-D);j=j.replace(/\s+/g,""),b.data=j}return b},p=function(v,b,w){for(var S=w.substring(0,16),F=Se.enc.Hex.parse(S),D=Se.enc.Utf8.parse(b),I=l[v].keylen+l[v].ivlen,j="",q=null;;){var _=Se.algo.MD5.create();if(q!=null&&_.update(q),_.update(D),_.update(F),q=_.finalize(),j=j+Se.enc.Hex.stringify(q),j.length>=I*2)break}var P={};return P.keyhex=j.substr(0,l[v].keylen*2),P.ivhex=j.substr(l[v].keylen*2,l[v].ivlen*2),P},f=function(v,b,w,S){var F=Se.enc.Base64.parse(v),D=Se.enc.Hex.stringify(F),I=l[b].proc,j=I(D,w,S);return j},E=function(v,b,w,S){var F=l[b].eproc,D=F(v,w,S);return D};return{version:"1.0.0",parsePKCS5PEM:function(v){return A(v)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(v,b,w){return p(v,b,w)},decryptKeyB64:function(v,b,w,S){return f(v,b,w,S)},getDecryptedKeyHex:function(v,b){var w=A(v),S=w.type,F=w.cipher,D=w.ivsalt,I=w.data,j=p(F,b,D),q=j.keyhex,_=f(I,F,q,D);return _},getEncryptedPKCS5PEMFromPrvKeyHex:function(v,b,w,S,F){var k="";if((typeof S>"u"||S==null)&&(S="AES-256-CBC"),typeof l[S]>"u")throw new Error("KEYUTIL unsupported algorithm: "+S);if(typeof F>"u"||F==null){var D=l[S].ivlen,I=m(D);F=I.toUpperCase()}var j=p(S,w,F),q=j.keyhex,_=E(b,S,q,F),P=_.replace(/(.{64})/g,`$1\r +`),k="-----BEGIN "+v+` PRIVATE KEY-----\r +`;return k+=`Proc-Type: 4,ENCRYPTED\r +`,k+="DEK-Info: "+S+","+F+`\r +`,k+=`\r +`,k+=P,k+=`\r +-----END `+v+` PRIVATE KEY-----\r +`,k},getEncryptedPKCS8PEM:function(v,b,w){var S=this.getEncryptedPKCS8Hex(v,b,w);return xr(S,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(v,b,w){var S;w==null||w==null?S={}:S=JSON.parse(JSON.stringify(w)),S.plain=v,this.initPBES2Param(S),this.encryptPBES2Param(S,b);var F=this.generatePBES2ASN1Param(S);return d.asn1.ASN1Util.newObject(F).tohex()},initPBES2Param:function(v){if(St(v,"encalg")==null&&(v.encalg="aes256-CBC"),St(v,"iter")==null&&(v.iter=2048),St(v,"prf")==null&&(v.prf="hmacWithSHA256"),St(v,"salt")==null&&(v.salt=Se.enc.Hex.stringify(Se.lib.WordArray.random(8))),St(v,"enciv")==null){var b;v.encalg=="des-EDE3-CBC"&&(b=8),v.encalg=="aes128-CBC"&&(b=16),v.encalg=="aes256-CBC"&&(b=16),v.enciv=Se.enc.Hex.stringify(Se.lib.WordArray.random(b))}},encryptPBES2Param:function(v,b){var w=rt.getDKFromPBES2Param(v,b);try{var S=d.crypto.Cipher.encrypt(v.plain,w,v.encalg,{iv:v.enciv})}catch{throw new Error("encrypt error: "+v.plain+" "+w+" "+v.encalg+" "+v.enciv)}v.enc=S},generatePBES2ASN1Param:function(v){var b={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:v.salt}},{int:{hex:v2(v.iter)}}]}]},{seq:[{oid:v.encalg},{octstr:{hex:v.enciv}}]}]}]},{octstr:{hex:v.enc}}]};return v.prf!="hmacWithSHA1"&&b.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:v.prf},{null:""}]}),b},parseHexOfEncryptedPKCS8:function(v){var b=Ae,w=b.getChildIdx,S=b.getV,F={},D=w(v,0);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+D.length);F.ciphertext=S(v,D[1]);var I=w(v,D[0]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+I.length);if(S(v,I[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var j=w(v,I[1]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+j.length);var q=w(v,j[1]);if(q.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+q.length);if(S(v,q[0])!="2a864886f70d0307")throw"this only supports TripleDES";F.encryptionSchemeAlg="TripleDES",F.encryptionSchemeIV=S(v,q[1]);var _=w(v,j[0]);if(_.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+_.length);if(S(v,_[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var P=w(v,_[1]);if(P.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+P.length);F.pbkdf2Salt=S(v,P[0]);var k=S(v,P[1]);try{F.pbkdf2Iter=parseInt(k,16)}catch{throw new Error("malformed format pbkdf2Iter: "+k)}return F},getPBKDF2KeyHexFromParam:function(v,b){var w=Se.enc.Hex.parse(v.pbkdf2Salt),S=v.pbkdf2Iter,F=Se.PBKDF2(b,w,{keySize:192/32,iterations:S}),D=Se.enc.Hex.stringify(F);return D},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(v,b){var w=xt(v,"ENCRYPTED PRIVATE KEY"),S=this.parseHexOfEncryptedPKCS8(w),F=rt.getPBKDF2KeyHexFromParam(S,b),D={};D.ciphertext=Se.enc.Hex.parse(S.ciphertext);var I=Se.enc.Hex.parse(F),j=Se.enc.Hex.parse(S.encryptionSchemeIV),q=Se.TripleDES.decrypt(D,I,{iv:j}),_=Se.enc.Hex.stringify(q);return _},parsePBES2:function(v){var b=Ae.parse(v);if(St(b,"seq.0.seq.0.oid")!="pkcs5PBES2"||St(b,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var w=St(b,"seq.0.seq.1.seq.0.seq.1.seq");if(w==null)throw new Error("PBKDF2 parameter not found");var S=St(w,"0.octstr.hex"),F=St(w,"1.int.hex"),D=St(w,"2.seq.0.oid","hmacWithSHA1"),I=-1;try{I=parseInt(F,16)}catch{throw new Error("iter not proper value")}var j=St(b,"seq.0.seq.1.seq.1.seq.0.oid"),q=St(b,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),_=St(b,"seq.1.octstr.hex");if(j==null||q==null||_==null)throw new Error("encalg, enciv or enc is undefined");var P={salt:S,iter:I,prf:D,encalg:j,enciv:q,enc:_};return P},getDKFromPBES2Param:function(v,b){var w={hmacWithSHA1:Se.algo.SHA1,hmacWithSHA224:Se.algo.SHA224,hmacWithSHA256:Se.algo.SHA256,hmacWithSHA384:Se.algo.SHA384,hmacWithSHA512:Se.algo.SHA512},S={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},F=w[v.prf];if(F==null)throw new Error("unsupported prf");var D=S[v.encalg];if(D==null)throw new Error("unsupported encalg");var I=Se.enc.Hex.parse(v.salt),j=v.iter;try{var q=Se.PBKDF2(b,I,{keySize:D,iterations:j,hasher:F});return Se.enc.Hex.stringify(q)}catch(_){throw new Error("PBKDF2 error: "+_+" "+JSON.stringify(v)+" "+b)}},getPlainHexFromEncryptedPKCS8PEM:function(v,b){if(v.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var w=xt(v),S;try{S=rt.parsePBES2(w)}catch(D){throw new Error("malformed PBES2 format: "+D.message)}var F=rt.getDKFromPBES2Param(S,b);return d.crypto.Cipher.decrypt(S.enc,F,S.encalg,{iv:S.enciv})},getKeyFromEncryptedPKCS8PEM:function(v,b){var w=this.getPlainHexFromEncryptedPKCS8PEM(v,b),S=this.getKeyFromPlainPrivatePKCS8Hex(w);return S},parsePlainPrivatePKCS8Hex:function(v){var b=Ae,w=b.getChildIdx,S=b.getV,F={};if(F.algparam=null,v.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var D=w(v,0);if(D.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(v.substr(D[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var I=w(v,D[1]);if(I.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(v.substr(I[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(F.algoid=S(v,I[0]),v.substr(I[1],2)=="06"&&(F.algparam=S(v,I[1])),v.substr(D[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return F.keyidx=b.getVidx(v,D[2]),F},getKeyFromPlainPrivatePKCS8PEM:function(v){var b=xt(v,"PRIVATE KEY"),w=this.getKeyFromPlainPrivatePKCS8Hex(b);return w},getKeyFromPlainPrivatePKCS8Hex:function(v){var b=this.parsePlainPrivatePKCS8Hex(v),w;if(b.algoid=="2a864886f70d010101")w=new Ke;else if(b.algoid=="2a8648ce380401")w=new d.crypto.DSA;else if(b.algoid=="2a8648ce3d0201")w=new d.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return w.readPKCS8PrvKeyHex(v),w},_getKeyFromPublicPKCS8Hex:function(v){var b,w=Ae.getVbyList(v,0,[0,0],"06");if(w==="2a864886f70d010101")b=new Ke;else if(w==="2a8648ce380401")b=new d.crypto.DSA;else if(w==="2a8648ce3d0201")b=new d.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return b.readPKCS8PubKeyHex(v),b},parsePublicRawRSAKeyHex:function(v){var b=Ae,w=b.getChildIdx,S=b.getV,F={};if(v.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var D=w(v,0);if(D.length!=2)throw new Error("malformed RSA key(code:002)");if(v.substr(D[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(F.n=S(v,D[0]),v.substr(D[1],2)!="02")throw new Error("malformed RSA key(code:004)");return F.e=S(v,D[1]),F},parsePublicPKCS8Hex:function(v){var b=Ae,w=b.getChildIdx,S=b.getV,F={};F.algparam=null;var D=w(v,0);if(D.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+D.length);var I=D[0];if(v.substr(I,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var j=w(v,I);if(j.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(v.substr(j[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(F.algoid=S(v,j[0]),v.substr(j[1],2)=="06"?F.algparam=S(v,j[1]):v.substr(j[1],2)=="30"&&(F.algparam={},F.algparam.p=b.getVbyList(v,j[1],[0],"02"),F.algparam.q=b.getVbyList(v,j[1],[1],"02"),F.algparam.g=b.getVbyList(v,j[1],[2],"02")),v.substr(D[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return F.key=S(v,D[1]).substr(2),F}}}();rt.getKey=function(e,t,r){var n=Ae,s=n.getChildIdx,a=n.getV,i=n.getVbyList,c=d.crypto,l=c.ECDSA,h=c.DSA,m=Ke,A=xt,p=rt;if(typeof m<"u"&&e instanceof m||typeof l<"u"&&e instanceof l||typeof h<"u"&&e instanceof h)return e;if(e.curve!==void 0&&e.xy!==void 0&&e.d===void 0)return new l({pub:e.xy,curve:e.curve});if(e.curve!==void 0&&e.d!==void 0)return new l({prv:e.d,curve:e.curve});if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new m;return f.setPublic(e.n,e.e),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.co!==void 0&&e.qi===void 0){var f=new m;return f.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p===void 0){var f=new m;return f.setPrivate(e.n,e.e,e.d),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x===void 0){var f=new h;return f.setPublic(e.p,e.q,e.g,e.y),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x!==void 0){var f=new h;return f.setPrivate(e.p,e.q,e.g,e.y,e.x),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new m;return f.setPublic(Bt(e.n),Bt(e.e)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.qi!==void 0){var f=new m;return f.setPrivateEx(Bt(e.n),Bt(e.e),Bt(e.d),Bt(e.p),Bt(e.q),Bt(e.dp),Bt(e.dq),Bt(e.qi)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0){var f=new m;return f.setPrivate(Bt(e.n),Bt(e.e),Bt(e.d)),f}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d===void 0){var E=new l({curve:e.crv}),v=E.ecparams.keycharlen,b=("0000000000"+Bt(e.x)).slice(-v),w=("0000000000"+Bt(e.y)).slice(-v),S="04"+b+w;return E.setPublicKeyHex(S),E}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d!==void 0){var E=new l({curve:e.crv}),v=E.ecparams.keycharlen,b=("0000000000"+Bt(e.x)).slice(-v),w=("0000000000"+Bt(e.y)).slice(-v),S="04"+b+w,F=("0000000000"+Bt(e.d)).slice(-v);return E.setPublicKeyHex(S),E.setPrivateKeyHex(F),E}if(r==="pkcs5prv"){var D=e,n=Ae,I,f;if(I=s(D,0),I.length===9)f=new m,f.readPKCS5PrvKeyHex(D);else if(I.length===6)f=new h,f.readPKCS5PrvKeyHex(D);else if(I.length>2&&D.substr(I[1],2)==="04")f=new l,f.readPKCS5PrvKeyHex(D);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return f}if(r==="pkcs8prv"){var f=p.getKeyFromPlainPrivatePKCS8Hex(e);return f}if(r==="pkcs8pub")return p._getKeyFromPublicPKCS8Hex(e);if(r==="x509pub")return Ne.getPublicKeyFromCertHex(e);if(e.indexOf("-END CERTIFICATE-",0)!=-1||e.indexOf("-END X509 CERTIFICATE-",0)!=-1||e.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return Ne.getPublicKeyFromCertPEM(e);if(e.indexOf("-END PUBLIC KEY-")!=-1){var j=xt(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(j)}if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=A(e,"RSA PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var _=A(e,"DSA PRIVATE KEY"),P=i(_,0,[1],"02"),k=i(_,0,[2],"02"),U=i(_,0,[3],"02"),M=i(_,0,[4],"02"),W=i(_,0,[5],"02"),f=new h;return f.setPrivate(new Q(P,16),new Q(k,16),new Q(U,16),new Q(M,16),new Q(W,16)),f}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=A(e,"EC PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END PRIVATE KEY-")!=-1)return p.getKeyFromPlainPrivatePKCS8PEM(e);if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var K=p.getDecryptedKeyHex(e,t),V=new Ke;return V.readPKCS5PrvKeyHex(K),V}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),f=i(_,0,[1],"04"),z=i(_,0,[2,0],"06"),ne=i(_,0,[3,0],"03").substr(2),Ee="";if(d.crypto.OID.oidhex2name[z]!==void 0)Ee=d.crypto.OID.oidhex2name[z];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+z);var E=new l({curve:Ee});return E.setPublicKeyHex(ne),E.setPrivateKeyHex(f),E.isPublic=!1,E}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),P=i(_,0,[1],"02"),k=i(_,0,[2],"02"),U=i(_,0,[3],"02"),M=i(_,0,[4],"02"),W=i(_,0,[5],"02"),f=new h;return f.setPrivate(new Q(P,16),new Q(k,16),new Q(U,16),new Q(M,16),new Q(W,16)),f}if(e.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")};rt.generateKeypair=function(e,t){if(e=="RSA"){var r=t,n=new Ke;n.generate(r,"10001"),n.isPrivate=!0,n.isPublic=!0;var s=new Ke,a=n.n.toString(16),i=n.e.toString(16);s.setPublic(a,i),s.isPrivate=!1,s.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=s,c}else if(e=="EC"){var l=t,h=new d.crypto.ECDSA({curve:l}),m=h.generateKeyPairHex(),n=new d.crypto.ECDSA({curve:l});n.setPublicKeyHex(m.ecpubhex),n.setPrivateKeyHex(m.ecprvhex),n.isPrivate=!0,n.isPublic=!1;var s=new d.crypto.ECDSA({curve:l});s.setPublicKeyHex(m.ecpubhex),s.isPrivate=!1,s.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=s,c}else throw new Error("unknown algorithm: "+e)};rt.getPEM=function(e,t,r,n,s,a){var i=d,c=i.asn1,l=c.DERObjectIdentifier,h=c.DERInteger,m=c.ASN1Util.newObject,A=c.x509,p=A.SubjectPublicKeyInfo,f=i.crypto,E=f.DSA,v=f.ECDSA,b=Ke;function w(V){var z=m({seq:[{int:0},{int:{bigint:V.n}},{int:V.e},{int:{bigint:V.d}},{int:{bigint:V.p}},{int:{bigint:V.q}},{int:{bigint:V.dmp1}},{int:{bigint:V.dmq1}},{int:{bigint:V.coeff}}]});return z}function S(V){var z=m({seq:[{int:1},{octstr:{hex:V.prvKeyHex}},{tag:["a0",!0,{oid:{name:V.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+V.pubKeyHex}}]}]});return z}function F(V){var z=m({seq:[{int:0},{int:{bigint:V.p}},{int:{bigint:V.q}},{int:{bigint:V.g}},{int:{bigint:V.y}},{int:{bigint:V.x}}]});return z}if((b!==void 0&&e instanceof b||E!==void 0&&e instanceof E||v!==void 0&&e instanceof v)&&e.isPublic==!0&&(t===void 0||t=="PKCS8PUB")){var D=new p(e),I=D.tohex();return xr(I,"PUBLIC KEY")}if(t=="PKCS1PRV"&&b!==void 0&&e instanceof b&&(r===void 0||r==null)&&e.isPrivate==!0){var D=w(e),I=D.tohex();return xr(I,"RSA PRIVATE KEY")}if(t=="PKCS1PRV"&&v!==void 0&&e instanceof v&&(r===void 0||r==null)&&e.isPrivate==!0){var j=new l({name:e.curveName}),q=j.tohex(),_=S(e),P=_.tohex(),k="";return k+=xr(q,"EC PARAMETERS"),k+=xr(P,"EC PRIVATE KEY"),k}if(t=="PKCS1PRV"&&E!==void 0&&e instanceof E&&(r===void 0||r==null)&&e.isPrivate==!0){var D=F(e),I=D.tohex();return xr(I,"DSA PRIVATE KEY")}if(t=="PKCS5PRV"&&b!==void 0&&e instanceof b&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=w(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,r,n,a)}if(t=="PKCS5PRV"&&v!==void 0&&e instanceof v&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=S(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,r,n,a)}if(t=="PKCS5PRV"&&E!==void 0&&e instanceof E&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=F(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,r,n,a)}var U=function(V,z){if(typeof z=="string")return rt.getEncryptedPKCS8PEM(V,z);if(typeof z=="object"&&St(z,"passcode")!=null){var ne=JSON.parse(JSON.stringify(z)),Ee=ne.passcode;return delete ne.passcode,rt.getEncryptedPKCS8PEM(V,Ee,ne)}};if(t=="PKCS8PRV"&&b!=null&&e instanceof b&&e.isPrivate==!0){var M=w(e),W=M.tohex(),D=m({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):U(I,r)}if(t=="PKCS8PRV"&&v!==void 0&&e instanceof v&&e.isPrivate==!0){var K={seq:[{int:1},{octstr:{hex:e.prvKeyHex}}]};typeof e.pubKeyHex=="string"&&K.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]});var M=new m(K),W=M.tohex(),D=m({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):U(I,r)}if(t=="PKCS8PRV"&&E!==void 0&&e instanceof E&&e.isPrivate==!0){var M=new h({bigint:e.x}),W=M.tohex(),D=m({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):U(I,r)}throw new Error("unsupported object nor format")};rt.getKeyFromCSRPEM=function(e){var t=xt(e,"CERTIFICATE REQUEST"),r=rt.getKeyFromCSRHex(t);return r};rt.getKeyFromCSRHex=function(e){var t=rt.parseCSRHex(e),r=rt.getKey(t.p8pubkeyhex,null,"pkcs8pub");return r};rt.parseCSRHex=function(e){var t=Ae,r=t.getChildIdx,n=t.getTLV,s={},a=e;if(a.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var i=r(a,0);if(i.length<1)throw new Error("malformed CSR(code:002)");if(a.substr(i[0],2)!="30")throw new Error("malformed CSR(code:003)");var c=r(a,i[0]);if(c.length<3)throw new Error("malformed CSR(code:004)");return s.p8pubkeyhex=n(a,c[2]),s};rt.getKeyID=function(e){var t=rt,r=Ae;typeof e=="string"&&e.indexOf("BEGIN ")!=-1&&(e=t.getKey(e));var n=xt(t.getPEM(e)),s=r.getIdxbyList(n,0,[1]),a=r.getV(n,s).substring(2);return d.crypto.Util.hashHex(a,"sha1")};rt.getJWK=function(e,t,r,n,s){var a,i={},c,l=d.crypto.Util.hashHex;if(typeof e=="string")a=rt.getKey(e),e.indexOf("CERTIFICATE")!=-1&&(c=xt(e));else if(typeof e=="object")e instanceof Ne?(a=e.getPublicKey(),c=e.hex):a=e;else throw new Error("unsupported keyinfo type");if(a instanceof Ke&&a.isPrivate)i.kty="RSA",i.n=nr(a.n.toString(16)),i.e=nr(a.e.toString(16)),i.d=nr(a.d.toString(16)),i.p=nr(a.p.toString(16)),i.q=nr(a.q.toString(16)),i.dp=nr(a.dmp1.toString(16)),i.dq=nr(a.dmq1.toString(16)),i.qi=nr(a.coeff.toString(16));else if(a instanceof Ke&&a.isPublic)i.kty="RSA",i.n=nr(a.n.toString(16)),i.e=nr(a.e.toString(16));else if(a instanceof d.crypto.ECDSA&&a.isPrivate){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var m=a.getPublicKeyXYHex();i.kty="EC",i.crv=h,i.x=nr(m.x),i.y=nr(m.y),i.d=nr(a.prvKeyHex)}else if(a instanceof d.crypto.ECDSA&&a.isPublic){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var m=a.getPublicKeyXYHex();i.kty="EC",i.crv=h,i.x=nr(m.x),i.y=nr(m.y)}if(i.kty==null)throw new Error("unsupported keyinfo");return!a.isPrivate&&t!=!0&&(i.kid=d.jws.JWS.getJWKthumbprint(i)),c!=null&&r!=!0&&(i.x5c=[as(c)]),c!=null&&n!=!0&&(i.x5t=Xu(as(l(c,"sha1")))),c!=null&&s!=!0&&(i["x5t#S256"]=Xu(as(l(c,"sha256")))),i};rt.getJWKFromKey=function(e){return rt.getJWK(e,!0,!0,!0,!0)};Ke.getPosArrayOfChildrenFromHex=function(e){return Ae.getChildIdx(e,0)};Ke.getHexValueArrayOfChildrenFromHex=function(e){var t=Ae,r=t.getV,p=Ke.getPosArrayOfChildrenFromHex(e),n=r(e,p[0]),s=r(e,p[1]),a=r(e,p[2]),i=r(e,p[3]),c=r(e,p[4]),l=r(e,p[5]),h=r(e,p[6]),m=r(e,p[7]),A=r(e,p[8]),p=new Array;return p.push(n,s,a,i,c,l,h,m,A),p};Ke.prototype.readPrivateKeyFromPEMString=function(e){var t=xt(e),r=Ke.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])};Ke.prototype.readPKCS5PrvKeyHex=function(e){var t=Ke.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};Ke.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,s,a,i,c,l,h=Ae,m=h.getVbyListEx;if(h.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");try{t=m(e,0,[2,0,1],"02"),r=m(e,0,[2,0,2],"02"),n=m(e,0,[2,0,3],"02"),s=m(e,0,[2,0,4],"02"),a=m(e,0,[2,0,5],"02"),i=m(e,0,[2,0,6],"02"),c=m(e,0,[2,0,7],"02"),l=m(e,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,s,a,i,c,l)};Ke.prototype.readPKCS5PubKeyHex=function(e){var t=Ae,r=t.getV;if(t.isASN1HEX(e)===!1)throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(n.length!==2||e.substr(n[0],2)!=="02"||e.substr(n[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var s=r(e,n[0]),a=r(e,n[1]);this.setPublic(s,a)};Ke.prototype.readPKCS8PubKeyHex=function(e){var t=Ae;if(t.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(e,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)};Ke.prototype.readCertPubKeyHex=function(e,t){var r,n;r=new Ne,r.readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var o$=new RegExp("[^0-9a-f]","gi");function y2(e,t){for(var r="",n=t/4-e.length,s=0;s>24,(s&16711680)>>16,(s&65280)>>8,s&255])))),s+=1;return n}Ke.prototype.signPSS=function(e,t,r){var n=function(a){return d.crypto.Util.hashHex(a,t)},s=n(bi(e));return r===void 0&&(r=-1),this.signWithMessageHashPSS(s,t,r)};Ke.prototype.signWithMessageHashPSS=function(e,t,r){var n=on(e),s=n.length,a=this.n.bitLength()-1,i=Math.ceil(a/8),c,l=function(b){return d.crypto.Util.hashHex(b,t)};if(r===-1||r===void 0)r=s;else if(r===-2)r=i-s-2;else if(r<-2)throw new Error("invalid salt length");if(i0&&(h=new Array(r),new eo().nextBytes(h),h=String.fromCharCode.apply(String,h));var m=on(l(bi("\0\0\0\0\0\0\0\0"+n+h))),A=[];for(c=0;c>8*i-a&255;for(E[0]&=~v,c=0;cn)return!1;var s=this.doPublic(r),a=s.toString(16);if(a.length+3!=n/4)return!1;var i=a.replace(/^1f+00/,""),c=b2(i);if(c.length==0)return!1;var l=c[0],h=c[1],m=function(p){return d.crypto.Util.hashString(p,l)},A=m(e);return h==A};Ke.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=an(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(r),s=n.toString(16).replace(/^1f+00/,""),a=b2(s);if(a.length==0)return!1;var i=a[0],c=a[1];return c==e};Ke.prototype.verifyPSS=function(e,t,r,n){var s=function(i){return d.crypto.Util.hashHex(i,r)},a=s(bi(e));return n===void 0&&(n=-1),this.verifyWithMessageHashPSS(a,t,r,n)};Ke.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var s=new Q(t,16),a=function(S){return d.crypto.Util.hashHex(S,r)},i=on(e),c=i.length,l=this.n.bitLength()-1,h=Math.ceil(l/8),m;if(n===-1||n===void 0)n=c;else if(n===-2)n=h-c-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-l&255;if(p.charCodeAt(0)&E)throw new Error("bits beyond keysize not zero");var v=S2(f,p.length,a),b=[];for(m=0;m0?P:void 0}catch{return}},this._asn1ToNoticeRef=function(_){try{for(var P={},k=St(_,"seq"),U=0;U0?P:void 0}catch{return}},this._asn1ToNoticeNum=function(_){try{for(var P=St(_,"seq"),k=[],U=0;U1){var W=i(_,M[1]),K=this.getGeneralName(W);K.uri!=null&&(U.uri=K.uri)}if(M.length>2){var V=i(_,M[2]);V=="0101ff"&&(U.reqauth=!0),V=="010100"&&(U.reqauth=!1)}return U},this.getExtSubjectDirectoryAttributes=function(_,P){if(_===void 0&&P===void 0){var k=this.getExtInfo("subjectDirectoryAttributes");if(k===void 0)return;_=i(this.hex,k.vidx),P=k.critical}var U={extname:"subjectDirectoryAttributes"};P&&(U.critical=!0);try{for(var M=a(_),W=[],K=0;K0&&(P.ext=this.getExtParamArray()),P.sighex=this.getSignatureValueHex(),_.tbshex==!0&&(P.tbshex=h(this.hex,0,[0])),_.nodnarray==!0&&(delete P.issuer.array,delete P.subject.array),P},this.getExtParamArray=function(_){if(_==null){var P=p(this.hex,0,[0,"[3]"]);P!=-1&&(_=m(this.hex,0,[0,"[3]",0],"30"))}for(var k=[],U=r(_,0),M=0;M"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWS=function(){var e=d,t=e.jws.JWS,r=t.isSafeJSONString;this.parseJWS=function(n,s){if(!(this.parsedJWS!==void 0&&(s||this.parsedJWS.sigvalH!==void 0))){var a=n.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(a==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var i=a[1],c=a[2],l=a[3],h=i+"."+c;if(this.parsedJWS={},this.parsedJWS.headB64U=i,this.parsedJWS.payloadB64U=c,this.parsedJWS.sigvalB64U=l,this.parsedJWS.si=h,!s){var m=Bt(l),A=an(m,16);this.parsedJWS.sigvalH=m,this.parsedJWS.sigvalBI=A}var p=ei(i),f=ei(c);if(this.parsedJWS.headS=p,this.parsedJWS.payloadS=f,!r(p,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+p}}};d.jws.JWS.sign=function(e,t,r,n,s){var a=d,i=a.jws,c=i.JWS,l=c.readSafeJSONString,h=c.isSafeJSONString,m=a.crypto,A=m.ECDSA,p=m.Mac,f=m.Signature,E=JSON,v,b,w;if(typeof t!="string"&&typeof t!="object")throw"spHeader must be JSON string or object: "+t;if(typeof t=="object"&&(b=t,v=E.stringify(b)),typeof t=="string"){if(v=t,!h(v))throw"JWS Head is not safe JSON string: "+v;b=l(v)}if(w=r,typeof r=="object"&&(w=E.stringify(r)),(e==""||e==null)&&b.alg!==void 0&&(e=b.alg),e!=""&&e!=null&&b.alg===void 0&&(b.alg=e,v=E.stringify(b)),e!==b.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+b.alg;var S=null;if(c.jwsalg2sigalg[e]===void 0)throw"unsupported alg name: "+e;S=c.jwsalg2sigalg[e];var F=vc(v),D=vc(w),I=F+"."+D,j="";if(S.substr(0,4)=="Hmac"){if(n===void 0)throw"mac key shall be specified for HS* alg";var q=new p({alg:S,prov:"cryptojs",pass:n});q.updateString(I),j=q.doFinal()}else if(S.indexOf("withECDSA")!=-1){var _=new f({alg:S});_.init(n,s),_.updateString(I);var P=_.sign();j=d.crypto.ECDSA.asn1SigToConcatSig(P)}else if(S!="none"){var _=new f({alg:S});_.init(n,s),_.updateString(I),j=_.sign()}var k=nr(j);return I+"."+k};d.jws.JWS.verify=function(e,t,r){var n=d,s=n.jws,a=s.JWS,i=a.readSafeJSONString,c=n.crypto,l=c.ECDSA,h=c.Mac,m=c.Signature,A;if(typeof Ke!==void 0&&(A=Ke),!g0(e))return!1;var p=e.split(".");if(p.length!==3)return!1;var f=p[0],E=p[1],v=f+"."+E,b=Bt(p[2]),w=i(ei(p[0])),S=null,F=null;if(w.alg===void 0)throw"algorithm not specified in header";if(S=w.alg,F=S.substr(0,2),r!=null&&Object.prototype.toString.call(r)==="[object Array]"&&r.length>0){var D=":"+r.join(":")+":";if(D.indexOf(":"+S+":")==-1)throw"algorithm '"+S+"' not accepted in the list"}if(S!="none"&&t===null)throw"key shall be specified to verify.";if(typeof t=="string"&&t.indexOf("-----BEGIN ")!=-1&&(t=rt.getKey(t)),(F=="RS"||F=="PS")&&!(t instanceof A))throw"key shall be a RSAKey obj for RS* and PS* algs";if(F=="ES"&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";S=="none";var I=null;if(a.jwsalg2sigalg[w.alg]===void 0)throw"unsupported alg name: "+S;if(I=a.jwsalg2sigalg[S],I=="none")throw"not supported";if(I.substr(0,4)=="Hmac"){var j=null;if(t===void 0)throw"hexadecimal key shall be specified for HMAC";var q=new h({alg:I,pass:t});return q.updateString(v),j=q.doFinal(),b==j}else if(I.indexOf("withECDSA")!=-1){var _=null;try{_=l.concatSigToASN1Sig(b)}catch{return!1}var P=new m({alg:I});return P.init(t),P.updateString(v),P.verify(_)}else{var P=new m({alg:I});return P.init(t),P.updateString(v),P.verify(b)}};d.jws.JWS.parse=function(e){var t=e.split("."),r={},n,s,a;if(t.length!=2&&t.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return n=t[0],s=t[1],t.length==3&&(a=t[2]),r.headerObj=d.jws.JWS.readSafeJSONString(ei(n)),r.payloadObj=d.jws.JWS.readSafeJSONString(ei(s)),r.headerPP=JSON.stringify(r.headerObj,null," "),r.payloadObj==null?r.payloadPP=ei(s):r.payloadPP=JSON.stringify(r.payloadObj,null," "),a!==void 0&&(r.sigHex=Bt(a)),r};d.jws.JWS.verifyJWT=function(e,t,r){var n=d,s=n.jws,a=s.JWS,i=a.readSafeJSONString,c=a.inArray,l=a.includedArray;if(!g0(e))return!1;var h=e.split(".");if(h.length!=3)return!1;var m=h[0],A=h[1],p=m+"."+A,f=Bt(h[2]),E=i(ei(m)),v=i(ei(A));if(E.alg===void 0)return!1;if(r.alg===void 0)throw"acceptField.alg shall be specified";if(!c(E.alg,r.alg)||v.iss!==void 0&&typeof r.iss=="object"&&!c(v.iss,r.iss)||v.sub!==void 0&&typeof r.sub=="object"&&!c(v.sub,r.sub))return!1;if(v.aud!==void 0&&typeof r.aud=="object"){if(typeof v.aud=="string"){if(!c(v.aud,r.aud))return!1}else if(typeof v.aud=="object"&&!l(v.aud,r.aud))return!1}var b=s.IntDate.getNow();return r.verifyAt!==void 0&&typeof r.verifyAt=="number"&&(b=r.verifyAt),(r.gracePeriod===void 0||typeof r.gracePeriod!="number")&&(r.gracePeriod=0),!(v.exp!==void 0&&typeof v.exp=="number"&&v.exp+r.gracePeriod"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWSJS=function(){var e=d,t=e.jws,r=t.JWS,n=r.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(s){this.init();var a=s.split(".");if(a.length!=3)throw"malformed input JWS";this.aHeader.push(a[0]),this.sPayload=a[1],this.aSignature.push(a[2])},this.addSignature=function(s,a,i,c){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var h=d.jws.JWS.sign(s,a,this.sPayload,i,c),m=h.split("."),A=m[0],p=m[2];this.aHeader.push(m[0]),this.aSignature.push(m[2])}catch(f){throw this.aHeader.length>l&&this.aHeader.pop(),this.aSignature.length>l&&this.aSignature.pop(),"addSignature failed: "+f}},this.verifyAll=function(s){if(this.aHeader.length!==s.length||this.aSignature.length!==s.length)return!1;for(var a=0;a0)this.aHeader=s.headers;else throw"malformed header";if(typeof s.payload=="string")this.sPayload=s.payload;else throw"malformed signatures";if(s.signatures.length>0)this.aSignature=s.signatures;else throw"malformed signatures"}catch(i){throw"malformed JWS-JS JSON object: "+i}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}};ye.SecureRandom=eo;ye.rng_seed_time=l0;ye.BigInteger=Q;ye.RSAKey=Ke;ye.ECDSA=d.crypto.ECDSA;ye.DSA=d.crypto.DSA;ye.Signature=d.crypto.Signature;ye.MessageDigest=d.crypto.MessageDigest;ye.Mac=d.crypto.Mac;ye.KEYUTIL=rt;ye.ASN1HEX=Ae;ye.X509=Ne;ye.X509CRL=FI;ye.CryptoJS=Se;ye.b64tohex=Ju;ye.b64toBA=i2;ye.ECFieldElementFp=ir;ye.ECPointFp=ft;ye.ECCurveFp=us;ye.stoBA=l2;ye.BAtos=f2;ye.BAtohex=Ef;ye.stohex=un;ye.stob64=sI;ye.stob64u=aI;ye.b64utos=uI;ye.b64tob64u=Xu;ye.b64utob64=Ac;ye.hex2b64=as;ye.hextob64u=nr;ye.b64utohex=Bt;ye.utf8tob64u=vc;ye.b64utoutf8=ei;ye.utf8tob64=oI;ye.b64toutf8=cI;ye.utf8tohex=yf;ye.hextoutf8=vt;ye.hextorstr=on;ye.rstrtohex=bi;ye.hextob64=f0;ye.hextob64nl=hI;ye.b64nltohex=h2;ye.hextopem=xr;ye.pemtohex=xt;ye.hextoArrayBuffer=gI;ye.ArrayBuffertohex=mI;ye.zulutomsec=h0;ye.msectozulu=vI;ye.zulutosec=p2;ye.zulutodate=wI;ye.datetozulu=AI;ye.uricmptohex=bf;ye.hextouricmp=Cf;ye.ipv6tohex=i0;ye.hextoipv6=s0;ye.hextoip=gf;ye.iptohex=p0;ye.ucs2hextoutf8=d0;ye.encodeURIComponentAll=Ff;ye.newline_toUnix=EI;ye.newline_toDos=yI;ye.hextoposhex=a0;ye.intarystrtohex=SI;ye.strdiffidx=bI;ye.oidtohex=m2;ye.hextooid=_f;ye.strpad=mf;ye.bitstrtoint=w2;ye.inttobitstr=A2;ye.bitstrtobinstr=E2;ye.binstrtobitstr=CI;ye.isBase64URLDot=g0;ye.namearraytobinstr=vf;ye.extendClass=fe;ye.foldnl=Sf;ye.b64topem=pI;ye.pemtob64=dI;ye.timeogen=d2;ye.aryval=St;ye.inttohex=v2;ye.twoscompl=Ec;ye.KJUR=d;ye.crypto=d.crypto;ye.asn1=d.asn1;ye.jws=d.jws;ye.lang=d.lang;ye.VERSION=xF;ye.VERSION_FULL=OF});var I2=be(E0=>{"use strict";E0.toString=function(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e};E0.toType=function(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}});var B2=be(y0=>{"use strict";y0.toString=function(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e};y0.toRcode=function(e){switch(e.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var D2=be(S0=>{"use strict";S0.toString=function(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e};S0.toOpcode=function(e){switch(e.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var P2=be(b0=>{"use strict";b0.toString=function(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e};b0.toClass=function(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var $2=be(C0=>{"use strict";C0.toString=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:`OPTION_${e}`};C0.toCode=function(e){if(typeof e=="number")return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}});var x2=be((T2,F0)=>{var R2=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=A,e.encode=m,e.familyOf=h,e.name=void 0,e.sizeOf=l,e.v6=e.v4=void 0;let t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,s=16,a={name:"v4",size:r,isFormat:p=>t.test(p),encode(p,f,E){E=~~E,f=f||new Uint8Array(E+r);let v=p.length,b=0;for(let w=0;wp.length>0&&n.test(p),encode(p,f,E){E=~~E;let v=E+s,b=-1,w=0,S=0,F=!0,D=!1;f=f||new Uint8Array(E+s);for(let I=0;I>8),E=97?j-=87:j>=65?j-=55:(j-=48,S=S*10+j),w=(w<<4)+j)}if(F===!1)D===!0?(E>8),E=b+2;I--)f[I]=f[I-2];f[b]=0,f[b+1]=0,b=E}if(b!==E&&b!==-1)for(E>v-2&&(E=v-2);v>b;)f[--v]=Eb?f[--E]:0;else for(;E{"use strict";var xe=pf().Buffer,ws=I2(),BI=B2(),DI=D2(),Pf=P2(),_0=$2(),Ha=x2(),PI=0,O2=32768,I0=32768,$I=~I0,k2=32768,RI=~k2,Be=Te.name={};Be.encode=function(e,t,r,{mail:n=!1}={}){t||(t=xe.alloc(Be.encodingLength(e))),r||(r=0);let s=r,a=e.replace(/^\.|\.$/gm,"");if(a.length){let i=[];if(n){let c="";a.split(".").forEach(l=>{l.endsWith("\\")?c+=(c.length?".":"")+l.slice(0,-1):i.length===0&&c.length?i.push(c+"."+l):i.push(l)})}else i=a.split(".");for(let c=0;c=e.length)throw new Error("Cannot decode name (buffer overflow)");let l=e[t++];if(i+=c?0:1,l===0)break;if(l&192)if((l&192)===192){if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");let h=e.readUInt16BE(t-1)-49152;if(h>=s)throw new Error("Cannot decode name (bad pointer)");t=h,s=h,i+=c?0:1,c=!0}else throw new Error("Cannot decode name (bad label)");else{if(t+l>e.length)throw new Error("Cannot decode name (buffer overflow)");if(a+=l+1,a>254)throw new Error("Cannot decode name (name too long)");let h=e.toString("utf-8",t,t+l);r&&(h=h.replace(/\./g,"\\.")),n.push(h),t+=l,i+=c?0:l}}return Be.decode.bytes=i,n.length===0?".":n.join(".")};Be.decode.bytes=0;Be.encodingLength=function(e){return e==="."||e===".."?1:xe.byteLength(e.replace(/^\.|\.$/gm,""))+2};var tt={};tt.encode=function(e,t,r){t||(t=xe.alloc(tt.encodingLength(e))),r||(r=0);let n=t.write(e,r+1);return t[r]=n,tt.encode.bytes=n+1,t};tt.encode.bytes=0;tt.decode=function(e,t){t||(t=0);let r=e[t],n=e.toString("utf-8",t+1,t+1+r);return tt.decode.bytes=r+1,n};tt.decode.bytes=0;tt.encodingLength=function(e){return xe.byteLength(e)+1};var ni={};ni.encode=function(e,t,r){t||(t=ni.encodingLength(e)),r||(r=0);let n=(e.flags||0)&32767,s=e.type==="response"?O2:PI;return t.writeUInt16BE(e.id||0,r),t.writeUInt16BE(n|s,r+2),t.writeUInt16BE(e.questions.length,r+4),t.writeUInt16BE(e.answers.length,r+6),t.writeUInt16BE(e.authorities.length,r+8),t.writeUInt16BE(e.additionals.length,r+10),t};ni.encode.bytes=12;ni.decode=function(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");let r=e.readUInt16BE(t+2);return{id:e.readUInt16BE(t),type:r&O2?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:DI.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:BI.toString(r&15),questions:new Array(e.readUInt16BE(t+4)),answers:new Array(e.readUInt16BE(t+6)),authorities:new Array(e.readUInt16BE(t+8)),additionals:new Array(e.readUInt16BE(t+10))}};ni.decode.bytes=12;ni.encodingLength=function(){return 12};var os=Te.unknown={};os.encode=function(e,t,r){return t||(t=xe.alloc(os.encodingLength(e))),r||(r=0),t.writeUInt16BE(e.length,r),e.copy(t,r+2),os.encode.bytes=e.length+2,t};os.encode.bytes=0;os.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=e.slice(t+2,t+2+r);return os.decode.bytes=r+2,n};os.decode.bytes=0;os.encodingLength=function(e){return e.length+2};var cs=Te.ns={};cs.encode=function(e,t,r){return t||(t=xe.alloc(cs.encodingLength(e))),r||(r=0),Be.encode(e,t,r+2),t.writeUInt16BE(Be.encode.bytes,r),cs.encode.bytes=Be.encode.bytes+2,t};cs.encode.bytes=0;cs.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=Be.decode(e,t+2);return cs.decode.bytes=r+2,n};cs.decode.bytes=0;cs.encodingLength=function(e){return Be.encodingLength(e)+2};var ls=Te.soa={};ls.encode=function(e,t,r){t||(t=xe.alloc(ls.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mname,t,r),r+=Be.encode.bytes,Be.encode(e.rname,t,r,{mail:!0}),r+=Be.encode.bytes,t.writeUInt32BE(e.serial||0,r),r+=4,t.writeUInt32BE(e.refresh||0,r),r+=4,t.writeUInt32BE(e.retry||0,r),r+=4,t.writeUInt32BE(e.expire||0,r),r+=4,t.writeUInt32BE(e.minimum||0,r),r+=4,t.writeUInt16BE(r-n-2,n),ls.encode.bytes=r-n,t};ls.encode.bytes=0;ls.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mname=Be.decode(e,t),t+=Be.decode.bytes,n.rname=Be.decode(e,t,{mail:!0}),t+=Be.decode.bytes,n.serial=e.readUInt32BE(t),t+=4,n.refresh=e.readUInt32BE(t),t+=4,n.retry=e.readUInt32BE(t),t+=4,n.expire=e.readUInt32BE(t),t+=4,n.minimum=e.readUInt32BE(t),t+=4,ls.decode.bytes=t-r,n};ls.decode.bytes=0;ls.encodingLength=function(e){return 22+Be.encodingLength(e.mname)+Be.encodingLength(e.rname)};var hs=Te.txt={};hs.encode=function(e,t,r){Array.isArray(e)||(e=[e]);for(let s=0;s0;){let a=e[t++];if(--n,n0&&(r.timeout=e.readUInt16BE(t),t+=2);break;case 14:r.tags=[];for(let a=0;a0;)n[a++]=cn.decode(e,t),t+=cn.decode.bytes,s-=cn.decode.bytes;return _n.decode.bytes=t-r,n};_n.decode.bytes=0;_n.encodingLength=function(e){return 2+ro(e||[],cn)};var Gr=Te.dnskey={};Gr.PROTOCOL_DNSSEC=3;Gr.ZONE_KEY=128;Gr.SECURE_ENTRYPOINT=32768;Gr.encode=function(e,t,r){t||(t=xe.alloc(Gr.encodingLength(e))),r||(r=0);let n=r,s=e.key;if(!xe.isBuffer(s))throw new Error("Key must be a Buffer");return r+=2,t.writeUInt16BE(e.flags,r),r+=2,t.writeUInt8(Gr.PROTOCOL_DNSSEC,r),r+=1,t.writeUInt8(e.algorithm,r),r+=1,s.copy(t,r,0,s.length),r+=s.length,Gr.encode.bytes=r-n,t.writeUInt16BE(Gr.encode.bytes-2,n),t};Gr.encode.bytes=0;Gr.decode=function(e,t){t||(t=0);let r=t;var n={},s=e.readUInt16BE(t);if(t+=2,n.flags=e.readUInt16BE(t),t+=2,e.readUInt8(t)!==Gr.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e.readUInt8(t),t+=1,n.key=e.slice(t,r+s+2),t+=n.key.length,Gr.decode.bytes=t-r,n};Gr.decode.bytes=0;Gr.encodingLength=function(e){return 6+xe.byteLength(e.key)};var Ci=Te.rrsig={};Ci.encode=function(e,t,r){t||(t=xe.alloc(Ci.encodingLength(e))),r||(r=0);let n=r,s=e.signature;if(!xe.isBuffer(s))throw new Error("Signature must be a Buffer");return r+=2,t.writeUInt16BE(ws.toType(e.typeCovered),r),r+=2,t.writeUInt8(e.algorithm,r),r+=1,t.writeUInt8(e.labels,r),r+=1,t.writeUInt32BE(e.originalTTL,r),r+=4,t.writeUInt32BE(e.expiration,r),r+=4,t.writeUInt32BE(e.inception,r),r+=4,t.writeUInt16BE(e.keyTag,r),r+=2,Be.encode(e.signersName,t,r),r+=Be.encode.bytes,s.copy(t,r,0,s.length),r+=s.length,Ci.encode.bytes=r-n,t.writeUInt16BE(Ci.encode.bytes-2,n),t};Ci.encode.bytes=0;Ci.decode=function(e,t){t||(t=0);let r=t;var n={},s=e.readUInt16BE(t);return t+=2,n.typeCovered=ws.toString(e.readUInt16BE(t)),t+=2,n.algorithm=e.readUInt8(t),t+=1,n.labels=e.readUInt8(t),t+=1,n.originalTTL=e.readUInt32BE(t),t+=4,n.expiration=e.readUInt32BE(t),t+=4,n.inception=e.readUInt32BE(t),t+=4,n.keyTag=e.readUInt16BE(t),t+=2,n.signersName=Be.decode(e,t),t+=Be.decode.bytes,n.signature=e.slice(t,r+s+2),t+=n.signature.length,Ci.decode.bytes=t-r,n};Ci.decode.bytes=0;Ci.encodingLength=function(e){return 20+Be.encodingLength(e.signersName)+xe.byteLength(e.signature)};var Fi=Te.rp={};Fi.encode=function(e,t,r){t||(t=xe.alloc(Fi.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mbox||".",t,r,{mail:!0}),r+=Be.encode.bytes,Be.encode(e.txt||".",t,r),r+=Be.encode.bytes,Fi.encode.bytes=r-n,t.writeUInt16BE(Fi.encode.bytes-2,n),t};Fi.encode.bytes=0;Fi.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mbox=Be.decode(e,t,{mail:!0})||".",t+=Be.decode.bytes,n.txt=Be.decode(e,t)||".",t+=Be.decode.bytes,Fi.decode.bytes=t-r,n};Fi.decode.bytes=0;Fi.encodingLength=function(e){return 2+Be.encodingLength(e.mbox||".")+Be.encodingLength(e.txt||".")};var dr={};dr.encode=function(e,t,r){t||(t=xe.alloc(dr.encodingLength(e))),r||(r=0);let n=r;for(var s=[],a=0;a>8]===void 0&&(s[i>>8]=[]),s[i>>8][i>>3&31]|=1<<7-(i&7)}for(a=0;a>8]=Math.max(t[n>>8]||0,n&255)}var s=0;for(r=0;r>15&1)===1,r.options=_n.decode(e,t+8),t+=8+_n.decode.bytes;else{let s=e.readUInt16BE(t+2);r.ttl=e.readUInt32BE(t+4),r.class=Pf.toString(s&$I),r.flush=!!(s&I0);let a=B0(r.type);r.data=a.decode(e,t+8),t+=8+a.decode.bytes}return Sr.decode.bytes=t-n,r};Sr.decode.bytes=0;Sr.encodingLength=function(e){let t=e.data!==null&&e.data!==void 0?e.data:e.options;return Be.encodingLength(e.name)+8+B0(e.type).encodingLength(t)};var ri=Te.question={};ri.encode=function(e,t,r){t||(t=xe.alloc(ri.encodingLength(e))),r||(r=0);let n=r;return Be.encode(e.name,t,r),r+=Be.encode.bytes,t.writeUInt16BE(ws.toType(e.type),r),r+=2,t.writeUInt16BE(Pf.toClass(e.class===void 0?"IN":e.class),r),r+=2,ri.encode.bytes=r-n,e};ri.encode.bytes=0;ri.decode=function(e,t){t||(t=0);let r=t,n={};return n.name=Be.decode(e,t),t+=Be.decode.bytes,n.type=ws.toString(e.readUInt16BE(t)),t+=2,n.class=Pf.toString(e.readUInt16BE(t)),t+=2,!!(n.class&k2)&&(n.class&=RI),ri.decode.bytes=t-r,n};ri.decode.bytes=0;ri.encodingLength=function(e){return Be.encodingLength(e.name)+4};Te.AUTHORITATIVE_ANSWER=1024;Te.TRUNCATED_RESPONSE=512;Te.RECURSION_DESIRED=256;Te.RECURSION_AVAILABLE=128;Te.AUTHENTIC_DATA=32;Te.CHECKING_DISABLED=16;Te.DNSSEC_OK=32768;Te.encode=function(e,t,r){let n=!t;n&&(t=xe.alloc(Te.encodingLength(e))),r||(r=0);let s=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),ni.encode(e,t,r),r+=ni.encode.bytes,r=Sc(e.questions,ri,t,r),r=Sc(e.answers,Sr,t,r),r=Sc(e.authorities,Sr,t,r),r=Sc(e.additionals,Sr,t,r),Te.encode.bytes=r-s,n&&Te.encode.bytes!==t.length?t.slice(0,Te.encode.bytes):t};Te.encode.bytes=0;Te.decode=function(e,t){t||(t=0);let r=t,n=ni.decode(e,t);return t+=ni.decode.bytes,t=Df(n.questions,ri,e,t),t=Df(n.answers,Sr,e,t),t=Df(n.authorities,Sr,e,t),t=Df(n.additionals,Sr,e,t),Te.decode.bytes=t-r,n};Te.decode.bytes=0;Te.encodingLength=function(e){return ni.encodingLength(e)+ro(e.questions||[],ri)+ro(e.answers||[],Sr)+ro(e.authorities||[],Sr)+ro(e.additionals||[],Sr)};Te.streamEncode=function(e){let t=Te.encode(e),r=xe.alloc(2);r.writeUInt16BE(t.byteLength);let n=xe.concat([r,t]);return Te.streamEncode.bytes=n.byteLength,n};Te.streamEncode.bytes=0;Te.streamDecode=function(e){let t=e.readUInt16BE(0);if(e.byteLength{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",i="__lodash_hash_undefined__",c=500,l="__lodash_placeholder__",h=1,m=2,A=4,p=1,f=2,E=1,v=2,b=4,w=8,S=16,F=32,D=64,I=128,j=256,q=512,_=30,P="...",k=800,U=16,M=1,W=2,K=3,V=1/0,z=9007199254740991,ne=17976931348623157e292,Ee=NaN,we=4294967295,_e=we-1,He=we>>>1,ue=[["ary",I],["bind",E],["bindKey",v],["curry",w],["curryRight",S],["flip",q],["partial",F],["partialRight",D],["rearg",j]],Ce="[object Arguments]",Oe="[object Array]",sr="[object AsyncFunction]",_t="[object Boolean]",lt="[object Date]",Mt="[object DOMException]",Pt="[object Error]",Qe="[object Function]",bt="[object GeneratorFunction]",Je="[object Map]",ht="[object Number]",qt="[object Null]",ze="[object Object]",Ot="[object Promise]",Rn="[object Proxy]",ar="[object RegExp]",gr="[object Set]",zt="[object String]",br="[object Symbol]",Xs="[object Undefined]",Or="[object WeakMap]",pt="[object WeakSet]",Wt="[object ArrayBuffer]",We="[object DataView]",Cr="[object Float32Array]",Js="[object Float64Array]",Zs="[object Int8Array]",Qs="[object Int16Array]",ea="[object Int32Array]",Oi="[object Uint8Array]",ta="[object Uint8ClampedArray]",bs="[object Uint16Array]",ii="[object Uint32Array]",ki=/\b__p \+= '';/g,Va=/\b(__p \+=) '' \+/g,Ga=/(__e\(.*?\)|\b__t\)) \+\n'';/g,za=/&(?:amp|lt|gt|quot|#39);/g,Wa=/[&<>"']/g,Ya=RegExp(za.source),Xa=RegExp(Wa.source),Ja=/<%-([\s\S]+?)%>/g,co=/<%([\s\S]+?)%>/g,Za=/<%=([\s\S]+?)%>/g,lo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fo=/^\w*$/,ho=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cs=/[\\^$.*+?()[\]{}|]/g,po=RegExp(Cs.source),ra=/^\s+/,go=/\s/,mo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,vo=/\{\n\/\* \[wrapped with (.+)\] \*/,wo=/,? & /,Ao=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Eo=/[()=,{}\[\]\/\s]/,yo=/\\(\\)?/g,So=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,si=/\w*$/,Qa=/^[-+]0x[0-9a-f]+$/i,bo=/^0b[01]+$/i,Co=/^\[object .+?Constructor\]$/,Fo=/^0o[0-7]+$/i,eu=/^(?:0|[1-9]\d*)$/,ai=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,zr=/($^)/,_o=/['\n\r\u2028\u2029\\]/g,Fs="\\ud800-\\udfff",fn="\\u0300-\\u036f",Io="\\ufe20-\\ufe2f",Bo="\\u20d0-\\u20ff",tu=fn+Io+Bo,na="\\u2700-\\u27bf",ru="a-z\\xdf-\\xf6\\xf8-\\xff",_s="\\xac\\xb1\\xd7\\xf7",kt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Do="\\u2000-\\u206f",Po=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",nu="A-Z\\xc0-\\xd6\\xd8-\\xde",ui="\\ufe0e\\ufe0f",ur=_s+kt+Do+Po,Dt="['\u2019]",$o="["+Fs+"]",ia="["+ur+"]",or="["+tu+"]",sa="\\d+",iu="["+na+"]",su="["+ru+"]",aa="[^"+Fs+ur+sa+na+ru+nu+"]",oi="\\ud83c[\\udffb-\\udfff]",oa="(?:"+or+"|"+oi+")",au="[^"+Fs+"]",ca="(?:\\ud83c[\\udde6-\\uddff]){2}",la="[\\ud800-\\udbff][\\udc00-\\udfff]",kr="["+nu+"]",$="\\u200d",T="(?:"+su+"|"+aa+")",L="(?:"+kr+"|"+aa+")",Z="(?:"+Dt+"(?:d|ll|m|re|s|t|ve))?",pe="(?:"+Dt+"(?:D|LL|M|RE|S|T|VE))?",me=oa+"?",Fe="["+ui+"]?",Pe="(?:"+$+"(?:"+[au,ca,la].join("|")+")"+Fe+me+")*",wt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Nt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",mr=Fe+me+Pe,vr="(?:"+[iu,ca,la].join("|")+")"+mr,hn="(?:"+[au+or+"?",or,ca,la,$o].join("|")+")",Is=RegExp(Dt,"g"),Nr=RegExp(or,"g"),wr=RegExp(oi+"(?="+oi+")|"+hn+mr,"g"),Bs=RegExp([kr+"?"+su+"+"+Z+"(?="+[ia,kr,"$"].join("|")+")",L+"+"+pe+"(?="+[ia,kr+T,"$"].join("|")+")",kr+"?"+T+"+"+Z,kr+"+"+pe,Nt,wt,sa,vr].join("|"),"g"),Tn=RegExp("["+$+Fs+tu+ui+"]"),fa=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Yf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xf=-1,Ct={};Ct[Cr]=Ct[Js]=Ct[Zs]=Ct[Qs]=Ct[ea]=Ct[Oi]=Ct[ta]=Ct[bs]=Ct[ii]=!0,Ct[Ce]=Ct[Oe]=Ct[Wt]=Ct[_t]=Ct[We]=Ct[lt]=Ct[Pt]=Ct[Qe]=Ct[Je]=Ct[ht]=Ct[ze]=Ct[ar]=Ct[gr]=Ct[zt]=Ct[Or]=!1;var yt={};yt[Ce]=yt[Oe]=yt[Wt]=yt[We]=yt[_t]=yt[lt]=yt[Cr]=yt[Js]=yt[Zs]=yt[Qs]=yt[ea]=yt[Je]=yt[ht]=yt[ze]=yt[ar]=yt[gr]=yt[zt]=yt[br]=yt[Oi]=yt[ta]=yt[bs]=yt[ii]=!0,yt[Pt]=yt[Qe]=yt[Or]=!1;var Jf={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Zf={"&":"&","<":"<",">":">",'"':""","'":"'"},Qf={"&":"&","<":"<",">":">",""":'"',"'":"'"},eh={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},th=parseFloat,rh=parseInt,kc=typeof global=="object"&&global&&global.Object===Object&&global,nh=typeof self=="object"&&self&&self.Object===Object&&self,Yt=kc||nh||Function("return this")(),Ro=typeof io=="object"&&io&&!io.nodeType&&io,Ni=Ro&&typeof bc=="object"&&bc&&!bc.nodeType&&bc,Nc=Ni&&Ni.exports===Ro,To=Nc&&kc.process,Wr=function(){try{var te=Ni&&Ni.require&&Ni.require("util").types;return te||To&&To.binding&&To.binding("util")}catch{}}(),Lc=Wr&&Wr.isArrayBuffer,Uc=Wr&&Wr.isDate,Hc=Wr&&Wr.isMap,jc=Wr&&Wr.isRegExp,Mc=Wr&&Wr.isSet,qc=Wr&&Wr.isTypedArray;function Lr(te,ce,ae){switch(ae.length){case 0:return te.call(ce);case 1:return te.call(ce,ae[0]);case 2:return te.call(ce,ae[0],ae[1]);case 3:return te.call(ce,ae[0],ae[1],ae[2])}return te.apply(ce,ae)}function ih(te,ce,ae,$e){for(var qe=-1,st=te==null?0:te.length;++qe-1}function ha(te,ce,ae){for(var $e=-1,qe=te==null?0:te.length;++$e-1;);return ae}function zc(te,ce){for(var ae=te.length;ae--&&Ds(ce,te[ae],0)>-1;);return ae}function Wc(te,ce){for(var ae=te.length,$e=0;ae--;)te[ae]===ce&&++$e;return $e}var Uo=he(Jf),uh=he(Zf);function Yc(te){return"\\"+eh[te]}function oh(te,ce){return te==null?e:te[ce]}function Ui(te){return Tn.test(te)}function ch(te){return fa.test(te)}function lh(te){for(var ce,ae=[];!(ce=te.next()).done;)ae.push(ce.value);return ae}function Ho(te){var ce=-1,ae=Array(te.size);return te.forEach(function($e,qe){ae[++ce]=[qe,$e]}),ae}function Ar(te,ce){return function(ae){return te(ce(ae))}}function gn(te,ce){for(var ae=-1,$e=te.length,qe=0,st=[];++ae<$e;){var Rt=te[ae];(Rt===ce||Rt===l)&&(te[ae]=l,st[qe++]=ae)}return st}function mn(te){var ce=-1,ae=Array(te.size);return te.forEach(function($e){ae[++ce]=$e}),ae}function cu(te){var ce=-1,ae=Array(te.size);return te.forEach(function($e){ae[++ce]=[$e,$e]}),ae}function Xc(te,ce,ae){for(var $e=ae-1,qe=te.length;++$e-1}function jA(u,o){var g=this.__data__,C=ul(g,u);return C<0?(++this.size,g.push([u,o])):g[C][1]=o,this}Ki.prototype.clear=NA,Ki.prototype.delete=LA,Ki.prototype.get=UA,Ki.prototype.has=HA,Ki.prototype.set=jA;function Vi(u){var o=-1,g=u==null?0:u.length;for(this.clear();++o=o?u:o)),u}function Nn(u,o,g,C,R,N){var G,X=o&h,re=o&m,de=o&A;if(g&&(G=R?g(u,C,R,N):g(u)),G!==e)return G;if(!Tt(u))return u;var ge=Ge(u);if(ge){if(G=VE(u),!X)return Zr(u,G)}else{var ve=Ir(u),Ie=ve==Qe||ve==bt;if(xs(u))return jd(u,X);if(ve==ze||ve==Ce||Ie&&!R){if(G=re||Ie?{}:a1(u),!X)return re?xE(u,nE(G,u)):TE(u,vd(G,u))}else{if(!yt[ve])return R?u:{};G=GE(u,ve,X)}}N||(N=new Yn);var Re=N.get(u);if(Re)return Re;N.set(u,G),O1(u)?u.forEach(function(Me){G.add(Nn(Me,o,g,Me,u,N))}):T1(u)&&u.forEach(function(Me,nt){G.set(nt,Nn(Me,o,g,nt,u,N))});var je=de?re?qh:Mh:re?en:cr,Ze=ge?e:je(u);return Yr(Ze||u,function(Me,nt){Ze&&(nt=Me,Me=u[nt]),Vo(G,nt,Nn(Me,o,g,nt,u,N))}),G}function iE(u){var o=cr(u);return function(g){return wd(g,u,o)}}function wd(u,o,g){var C=g.length;if(u==null)return!C;for(u=At(u);C--;){var R=g[C],N=o[R],G=u[R];if(G===e&&!(R in u)||!N(G))return!1}return!0}function Ad(u,o,g){if(typeof u!="function")throw new Jr(s);return Zo(function(){u.apply(e,g)},o)}function Go(u,o,g,C){var R=-1,N=Ur,G=!0,X=u.length,re=[],de=o.length;if(!X)return re;g&&(o=ee(o,Fr(g))),C?(N=ha,G=!1):o.length>=r&&(N=da,G=!1,o=new ma(o));e:for(;++RR?0:R+g),C=C===e||C>R?R:Xe(C),C<0&&(C+=R),C=g>C?0:N1(C);g0&&g(X)?o>1?Er(X,o-1,g,C,R):dn(R,X):C||(R[R.length]=X)}return R}var Ch=zd(),Sd=zd(!0);function li(u,o){return u&&Ch(u,o,cr)}function Fh(u,o){return u&&Sd(u,o,cr)}function cl(u,o){return pn(o,function(g){return Xi(u[g])})}function wa(u,o){o=Rs(o,u);for(var g=0,C=o.length;u!=null&&go}function uE(u,o){return u!=null&&ot.call(u,o)}function oE(u,o){return u!=null&&o in At(u)}function cE(u,o,g){return u>=_r(o,g)&&u=120&&ge.length>=120)?new ma(G&&ge):e}ge=u[0];var ve=-1,Ie=X[0];e:for(;++ve-1;)X!==u&&dt.call(X,re,1),dt.call(u,re,1);return u}function Td(u,o){for(var g=u?o.length:0,C=g-1;g--;){var R=o[g];if(g==C||R!==N){var N=R;Yi(R)?dt.call(u,R,1):Oh(u,R)}}return u}function Rh(u,o){return u+ie(pd()*(o-u+1))}function SE(u,o,g,C){for(var R=-1,N=Qt(H((o-u)/(g||1)),0),G=ae(N);N--;)G[C?N:++R]=u,u+=g;return G}function Th(u,o){var g="";if(!u||o<1||o>z)return g;do o%2&&(g+=u),o=ie(o/2),o&&(u+=u);while(o);return g}function et(u,o){return Xh(c1(u,o,tn),u+"")}function bE(u){return md(Iu(u))}function CE(u,o){var g=Iu(u);return El(g,va(o,0,g.length))}function Yo(u,o,g,C){if(!Tt(u))return u;o=Rs(o,u);for(var R=-1,N=o.length,G=N-1,X=u;X!=null&&++RR?0:R+o),g=g>R?R:g,g<0&&(g+=R),R=o>g?0:g-o>>>0,o>>>=0;for(var N=ae(R);++C>>1,G=u[N];G!==null&&!wn(G)&&(g?G<=o:G=r){var de=o?null:LE(u);if(de)return mn(de);G=!1,R=da,re=new ma}else re=o?[]:X;e:for(;++C=C?u:Ln(u,o,g)}var Hd=y||function(u){return Yt.clearTimeout(u)};function jd(u,o){if(o)return u.slice();var g=u.length,C=el?el(g):new u.constructor(g);return u.copy(C),C}function Uh(u){var o=new u.constructor(u.byteLength);return new vu(o).set(new vu(u)),o}function DE(u,o){var g=o?Uh(u.buffer):u.buffer;return new u.constructor(g,u.byteOffset,u.byteLength)}function PE(u){var o=new u.constructor(u.source,si.exec(u));return o.lastIndex=u.lastIndex,o}function $E(u){return Ko?At(Ko.call(u)):{}}function Md(u,o){var g=o?Uh(u.buffer):u.buffer;return new u.constructor(g,u.byteOffset,u.length)}function qd(u,o){if(u!==o){var g=u!==e,C=u===null,R=u===u,N=wn(u),G=o!==e,X=o===null,re=o===o,de=wn(o);if(!X&&!de&&!N&&u>o||N&&G&&re&&!X&&!de||C&&G&&re||!g&&re||!R)return 1;if(!C&&!N&&!de&&u=X)return re;var de=g[C];return re*(de=="desc"?-1:1)}}return u.index-o.index}function Kd(u,o,g,C){for(var R=-1,N=u.length,G=g.length,X=-1,re=o.length,de=Qt(N-G,0),ge=ae(re+de),ve=!C;++X1?g[R-1]:e,G=R>2?g[2]:e;for(N=u.length>3&&typeof N=="function"?(R--,N):e,G&&jr(g[0],g[1],G)&&(N=R<3?e:N,R=1),o=At(o);++C-1?R[N?o[G]:G]:e}}function Xd(u){return Wi(function(o){var g=o.length,C=g,R=kn.prototype.thru;for(u&&o.reverse();C--;){var N=o[C];if(typeof N!="function")throw new Jr(s);if(R&&!G&&wl(N)=="wrapper")var G=new kn([],!0)}for(C=G?C:g;++C1&&at.reverse(),ge&&reX))return!1;var de=N.get(u),ge=N.get(o);if(de&&ge)return de==o&&ge==u;var ve=-1,Ie=!0,Re=g&f?new ma:e;for(N.set(u,o),N.set(o,u);++ve1?"& ":"")+o[C],o=o.join(g>2?", ":" "),u.replace(mo,`{ +/* [wrapped with `+o+`] */ +`)}function WE(u){return Ge(u)||ya(u)||!!(nl&&u&&u[nl])}function Yi(u,o){var g=typeof u;return o=o??z,!!o&&(g=="number"||g!="symbol"&&eu.test(u))&&u>-1&&u%1==0&&u0){if(++o>=k)return arguments[0]}else o=0;return u.apply(e,arguments)}}function El(u,o){var g=-1,C=u.length,R=C-1;for(o=o===e?C:o;++g1?u[o-1]:e;return g=typeof g=="function"?(u.pop(),g):e,y1(u,g)});function S1(u){var o=O(u);return o.__chain__=!0,o}function sy(u,o){return o(u),u}function yl(u,o){return o(u)}var ay=Wi(function(u){var o=u.length,g=o?u[0]:0,C=this.__wrapped__,R=function(N){return bh(N,u)};return o>1||this.__actions__.length||!(C instanceof it)||!Yi(g)?this.thru(R):(C=C.slice(g,+g+(o?1:0)),C.__actions__.push({func:yl,args:[R],thisArg:e}),new kn(C,this.__chain__).thru(function(N){return o&&!N.length&&N.push(e),N}))});function uy(){return S1(this)}function oy(){return new kn(this.value(),this.__chain__)}function cy(){this.__values__===e&&(this.__values__=k1(this.value()));var u=this.__index__>=this.__values__.length,o=u?e:this.__values__[this.__index__++];return{done:u,value:o}}function ly(){return this}function fy(u){for(var o,g=this;g instanceof al;){var C=g1(g);C.__index__=0,C.__values__=e,o?R.__wrapped__=C:o=C;var R=C;g=g.__wrapped__}return R.__wrapped__=u,o}function hy(){var u=this.__wrapped__;if(u instanceof it){var o=u;return this.__actions__.length&&(o=new it(this)),o=o.reverse(),o.__actions__.push({func:yl,args:[Jh],thisArg:e}),new kn(o,this.__chain__)}return this.thru(Jh)}function py(){return Ld(this.__wrapped__,this.__actions__)}var dy=pl(function(u,o,g){ot.call(u,g)?++u[g]:Gi(u,g,1)});function gy(u,o,g){var C=Ge(u)?Ve:sE;return g&&jr(u,o,g)&&(o=e),C(u,Le(o,3))}function my(u,o){var g=Ge(u)?pn:yd;return g(u,Le(o,3))}var vy=Yd(m1),wy=Yd(v1);function Ay(u,o){return Er(Sl(u,o),1)}function Ey(u,o){return Er(Sl(u,o),V)}function yy(u,o,g){return g=g===e?1:Xe(g),Er(Sl(u,o),g)}function b1(u,o){var g=Ge(u)?Yr:Ps;return g(u,Le(o,3))}function C1(u,o){var g=Ge(u)?B:Ed;return g(u,Le(o,3))}var Sy=pl(function(u,o,g){ot.call(u,g)?u[g].push(o):Gi(u,g,[o])});function by(u,o,g,C){u=Qr(u)?u:Iu(u),g=g&&!C?Xe(g):0;var R=u.length;return g<0&&(g=Qt(R+g,0)),Il(u)?g<=R&&u.indexOf(o,g)>-1:!!R&&Ds(u,o,g)>-1}var Cy=et(function(u,o,g){var C=-1,R=typeof o=="function",N=Qr(u)?ae(u.length):[];return Ps(u,function(G){N[++C]=R?Lr(o,G,g):zo(G,o,g)}),N}),Fy=pl(function(u,o,g){Gi(u,g,o)});function Sl(u,o){var g=Ge(u)?ee:Id;return g(u,Le(o,3))}function _y(u,o,g,C){return u==null?[]:(Ge(o)||(o=o==null?[]:[o]),g=C?e:g,Ge(g)||(g=g==null?[]:[g]),$d(u,o,g))}var Iy=pl(function(u,o,g){u[g?0:1].push(o)},function(){return[[],[]]});function By(u,o,g){var C=Ge(u)?xo:Vc,R=arguments.length<3;return C(u,Le(o,4),g,R,Ps)}function Dy(u,o,g){var C=Ge(u)?fd:Vc,R=arguments.length<3;return C(u,Le(o,4),g,R,Ed)}function Py(u,o){var g=Ge(u)?pn:yd;return g(u,Fl(Le(o,3)))}function $y(u){var o=Ge(u)?md:bE;return o(u)}function Ry(u,o,g){(g?jr(u,o,g):o===e)?o=1:o=Xe(o);var C=Ge(u)?eE:CE;return C(u,o)}function Ty(u){var o=Ge(u)?tE:_E;return o(u)}function xy(u){if(u==null)return 0;if(Qr(u))return Il(u)?Hi(u):u.length;var o=Ir(u);return o==Je||o==gr?u.size:Dh(u).length}function Oy(u,o,g){var C=Ge(u)?Kc:IE;return g&&jr(u,o,g)&&(o=e),C(u,Le(o,3))}var ky=et(function(u,o){if(u==null)return[];var g=o.length;return g>1&&jr(u,o[0],o[1])?o=[]:g>2&&jr(o[0],o[1],o[2])&&(o=[o[0]]),$d(u,Er(o,1),[])}),bl=x||function(){return Yt.Date.now()};function Ny(u,o){if(typeof o!="function")throw new Jr(s);return u=Xe(u),function(){if(--u<1)return o.apply(this,arguments)}}function F1(u,o,g){return o=g?e:o,o=u&&o==null?u.length:o,zi(u,I,e,e,e,e,o)}function _1(u,o){var g;if(typeof o!="function")throw new Jr(s);return u=Xe(u),function(){return--u>0&&(g=o.apply(this,arguments)),u<=1&&(o=e),g}}var Qh=et(function(u,o,g){var C=E;if(g.length){var R=gn(g,Fu(Qh));C|=F}return zi(u,C,o,g,R)}),I1=et(function(u,o,g){var C=E|v;if(g.length){var R=gn(g,Fu(I1));C|=F}return zi(o,C,u,g,R)});function B1(u,o,g){o=g?e:o;var C=zi(u,w,e,e,e,e,e,o);return C.placeholder=B1.placeholder,C}function D1(u,o,g){o=g?e:o;var C=zi(u,S,e,e,e,e,e,o);return C.placeholder=D1.placeholder,C}function P1(u,o,g){var C,R,N,G,X,re,de=0,ge=!1,ve=!1,Ie=!0;if(typeof u!="function")throw new Jr(s);o=Hn(o)||0,Tt(g)&&(ge=!!g.leading,ve="maxWait"in g,N=ve?Qt(Hn(g.maxWait)||0,o):N,Ie="trailing"in g?!!g.trailing:Ie);function Re(Vt){var Jn=C,Zi=R;return C=R=e,de=Vt,G=u.apply(Zi,Jn),G}function je(Vt){return de=Vt,X=Zo(nt,o),ge?Re(Vt):G}function Ze(Vt){var Jn=Vt-re,Zi=Vt-de,Y1=o-Jn;return ve?_r(Y1,N-Zi):Y1}function Me(Vt){var Jn=Vt-re,Zi=Vt-de;return re===e||Jn>=o||Jn<0||ve&&Zi>=N}function nt(){var Vt=bl();if(Me(Vt))return at(Vt);X=Zo(nt,Ze(Vt))}function at(Vt){return X=e,Ie&&C?Re(Vt):(C=R=e,G)}function An(){X!==e&&Hd(X),de=0,C=re=R=X=e}function Mr(){return X===e?G:at(bl())}function En(){var Vt=bl(),Jn=Me(Vt);if(C=arguments,R=this,re=Vt,Jn){if(X===e)return je(re);if(ve)return Hd(X),X=Zo(nt,o),Re(re)}return X===e&&(X=Zo(nt,o)),G}return En.cancel=An,En.flush=Mr,En}var Ly=et(function(u,o){return Ad(u,1,o)}),Uy=et(function(u,o,g){return Ad(u,Hn(o)||0,g)});function Hy(u){return zi(u,q)}function Cl(u,o){if(typeof u!="function"||o!=null&&typeof o!="function")throw new Jr(s);var g=function(){var C=arguments,R=o?o.apply(this,C):C[0],N=g.cache;if(N.has(R))return N.get(R);var G=u.apply(this,C);return g.cache=N.set(R,G)||N,G};return g.cache=new(Cl.Cache||Vi),g}Cl.Cache=Vi;function Fl(u){if(typeof u!="function")throw new Jr(s);return function(){var o=arguments;switch(o.length){case 0:return!u.call(this);case 1:return!u.call(this,o[0]);case 2:return!u.call(this,o[0],o[1]);case 3:return!u.call(this,o[0],o[1],o[2])}return!u.apply(this,o)}}function jy(u){return _1(2,u)}var My=BE(function(u,o){o=o.length==1&&Ge(o[0])?ee(o[0],Fr(Le())):ee(Er(o,1),Fr(Le()));var g=o.length;return et(function(C){for(var R=-1,N=_r(C.length,g);++R=o}),ya=Cd(function(){return arguments}())?Cd:function(u){return Ut(u)&&ot.call(u,"callee")&&!rl.call(u,"callee")},Ge=ae.isArray,n6=Lc?Fr(Lc):fE;function Qr(u){return u!=null&&_l(u.length)&&!Xi(u)}function Kt(u){return Ut(u)&&Qr(u)}function i6(u){return u===!0||u===!1||Ut(u)&&Hr(u)==_t}var xs=Et||fp,s6=Uc?Fr(Uc):hE;function a6(u){return Ut(u)&&u.nodeType===1&&!Qo(u)}function u6(u){if(u==null)return!0;if(Qr(u)&&(Ge(u)||typeof u=="string"||typeof u.splice=="function"||xs(u)||_u(u)||ya(u)))return!u.length;var o=Ir(u);if(o==Je||o==gr)return!u.size;if(Jo(u))return!Dh(u).length;for(var g in u)if(ot.call(u,g))return!1;return!0}function o6(u,o){return Wo(u,o)}function c6(u,o,g){g=typeof g=="function"?g:e;var C=g?g(u,o):e;return C===e?Wo(u,o,e,g):!!C}function tp(u){if(!Ut(u))return!1;var o=Hr(u);return o==Pt||o==Mt||typeof u.message=="string"&&typeof u.name=="string"&&!Qo(u)}function l6(u){return typeof u=="number"&&Lt(u)}function Xi(u){if(!Tt(u))return!1;var o=Hr(u);return o==Qe||o==bt||o==sr||o==Rn}function R1(u){return typeof u=="number"&&u==Xe(u)}function _l(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=z}function Tt(u){var o=typeof u;return u!=null&&(o=="object"||o=="function")}function Ut(u){return u!=null&&typeof u=="object"}var T1=Hc?Fr(Hc):dE;function f6(u,o){return u===o||Bh(u,o,Vh(o))}function h6(u,o,g){return g=typeof g=="function"?g:e,Bh(u,o,Vh(o),g)}function p6(u){return x1(u)&&u!=+u}function d6(u){if(JE(u))throw new qe(n);return Fd(u)}function g6(u){return u===null}function m6(u){return u==null}function x1(u){return typeof u=="number"||Ut(u)&&Hr(u)==ht}function Qo(u){if(!Ut(u)||Hr(u)!=ze)return!1;var o=wu(u);if(o===null)return!0;var g=ot.call(o,"constructor")&&o.constructor;return typeof g=="function"&&g instanceof g&&pu.call(g)==vh}var rp=jc?Fr(jc):gE;function v6(u){return R1(u)&&u>=-z&&u<=z}var O1=Mc?Fr(Mc):mE;function Il(u){return typeof u=="string"||!Ge(u)&&Ut(u)&&Hr(u)==zt}function wn(u){return typeof u=="symbol"||Ut(u)&&Hr(u)==br}var _u=qc?Fr(qc):vE;function w6(u){return u===e}function A6(u){return Ut(u)&&Ir(u)==Or}function E6(u){return Ut(u)&&Hr(u)==pt}var y6=vl(Ph),S6=vl(function(u,o){return u<=o});function k1(u){if(!u)return[];if(Qr(u))return Il(u)?Xr(u):Zr(u);if(Mi&&u[Mi])return lh(u[Mi]());var o=Ir(u),g=o==Je?Ho:o==gr?mn:Iu;return g(u)}function Ji(u){if(!u)return u===0?u:0;if(u=Hn(u),u===V||u===-V){var o=u<0?-1:1;return o*ne}return u===u?u:0}function Xe(u){var o=Ji(u),g=o%1;return o===o?g?o-g:o:0}function N1(u){return u?va(Xe(u),0,we):0}function Hn(u){if(typeof u=="number")return u;if(wn(u))return Ee;if(Tt(u)){var o=typeof u.valueOf=="function"?u.valueOf():u;u=Tt(o)?o+"":o}if(typeof u!="string")return u===0?u:+u;u=Lo(u);var g=bo.test(u);return g||Fo.test(u)?rh(u.slice(2),g?2:8):Qa.test(u)?Ee:+u}function L1(u){return fi(u,en(u))}function b6(u){return u?va(Xe(u),-z,z):u===0?u:0}function mt(u){return u==null?"":vn(u)}var C6=bu(function(u,o){if(Jo(o)||Qr(o)){fi(o,cr(o),u);return}for(var g in o)ot.call(o,g)&&Vo(u,g,o[g])}),U1=bu(function(u,o){fi(o,en(o),u)}),Bl=bu(function(u,o,g,C){fi(o,en(o),u,C)}),F6=bu(function(u,o,g,C){fi(o,cr(o),u,C)}),_6=Wi(bh);function I6(u,o){var g=Su(u);return o==null?g:vd(g,o)}var B6=et(function(u,o){u=At(u);var g=-1,C=o.length,R=C>2?o[2]:e;for(R&&jr(o[0],o[1],R)&&(C=1);++g1),N}),fi(u,qh(u),g),C&&(g=Nn(g,h|m|A,UE));for(var R=o.length;R--;)Oh(g,o[R]);return g});function G6(u,o){return j1(u,Fl(Le(o)))}var z6=Wi(function(u,o){return u==null?{}:EE(u,o)});function j1(u,o){if(u==null)return{};var g=ee(qh(u),function(C){return[C]});return o=Le(o),Rd(u,g,function(C,R){return o(C,R[0])})}function W6(u,o,g){o=Rs(o,u);var C=-1,R=o.length;for(R||(R=1,u=e);++Co){var C=u;u=o,o=C}if(g||u%1||o%1){var R=pd();return _r(u+R*(o-u+th("1e-"+((R+"").length-1))),o)}return Rh(u,o)}var s5=Cu(function(u,o,g){return o=o.toLowerCase(),u+(g?K1(o):o)});function K1(u){return sp(mt(u).toLowerCase())}function V1(u){return u=mt(u),u&&u.replace(ai,Uo).replace(Nr,"")}function a5(u,o,g){u=mt(u),o=vn(o);var C=u.length;g=g===e?C:va(Xe(g),0,C);var R=g;return g-=o.length,g>=0&&u.slice(g,R)==o}function u5(u){return u=mt(u),u&&Xa.test(u)?u.replace(Wa,uh):u}function o5(u){return u=mt(u),u&&po.test(u)?u.replace(Cs,"\\$&"):u}var c5=Cu(function(u,o,g){return u+(g?"-":"")+o.toLowerCase()}),l5=Cu(function(u,o,g){return u+(g?" ":"")+o.toLowerCase()}),f5=Wd("toLowerCase");function h5(u,o,g){u=mt(u),o=Xe(o);var C=o?Hi(u):0;if(!o||C>=o)return u;var R=(o-C)/2;return ml(ie(R),g)+u+ml(H(R),g)}function p5(u,o,g){u=mt(u),o=Xe(o);var C=o?Hi(u):0;return o&&C>>0,g?(u=mt(u),u&&(typeof o=="string"||o!=null&&!rp(o))&&(o=vn(o),!o&&Ui(u))?Ts(Xr(u),0,g):u.split(o,g)):[]}var E5=Cu(function(u,o,g){return u+(g?" ":"")+sp(o)});function y5(u,o,g){return u=mt(u),g=g==null?0:va(Xe(g),0,u.length),o=vn(o),u.slice(g,g+o.length)==o}function S5(u,o,g){var C=O.templateSettings;g&&jr(u,o,g)&&(o=e),u=mt(u),o=Bl({},o,C,t1);var R=Bl({},o.imports,C.imports,t1),N=cr(R),G=pa(R,N),X,re,de=0,ge=o.interpolate||zr,ve="__p += '",Ie=fu((o.escape||zr).source+"|"+ge.source+"|"+(ge===Za?So:zr).source+"|"+(o.evaluate||zr).source+"|$","g"),Re="//# sourceURL="+(ot.call(o,"sourceURL")?(o.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xf+"]")+` +`;u.replace(Ie,function(Me,nt,at,An,Mr,En){return at||(at=An),ve+=u.slice(de,En).replace(_o,Yc),nt&&(X=!0,ve+=`' + +__e(`+nt+`) + +'`),Mr&&(re=!0,ve+=`'; +`+Mr+`; +__p += '`),at&&(ve+=`' + +((__t = (`+at+`)) == null ? '' : __t) + +'`),de=En+Me.length,Me}),ve+=`'; +`;var je=ot.call(o,"variable")&&o.variable;if(!je)ve=`with (obj) { +`+ve+` +} +`;else if(Eo.test(je))throw new qe(a);ve=(re?ve.replace(ki,""):ve).replace(Va,"$1").replace(Ga,"$1;"),ve="function("+(je||"obj")+`) { +`+(je?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(re?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+ve+`return __p +}`;var Ze=z1(function(){return st(N,Re+"return "+ve).apply(e,G)});if(Ze.source=ve,tp(Ze))throw Ze;return Ze}function b5(u){return mt(u).toLowerCase()}function C5(u){return mt(u).toUpperCase()}function F5(u,o,g){if(u=mt(u),u&&(g||o===e))return Lo(u);if(!u||!(o=vn(o)))return u;var C=Xr(u),R=Xr(o),N=ou(C,R),G=zc(C,R)+1;return Ts(C,N,G).join("")}function _5(u,o,g){if(u=mt(u),u&&(g||o===e))return u.slice(0,lu(u)+1);if(!u||!(o=vn(o)))return u;var C=Xr(u),R=zc(C,Xr(o))+1;return Ts(C,0,R).join("")}function I5(u,o,g){if(u=mt(u),u&&(g||o===e))return u.replace(ra,"");if(!u||!(o=vn(o)))return u;var C=Xr(u),R=ou(C,Xr(o));return Ts(C,R).join("")}function B5(u,o){var g=_,C=P;if(Tt(o)){var R="separator"in o?o.separator:R;g="length"in o?Xe(o.length):g,C="omission"in o?vn(o.omission):C}u=mt(u);var N=u.length;if(Ui(u)){var G=Xr(u);N=G.length}if(g>=N)return u;var X=g-Hi(C);if(X<1)return C;var re=G?Ts(G,0,X).join(""):u.slice(0,X);if(R===e)return re+C;if(G&&(X+=re.length-X),rp(R)){if(u.slice(X).search(R)){var de,ge=re;for(R.global||(R=fu(R.source,mt(si.exec(R))+"g")),R.lastIndex=0;de=R.exec(ge);)var ve=de.index;re=re.slice(0,ve===e?X:ve)}}else if(u.indexOf(vn(R),X)!=X){var Ie=re.lastIndexOf(R);Ie>-1&&(re=re.slice(0,Ie))}return re+C}function D5(u){return u=mt(u),u&&Ya.test(u)?u.replace(za,Jc):u}var P5=Cu(function(u,o,g){return u+(g?" ":"")+o.toUpperCase()}),sp=Wd("toUpperCase");function G1(u,o,g){return u=mt(u),o=g?e:o,o===e?ch(u)?ph(u):Oo(u):u.match(o)||[]}var z1=et(function(u,o){try{return Lr(u,e,o)}catch(g){return tp(g)?g:new qe(g)}}),$5=Wi(function(u,o){return Yr(o,function(g){g=hi(g),Gi(u,g,Qh(u[g],u))}),u});function R5(u){var o=u==null?0:u.length,g=Le();return u=o?ee(u,function(C){if(typeof C[1]!="function")throw new Jr(s);return[g(C[0]),C[1]]}):[],et(function(C){for(var R=-1;++Rz)return[];var g=we,C=_r(u,we);o=Le(o),u-=we;for(var R=No(C,o);++g0||o<0)?new it(g):(u<0?g=g.takeRight(-u):u&&(g=g.drop(u)),o!==e&&(o=Xe(o),g=o<0?g.dropRight(-o):g.take(o-u)),g)},it.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},it.prototype.toArray=function(){return this.take(we)},li(it.prototype,function(u,o){var g=/^(?:filter|find|map|reject)|While$/.test(o),C=/^(?:head|last)$/.test(o),R=O[C?"take"+(o=="last"?"Right":""):o],N=C||/^find/.test(o);R&&(O.prototype[o]=function(){var G=this.__wrapped__,X=C?[1]:arguments,re=G instanceof it,de=X[0],ge=re||Ge(G),ve=function(nt){var at=R.apply(O,dn([nt],X));return C&&Ie?at[0]:at};ge&&g&&typeof de=="function"&&de.length!=1&&(re=ge=!1);var Ie=this.__chain__,Re=!!this.__actions__.length,je=N&&!Ie,Ze=re&&!Re;if(!N&&ge){G=Ze?G:new it(this);var Me=u.apply(G,X);return Me.__actions__.push({func:yl,args:[ve],thisArg:e}),new kn(Me,Ie)}return je&&Ze?u.apply(this,X):(Me=this.thru(ve),je?C?Me.value()[0]:Me.value():Me)})}),Yr(["pop","push","shift","sort","splice","unshift"],function(u){var o=hu[u],g=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",C=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var R=arguments;if(C&&!this.__chain__){var N=this.value();return o.apply(Ge(N)?N:[],R)}return this[g](function(G){return o.apply(Ge(G)?G:[],R)})}}),li(it.prototype,function(u,o){var g=O[o];if(g){var C=g.name+"";ot.call(yu,C)||(yu[C]=[]),yu[C].push({name:o,func:g})}}),yu[dl(e,v).name]=[{name:"wrapper",func:e}],it.prototype.clone=DA,it.prototype.reverse=PA,it.prototype.value=$A,O.prototype.at=ay,O.prototype.chain=uy,O.prototype.commit=oy,O.prototype.next=cy,O.prototype.plant=fy,O.prototype.reverse=hy,O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=py,O.prototype.first=O.prototype.head,Mi&&(O.prototype[Mi]=ly),O},On=dh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Yt._=On,define(function(){return On})):Ni?((Ni.exports=On)._=On,Ro._=On):Yt._=On}).call(io)});var Uf=be((XR,ew)=>{"use strict";var hB=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},L0=class e extends Error{constructor(t,r,n){super(t),hB(this,e.prototype),this.name="GrammarError",this.location=r,n===void 0&&(n=[]),this.diagnostics=n,this.stage=null,this.problems=[["error",t,r,n]]}toString(){let t=super.toString();this.location&&(t+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(t+=`${this.location.source}:`),t+=`${this.location.start.line}:${this.location.start.column}`);for(let r of this.diagnostics)t+=` + from `,r.location.source!==void 0&&r.location.source!==null&&(t+=`${r.location.source}:`),t+=`${r.location.start.line}:${r.location.start.column}: ${r.message}`;return t}format(t){let r=t.map(({source:a,text:i})=>({source:a,text:i.split(/\r\n|\n|\r/g)}));function n(a,i,c=""){let l="",h=r.find(({source:A})=>A===a.source),m=a.start;if(h){let A=a.end,p=h.text[m.line-1],E=(m.line===A.line?A.column:p.length+1)-m.column||1;c&&(l+=` +note: ${c}`),l+=` + --> ${a.source}:${m.line}:${m.column} +${"".padEnd(i)} | +${m.line.toString().padStart(i)} | ${p} +${"".padEnd(i)} | ${"".padEnd(m.column-1)}${"".padEnd(E,"^")}`}else l+=` + at ${a.source}:${m.line}:${m.column}`,c&&(l+=`: ${c}`);return l}function s(a,i,c,l=[]){let h;c?h=l.reduce((A,{location:p})=>Math.max(A,p.start.line),c.start.line):h=Math.max.apply(null,l.map(A=>A.location.start.line)),h=h.toString().length;let m=`${a}: ${i}`;c&&(m+=n(c,h));for(let A of l)m+=n(A.location,h,A.message);return m}return this.problems.filter(a=>a[0]!=="info").map(a=>s(...a)).join(` + +`)}};ew.exports=L0});var Gn=be((JR,tw)=>{"use strict";var pB={build(e){function t(i,...c){return e[i.type](i,...c)}function r(){}function n(i,...c){return t(i.expression,...c)}function s(i){return function(c,...l){c[i].forEach(h=>t(h,...l))}}let a={grammar(i,...c){i.topLevelInitializer&&t(i.topLevelInitializer,...c),i.initializer&&t(i.initializer,...c),i.rules.forEach(l=>t(l,...c))},top_level_initializer:r,initializer:r,rule:n,named:n,choice:s("alternatives"),action:n,sequence:s("elements"),labeled:n,text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,group:n,semantic_and:r,semantic_not:r,rule_ref:r,literal:r,class:r,any:r};return Object.keys(a).forEach(i=>{Object.prototype.hasOwnProperty.call(e,i)||(e[i]=a[i])}),t}};tw.exports=pB});var Gs=be((ZR,nw)=>{"use strict";var dB=Gn(),rw={findRule(e,t){for(let r=0;r{"use strict";var gB={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};iw.exports=gB});var H0=be((eT,sw)=>{"use strict";var mB=Gn(),vB=Gs(),wB=Uf(),Dc=1,qa=0,Pc=-1;function Hf(e){function t(i){return i.match=qa}function r(i){return a(i.expression),i.match=Dc}function n(i){return i.match=a(i.expression)}function s(i,c){let l=i.length,h=0,m=0;for(let A=0;A0?Pc:qa}let a=mB.build({rule(i){let c,l=0;if(typeof i.match>"u"){i.match=qa;do if(c=i.match,i.match=a(i.expression),++l>6)throw new wB("Infinity cycle detected when trying to evaluate node match result",i.location);while(c!==i.match)}return i.match},named:n,choice(i){return i.match=s(i.alternatives,!0)},action:n,sequence(i){return i.match=s(i.elements,!1)},labeled:n,text:n,simple_and:n,simple_not(i){return i.match=-a(i.expression)},optional:r,zero_or_more:r,one_or_more:n,group:n,semantic_and:t,semantic_not:t,rule_ref(i){let c=vB.findRule(e,i.name);return i.match=a(c)},literal(i){let c=i.value.length===0?Dc:qa;return i.match=c},class(i){let c=i.parts.length===0?Pc:qa;return i.match=c},any:t});a(e)}Hf.ALWAYS_MATCH=Dc;Hf.SOMETIMES_MATCH=qa;Hf.NEVER_MATCH=Pc;sw.exports=Hf});var uw=be((tT,aw)=>{"use strict";var AB=Gs(),De=U0(),EB=Gn(),{ALWAYS_MATCH:uo,SOMETIMES_MATCH:j0,NEVER_MATCH:M0}=H0();function yB(e){let t=[],r=[],n=[],s=[];function a(S){let F=t.indexOf(S);return F===-1?t.push(S)-1:F}function i(S){let F={value:S.parts,inverted:S.inverted,ignoreCase:S.ignoreCase},D=JSON.stringify(F),I=r.findIndex(j=>JSON.stringify(j)===D);return I===-1?r.push(F)-1:I}function c(S){let F=JSON.stringify(S),D=n.findIndex(I=>JSON.stringify(I)===F);return D===-1?n.push(S)-1:D}function l(S,F,D){let I={predicate:S,params:F,body:D.code,location:D.codeLocation},j=JSON.stringify(I),q=s.findIndex(_=>JSON.stringify(_)===j);return q===-1?s.push(I)-1:q}function h(S){let F={};return Object.keys(S).forEach(D=>{F[D]=S[D]}),F}function m(S,...F){return S.concat(...F)}function A(S,F,D,I){return S===uo?D:S===M0?I:F.concat([D.length,I.length],D,I)}function p(S,F){return S.concat([F.length],F)}function f(S,F,D,I){let j=Object.keys(D).map(q=>I-D[q]);return[De.CALL,S,F,j.length].concat(j)}function E(S,F,D){let I=S.match|0;return m([De.PUSH_CURR_POS],[De.SILENT_FAILS_ON],w(S,{sp:D.sp+1,env:h(D.env),action:null}),[De.SILENT_FAILS_OFF],A(F?-I:I,[F?De.IF_ERROR:De.IF_NOT_ERROR],m([De.POP],[F?De.POP:De.POP_CURR_POS],[De.PUSH_UNDEFINED]),m([De.POP],[F?De.POP_CURR_POS:De.POP],[De.PUSH_FAILED])))}function v(S,F,D){let I=l(!0,Object.keys(D.env),S);return m([De.UPDATE_SAVED_POS],f(I,0,D.env,D.sp),A(S.match|0,[De.IF],m([De.POP],F?[De.PUSH_FAILED]:[De.PUSH_UNDEFINED]),m([De.POP],F?[De.PUSH_UNDEFINED]:[De.PUSH_FAILED])))}function b(S){return p([De.WHILE_NOT_ERROR],m([De.APPEND],S))}let w=EB.build({grammar(S){S.rules.forEach(w),S.literals=t,S.classes=r,S.expectations=n,S.functions=s},rule(S){S.bytecode=w(S.expression,{sp:-1,env:{},pluck:[],action:null})},named(S,F){let D=S.match|0,I=D===M0?null:c({type:"rule",value:S.name});return m([De.SILENT_FAILS_ON],w(S.expression,F),[De.SILENT_FAILS_OFF],A(D,[De.IF_ERROR],[De.FAIL,I],[]))},choice(S,F){function D(I,j){let q=I[0].match|0,_=w(I[0],{sp:j.sp,env:h(j.env),action:null});return q===uo?_:m(_,I.length>1?A(j0,[De.IF_ERROR],m([De.POP],D(I.slice(1),j)),[]):[])}return D(S.alternatives,F)},action(S,F){let D=h(F.env),I=S.expression.type!=="sequence"||S.expression.elements.length===0,j=w(S.expression,{sp:F.sp+(I?1:0),env:D,action:S}),q=S.expression.match|0,_=I&&q!==M0?l(!1,Object.keys(D),S):null;return I?m([De.PUSH_CURR_POS],j,A(q,[De.IF_NOT_ERROR],m([De.LOAD_SAVED_POS,1],f(_,1,D,F.sp+2)),[]),[De.NIP]):j},sequence(S,F){function D(I,j){if(I.length>0){let q=S.elements.length-I.length+1;return m(w(I[0],{sp:j.sp,env:j.env,pluck:j.pluck,action:null}),A(I[0].match|0,[De.IF_NOT_ERROR],D(I.slice(1),{sp:j.sp+1,env:j.env,pluck:j.pluck,action:j.action}),m(q>1?[De.POP_N,q]:[De.POP],[De.POP_CURR_POS],[De.PUSH_FAILED])))}else{if(j.pluck.length>0)return m([De.PLUCK,S.elements.length+1,j.pluck.length],j.pluck.map(q=>j.sp-q));if(j.action){let q=l(!1,Object.keys(j.env),j.action);return m([De.LOAD_SAVED_POS,S.elements.length],f(q,S.elements.length+1,j.env,j.sp))}else return m([De.WRAP,S.elements.length],[De.NIP])}}return m([De.PUSH_CURR_POS],D(S.elements,{sp:F.sp+1,env:F.env,pluck:[],action:F.action}))},labeled(S,F){let D=F.env,I=S.label,j=F.sp+1;return I&&(D=h(F.env),F.env[S.label]=j),S.pick&&F.pluck.push(j),w(S.expression,{sp:F.sp,env:D,action:null})},text(S,F){return m([De.PUSH_CURR_POS],w(S.expression,{sp:F.sp+1,env:h(F.env),action:null}),A(S.match|0,[De.IF_NOT_ERROR],m([De.POP],[De.TEXT]),[De.NIP]))},simple_and(S,F){return E(S.expression,!1,F)},simple_not(S,F){return E(S.expression,!0,F)},optional(S,F){return m(w(S.expression,{sp:F.sp,env:h(F.env),action:null}),A(-(S.expression.match|0),[De.IF_ERROR],m([De.POP],[De.PUSH_NULL]),[]))},zero_or_more(S,F){let D=w(S.expression,{sp:F.sp+1,env:h(F.env),action:null});return m([De.PUSH_EMPTY_ARRAY],D,b(D),[De.POP])},one_or_more(S,F){let D=w(S.expression,{sp:F.sp+1,env:h(F.env),action:null});return m([De.PUSH_EMPTY_ARRAY],D,A(S.expression.match|0,[De.IF_NOT_ERROR],m(b(D),[De.POP]),m([De.POP],[De.POP],[De.PUSH_FAILED])))},group(S,F){return w(S.expression,{sp:F.sp,env:h(F.env),action:null})},semantic_and(S,F){return v(S,!1,F)},semantic_not(S,F){return v(S,!0,F)},rule_ref(S){return[De.RULE,AB.indexOfRule(e,S.name)]},literal(S){if(S.value.length>0){let F=S.match|0,I=F===j0||F===uo&&!S.ignoreCase?a(S.ignoreCase?S.value.toLowerCase():S.value):null,j=F!==uo?c({type:"literal",value:S.value,ignoreCase:S.ignoreCase}):null;return A(F,S.ignoreCase?[De.MATCH_STRING_IC,I]:[De.MATCH_STRING,I],S.ignoreCase?[De.ACCEPT_N,S.value.length]:[De.ACCEPT_STRING,I],[De.FAIL,j])}return[De.PUSH_EMPTY_STRING]},class(S){let F=S.match|0,D=F===j0?i(S):null,I=F!==uo?c({type:"class",value:S.parts,inverted:S.inverted,ignoreCase:S.ignoreCase}):null;return A(F,[De.MATCH_CHAR_CLASS,D],[De.ACCEPT_N,1],[De.FAIL,I])},any(S){let F=S.match|0,D=F!==uo?c({type:"any"}):null;return A(F,[De.MATCH_ANY],[De.ACCEPT_N,1],[De.FAIL,D])}});w(e)}aw.exports=yB});var cw=be((rT,ow)=>{"use strict";var q0=class{constructor(t,r,n){this.sp=-1,this.maxSp=-1,this.varName=r,this.ruleName=t,this.type=n}name(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${t}`);return this.varName+t}push(t){let r=this.name(++this.sp)+" = "+t+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),r}pop(t){return t!==void 0?(this.sp-=t,Array.from({length:t},(r,n)=>this.name(this.sp+1+n))):this.name(this.sp--)}top(){return this.name(this.sp)}index(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${t}`);return this.name(this.sp-t)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(t,r)=>this.name(r)).join(", ")+";"}checkedIf(t,r,n){let s=this.sp;if(r(),n){let a=this.sp;if(this.sp=s,n(),a!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Branches of a condition can't move the stack pointer differently (before: "+s+", after then: "+a+", after else: "+this.sp+").")}}checkedLoop(t,r){let n=this.sp;if(r(),n!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Body of a loop can't move the stack pointer (before: "+n+", after: "+this.sp+").")}};ow.exports=q0});var K0=be((nT,lw)=>{"use strict";lw.exports="2.0.1"});var fw=be(jf=>{"use strict";function ys(e){return e.charCodeAt(0).toString(16).toUpperCase()}jf.hex=ys;function SB(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+ys(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+ys(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+ys(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+ys(t))}jf.stringEscape=SB;function bB(e){return e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+ys(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+ys(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+ys(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+ys(t))}jf.regexpClassEscape=bB});var dw=be(pw=>{var hw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");pw.encode=function(e){if(0<=e&&e{var CB=dw(),gw=5,mw=1<>>=gw,s>0&&(n|=_B),r+=CB.encode(n);while(s>0);return r}});var qf=be(Ws=>{function BB(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Ws.getArg=BB;var Ew=function(){return!("__proto__"in Object.create(null))}();function yw(e){return e}function DB(e){return Sw(e)?"$"+e:e}Ws.toSetString=Ew?yw:DB;function PB(e){return Sw(e)?e.slice(1):e}Ws.fromSetString=Ew?yw:PB;function Sw(e){if(!e)return!1;let t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(let r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Aw(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function $B(e,t){let r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Aw(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Aw(e.name,t.name)}Ws.compareByGeneratedPositionsInflated=$B;var V0="http:",$c=`${V0}//host`;function bw(e){return t=>{let r=Rc(t),n=G0(t),s=new URL(t,n);e(s);let a=s.toString();return r==="absolute"?a:r==="scheme-relative"?a.slice(V0.length):r==="path-absolute"?a.slice($c.length):z0(n,a)}}function zs(e,t){return new URL(e,t).toString()}function RB(e,t){let r=0;do{let n=e+r++;if(t.indexOf(n)===-1)return n}while(!0)}function G0(e){let t=e.split("..").length-1,r=RB("p",e),n=`${$c}/`;for(let s=0;s0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map(()=>"..").concat(r).join("/")+t.search+t.hash}var xB=bw(e=>{e.pathname=e.pathname.replace(/\/?$/,"/")}),Mf=bw(e=>{});Ws.normalize=Mf;function OB(e,t){let r=Rc(t),n=Rc(e);if(e=xB(e),r==="absolute")return zs(t,void 0);if(n==="absolute")return zs(t,e);if(r==="scheme-relative")return Mf(t);if(n==="scheme-relative")return zs(t,zs(e,$c)).slice(V0.length);if(r==="path-absolute")return Mf(t);if(n==="path-absolute")return zs(t,zs(e,$c)).slice($c.length);let s=G0(t+e),a=zs(t,zs(e,s));return z0(s,a)}Ws.join=OB;function kB(e,t){let r=NB(e,t);return typeof r=="string"?r:Mf(t)}Ws.relative=kB;function NB(e,t){if(Rc(e)!==Rc(t))return null;let n=G0(e+t),s=new URL(e,n),a=new URL(t,n);try{new URL("",a.toString())}catch{return null}return a.protocol!==s.protocol||a.user!==s.user||a.password!==s.password||a.hostname!==s.hostname||a.port!==s.port?null:z0(s,a)}});var Fw=be(Cw=>{var W0=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){let n=new e;for(let s=0,a=t.length;s=0)return r;throw new Error('"'+t+'" is not in the set.')}at(t){if(t>=0&&t{var _w=qf();function LB(e,t){let r=e.generatedLine,n=t.generatedLine,s=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=s||_w.compareByGeneratedPositionsInflated(e,t)<=0}var Y0=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(t,r){this._array.forEach(t,r)}add(t){LB(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))}toArray(){return this._sorted||(this._array.sort(_w.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};Iw.MappingList=Y0});var X0=be(Dw=>{var Tc=ww(),Zt=qf(),Kf=Fw().ArraySet,UB=Bw().MappingList,Vf=class e{constructor(t){t||(t={}),this._file=Zt.getArg(t,"file",null),this._sourceRoot=Zt.getArg(t,"sourceRoot",null),this._skipValidation=Zt.getArg(t,"skipValidation",!1),this._sources=new Kf,this._names=new Kf,this._mappings=new UB,this._sourcesContents=null}static fromSourceMap(t){let r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping(function(s){let a={generated:{line:s.generatedLine,column:s.generatedColumn}};s.source!=null&&(a.source=s.source,r!=null&&(a.source=Zt.relative(r,a.source)),a.original={line:s.originalLine,column:s.originalColumn},s.name!=null&&(a.name=s.name)),n.addMapping(a)}),t.sources.forEach(function(s){let a=s;r!=null&&(a=Zt.relative(r,s)),n._sources.has(a)||n._sources.add(a);let i=t.sourceContentFor(s);i!=null&&n.setSourceContent(s,i)}),n}addMapping(t){let r=Zt.getArg(t,"generated"),n=Zt.getArg(t,"original",null),s=Zt.getArg(t,"source",null),a=Zt.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,s,a),s!=null&&(s=String(s),this._sources.has(s)||this._sources.add(s)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:s,name:a})}setSourceContent(t,r){let n=t;this._sourceRoot!=null&&(n=Zt.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Zt.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[Zt.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(t,r,n){let s=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);s=t.file}let a=this._sourceRoot;a!=null&&(s=Zt.relative(a,s));let i=this._mappings.toArray().length>0?new Kf:this._sources,c=new Kf;this._mappings.unsortedForEach(function(l){if(l.source===s&&l.originalLine!=null){let A=t.originalPositionFor({line:l.originalLine,column:l.originalColumn});A.source!=null&&(l.source=A.source,n!=null&&(l.source=Zt.join(n,l.source)),a!=null&&(l.source=Zt.relative(a,l.source)),l.originalLine=A.line,l.originalColumn=A.column,A.name!=null&&(l.name=A.name))}let h=l.source;h!=null&&!i.has(h)&&i.add(h);let m=l.name;m!=null&&!c.has(m)&&c.add(m)},this),this._sources=i,this._names=c,t.sources.forEach(function(l){let h=t.sourceContentFor(l);h!=null&&(n!=null&&(l=Zt.join(n,l)),a!=null&&(l=Zt.relative(a,l)),this.setSourceContent(l,h))},this)}_validateMapping(t,r,n,s){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!s)){if(!(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:s}))}}_serializeMappings(){let t=0,r=1,n=0,s=0,a=0,i=0,c="",l,h,m,A,p=this._mappings.toArray();for(let f=0,E=p.length;f0){if(!Zt.compareByGeneratedPositionsInflated(h,p[f-1]))continue;l+=","}l+=Tc.encode(h.generatedColumn-t),t=h.generatedColumn,h.source!=null&&(A=this._sources.indexOf(h.source),l+=Tc.encode(A-i),i=A,l+=Tc.encode(h.originalLine-1-s),s=h.originalLine-1,l+=Tc.encode(h.originalColumn-n),n=h.originalColumn,h.name!=null&&(m=this._names.indexOf(h.name),l+=Tc.encode(m-a),a=m)),c+=l}return c}_generateSourcesContent(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=Zt.relative(r,n));let s=Zt.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null},this)}toJSON(){let t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t}toString(){return JSON.stringify(this.toJSON())}};Vf.prototype._version=3;Dw.SourceMapGenerator=Vf});var $w=be(Pw=>{var HB=X0().SourceMapGenerator,Gf=qf(),jB=/(\r?\n)/,MB=10,oo="$$$isSourceNode$$$",J0=class e{constructor(t,r,n,s,a){this.children=[],this.sourceContents={},this.line=t??null,this.column=r??null,this.source=n??null,this.name=a??null,this[oo]=!0,s!=null&&this.add(s)}static fromStringWithSourceMap(t,r,n){let s=new e,a=t.split(jB),i=0,c=function(){let f=v(),E=v()||"";return f+E;function v(){return i=0;r--)this.prepend(t[r]);else if(t[oo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this}walk(t){let r;for(let n=0,s=this.children.length;n0){for(r=[],n=0;n{Z0.SourceMapGenerator=X0().SourceMapGenerator;Z0.SourceNode=$w().SourceNode});var kw=be((pT,Ow)=>{"use strict";var qB=Gs(),gt=U0(),KB=cw(),VB=K0(),{stringEscape:Pn,regexpClassEscape:Q0}=fw(),{SourceNode:zn}=Rw();function xw(e,t,r){let n=t.start.line,s=t.start.column-1,a=e.split(` +`);return a.length===1?new zn(n,s,t.source,e,r):new zn(null,null,t.source,a.map((i,c)=>new zn(n+c,c===0?s:0,t.source,c===a.length-1?i:[i,` +`],r)))}function Tw(e,t,r,n,s){return r?new zn(null,null,r.source,[e,xw(t,r,s),new zn(r.end.line,r.end.column-1,r.source,n)]):new zn(null,null,null,[e,t,n])}function GB(e,t){function r(v){return v instanceof zn?v:v.replace(/^(.+)$/gm," $1")}function n(v){return"peg$c"+v}function s(v){return"peg$r"+v}function a(v){return"peg$e"+v}function i(v){return"peg$f"+v}function c(v){return"peg$parse"+v}function l(){function v(F){return'"'+Pn(F)+'"'}function b(F){return"/^["+(F.inverted?"^":"")+F.value.map(D=>Array.isArray(D)?Q0(D[0])+"-"+Q0(D[1]):Q0(D)).join("")+"]/"+(F.ignoreCase?"i":"")}function w(F){switch(F.type){case"rule":return'peg$otherExpectation("'+Pn(F.value)+'")';case"literal":return'peg$literalExpectation("'+Pn(F.value)+'", '+F.ignoreCase+")";case"class":return"peg$classExpectation(["+F.value.map(I=>Array.isArray(I)?'["'+Pn(I[0])+'", "'+Pn(I[1])+'"]':'"'+Pn(I)+'"').join(", ")+"], "+F.inverted+", "+F.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(F)+")")}}function S(F,D){return Tw(` + var ${i(D)} = function(${F.params.join(", ")}) {`,F.body,F.location,"};")}return new zn(null,null,t.grammarSource,[e.literals.map((F,D)=>" var "+n(D)+" = "+v(F)+";").concat("",e.classes.map((F,D)=>" var "+s(D)+" = "+b(F)+";")).concat("",e.expectations.map((F,D)=>" var "+a(D)+" = "+w(F)+";")).concat("").join(` +`),e.functions.map(S)])}function h(v,b){let w=[];return w.push(""),t.trace&&w.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)","});",""),t.cache&&(w.push("var key = peg$currPos * "+e.rules.length+" + "+b+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&w.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+v+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),w.push(" return cached.result;","}","")),w}function m(v,b){let w=[];return t.cache&&w.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+b+" };"),t.trace&&w.push("","if ("+b+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+v+","," result: "+b+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)"," });","}"),w.push("","return "+b+";"),w}function A(v){let b=[],w=new KB(v.name,"s","var");function S(D){let I=0,j=D.length,q=[],_;function P(M,W){let K=W+3,V=D[I+K-2],z=D[I+K-1],ne,Ee;w.checkedIf(I,()=>{I+=K,ne=S(D.slice(I,I+V)),I+=V},z>0?()=>{Ee=S(D.slice(I,I+z)),I+=z}:null),q.push("if ("+M+") {"),q.push(...ne.map(r)),z>0&&(q.push("} else {"),q.push(...Ee.map(r))),q.push("}")}function k(M){let K=D[I+2-1],V;w.checkedLoop(I,()=>{I+=2,V=S(D.slice(I,I+K)),I+=K}),q.push("while ("+M+") {"),q.push(...V.map(r)),q.push("}")}function U(){let W=D[I+4-1],K=i(D[I+1])+"("+D.slice(I+4,I+4+W).map(V=>w.index(V)).join(", ")+")";w.pop(D[I+2]),q.push(w.push(K)),I+=4+W}for(;Iw.index(V)).join(", ")} ]`,w.pop(D[I+1]),q.push(w.push(_)),I+=K;break}case gt.IF:P(w.top(),0);break;case gt.IF_ERROR:P(w.top()+" === peg$FAILED",0);break;case gt.IF_NOT_ERROR:P(w.top()+" !== peg$FAILED",0);break;case gt.WHILE_NOT_ERROR:k(w.top()+" !== peg$FAILED");break;case gt.MATCH_ANY:P("input.length > peg$currPos",0);break;case gt.MATCH_STRING:P(e.literals[D[I+1]].length>1?"input.substr(peg$currPos, "+e.literals[D[I+1]].length+") === "+n(D[I+1]):"input.charCodeAt(peg$currPos) === "+e.literals[D[I+1]].charCodeAt(0),1);break;case gt.MATCH_STRING_IC:P("input.substr(peg$currPos, "+e.literals[D[I+1]].length+").toLowerCase() === "+n(D[I+1]),1);break;case gt.MATCH_CHAR_CLASS:P(s(D[I+1])+".test(input.charAt(peg$currPos))",1);break;case gt.ACCEPT_N:q.push(w.push(D[I+1]>1?"input.substr(peg$currPos, "+D[I+1]+")":"input.charAt(peg$currPos)")),q.push(D[I+1]>1?"peg$currPos += "+D[I+1]+";":"peg$currPos++;"),I+=2;break;case gt.ACCEPT_STRING:q.push(w.push(n(D[I+1]))),q.push(e.literals[D[I+1]].length>1?"peg$currPos += "+e.literals[D[I+1]].length+";":"peg$currPos++;"),I+=2;break;case gt.FAIL:q.push(w.push("peg$FAILED")),q.push("if (peg$silentFails === 0) { peg$fail("+a(D[I+1])+"); }"),I+=2;break;case gt.LOAD_SAVED_POS:q.push("peg$savedPos = "+w.index(D[I+1])+";"),I+=2;break;case gt.UPDATE_SAVED_POS:q.push("peg$savedPos = peg$currPos;"),I++;break;case gt.CALL:U();break;case gt.RULE:q.push(w.push(c(e.rules[D[I+1]].name)+"()")),I+=2;break;case gt.SILENT_FAILS_ON:q.push("peg$silentFails++;"),I++;break;case gt.SILENT_FAILS_OFF:q.push("peg$silentFails--;"),I++;break;default:throw new Error("Invalid opcode: "+D[I]+".")}return q}let F=S(v.bytecode);return b.push(Tw(" function ",c(v.name),v.nameLocation,`() { +`,v.name)),t.trace&&b.push(" var startPos = peg$currPos;"),b.push(r(w.defines())),b.push(...h('"'+Pn(v.name)+'"',qB.indexOfRule(e,v.name)).map(r)),b.push(...F.map(r)),b.push(...m('"'+Pn(v.name)+'"',w.result()).map(r)),b.push("}"),b}function p(v){return v.codeLocation?xw(v.code,v.codeLocation,"$"+v.type):v.code}function f(){let v=[];e.topLevelInitializer&&(v.push(p(e.topLevelInitializer)),v.push("")),v.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&v.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let b="{ "+t.allowedStartRules.map(S=>S+": "+c(S)).join(", ")+" }",w=c(t.allowedStartRules[0]);return v.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+b+";"," var peg$startRuleFunction = "+w+";","",l(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&v.push(" var peg$resultsCache = {};",""),t.trace&&v.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),v.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach(S=>{v.push(...A(S).map(r)),v.push("")}),e.initializer&&(v.push(p(e.initializer)),v.push("")),v.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new zn(null,null,t.grammarSource,v.map(S=>S instanceof zn?S:S+` +`))}function E(v){function b(){return[`// Generated by Peggy ${VB}.`,"//","// https://peggyjs.org/"]}function w(){return t.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let F={bare(){return[...b(),"(function() {",' "use strict";',"",v,"",r("return "+w()+";"),"})()"]},commonjs(){let D=Object.keys(t.dependencies),I=b();return I.push("",'"use strict";',""),D.length>0&&(D.forEach(j=>{I.push("var "+j+' = require("'+Pn(t.dependencies[j])+'");')}),I.push("")),I.push(v,"","module.exports = "+w()+";"),I},es(){let D=Object.keys(t.dependencies),I=b();return I.push(""),D.length>0&&(D.forEach(j=>{I.push("import "+j+' from "'+Pn(t.dependencies[j])+'";')}),I.push("")),I.push(v,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),I},amd(){let D=Object.keys(t.dependencies),j="["+D.map(_=>t.dependencies[_]).map(_=>'"'+Pn(_)+'"').join(", ")+"]",q=D.join(", ");return[...b(),"define("+j+", function("+q+") {",' "use strict";',"",v,"",r("return "+w()+";"),"});"]},globals(){return[...b(),"(function(root) {",' "use strict";',"",v,"",r("root."+t.exportVar+" = "+w()+";"),"})(this);"]},umd(){let D=Object.keys(t.dependencies),I=D.map(k=>t.dependencies[k]),j="["+I.map(k=>'"'+Pn(k)+'"').join(", ")+"]",q=I.map(k=>'require("'+Pn(k)+'")').join(", "),_=D.join(", "),P=b();return P.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+j+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+q+");"),t.exportVar!==null&&P.push(" } else {"," root."+t.exportVar+" = factory();"),P.push(" }","})(this, function("+_+") {",' "use strict";',"",v,"",r("return "+w()+";"),"});"),P}}[t.format]();return new zn(null,null,t.grammarSource,F.map(D=>D instanceof zn?D:D+` +`))}e.code=E(f())}Ow.exports=GB});var Lw=be((dT,Nw)=>{"use strict";var zB=Gs(),WB=Gn();function YB(e,t,r){function n(i){return i.type==="rule"&&i.expression.type==="rule_ref"}function s(i,c,l){WB.build({rule_ref(m){m.name===c&&(m.name=l,r.info(`Proxy rule "${c}" replaced by the rule "${l}"`,m.location,[{message:"This rule will be used",location:zB.findRule(i,l).nameLocation}]))}})(i)}let a=[];e.rules.forEach((i,c)=>{n(i)&&(s(e,i.name,i.expression.name),t.allowedStartRules.indexOf(i.name)===-1&&a.push(c))}),a.reverse(),a.forEach(i=>{e.rules.splice(i,1)})}Nw.exports=YB});var Hw=be((gT,Uw)=>{"use strict";var XB=Gn();function JB(e,t,r){function n(i){let c={};return Object.keys(i).forEach(l=>{c[l]=i[l]}),c}function s(i,c){a(i.expression,n(c))}let a=XB.build({rule(i){a(i.expression,{})},choice(i,c){i.alternatives.forEach(l=>{a(l,n(c))})},action:s,labeled(i,c){let l=i.label;l&&Object.prototype.hasOwnProperty.call(c,l)&&r.error(`Label "${i.label}" is already defined`,i.labelLocation,[{message:"Original label location",location:c[l]}]),a(i.expression,c),c[i.label]=i.labelLocation},text:s,simple_and:s,simple_not:s,optional:s,zero_or_more:s,one_or_more:s,group:s});a(e)}Uw.exports=JB});var Mw=be((mT,jw)=>{"use strict";var ZB=Gn();function QB(e,t,r){let n={};ZB.build({rule(a){if(Object.prototype.hasOwnProperty.call(n,a.name)){r.error(`Rule "${a.name}" is already defined`,a.nameLocation,[{message:"Original rule location",location:n[a.name]}]);return}n[a.name]=a.nameLocation}})(e)}jw.exports=QB});var Vw=be((vT,Kw)=>{"use strict";var qw=Gs(),eD=Gn();function tD(e,t,r){let n=[],s=[],a=eD.build({rule(i){n.push(i.name),a(i.expression),n.pop()},sequence(i){i.elements.every(c=>(a(c),!qw.alwaysConsumesOnSuccess(e,c)))},rule_ref(i){s.push(i);let c=qw.findRule(e,i.name);if(n.indexOf(i.name)!==-1){n.push(i.name),r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",c.nameLocation,s.map((l,h,m)=>({message:h+1!==m.length?`Step ${h+1}: call of the rule "${l.name}" without input consumption`:`Step ${h+1}: call itself without input consumption - left recursion`,location:l.location})));return}c&&a(c),s.pop()}});a(e)}Kw.exports=tD});var Ww=be((wT,zw)=>{"use strict";var Gw=Gs(),rD=Gn();function nD(e,t,r){rD.build({zero_or_more(s){Gw.alwaysConsumesOnSuccess(e,s.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",s.location)},one_or_more(s){Gw.alwaysConsumesOnSuccess(e,s.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",s.location)}})(e)}zw.exports=nD});var Xw=be((AT,Yw)=>{"use strict";var iD=Gs(),sD=Gn();function aD(e,t,r){sD.build({rule_ref(s){iD.findRule(e,s.name)||r.error(`Rule "${s.name}" is not defined`,s.location)}})(e)}Yw.exports=aD});var Zw=be((ET,Jw)=>{"use strict";var uD=Gn();function oD(e,t,r){let n=uD.build({action(s){n(s.expression,s)},labeled(s,a){s.pick&&a&&r.error('"@" cannot be used with an action block',s.labelLocation,[{message:"Action block location",location:a.codeLocation}]),n(s.expression)}});n(e)}Jw.exports=oD});var eA=be((yT,Qw)=>{"use strict";var cD=Uf(),ed=class{constructor(t){t=typeof t<"u"?t:{},typeof t.error=="function"&&(this.error=t.error),typeof t.warning=="function"&&(this.warning=t.warning),typeof t.info=="function"&&(this.info=t.info)}error(){}warning(){}info(){}},td=class{constructor(t){this._callbacks=new ed(t),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...t){++this.errors,this._firstError===null&&(this._firstError=new cD(...t),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...t]),this._callbacks.error(this.stage,...t)}warning(...t){this.problems.push(["warning",...t]),this._callbacks.warning(this.stage,...t)}info(...t){this.problems.push(["info",...t]),this._callbacks.info(this.stage,...t)}checkErrors(){if(this.errors!==0)throw this._firstError}};Qw.exports=td});var tA=be((exports,module)=>{"use strict";var generateBytecode=uw(),generateJS=kw(),inferenceMatchResult=H0(),removeProxyRules=Lw(),reportDuplicateLabels=Hw(),reportDuplicateRules=Mw(),reportInfiniteRecursion=Vw(),reportInfiniteRepetition=Ww(),reportUndefinedRules=Xw(),reportIncorrectPlucking=Zw(),Session=eA(),visitor=Gn();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler});var nA=be((ST,rA)=>{"use strict";var lD={$:"text","&":"simple_and","!":"simple_not"},fD={"?":"optional","*":"zero_or_more","+":"one_or_more"},hD={"&":"semantic_and","!":"semantic_not"};function pD(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Ys(e,t,r,n){var s=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(s,Ys.prototype),s.expected=t,s.found=r,s.location=n,s.name="SyntaxError",s}pD(Ys,Error);function rd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,r+=r.repeat(t),e+r.slice(0,t))}Ys.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r=null,n;for(n=0;n `+a+` +`+c+` | +`+s.line+" | "+l+` +`+c+" | "+rd("",s.column-1," ")+rd("",m,"^")}else t+=` + at `+a}return t};Ys.buildMessage=function(e,t){var r={literal:function(h){return'"'+s(h.text)+'"'},class:function(h){var m=h.parts.map(function(A){return Array.isArray(A)?a(A[0])+"-"+a(A[1]):a(A)});return"["+(h.inverted?"^":"")+m.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(h){return h.description}};function n(h){return h.charCodeAt(0).toString(16).toUpperCase()}function s(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+n(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+n(m)})}function a(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(m){return"\\x0"+n(m)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(m){return"\\x"+n(m)})}function i(h){return r[h.type](h)}function c(h){var m=h.map(i),A,p;if(m.sort(),m.length>0){for(A=1,p=1;A0?{type:"choice",alternatives:[y].concat(x),location:$t()}:y},Tn=function(y,x){return x!==null?{type:"action",expression:y,code:x[0],codeLocation:x[1],location:$t()}:y},fa=function(y,x){return x.length>0||y.type==="labeled"&&y.pick?{type:"sequence",elements:[y].concat(x),location:$t()}:y},Yf=function(y,x,Y){return Y.type.startsWith("semantic_")&&Oo('"@" cannot be used on a semantic predicate',y),{type:"labeled",label:x!==null?x[0]:null,labelLocation:x!==null?x[1]:y,pick:!0,expression:Y,location:$t()}},Xf=function(y,x){return{type:"labeled",label:y[0],labelLocation:y[1],expression:x,location:$t()}},Ct=function(){return $t()},yt=function(y){return Au.indexOf(y[0])>=0&&Oo(`Label can't be a reserved word "${y[0]}"`,y[1]),y},Jf=function(y,x){return{type:lD[y],expression:x,location:$t()}},Zf=function(y,x){return{type:fD[x],expression:y,location:$t()}},Qf=function(y){return y.type==="labeled"||y.type==="sequence"?{type:"group",expression:y,location:$t()}:y},eh=function(y){return{type:"rule_ref",name:y[0],location:$t()}},th=function(y,x){return{type:hD[y],code:x[0],codeLocation:x[1],location:$t()}},rh=function(y,x){return[y+x.join(""),$t()]},kc=function(y,x){return{type:"literal",value:y,ignoreCase:x!==null,location:$t()}},nh=function(y){return y.join("")},Yt=function(y){return y.join("")},Ro=function(y,x,Y){return{type:"class",parts:x.filter(H=>H!==""),inverted:y!==null,ignoreCase:Y!==null,location:$t()}},Ni=function(y,x){return y.charCodeAt(0)>x.charCodeAt(0)&&Oo("Invalid character range: "+xo()+"."),[y,x]},Nc=function(){return""},To=function(){return"\0"},Wr=function(){return"\b"},Lc=function(){return"\f"},Uc=function(){return` +`},Hc=function(){return"\r"},jc=function(){return" "},Mc=function(){return"\v"},qc=function(y){return String.fromCharCode(parseInt(y,16))},Lr=function(y){return String.fromCharCode(parseInt(y,16))},ih=function(){return{type:"any",location:$t()}},Yr=function(y){return[y,$t()]},B=0,Ve=0,pn=[{line:1,column:1}],Ur=0,ha=[],ee=0,dn;if("startRule"in t){if(!(t.startRule in s))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=s[t.startRule]}function xo(){return e.substring(Ve,B)}function fd(){return Ve}function Kc(){return{source:n,start:Ve,end:B}}function $t(){return Li(Ve,B)}function hd(y,x){throw x=x!==void 0?x:Li(Ve,B),Gc([xn(y)],e.substring(Ve,B),x)}function Oo(y,x){throw x=x!==void 0?x:Li(Ve,B),Vc(y,x)}function ke(y,x){return{type:"literal",text:y,ignoreCase:x}}function Xt(y,x,Y){return{type:"class",parts:y,inverted:x,ignoreCase:Y}}function Ds(){return{type:"any"}}function sh(){return{type:"end"}}function xn(y){return{type:"other",description:y}}function ko(y){var x=pn[y],Y;if(x)return x;for(Y=y-1;!pn[Y];)Y--;for(x=pn[Y],x={line:x.line,column:x.column};YUr&&(Ur=B,ha=[]),ha.push(y))}function Vc(y,x){return new Ys(y,null,null,x)}function Gc(y,x,Y){return new Ys(Ys.buildMessage(y,x),y,x,Y)}function uu(){var y,x,Y,H,ie,oe,Et,Lt;if(y=B,x=dt(),Y=B,H=No(),H!==r?(ie=dt(),Y=H):(B=Y,Y=r),Y===r&&(Y=null),H=B,ie=ah(),ie!==r?(oe=dt(),H=ie):(B=H,H=r),H===r&&(H=null),ie=[],oe=B,Et=Lo(),Et!==r?(Lt=dt(),oe=Et):(B=oe,oe=r),oe!==r)for(;oe!==r;)ie.push(oe),oe=B,Et=Lo(),Et!==r?(Lt=dt(),oe=Et):(B=oe,oe=r);else ie=r;return ie!==r?(Ve=y,y=hn(Y,H,ie)):(B=y,y=r),y}function No(){var y,x,Y,H,ie;return y=B,e.charCodeAt(B)===123?(x=i,B++):(x=r,ee===0&&he(ii)),x!==r?(Y=ot(),Y!==r?(e.charCodeAt(B)===125?(H=c,B++):(H=r,ee===0&&he(ki)),H!==r?(ie=Mi(),ie!==r?(Ve=y,y=Is(Y)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function ah(){var y,x,Y;return y=B,x=ot(),x!==r?(Y=Mi(),Y!==r?(Ve=y,y=Nr(x)):(B=y,y=r)):(B=y,y=r),y}function Lo(){var y,x,Y,H,ie,oe,Et,Lt;return y=B,x=lu(),x!==r?(Y=dt(),H=B,ie=On(),ie!==r?(oe=dt(),H=ie):(B=H,H=r),H===r&&(H=null),e.charCodeAt(B)===61?(ie=l,B++):(ie=r,ee===0&&he(Va)),ie!==r?(oe=dt(),Et=Fr(),Et!==r?(Lt=Mi(),Lt!==r?(Ve=y,y=wr(x,H,Et)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function Fr(){var y,x,Y,H,ie,oe,Et,Lt;if(y=B,x=pa(),x!==r){for(Y=[],H=B,ie=dt(),e.charCodeAt(B)===47?(oe=h,B++):(oe=r,ee===0&&he(Ga)),oe!==r?(Et=dt(),Lt=pa(),Lt!==r?H=Lt:(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=dt(),e.charCodeAt(B)===47?(oe=h,B++):(oe=r,ee===0&&he(Ga)),oe!==r?(Et=dt(),Lt=pa(),Lt!==r?H=Lt:(B=H,H=r)):(B=H,H=r);Ve=y,y=Bs(x,Y)}else B=y,y=r;return y}function pa(){var y,x,Y,H,ie;return y=B,x=da(),x!==r?(Y=B,H=dt(),ie=ot(),ie!==r?Y=ie:(B=Y,Y=r),Y===r&&(Y=null),Ve=y,y=Tn(x,Y)):(B=y,y=r),y}function da(){var y,x,Y,H,ie,oe;if(y=B,x=ou(),x!==r){for(Y=[],H=B,ie=dt(),oe=ou(),oe!==r?H=oe:(B=H,H=r);H!==r;)Y.push(H),H=B,ie=dt(),oe=ou(),oe!==r?H=oe:(B=H,H=r);Ve=y,y=fa(x,Y)}else B=y,y=r;return y}function ou(){var y,x,Y,H;return y=B,x=zc(),x!==r?(Y=Wc(),Y===r&&(Y=null),H=Uo(),H!==r?(Ve=y,y=Yf(x,Y,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=B,x=Wc(),x!==r?(Y=dt(),H=Uo(),H!==r?(Ve=y,y=Xf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=Uo())),y}function zc(){var y,x;return y=B,e.charCodeAt(B)===64?(x=m,B++):(x=r,ee===0&&he(za)),x!==r&&(Ve=y,x=Ct()),y=x,y}function Wc(){var y,x,Y,H;return y=B,x=lu(),x!==r?(Y=dt(),e.charCodeAt(B)===58?(H=A,B++):(H=r,ee===0&&he(Wa)),H!==r?(Ve=y,y=yt(x)):(B=y,y=r)):(B=y,y=r),y}function Uo(){var y,x,Y,H;return y=B,x=uh(),x!==r?(Y=dt(),H=Yc(),H!==r?(Ve=y,y=Jf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=Yc()),y}function uh(){var y;return e.charCodeAt(B)===36?(y=p,B++):(y=r,ee===0&&he(Ya)),y===r&&(e.charCodeAt(B)===38?(y=f,B++):(y=r,ee===0&&he(Xa)),y===r&&(e.charCodeAt(B)===33?(y=E,B++):(y=r,ee===0&&he(Ja)))),y}function Yc(){var y,x,Y,H;return y=B,x=Ui(),x!==r?(Y=dt(),H=oh(),H!==r?(Ve=y,y=Zf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=Ui()),y}function oh(){var y;return e.charCodeAt(B)===63?(y=v,B++):(y=r,ee===0&&he(co)),y===r&&(e.charCodeAt(B)===42?(y=b,B++):(y=r,ee===0&&he(Za)),y===r&&(e.charCodeAt(B)===43?(y=w,B++):(y=r,ee===0&&he(lo)))),y}function Ui(){var y,x,Y,H,ie,oe;return y=dh(),y===r&&(y=ae(),y===r&&(y=pu(),y===r&&(y=ch(),y===r&&(y=lh(),y===r&&(y=B,e.charCodeAt(B)===40?(x=S,B++):(x=r,ee===0&&he(fo)),x!==r?(Y=dt(),H=Fr(),H!==r?(ie=dt(),e.charCodeAt(B)===41?(oe=F,B++):(oe=r,ee===0&&he(ho)),oe!==r?(Ve=y,y=Qf(H)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)))))),y}function ch(){var y,x,Y,H,ie,oe,Et,Lt;return y=B,x=lu(),x!==r?(Y=B,ee++,H=B,ie=dt(),oe=B,Et=On(),Et!==r?(Lt=dt(),Et=[Et,Lt],oe=Et):(B=oe,oe=r),oe===r&&(oe=null),e.charCodeAt(B)===61?(Et=l,B++):(Et=r,ee===0&&he(Va)),Et!==r?(ie=[ie,oe,Et],H=ie):(B=H,H=r),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(Ve=y,y=eh(x)):(B=y,y=r)):(B=y,y=r),y}function lh(){var y,x,Y,H;return y=B,x=Ho(),x!==r?(Y=dt(),H=ot(),H!==r?(Ve=y,y=th(x,H)):(B=y,y=r)):(B=y,y=r),y}function Ho(){var y;return e.charCodeAt(B)===38?(y=f,B++):(y=r,ee===0&&he(Xa)),y===r&&(e.charCodeAt(B)===33?(y=E,B++):(y=r,ee===0&&he(Ja))),y}function Ar(){var y;return e.length>B?(y=e.charAt(B),B++):(y=r,ee===0&&he(Cs)),y}function gn(){var y,x;return ee++,e.charCodeAt(B)===9?(y=D,B++):(y=r,ee===0&&he(ra)),y===r&&(e.charCodeAt(B)===11?(y=I,B++):(y=r,ee===0&&he(go)),y===r&&(e.charCodeAt(B)===12?(y=j,B++):(y=r,ee===0&&he(mo)),y===r&&(e.charCodeAt(B)===32?(y=q,B++):(y=r,ee===0&&he(vo)),y===r&&(e.charCodeAt(B)===160?(y=_,B++):(y=r,ee===0&&he(wo)),y===r&&(e.charCodeAt(B)===65279?(y=P,B++):(y=r,ee===0&&he(Ao)),y===r&&(y=rl())))))),ee--,y===r&&(x=r,ee===0&&he(po)),y}function mn(){var y;return zt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(Eo)),y}function cu(){var y,x;return ee++,e.charCodeAt(B)===10?(y=k,B++):(y=r,ee===0&&he(So)),y===r&&(e.substr(B,2)===U?(y=U,B+=2):(y=r,ee===0&&he(si)),y===r&&(e.charCodeAt(B)===13?(y=M,B++):(y=r,ee===0&&he(Qa)),y===r&&(e.charCodeAt(B)===8232?(y=W,B++):(y=r,ee===0&&he(bo)),y===r&&(e.charCodeAt(B)===8233?(y=K,B++):(y=r,ee===0&&he(Co)))))),ee--,y===r&&(x=r,ee===0&&he(yo)),y}function Xc(){var y,x;return ee++,y=fh(),y===r&&(y=Xr()),ee--,y===r&&(x=r,ee===0&&he(Fo)),y}function fh(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===V?(x=V,B+=2):(x=r,ee===0&&he(eu)),x!==r){for(Y=[],H=B,ie=B,ee++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,ee===0&&he(ai)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,ee++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,ee===0&&he(ai)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);e.substr(B,2)===z?(H=z,B+=2):(H=r,ee===0&&he(ai)),H!==r?(x=[x,Y,H],y=x):(B=y,y=r)}else B=y,y=r;return y}function Hi(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===V?(x=V,B+=2):(x=r,ee===0&&he(eu)),x!==r){for(Y=[],H=B,ie=B,ee++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,ee===0&&he(ai)),oe===r&&(oe=mn()),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,ee++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,ee===0&&he(ai)),oe===r&&(oe=mn()),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);e.substr(B,2)===z?(H=z,B+=2):(H=r,ee===0&&he(ai)),H!==r?(x=[x,Y,H],y=x):(B=y,y=r)}else B=y,y=r;return y}function Xr(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===ne?(x=ne,B+=2):(x=r,ee===0&&he(zr)),x!==r){for(Y=[],H=B,ie=B,ee++,oe=mn(),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,ee++,oe=mn(),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);x=[x,Y],y=x}else B=y,y=r;return y}function lu(){var y,x,Y,H;if(ee++,y=B,x=Jc(),x!==r){for(Y=[],H=Zc();H!==r;)Y.push(H),H=Zc();Ve=y,y=rh(x,Y)}else B=y,y=r;return ee--,y===r&&(x=r,ee===0&&he(_o)),y}function Jc(){var y,x,Y;return y=hh(),y===r&&(e.charCodeAt(B)===36?(y=p,B++):(y=r,ee===0&&he(Ya)),y===r&&(e.charCodeAt(B)===95?(y=Ee,B++):(y=r,ee===0&&he(Fs)),y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,ee===0&&he(fn)),x!==r?(Y=Qc(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r)))),y}function Zc(){var y;return y=Jc(),y===r&&(y=ph(),y===r&&(y=el(),y===r&&(y=tl(),y===r&&(e.charCodeAt(B)===8204?(y=_e,B++):(y=r,ee===0&&he(Io)),y===r&&(e.charCodeAt(B)===8205?(y=He,B++):(y=r,ee===0&&he(Bo))))))),y}function hh(){var y;return y=mu(),y===r&&(y=gu(),y===r&&(y=Ah(),y===r&&(y=vh(),y===r&&(y=wh(),y===r&&(y=wu()))))),y}function ph(){var y;return y=vu(),y===r&&(y=ci()),y}function dh(){var y,x,Y;return ee++,y=B,x=On(),x!==r?(e.charCodeAt(B)===105?(Y=ue,B++):(Y=r,ee===0&&he(na)),Y===r&&(Y=null),Ve=y,y=kc(x,Y)):(B=y,y=r),ee--,y===r&&(x=r,ee===0&&he(tu)),y}function On(){var y,x,Y,H;if(ee++,y=B,e.charCodeAt(B)===34?(x=Ce,B++):(x=r,ee===0&&he(_s)),x!==r){for(Y=[],H=te();H!==r;)Y.push(H),H=te();e.charCodeAt(B)===34?(H=Ce,B++):(H=r,ee===0&&he(_s)),H!==r?(Ve=y,y=nh(Y)):(B=y,y=r)}else B=y,y=r;if(y===r)if(y=B,e.charCodeAt(B)===39?(x=Oe,B++):(x=r,ee===0&&he(kt)),x!==r){for(Y=[],H=ce();H!==r;)Y.push(H),H=ce();e.charCodeAt(B)===39?(H=Oe,B++):(H=r,ee===0&&he(kt)),H!==r?(Ve=y,y=Yt(Y)):(B=y,y=r)}else B=y,y=r;return ee--,y===r&&(x=r,ee===0&&he(ru)),y}function te(){var y,x,Y,H;return y=B,x=B,Y=B,ee++,e.charCodeAt(B)===34?(H=Ce,B++):(H=r,ee===0&&he(_s)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,ee===0&&he(fn)),H===r&&(H=mn())),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,ee===0&&he(fn)),x!==r?(Y=Rt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function ce(){var y,x,Y,H;return y=B,x=B,Y=B,ee++,e.charCodeAt(B)===39?(H=Oe,B++):(H=r,ee===0&&he(kt)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,ee===0&&he(fn)),H===r&&(H=mn())),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,ee===0&&he(fn)),x!==r?(Y=Rt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function ae(){var y,x,Y,H,ie,oe;if(ee++,y=B,e.charCodeAt(B)===91?(x=sr,B++):(x=r,ee===0&&he(Po)),x!==r){for(e.charCodeAt(B)===94?(Y=_t,B++):(Y=r,ee===0&&he(nu)),Y===r&&(Y=null),H=[],ie=$e(),ie===r&&(ie=qe());ie!==r;)H.push(ie),ie=$e(),ie===r&&(ie=qe());e.charCodeAt(B)===93?(ie=lt,B++):(ie=r,ee===0&&he(ui)),ie!==r?(e.charCodeAt(B)===105?(oe=ue,B++):(oe=r,ee===0&&he(na)),oe===r&&(oe=null),Ve=y,y=Ro(Y,H,oe)):(B=y,y=r)}else B=y,y=r;return ee--,y===r&&(x=r,ee===0&&he(Do)),y}function $e(){var y,x,Y,H;return y=B,x=qe(),x!==r?(e.charCodeAt(B)===45?(Y=Mt,B++):(Y=r,ee===0&&he(ur)),Y!==r?(H=qe(),H!==r?(Ve=y,y=Ni(x,H)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function qe(){var y,x,Y,H;return y=B,x=B,Y=B,ee++,e.charCodeAt(B)===93?(H=lt,B++):(H=r,ee===0&&he(ui)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,ee===0&&he(fn)),H===r&&(H=mn())),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,ee===0&&he(fn)),x!==r?(Y=Rt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function st(){var y,x,Y;return y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,ee===0&&he(fn)),x!==r?(Y=cu(),Y!==r?(Ve=y,y=Nc()):(B=y,y=r)):(B=y,y=r),y}function Rt(){var y,x,Y,H;return y=At(),y===r&&(y=B,e.charCodeAt(B)===48?(x=Pt,B++):(x=r,ee===0&&he(Dt)),x!==r?(Y=B,ee++,H=ji(),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(Ve=y,y=To()):(B=y,y=r)):(B=y,y=r),y===r&&(y=hu(),y===r&&(y=Qc()))),y}function At(){var y;return y=fu(),y===r&&(y=gh()),y}function fu(){var y,x;return e.charCodeAt(B)===39?(y=Oe,B++):(y=r,ee===0&&he(kt)),y===r&&(e.charCodeAt(B)===34?(y=Ce,B++):(y=r,ee===0&&he(_s)),y===r&&(e.charCodeAt(B)===92?(y=we,B++):(y=r,ee===0&&he(fn)),y===r&&(y=B,e.charCodeAt(B)===98?(x=Qe,B++):(x=r,ee===0&&he($o)),x!==r&&(Ve=y,x=Wr()),y=x,y===r&&(y=B,e.charCodeAt(B)===102?(x=bt,B++):(x=r,ee===0&&he(ia)),x!==r&&(Ve=y,x=Lc()),y=x,y===r&&(y=B,e.charCodeAt(B)===110?(x=Je,B++):(x=r,ee===0&&he(or)),x!==r&&(Ve=y,x=Uc()),y=x,y===r&&(y=B,e.charCodeAt(B)===114?(x=ht,B++):(x=r,ee===0&&he(sa)),x!==r&&(Ve=y,x=Hc()),y=x,y===r&&(y=B,e.charCodeAt(B)===116?(x=qt,B++):(x=r,ee===0&&he(iu)),x!==r&&(Ve=y,x=jc()),y=x,y===r&&(y=B,e.charCodeAt(B)===118?(x=ze,B++):(x=r,ee===0&&he(su)),x!==r&&(Ve=y,x=Mc()),y=x)))))))),y}function gh(){var y,x,Y,H;return y=B,x=B,Y=B,ee++,H=Jr(),H===r&&(H=mn()),ee--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y}function Jr(){var y;return y=fu(),y===r&&(y=ji(),y===r&&(e.charCodeAt(B)===120?(y=Ot,B++):(y=r,ee===0&&he(aa)),y===r&&(e.charCodeAt(B)===117?(y=Rn,B++):(y=r,ee===0&&he(oi))))),y}function hu(){var y,x,Y,H,ie,oe;return y=B,e.charCodeAt(B)===120?(x=Ot,B++):(x=r,ee===0&&he(aa)),x!==r?(Y=B,H=B,ie=Wn(),ie!==r?(oe=Wn(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r?Y=e.substring(Y,B):Y=H,Y!==r?(Ve=y,y=qc(Y)):(B=y,y=r)):(B=y,y=r),y}function Qc(){var y,x,Y,H,ie,oe,Et,Lt;return y=B,e.charCodeAt(B)===117?(x=Rn,B++):(x=r,ee===0&&he(oi)),x!==r?(Y=B,H=B,ie=Wn(),ie!==r?(oe=Wn(),oe!==r?(Et=Wn(),Et!==r?(Lt=Wn(),Lt!==r?(ie=[ie,oe,Et,Lt],H=ie):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?Y=e.substring(Y,B):Y=H,Y!==r?(Ve=y,y=Lr(Y)):(B=y,y=r)):(B=y,y=r),y}function ji(){var y;return br.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(oa)),y}function Wn(){var y;return Xs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(au)),y}function pu(){var y,x;return y=B,e.charCodeAt(B)===46?(x=ar,B++):(x=r,ee===0&&he(ca)),x!==r&&(Ve=y,x=ih()),y=x,y}function ot(){var y,x,Y,H;return ee++,y=B,e.charCodeAt(B)===123?(x=i,B++):(x=r,ee===0&&he(ii)),x!==r?(Y=mh(),e.charCodeAt(B)===125?(H=c,B++):(H=r,ee===0&&he(ki)),H!==r?y=Y:(B=y,y=r)):(B=y,y=r),ee--,y===r&&(x=r,ee===0&&he(la)),y}function mh(){var y,x;return y=B,x=du(),Ve=y,x=Yr(x),y=x,y}function du(){var y,x,Y,H,ie,oe;if(y=B,x=[],Y=[],H=B,ie=B,ee++,Or.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,ee===0&&he(kr)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r)for(;H!==r;)Y.push(H),H=B,ie=B,ee++,Or.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,ee===0&&he(kr)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);else Y=r;for(Y===r&&(Y=B,e.charCodeAt(B)===123?(H=i,B++):(H=r,ee===0&&he(ii)),H!==r?(ie=du(),e.charCodeAt(B)===125?(oe=c,B++):(oe=r,ee===0&&he(ki)),oe!==r?(H=[H,ie,oe],Y=H):(B=Y,Y=r)):(B=Y,Y=r));Y!==r;){if(x.push(Y),Y=[],H=B,ie=B,ee++,Or.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,ee===0&&he(kr)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r)for(;H!==r;)Y.push(H),H=B,ie=B,ee++,Or.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,ee===0&&he(kr)),ee--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);else Y=r;Y===r&&(Y=B,e.charCodeAt(B)===123?(H=i,B++):(H=r,ee===0&&he(ii)),H!==r?(ie=du(),e.charCodeAt(B)===125?(oe=c,B++):(oe=r,ee===0&&he(ki)),oe!==r?(H=[H,ie,oe],Y=H):(B=Y,Y=r)):(B=Y,Y=r))}return y=e.substring(y,B),y}function gu(){var y;return pt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he($)),y}function vh(){var y;return Wt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(T)),y}function wh(){var y;return We.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(L)),y}function Ah(){var y;return Cr.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(Z)),y}function mu(){var y;return Js.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(pe)),y}function ci(){var y;return Zs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(me)),y}function vu(){var y;return Qs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(Fe)),y}function el(){var y;return ea.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(Pe)),y}function wu(){var y;return Oi.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(wt)),y}function tl(){var y;return ta.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(Nt)),y}function rl(){var y;return bs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,ee===0&&he(mr)),y}function dt(){var y,x;for(y=[],x=gn(),x===r&&(x=cu(),x===r&&(x=Xc()));x!==r;)y.push(x),x=gn(),x===r&&(x=cu(),x===r&&(x=Xc()));return y}function nl(){var y,x;for(y=[],x=gn(),x===r&&(x=Hi());x!==r;)y.push(x),x=gn(),x===r&&(x=Hi());return y}function Mi(){var y,x,Y,H;return y=B,x=dt(),e.charCodeAt(B)===59?(Y=gr,B++):(Y=r,ee===0&&he(vr)),Y!==r?(x=[x,Y],y=x):(B=y,y=r),y===r&&(y=B,x=nl(),Y=Xr(),Y===r&&(Y=null),H=cu(),H!==r?(x=[x,Y,H],y=x):(B=y,y=r),y===r&&(y=B,x=dt(),Y=qi(),Y!==r?(x=[x,Y],y=x):(B=y,y=r))),y}function qi(){var y,x;return y=B,ee++,e.length>B?(x=e.charAt(B),B++):(x=r,ee===0&&he(Cs)),ee--,x===r?y=void 0:(B=y,y=r),y}let Au=t.reservedWords||[];if(dn=a(),dn!==r&&B===e.length)return dn;throw dn!==r&&B{"use strict";var gD=Uf(),mD=tA(),vD=nA(),wD=K0(),AD=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],xc={VERSION:wD,RESERVED_WORDS:AD,GrammarError:gD,parser:vD,compiler:mD,generate(e,t){t=t!==void 0?t:{};function r(a){let i={};return Object.keys(a).forEach(c=>{i[c]=a[c].slice()}),i}let n="plugins"in t?t.plugins:[],s={parser:xc.parser,passes:r(xc.compiler.passes),reservedWords:xc.RESERVED_WORDS.slice()};return n.forEach(a=>{a.use(s,t)}),xc.compiler.compile(s.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:s.reservedWords}),s.passes,t)}};iA.exports=xc});var Dl="2.19.56";var rn="settings",ec="subs",Pl="collections",$l="files",J1="modules",Bu="artifacts",Z1="rules";var Q1="Sub-Store Artifacts Repository",ba="#sub-store-cached-resource",Ca="#sub-store-cached-headers-resource",Rl="#sub-store-chr-expiration-time";var Fa="#sub-store-cached-script-resource",Tl="#sub-store-csr-expiration-time";var Os=typeof $task<"u",Qi=typeof $loon<"u",ks=typeof $httpClient<"u"&&!Qi,pi=eval('typeof process !== "undefined"'),tg=typeof $environment<"u"&&$environment["stash-version"],rg=typeof $rocket<"u",b3=typeof egern=="object",C3=typeof $native<"u",Ns=typeof $Plugins<"u";function eg(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var xl=class{constructor(name="untitled",debug=!1){if(this.name=name,this.debug=debug,this.http=es(),this.env=di(),pi){let dotenv=eval('require("dotenv")');dotenv.config()}this.node=(()=>{if(pi){let fs=eval("require('fs')");return{fs}}else return null})(),this.initCache();let delay=(e,t)=>new Promise(function(r){setTimeout(r.bind(null,t),e)});Promise.prototype.delay=async function(e){let t=await this;return await delay(e,t)}}initCache(){if(Os&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(Qi||ks)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),Ns&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),pi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}eg(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}eg(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(Os&&$prefs.setValueForKey(data,this.name),(Qi||ks)&&$persistentStore.write(data,this.name),Ns&&$Plugins.SubStoreCache.set(this.name,data),pi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),ks||Qi)return $persistentStore.write(e,t);if(Os)return $prefs.setValueForKey(e,t);if(pi&&(this.root[t]=e),Ns)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ks||Qi)return $persistentStore.read(e);if(Os)return $prefs.valueForKey(e);if(pi)return this.root[e];if(Ns)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ks||Qi)return $persistentStore.write(null,e);if(Os)return $prefs.removeValueForKey(e);if(pi&&delete this.root[e],Ns)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(Os&&$notify(title,subtitle,content,options),ks&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),Qi){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(pi){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(r=>r).join(` +`)));es().get({url:e}).then(r=>{console.log(`[Push Service] URL: ${e} +RES: ${r.statusCode} ${r.body}`)}).catch(r=>{console.log(`[Push Service] URL: ${e} +ERROR: ${r}`)})}}Ns&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){Os||Qi||ks||Ns?$done(e):pi&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function di(){return{isQX:Os,isLoon:Qi,isSurge:ks,isNode:pi,isStash:tg,isShadowRocket:rg,isEgern:b3,isLanceX:C3,isGUIforCores:Ns}}function es(defaultOptions={baseURL:""}){let{isQX,isLoon,isSurge,isNode,isGUIforCores}=di(),methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],URL_REGEX=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function send(method,options){options=typeof options=="string"?{url:options}:options;let baseURL=defaultOptions.baseURL;baseURL&&!URL_REGEX.test(options.url||"")&&(options.url=baseURL?baseURL+options.url:options.url),options={...defaultOptions,...options};let timeout=options.timeout,events={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...options.events};if(events.onRequest(method,options),options.node&&isSurge){let e=$environment["surge-build"];e&&parseInt(e)>=2407&&(options["policy-descriptor"]=options.node,delete options.node)}let worker;isQX?worker=$task.fetch({method,url:options.url,headers:options.headers,body:options.body,opts:options.opts}):isLoon||isSurge||isNode?worker=new Promise(async(resolve,reject)=>{let body=options.body,opts=JSON.parse(JSON.stringify(options));if(opts.body=body,opts.timeout=opts.timeout||8e3,opts.timeout&&(opts.timeout++,isNaN(opts.timeout)&&(opts.timeout=8e3),!isNode)){let e="ms";(isSurge||tg||rg)&&(opts.timeout=Math.ceil(opts.timeout/1e3),e="s")}if(isNode){let undici=eval("require('undici')"),{ProxyAgent,EnvHttpProxyAgent,request,interceptors}=undici,agentOpts={connect:{rejectUnauthorized:!(opts.strictSSL===!1||opts.insecure===!0)},bodyTimeout:opts.timeout,headersTimeout:opts.timeout};try{let e=new URL(opts.url);(e.username||e.password)&&(opts.headers={...opts.headers||{},Authorization:`Basic ${Buffer.from(`${e.username||""}:${e.password||""}`).toString("base64")}`});let t=await request(opts.url,{...opts,method:method.toUpperCase(),dispatcher:(opts.proxy?new ProxyAgent({...agentOpts,uri:opts.proxy}):new EnvHttpProxyAgent(agentOpts)).compose(interceptors.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});resolve({statusCode:t.statusCode,headers:t.headers,body:opts.encoding===null?await t.body.arrayBuffer():await t.body.text()})}catch(e){reject(e)}}else $httpClient[method.toLowerCase()](opts,(e,t,r)=>{e?reject(e):resolve({statusCode:t.status||t.statusCode,headers:t.headers,body:r})})}):isGUIforCores&&(worker=new Promise(async(e,t)=>{try{let r=await $Plugins.Requests({method,url:options.url,headers:options.headers,body:options.body,options:{Proxy:options.proxy,Timeout:options.timeout?options.timeout/1e3:15}});e({statusCode:r.status,headers:r.headers,body:r.body})}catch(r){t(r)}}));let timeoutid,timer=timeout?new Promise((e,t)=>{timeoutid=setTimeout(()=>(events.onTimeout(),t(`${method} URL: ${options.url} exceeds the timeout ${timeout} ms`)),timeout)}):null;return(timer?Promise.race([timer,worker]).then(e=>(typeof clearTimeout<"u"&&clearTimeout(timeoutid),e)):worker).then(e=>events.onResponse(e))}let http={};return methods.forEach(e=>http[e.toLowerCase()]=t=>send(e,t)),http}var F3=new xl("sub-store"),J=F3;function yn(e,t,r="name"){return e.find(n=>n[r]===t)}var hp=0;function Zn(e){return I3(_3(B3(e)))}function _3(e){return P3($3(D3(e),e.length*8))}function I3(e){try{}catch{hp=0}for(var t=hp?"0123456789ABCDEF":"0123456789abcdef",r="",n,s=0;s>>4&15)+t.charAt(n&15);return r}function B3(e){for(var t="",r=-1,n,s;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function D3(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function $3(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,s=-1732584194,a=271733878,i=0;i>16)+(t>>16)+(r>>16);return n<<16|r&65535}function R3(e,t){return e<>>32-t}var Kl=jn(gg()),iS=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,sS=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function er(e){return iS.test(e)}function tr(e){return sS.test(e)}function mg(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function Ai(e){return typeof e=="string"&&e.trim().length>0}function Ft(e,t){return Ai(e)?e:t}function Ru(e){return typeof e<"u"&&e!==null}function Tu(e,t){return Ru(e)?e:t}function rs(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function aS(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function nc(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,s]=r.split("-").map(Number);return aS(n,s)}else return Number(r)}function vg(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function Vl(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}var Cp=class{constructor(t){this.expires=t,J.read(ba)||J.write("{}",ba);try{this.resourceCache=JSON.parse(J.read(ba))}catch(r){J.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${ba} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${r?.message??r}`),this.resourceCache={},J.write("{}",ba)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,s]=r;s.time||(delete this.resourceCache[n],J.delete(`#${n}`),t=!0),new Date().getTime()-s.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){J.write(JSON.stringify(this.resourceCache),ba)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}},fr=new Cp(36e5);var Fp=class{constructor(){this.expires=oS(),J.read(Ca)||J.write("{}",Ca);try{this.resourceCache=JSON.parse(J.read(Ca))}catch(t){J.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Ca} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},J.write("{}",Ca)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,s]=r;s.time||(delete this.resourceCache[n],J.delete(`#${n}`),t=!0),new Date().getTime()-s.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){J.write(JSON.stringify(this.resourceCache),Ca)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function oS(){J.read(Rl)||J.write("6e4",Rl);let e=6e4;if(J.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=J.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=J.read(Rl),e}var ic=new Fp;function xu(e){let t=Object.keys(e),r="",n="";for(let s of t){let a=s.toLowerCase();a==="subscription-userinfo"?r=e[s]:a==="profile-web-page-url"&&(n=e[s])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Gl(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=di(),insecure=$arguments?.insecure?J.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=J.read(rn),proxy=customProxy||defaultProxy;J.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=Zn(userAgent+url),cached=ic.get(id),flowInfo;if(!$arguments?.noCache&&cached)J.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=es();if(flowUrl){J.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},...insecure||{}});flowInfo=t}else{try{J.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},...insecure||{}});flowInfo=xu(t)}catch(t){J.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){J.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},...insecure||{}});flowInfo=xu(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&ic.set(id,flowInfo)}return flowInfo}function zl(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),s=Number(n[1]+n[2]),a=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(a[1]+a[2]),c=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),l=c?Number(c[1]+c[2]):void 0,h=e.match(/reset_day=([0-9]+)/),m=h?Number(h[1]):void 0,A=e.match(/app_url=(.*?)\s*?(;|$)/),p=A?decodeURIComponent(A[1]):void 0,f=e.match(/plan_name=(.*?)\s*?(;|$)/),E=f?decodeURIComponent(f[1]):void 0;return{expires:l,total:i,usage:{upload:r,download:s},remainingDays:m,appUrl:p,planName:E}}function sc(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:sc(e/1024,r[++n])}function Wl(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3a.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let i=new Date(r);for(i.setDate(i.getDate()+n);i31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let s=new Date,a=s.getDate(),i=s.getMonth(),c=s.getFullYear(),l;return t>a?l=0:l=new Date(c,i+1,0).getDate(),l-a+t}}catch(t){J.error(`getRmainingDays failed: ${t.message??t}`)}}function Ag(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let s=r.slice(0,n).trim(),a=r.slice(n+1).trim();if(!t.has(s))try{let i=decodeURIComponent(a);t.set(s,i)}catch{t.set(s,a)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return J.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}var pc=jn(fv());function pv(e,t,...r){try{return e(t,...r)}catch{return e(dv(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function hc(e,...t){return pv(pc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function UC(e,...t){return pv(pc.default.load,JSON.parse(JSON.stringify(e)),...t)}function hv(e,...t){return pc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function dv(e,...t){return pc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var Oa={safeLoad:hc,load:UC,safeDump:hv,dump:dv,parse:hc,stringify:hv};var Ev="3.7.7",HC=Ev,qu=typeof Buffer=="function",gv=typeof TextDecoder=="function"?new TextDecoder:void 0,mv=typeof TextEncoder=="function"?new TextEncoder:void 0,jC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",dc=Array.prototype.slice.call(jC),uf=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(dc),MC=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,yr=String.fromCharCode.bind(String),vv=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),yv=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Sv=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),bv=e=>{let t,r,n,s,a="",i=e.length%3;for(let c=0;c255||(n=e.charCodeAt(c++))>255||(s=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|s,a+=dc[t>>18&63]+dc[t>>12&63]+dc[t>>6&63]+dc[t&63]}return i?a.slice(0,i-3)+"===".substring(i):a},Hp=typeof btoa=="function"?e=>btoa(e):qu?e=>Buffer.from(e,"binary").toString("base64"):bv,Lp=qu?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,s=e.length;nt?yv(Lp(e)):Lp(e),qC=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?yr(192|t>>>6)+yr(128|t&63):yr(224|t>>>12&15)+yr(128|t>>>6&63)+yr(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return yr(240|t>>>18&7)+yr(128|t>>>12&63)+yr(128|t>>>6&63)+yr(128|t&63)}},KC=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Cv=e=>e.replace(KC,qC),wv=qu?e=>Buffer.from(e,"utf8").toString("base64"):mv?e=>Lp(mv.encode(e)):e=>Hp(Cv(e)),Mu=(e,t=!1)=>t?yv(wv(e)):wv(e),Av=e=>Mu(e,!0),VC=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,GC=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return yr((r>>>10)+55296)+yr((r&1023)+56320);case 3:return yr((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return yr((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Fv=e=>e.replace(VC,GC),_v=e=>{if(e=e.replace(/\s+/g,""),!MC.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,s;for(let a=0;a>16&255):s===64?yr(t>>16&255,t>>8&255):yr(t>>16&255,t>>8&255,t&255);return r},jp=typeof atob=="function"?e=>atob(Sv(e)):qu?e=>Buffer.from(e,"base64").toString("binary"):_v,Iv=qu?e=>vv(Buffer.from(e,"base64")):e=>vv(jp(e).split("").map(t=>t.charCodeAt(0))),Bv=e=>Iv(Dv(e)),zC=qu?e=>Buffer.from(e,"base64").toString("utf8"):gv?e=>gv.decode(Iv(e)):e=>Fv(jp(e)),Dv=e=>Sv(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Up=e=>zC(Dv(e)),WC=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},Pv=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),$v=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,Pv(r));e("fromBase64",function(){return Up(this)}),e("toBase64",function(t){return Mu(this,t)}),e("toBase64URI",function(){return Mu(this,!0)}),e("toBase64URL",function(){return Mu(this,!0)}),e("toUint8Array",function(){return Bv(this)})},Rv=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,Pv(r));e("toBase64",function(t){return of(this,t)}),e("toBase64URI",function(){return of(this,!0)}),e("toBase64URL",function(){return of(this,!0)})},YC=()=>{$v(),Rv()},ct={version:Ev,VERSION:HC,atob:jp,atobPolyfill:_v,btoa:Hp,btoaPolyfill:bv,fromBase64:Up,toBase64:Mu,encode:Mu,encodeURI:Av,encodeURL:Av,utob:Cv,btou:Fv,decode:Up,isValid:WC,fromUint8Array:of,toUint8Array:Bv,extendString:$v,extendUint8Array:Rv,extendBuiltins:YC};function XC(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function JC(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(s){return!/^\w+:\/\/\w+/im.test(s)&&t.some(a=>s.indexOf(a)!==-1)},parse:function(s){let a=ct.decode(s);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(a)?a:(J.error("Base64 Pre-processor error: decoded line does not start with protocol"),s)}}}function ZC(){return{name:"Fallback Base64 Pre-processor",test:function(n){return!0},parse:function(n){let s=ct.decode(n);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(s)?s:(J.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),n)}}}function QC(){return{name:"Clash Pre-processor",test:function(n){if(!/proxies/.test(n))return!1;let s=hc(n);return s.proxies&&Array.isArray(s.proxies)},parse:function(n,s){let a=n.replace(/short-id:([ \t]*[^#\n,}]*)/g,(l,h)=>{let m=h.trim();return!m||m===""?'short-id: ""':/^(['"]).*\1$/.test(m)?`short-id: ${m}`:["null"].includes(m)?`short-id: ${m}`:`short-id: "${m}"`}),{proxies:i,"global-client-fingerprint":c}=hc(a);return(s?`proxies: +`:"")+i.map(l=>(c&&!l["client-fingerprint"]&&(l["client-fingerprint"]=c),`${s?" - ":""}${JSON.stringify(l)} +`)).join("")}}}function eF(){return{name:"SSD Pre-processor",test:function(n){return n.indexOf("ssd://")===0},parse:function(n){let s=[],a=JSON.parse(ct.decode(n.split("ssd://")[1])),i=a.port,c=a.encryption,l=a.password,h=a.servers;for(let m=0;me.name==="Clash Pre-processor"),Mp=new Map;async function Sn(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=di(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=J.read(rn),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;J.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=Zn(userAgent+url);$arguments?.cacheKey===!0&&(J.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=J.read(customCacheKey),t=fr.get(id);if(!noCache&&!$arguments?.noCache&&t)return J.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){J.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await Sn(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){J.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),J.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),fr.set(id,e)}}else J.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),Sn(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{J.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&Mp.has(id))return Mp.get(id);let http=es({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=fr.get(id);if(!noCache&&!$arguments?.noCache&&cached)J.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(J.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),J.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;J.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},...e||{}});if(J.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let a=xu(r);a&&ic.set(id,a)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{Tv.test(t)&&(t=Tv.parse(t,!0))}catch(a){J.error(`Clash Pre-processor error: ${a}`)}let s=!0;if(cacheThreshold){let a=t.length/1024;a>cacheThreshold&&(J.info(`\u8D44\u6E90\u5927\u5C0F ${a.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),s=!1)}s&&(fr.set(id,t),customCacheKey&&(J.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),J.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=J.read(customCacheKey);if(r)return J.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await Wl(zl(await Gl(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||Mp.set(id,result),result}async function xv(url,file){let undici=eval("require('undici')"),fs=eval("require('fs')"),{pipeline}=eval("require('stream/promises')"),{Agent,interceptors,request}=undici;J.info(`Downloading file... +URL: ${url} +File: ${file}`);let{body,statusCode}=await request(url,{dispatcher:new Agent().compose(interceptors.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(statusCode!==200)throw new Error(`Failed to download file from ${url}`);let fileStream=fs.createWriteStream(file);return await pipeline(body,fileStream),J.info(`File downloaded from ${url} to ${file}`),file}var zf=jn(pf());var m0=jn(C2());function _I(e){let t=m0.default.pemtohex(e);return m0.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var F2={generateFingerprint:_I};var v0=class{constructor(){this.expires=II(),J.read(Fa)||J.write("{}",Fa);try{this.resourceCache=JSON.parse(J.read(Fa))}catch(t){J.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Fa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},J.write("{}",Fa)}this._cleanup()}_cleanup(t,r){let n=!1;Object.entries(this.resourceCache).forEach(s=>{let[a,i]=s;i.time||(delete this.resourceCache[a],J.delete(`#${a}`),n=!0),(new Date().getTime()-i.time>(r??this.expires)||t&&a.startsWith(t))&&(delete this.resourceCache[a],n=!0)}),n&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){J.write(JSON.stringify(this.resourceCache),Fa)}get(t,r,n){let s=this.resourceCache[t]&&this.resourceCache[t].time;if(s){if(new Date().getTime()-s<=(r??this.expires))return this.resourceCache[t].data;n&&(delete this.resourceCache[t],this._persist())}return null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function II(){J.read(Tl)||J.write("1728e5",Tl);let e=1728e5;if(J.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=J.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=J.read(Tl),e}var w0=new v0;function If(e,t){return[...Array(e).keys()].map(()=>t)}var A0={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function to(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(a=>RegExp(`${a}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(A0))if(A0[n].some(a=>RegExp(`(^|[^a-zA-Z])${a}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function _2(e){return A0[to(e)]?.[0]}function yc(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var Bf=class{constructor({country,asn}={}){if(J.env.isNode){let Reader=eval('require("@maxmind/geoip2-node")').Reader,fs=eval("require('fs')"),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}};var $f=jn(N2()),L2=jn(pf());async function no({url:e,domain:t,type:r="A",timeout:n,edns:s}){let a=$f.default.encode({type:"query",id:0,flags:$f.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:s,sourcePrefixLength:er(s)?24:56,scopePrefixLength:0}]}]}),i=await J.http.get({url:`${e}?dns=${a.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return $f.default.decode(L2.Buffer.from(J.env.isQX?i.bodyBytes:i.body))}var $0=jn(D0());var{isNode:U2,isQX:OI,isLoon:kI,isSurge:NI,isStash:LI,isShadowRocket:UI,isLanceX:HI,isEgern:jI,isGUIforCores:MI}=di(),$i="Node";U2&&($i="Node");OI&&($i="QX");kI&&($i="Loon");NI&&($i="Surge");LI&&($i="Stash");UI&&($i="ShadowRocket");jI&&($i="Egern");HI&&($i="LanceX");MI&&($i="GUI.for.Cores");var ja={},qI={};try{if(typeof $environment<"u"&&(ja.env=$environment),typeof $loon<"u"&&(ja.loon=$loon),typeof $script<"u"&&(ja.script=$script),typeof $Plugin<"u"&&(ja.plugin=$Plugin),U2){ja.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(ja.node.env[e]=env[e])}}catch(e){}var Cc={backend:$i,version:Dl,feature:qI,meta:ja};function KI(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Fc(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function j2(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(KI(r[n]))if(n.endsWith("!")){let s=Fc(n.slice(0,-1));e[s]=r[n]}else{let s=Fc(n);e[s]||Object.assign(e,{[s]:{}}),j2(e[s],r[s])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let s=Fc(n.slice(1));e[s]||Object.assign(e,{[s]:[]}),e[s]=[...r[n],...e[s]]}else if(n.endsWith("+")){let s=Fc(n.slice(0,-1));e[s]||Object.assign(e,{[s]:[]}),e[s]=[...e[s],...r[n]]}else{let s=Fc(n);Object.assign(e,{[s]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function VI({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>Rf(e,r))}}function Rf(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>Rf(r,t));case"OR":return e.child.some(r=>Rf(r,t));case"NOT":return!Rf(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function GI(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let s=V2().func(r);r=r.filter((a,i)=>s[i]&&a.port>0&&a.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function zI({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=yc(n.name);else{let s=to(n.name);n.name=yc(n.name),n.name=s+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function WI(e){let{action:t,template:r,link:n,position:s}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:a=>{if(t==="delete"){let i={};return a.filter(c=>i[c.name]?!1:(i[c.name]=!0,!0))}else if(t==="rename"){let i=r.split(" "),c={},l=0;a.forEach(m=>{typeof c[m.name]>"u"?c[m.name]=1:c[m.name]++,l=Math.max(c[m.name].toString().length,l)});let h={};return a.map(m=>{if(c[m.name]>1){typeof h[m.name]>"u"&&(h[m.name]=1);let A="",p=h[m.name]++,f=0;for(;p>0;)A=i[p%10]+A,p=parseInt(p/10),f++;for(;f++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let s=r.name>n.name?1:-1;return s*=e==="desc"?-1:1,s});case"random":return a9(t);default:throw new Error("Unknown sort option: "+e)}}}}function XI(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(s=>R0(s)),n.sort((s,a)=>{let i=H2(r,s.name),c=H2(r,a.name);return i&&!c?-1:c&&!i?1:i&&c?it.map(r=>{for(let{expr:n,now:s}of e)r.name=r.name.replace(R0(n,"g"),s).trim();return r})}}function JI(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:M2(t).func}}function ZI(e,t,r,n,s){return{name:"Script Operator",func:async a=>{let i=a;if(i?.$file?.type==="mihomoProfile")try{let c=Oa.safeLoad(e),l;if(i?.$content)try{l=Oa.safeLoad(i?.$content)}catch(h){J.error(h.message??h)}if(typeof c!="object")throw new Error("patch is not an object");return i.$content=Gt.yaml.safeDump(j2(l||(i?.$file?.sourceType==="none"?{}:{proxies:await Ri({type:i?.$file?.sourceType||"collection",name:i?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),c)),i}catch{}return await async function(){i=Tf("operator",e,r,s)(a,t,{source:n,...Cc})}(),i},nodeFunc:async a=>{let i=a;return await async function(){i=Tf("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,s)(a,t,{source:n,...Cc})}(),i}}}function QI(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let s=parseInt(n[3],16),a=parseInt(n[4],16),i=s>>8,c=s&255,l=a>>8,h=a&255;if(t=`${i}.${c}.${l}.${h}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!er(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){J.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var q2={Custom:async function(e,t,r,n,s,a){let i=Zn(`CUSTOM:${a}:${e}:${t}`),c=fr.get(i);if(!r&&c)return c;let l=t==="IPv6"?"AAAA":"A",h=await no({url:a,domain:e,type:l,timeout:n,edns:s}),{answers:m}=h;if(!Array.isArray(m)||m.length===0)throw new Error("No answers");let A=m.filter(p=>p?.type===l).map(p=>p?.data).filter(p=>p);if(A.length===0)throw new Error("No answers");return fr.set(i,A),A},Google:async function(e,t,r,n,s){let a=Zn(`GOOGLE:${e}:${t}`),i=fr.get(a);if(!r&&i)return i;let c=t==="IPv6"?"AAAA":"A",l=await no({url:"https://8.8.4.4/dns-query",domain:e,type:c,timeout:n,edns:s}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let m=h.filter(A=>A?.type===c).map(A=>A?.data).filter(A=>A);if(m.length===0)throw new Error("No answers");return fr.set(a,m),m},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let s=Zn(`IP-API:${e}`),a=fr.get(s);if(!r&&a)return a;let i=await J.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),c=JSON.parse(i.body);if(c.status!=="success")throw new Error(`Status is ${c.status}`);if(!c.query||c.query===0)throw new Error("No answers");let l=[c.query];if(l.length===0)throw new Error("No answers");return fr.set(s,l),l},Cloudflare:async function(e,t,r,n,s){let a=Zn(`CLOUDFLARE:${e}:${t}`),i=fr.get(a);if(!r&&i)return i;let c=t==="IPv6"?"AAAA":"A",l=await no({url:"https://1.0.0.1/dns-query",domain:e,type:c,timeout:n,edns:s}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let m=h.filter(A=>A?.type===c).map(A=>A?.data).filter(A=>A);if(m.length===0)throw new Error("No answers");return fr.set(a,m),m},Ali:async function(e,t,r,n,s){let a=Zn(`ALI:${e}:${t}`),i=fr.get(a);if(!r&&i)return i;let c=await J.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${s}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),l=JSON.parse(c.body);if(!Array.isArray(l)||l.length===0)throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return fr.set(a,h),h},Tencent:async function(e,t,r,n,s){let a=Zn(`TENCENT:${e}:${t}`),i=fr.get(a);if(!r&&i)return i;let l=(await J.http.get({url:`http://119.28.28.28/d?ip=${s}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(m=>m.split(",")[0]);if(l.length===0||String(l)==="0")throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return fr.set(a,h),h}};function K2({provider:e,type:t,filter:r,cache:n,url:s,timeout:a,edns:i}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:c}=J.read(rn),l=a||c||8e3,h=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",m=q2[e];if(!m)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let A=i||"223.6.6.6";if(!Ma(A))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return J.info(`Domain Resolver: [${t}] ${e} ${A||""} ${s||""}`),{name:"Resolve Domain Operator",func:async p=>{p.forEach((w,S)=>{!w["_no-resolve"]&&w["no-resolve"]&&(p[S]["_no-resolve"]=w["no-resolve"])});let f={},E=15,v=[...new Set(p.filter(w=>!Ma(w.server)&&!w["_no-resolve"]).map(w=>w.server))],b=Math.ceil(v.length/E);for(let w=0;w{f[F]=D,J.info(`Successfully resolved domain: ${F} \u279F ${D}`)}).catch(D=>{J.error(`Failed to resolve domain: ${F} with resolver [${e}]: ${D}`)}));await Promise.all(S)}return p.forEach(w=>{if(!w["_no-resolve"])if(f[w.server]){w._resolved_ips=f[w.server];let S=Array.isArray(f[w.server])?f[w.server][Math.floor(Math.random()*f[w.server].length)]:f[w.server];if(h==="IPv6"&&tr(S)){try{S=new Kl.Address6(S).correctForm()}catch(F){J.error(`Failed to parse IPv6 address: ${S}: ${F}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(S)){w._IP4P=S;let{server:F,port:D}=QI(S);F&&D?(w._domain=w.server,w.server=F,w.port=D,w.resolved=!0,w._IPv4=w.server,Ma(w._IP)||(w._IP=w.server)):w.resolved||(w.resolved=!1)}else w._domain=w.server,w.server=S,w.resolved=!0,w[`_${h}`]=w.server,Ma(w._IP)||(w._IP=w.server)}else w._domain=w.server,w.server=S,w.resolved=!0,w[`_${h}`]=w.server,Ma(w._IP)||(w._IP=w.server)}else w.resolved||(w.resolved=!1)}),p.filter(w=>r==="removeFailed"?Ma(w.server)||w["_no-resolve"]||w.resolved:r==="IPOnly"?Ma(w.server):r==="IPv4Only"?er(w.server):r==="IPv6Only"?tr(w.server):!0)}}}function Ma(e){return er(e)||tr(e)}K2.resolver=q2;function P0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function V2(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!P0(t.cipher))return!1;if(t.password&&!P0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!P0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function e9(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:s=>s.map(a=>{let i=to(a.name),c=t.some(l=>n[l]===i);return r?c:!c})}}function t9({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let s=e.some(a=>R0(a).test(n.name));return t?s:!s})}}function R0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function r9(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(s=>{let a=t.some(i=>s.type===i);return r?a:!a})}}function n9(e,t,r,n,s){return{name:"Script Filter",func:async a=>{let i=If(a.length,!0);return await async function(){i=Tf("filter",e,r,s)(a,t,{source:n,...Cc})}(),i},nodeFunc:async a=>{let i=If(a.length,!0);return await async function(){i=Tf("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,s)(a,t,{source:n,...Cc})}(),i}}}var xf={"Useless Filter":V2,"Region Filter":e9,"Regex Filter":t9,"Type Filter":r9,"Script Filter":n9,"Conditional Filter":VI,"Quick Setting Operator":GI,"Flag Operator":zI,"Sort Operator":YI,"Regex Sort Operator":XI,"Regex Rename Operator":M2,"Regex Delete Operator":JI,"Script Operator":ZI,"Handle Duplicate Operator":WI,"Resolve Domain Operator":K2};async function i9(e,t){let r=If(t.length,!0);try{r=await e.func(t)}catch(n){let s="",a=`${n.message??n}`;a.includes("$server is not defined")?s="":(J.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),s=`\u6267\u884C function filter \u5931\u8D25 ${a}; `);try{r=await e.nodeFunc(t)}catch(i){J.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${i}`);let c="",l=`${i.message??i}`;throw s&&l===a?(c="",s=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${s}${c}`)}}return t.filter((n,s)=>r[s])}async function s9(e,t){let r=u9(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let s="",a=`${n.message??n}`;a.includes("$server is not defined")||a.includes("$content is not defined")||a.includes("$files is not defined")||r?.$files||r?.$content?s="":(J.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),s=`\u6267\u884C function operator \u5931\u8D25 ${a}; `);try{let i=await e.nodeFunc(r);i&&(r=i)}catch(i){J.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${i}`);let c="",l=`${i.message??i}`;throw s&&l===a?(c="",s=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u64CD\u4F5C ${s}${c}`)}}return r}async function G2(e,t){if(e.name.indexOf("Filter")!==-1)return i9(e,t);if(e.name.indexOf("Operator")!==-1)return s9(e,t)}function a9(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function u9(e){return JSON.parse(JSON.stringify(e))}function Tf(name,script,$arguments,$options){let flowUtils={getFlowField:xu,getFlowHeaders:Gl,parseFlowHeaders:zl,flowTransfer:sc,validCheck:Wl,getRmainingDays:wg,normalizeFlowHeader:Ag};return J.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,J,$0.default,$persistentStore,$httpClient,$notification,Gt,Gt.yaml,Gt.Buffer,Gt.Base64.decode,Gt.Base64.encode,w0,flowUtils,Ri,eval('typeof require !== "undefined"')?Sa:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,J,$0.default,Gt,Gt.yaml,Gt.Buffer,Gt.Base64.decode,Gt.Base64.encode,w0,flowUtils,Ri,eval('typeof require !== "undefined"')?Sa:void 0)}var z2=jn(D0()),Ye=class{constructor(t){this.proxy=t,this.output=[]}append(t){if(typeof t>"u")throw new Error("required field is missing");this.output.push(t)}appendIfPresent(t,r){se(this.proxy,r)&&this.append(t)}toString(){return this.output.join("")}};function se(e,t){let r=z2.default.get(e,t);return typeof r<"u"&&r!==null}var o9="Surge",Vn={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function so(){return{produce:(t,r,n={})=>{switch(t.name=t.name.replace(/=|,/g,""),t.ports&&(t.ports=String(t.ports)),t.type){case"ss":return c9(t,n["include-unsupported-proxy"]);case"trojan":return l9(t);case"vmess":return f9(t,n["include-unsupported-proxy"]);case"http":return p9(t);case"direct":return d9(t);case"socks5":return g9(t);case"snell":return m9(t);case"tuic":return v9(t);case"wireguard-surge":return A9(t);case"hysteria2":return E9(t);case"ssh":return h9(t)}if(n["include-unsupported-proxy"]&&t.type==="wireguard")return w9(t);throw new Error(`Platform ${o9} does not support proxy type: ${t.type}`)}}}function c9(e){let t=new Ye(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=Vn[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),se(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function l9(e){let t=new Ye(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),W2(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function f9(e,t){let r=new Ye(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=Vn[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),W2(r,e,t),se(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function h9(e){let t=new Ye(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function p9(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new Ye(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function d9(e){let t=new Ye(e);t.append(`${e.name}=direct`);let n=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function g9(e){let t=new Ye(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&J.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function m9(e){let t=new Ye(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function v9(e){let t=new Ye(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),se(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function w9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ye(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=Ft(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=Vn[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],s=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,a=e["preshared-key"]??e["pre-shared-key"];a&&(a=`,preshared-key="${a}"`);let i={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":s,"preshared-key":a};return t.append(` +peer = (${Object.keys(i).filter(c=>i[c]!=null).map(c=>`${c} = ${i[c]}`).join(", ")})`),t.toString()}function A9(e){let t=new Ye(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function E9(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new Ye(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),se(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=Vn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function W2(e,t,r){if(se(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),se(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),se(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,s=Object.keys(n).map(a=>{let i=n[a];return["Host"].includes(a)&&(i=`"${i}"`),`${a}:${i}`}).join("|");Ai(s)&&e.append(`,ws-headers=${s}`)}}else if(r&&["http"].includes(t.network))J.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function In(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"||["juicity"].includes(i.type)?!1:!(["ss"].includes(i.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(i.cipher))).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?se(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&se(i,"shadow-tls-password")&&!se(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal"||s["delete-underscore-fields"])for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var Y2="SurgeMac",y9=so();function T0(){return{produce:(t,r,n={})=>{switch(t.type){case"external":return X2(t);default:try{return y9.produce(t,r,n)}catch{if(n.useMihomoExternal)return J.log(`${t.name} is not supported on ${Y2}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),S9(t,r,n);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function X2(e){let t=new Ye(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function S9(e,t,r){let n=In().produce([e],"internal")?.[0];if(n){let s=r?.localPort||e._localPort||65535,a=!["ipv4","v4-only"].includes(e["ip-version"]),i={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":s,args:["-config",ct.encode(JSON.stringify({"mixed-port":s,ipv6:a,mode:"global",dns:{enable:!0,ipv6:a,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return b9(e.server)?i.addresses.push(e.server):J.log(`Platform ${Y2}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=s-1,X2(i)}}function b9(e){return er(e)||tr(e)}function x0(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&(typeof i.flow<"u"||i["reality-opts"])?!1:i["underlying-proxy"]||i["dialer-proxy"]?(J.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}`),!1):!0).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&se(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}function Of(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&i["reality-opts"]&&!["xtls-rprx-vision"].includes(i.flow)?!1:i["underlying-proxy"]||i["dialer-proxy"]?(J.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),se(i,"down")&&!se(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),se(i,"up")&&!se(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),se(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),se(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="hysteria2"?(se(i,"password")&&!se(i,"auth")&&(i.auth=i.password,delete i.password),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),se(i,"down")&&!se(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),se(i,"up")&&!se(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),se(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),se(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&se(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i["server-cert-fingerprint"]=i["tls-fingerprint"]),delete i["tls-fingerprint"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,i["test-url"]&&(i["benchmark-url"]=i["test-url"],delete i["test-url"]),i["test-timeout"]&&(i["benchmark-timeout"]=i["test-timeout"],delete i["test-timeout"]),delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var C9="Loon",As={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function O0(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return F9(t);case"ssr":return _9(t);case"trojan":return I9(t);case"vmess":return B9(t,n["include-unsupported-proxy"]);case"vless":return D9(t,n["include-unsupported-proxy"]);case"http":return P9(t);case"socks5":return $9(t);case"wireguard":return R9(t);case"hysteria2":return T9(t)}throw new Error(`Platform ${C9} does not support proxy type: ${t.type}`)}}}function F9(e){let t=new Ye(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),se(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function _9(e){let t=new Ye(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function I9(e){let t=new Ye(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function B9(e){let t=!!e["reality-opts"],r=new Ye(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let s=e["http-opts"]?.path,a=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(s)?s[0]:s}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(a)?a[0]:a}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),se(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=As[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function D9(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new Ye(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let a=e["http-opts"]?.path,i=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(a)?a[0]:a}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(i)?i[0]:i}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let s=As[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${s}`,"ip-version"),n.toString()}function P9(e){let t=new Ye(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function $9(e){let t=new Ye(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function R9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ye(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(c=>tr(c));let i=e.dns.find(c=>er(c));i||(i=e.dns.find(c=>!er(c)&&!tr(c))),e.dns=i}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let s=e["preshared-key"]??e["pre-shared-key"];s&&(s=`,preshared-key="${s}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${s??""}}]`);let a=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${a}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function T9(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new Ye(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=As[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function ao(){return{type:"SINGLE",produce:r=>{let n="";delete r.subName,delete r.collectionName,delete r.id,delete r.resolved,delete r["no-resolve"];for(let s in r)r[s]==null&&delete r[s];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(r.type)&&delete r.tls,!["vmess"].includes(r.type)&&r.server&&tr(r.server)&&(r.server=`[${r.server}]`),r.type){case"socks5":n=`socks://${encodeURIComponent(ct.encode(`${r.username??""}:${r.password??""}`))}@${r.server}:${r.port}#${r.name}`;break;case"ss":let s=`${r.cipher}:${r.password}`;if(n=`ss://${r.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(r.cipher)}:${encodeURIComponent(r.password)}`:ct.encode(s)}@${r.server}:${r.port}${r.plugin?"/":""}`,r.plugin){n+="?plugin=";let ue=r["plugin-opts"];switch(r.plugin){case"obfs":n+=encodeURIComponent(`simple-obfs;obfs=${ue.mode}${ue.host?";obfs-host="+ue.host:""}`);break;case"v2ray-plugin":n+=encodeURIComponent(`v2ray-plugin;obfs=${ue.mode}${ue.host?";obfs-host"+ue.host:""}${ue.tls?";tls":""}`);break;case"shadow-tls":n+=encodeURIComponent(`shadow-tls;host=${ue.host};password=${ue.password};version=${ue.version}`);break;default:throw new Error(`Unsupported plugin option: ${r.plugin}`)}}r["udp-over-tcp"]&&(n=`${n}${r.plugin?"&":"?"}uot=1`),r.tfo&&(n=`${n}${r.plugin||r["udp-over-tcp"]?"&":"?"}tfo=1`),n+=`#${encodeURIComponent(r.name)}`;break;case"ssr":n=`${r.server}:${r.port}:${r.protocol}:${r.cipher}:${r.obfs}:${ct.encode(r.password)}/`,n+=`?remarks=${ct.encode(r.name)}${r["obfs-param"]?"&obfsparam="+ct.encode(r["obfs-param"]):""}${r["protocol-param"]?"&protocolparam="+ct.encode(r["protocol-param"]):""}`,n="ssr://"+ct.encode(n);break;case"vmess":let a="",i=r.network||"tcp";if(r.network==="http"?(i="tcp",a="http"):r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(i="httpupgrade"),n={v:"2",ps:r.name,add:r.server,port:`${r.port}`,id:r.uuid,aid:`${r.alterId||0}`,scy:r.cipher,net:i,type:a,tls:r.tls?"tls":"",alpn:Array.isArray(r.alpn)?r.alpn.join(","):r.alpn,fp:r["client-fingerprint"]},r.tls&&r.sni&&(n.sni=r.sni),r.network){let ue=r[`${r.network}-opts`]?.path,Ce=r[`${r.network}-opts`]?.headers?.Host;["grpc"].includes(r.network)?(n.path=r[`${r.network}-opts`]?.["grpc-service-name"],n.type=r[`${r.network}-opts`]?.["_grpc-type"]||"gun",n.host=r[`${r.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(r.network)?(n.type=r[`${r.network}-opts`]?.[`_${r.network}-type`]||"none",n.host=r[`${r.network}-opts`]?.[`_${r.network}-host`],n.path=r[`${r.network}-opts`]?.[`_${r.network}-path`]):(ue&&(n.path=Array.isArray(ue)?ue[0]:ue),Ce&&(n.host=Array.isArray(Ce)?Ce[0]:Ce))}n="vmess://"+ct.encode(JSON.stringify(n));break;case"vless":let c="none",l=r["reality-opts"],h="",m="",A="";if(l){c="reality";let ue=r["reality-opts"]?.["public-key"];ue&&(m=`&pbk=${encodeURIComponent(ue)}`);let Ce=r["reality-opts"]?.["short-id"];Ce&&(h=`&sid=${encodeURIComponent(Ce)}`);let Oe=r["reality-opts"]?.["_spider-x"];Oe&&(A=`&spx=${encodeURIComponent(Oe)}`)}else r.tls&&(c="tls");let p="";r.alpn&&(p=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let f="";r["skip-cert-verify"]&&(f="&allowInsecure=1");let E="";r.sni&&(E=`&sni=${encodeURIComponent(r.sni)}`);let v="";r["client-fingerprint"]&&(v=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let b="";r.flow&&(b=`&flow=${encodeURIComponent(r.flow)}`);let w="";r._extra&&(w=`&extra=${encodeURIComponent(r._extra)}`);let S="";r._mode&&(S=`&mode=${encodeURIComponent(r._mode)}`);let F=r.network;r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(F="httpupgrade");let D=`&type=${encodeURIComponent(F)}`;if(["grpc"].includes(r.network)){D+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`;let ue=r[`${r.network}-opts`]?.["_grpc-authority"];ue&&(D+=`&authority=${encodeURIComponent(ue)}`)}let I=r[`${r.network}-opts`]?.[`${r.network}-service-name`],j=r[`${r.network}-opts`]?.path,q=r[`${r.network}-opts`]?.headers?.Host;j&&(D+=`&path=${encodeURIComponent(Array.isArray(j)?j[0]:j)}`),q&&(D+=`&host=${encodeURIComponent(Array.isArray(q)?q[0]:q)}`),I&&(D+=`&serviceName=${encodeURIComponent(I)}`),r.network==="kcp"&&(r.seed&&(D+=`&seed=${encodeURIComponent(r.seed)}`),r.headerType&&(D+=`&headerType=${encodeURIComponent(r.headerType)}`)),n=`vless://${r.uuid}@${r.server}:${r.port}?security=${encodeURIComponent(c)}${D}${p}${f}${E}${v}${b}${h}${A}${m}${S}${w}#${encodeURIComponent(r.name)}`;break;case"trojan":let _="";if(r.network){let ue=r.network;if(r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(ue="httpupgrade"),_=`&type=${encodeURIComponent(ue)}`,["grpc"].includes(r.network)){let sr=r[`${r.network}-opts`]?.[`${r.network}-service-name`],_t=r[`${r.network}-opts`]?.["_grpc-authority"];sr&&(_+=`&serviceName=${encodeURIComponent(sr)}`),_t&&(_+=`&authority=${encodeURIComponent(_t)}`),_+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`}let Ce=r[`${r.network}-opts`]?.path,Oe=r[`${r.network}-opts`]?.headers?.Host;Ce&&(_+=`&path=${encodeURIComponent(Array.isArray(Ce)?Ce[0]:Ce)}`),Oe&&(_+=`&host=${encodeURIComponent(Array.isArray(Oe)?Oe[0]:Oe)}`)}let P="";r["client-fingerprint"]&&(P=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let k="";r.alpn&&(k=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let U=r["reality-opts"],M="",W="",K="",V="",z="",ne="";if(U){V="&security=reality";let ue=r["reality-opts"]?.["public-key"];ue&&(W=`&pbk=${encodeURIComponent(ue)}`);let Ce=r["reality-opts"]?.["short-id"];Ce&&(M=`&sid=${encodeURIComponent(Ce)}`);let Oe=r["reality-opts"]?.["_spider-x"];Oe&&(K=`&spx=${encodeURIComponent(Oe)}`),r._extra&&(ne=`&extra=${encodeURIComponent(r._extra)}`),r._mode&&(z=`&mode=${encodeURIComponent(r._mode)}`)}n=`trojan://${r.password}@${r.server}:${r.port}?sni=${encodeURIComponent(r.sni||r.server)}${r["skip-cert-verify"]?"&allowInsecure=1":""}${_}${k}${P}${V}${M}${W}${K}${z}${ne}#${encodeURIComponent(r.name)}`;break;case"hysteria2":let Ee=[];r["hop-interval"]&&Ee.push(`hop-interval=${r["hop-interval"]}`),r.keepalive&&Ee.push(`keepalive=${r.keepalive}`),r["skip-cert-verify"]&&Ee.push("insecure=1"),r.obfs&&(Ee.push(`obfs=${encodeURIComponent(r.obfs)}`),r["obfs-password"]&&Ee.push(`obfs-password=${encodeURIComponent(r["obfs-password"])}`)),r.sni&&Ee.push(`sni=${encodeURIComponent(r.sni)}`),r.ports&&Ee.push(`mport=${r.ports}`),r["tls-fingerprint"]&&Ee.push(`pinSHA256=${encodeURIComponent(r["tls-fingerprint"])}`),r.tfo&&Ee.push("fastopen=1"),n=`hysteria2://${encodeURIComponent(r.password)}@${r.server}:${r.port}?${Ee.join("&")}#${encodeURIComponent(r.name)}`;break;case"hysteria":let we=[];Object.keys(r).forEach(ue=>{if(!["name","type","server","port"].includes(ue)){let Ce=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&we.push(`${Ce}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&we.push("insecure=1"):["tfo","fast-open"].includes(ue)?r[ue]&&!we.includes("fastopen=1")&&we.push("fastopen=1"):["ports"].includes(ue)?we.push(`mport=${r[ue]}`):["auth-str"].includes(ue)?we.push(`auth=${r[ue]}`):["up"].includes(ue)?we.push(`upmbps=${r[ue]}`):["down"].includes(ue)?we.push(`downmbps=${r[ue]}`):["_obfs"].includes(ue)?we.push(`obfs=${r[ue]}`):["obfs"].includes(ue)?we.push(`obfsParam=${r[ue]}`):["sni"].includes(ue)?we.push(`peer=${r[ue]}`):r[ue]&&!/^_/i.test(ue)&&we.push(`${Ce}=${encodeURIComponent(r[ue])}`)}}),n=`hysteria://${r.server}:${r.port}?${we.join("&")}#${encodeURIComponent(r.name)}`;break;case"tuic":if(!r.token||r.token.length===0){let ue=[];Object.keys(r).forEach(Ce=>{if(!["name","type","uuid","password","server","port","tls"].includes(Ce)){let Oe=Ce.replace(/-/,"_");["alpn"].includes(Ce)?r[Ce]&&ue.push(`${Oe}=${encodeURIComponent(Array.isArray(r[Ce])?r[Ce][0]:r[Ce])}`):["skip-cert-verify"].includes(Ce)?r[Ce]&&ue.push("allow_insecure=1"):["tfo","fast-open"].includes(Ce)?r[Ce]&&!ue.includes("fast_open=1")&&ue.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(Ce)&&r[Ce]?ue.push(`${Oe.replace(/-/g,"_")}=1`):["congestion-controller"].includes(Ce)?ue.push(`congestion_control=${r[Ce]}`):r[Ce]&&!/^_/i.test(Ce)&&ue.push(`${Oe.replace(/-/g,"_")}=${encodeURIComponent(r[Ce])}`)}}),n=`tuic://${encodeURIComponent(r.uuid)}:${encodeURIComponent(r.password)}@${r.server}:${r.port}?${ue.join("&")}#${encodeURIComponent(r.name)}`}break;case"anytls":let _e=[];Object.keys(r).forEach(ue=>{if(!["name","type","password","server","port","tls"].includes(ue)){let Ce=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&_e.push(`${Ce}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&_e.push("insecure=1"):["udp"].includes(ue)?r[ue]&&_e.push("udp=1"):r[ue]&&!/^_/i.test(ue)&&_e.push(`${Ce.replace(/-/g,"_")}=${encodeURIComponent(r[ue])}`)}}),n=`anytls://${encodeURIComponent(r.password)}@${r.server}:${r.port}/?${_e.join("&")}#${encodeURIComponent(r.name)}`;break;case"wireguard":let He=[];Object.keys(r).forEach(ue=>{["name","type","server","port","ip","ipv6","private-key"].includes(ue)||(["public-key"].includes(ue)?He.push(`publickey=${r[ue]}`):["udp"].includes(ue)?r[ue]&&He.push(`${ue}=1`):r[ue]&&!/^_/i.test(ue)&&He.push(`${ue}=${encodeURIComponent(r[ue])}`))}),r.ip&&r.ipv6?He.push(`address=${r.ip}/32,${r.ipv6}/128`):r.ip?He.push(`address=${r.ip}/32`):r.ipv6&&He.push(`address=${r.ipv6}/128`),n=`wireguard://${encodeURIComponent(r["private-key"])}@${r.server}:${r.port}/?${He.join("&")}#${encodeURIComponent(r.name)}`;break}return n}}}var x9=ao();function _c(){return{type:"ALL",produce:r=>{let n=[];return r.map(s=>{try{n.push(x9.produce(s))}catch(a){J.error(`Cannot produce proxy: ${JSON.stringify(s,null,2)} +Reason: ${a}`)}}),ct.encode(n.join(` +`))}}}var O9="QX";function Ic(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return k9(t);case"ssr":return N9(t);case"trojan":return L9(t);case"vmess":return U9(t);case"http":return j9(t);case"socks5":return M9(t);case"vless":return H9(t)}throw new Error(`Platform ${O9} does not support proxy type: ${t.type}`)}}}function k9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),Bn(e)&&(e.tls=!0),se(e,"plugin")){if(e.plugin==="obfs"){let s=e["plugin-opts"];r(`,obfs=${s.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function N9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function L9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),se(e,"network"))if(e.network==="ws")Bn(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&Bn(e)&&r(",over-tls=true"),Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function U9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let s;if(e.cipher==="auto"?s="chacha20-ietf-poly1305":s=e.cipher,r(`,method=${s}`),r(`,password=${e.uuid}`),Bn(e)&&(e.tls=!0),se(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(i)?i[0]:i}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),se(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function H9(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),Bn(e)&&(e.tls=!0),se(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(i)?i[0]:i}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function j9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Bn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function M9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Bn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Bn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Bn(e){return e.tls}function Bc(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"?!1:!["mieru"].includes(i.type)).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="hysteria2"?(i["obfs-password"]&&i.obfs=="salamander"&&(i.obfs=i["obfs-password"],delete i["obfs-password"]),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?se(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&se(i,"shadow-tls-password")&&!se(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var q9="Surfboard";function kf(){return{produce:t=>{switch(t.name=t.name.replace(/=|,/g,""),t.type){case"ss":return K9(t);case"trojan":return V9(t);case"vmess":return G9(t);case"http":return z9(t);case"socks5":return W9(t);case"wireguard-surge":return Y9(t)}throw new Error(`Platform ${q9} does not support proxy type: ${t.type}`)}}}function K9(e){let t=new Ye(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),se(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function V9(e){let t=new Ye(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),J2(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function G9(e){let t=new Ye(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),J2(t,e),se(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function z9(e){let t=new Ye(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function W9(e){let t=new Ye(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function Y9(e){let t=new Ye(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function J2(e,t){if(se(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),se(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),se(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(s=>{let a=r[s];return["Host"].includes(s)&&(a=`"${a}"`),`${s}:${a}`}).join("|");Ai(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var ln=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},Es=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},Dn=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},Ti=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},k0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:s={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(s).length>0){let a={};for(let c of Object.keys(s)){let l=s[c];l!==""&&(Array.isArray(l)||(l=[`${l}`]),l.length>0&&(a[c]=l))}let{Host:i}=a;if(i.length===1)for(let c of`Host:${i[0]}`.split(` +`)){let[l,h]=c.split(":");h.trim()!==""&&(a[l.trim()]=h.trim().split(","))}r.headers=a}}if(e["ws-headers"]){let n={};for(let a of Object.keys(e["ws-headers"])){let i=e["ws-headers"][a];i!==""&&(Array.isArray(i)||(i=[`${i}`]),i.length>0&&(n[a]=i))}let{Host:s}=n;if(s.length===1)for(let a of`Host:${s[0]}`.split(` +`)){let[i,c]=a.split(":");c.trim()!==""&&(n[i.trim()]=c.trim().split(","))}for(let a of Object.keys(n))r.headers[a]=n[a]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[s,a="",i=""]=n.exec(r.path);r.path=a,i!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(i,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let s=r.headers[n];s.length===1&&(r.headers[n]=s[0])}t.transport=r},X9=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:s="",headers:a={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(s)?r.path=`${s[0]}`:s!==""&&(r.path=`${s}`);for(let i of Object.keys(a)){let c=a[i];if(c!==""){if(i.toLowerCase()==="host"){let l=c;Array.isArray(l)||(l=`${l}`.split(",").map(h=>h.trim())),l.length>0&&(r.host=l);continue}Array.isArray(c)||(c=`${c}`.split(",").map(l=>l.trim())),c.length>0&&(r.headers[i]=c)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(s=>s.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let s=r.headers[n];s.length===1&&(r.headers[n]=s[0])}t.transport=r}},J9=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:s=""}=e["h2-opts"];s!==""&&(r.path=`${s}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(a=>a.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(s=>s.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},N0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},Vs=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},Z9=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),Dn(e,t),ln(e,t),t},Q9=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),Dn(e,t),ln(e,t),Vs(e,t),t},eB=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),Es(e,t),Dn(e,t),ln(e,t),t},tB=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),Dn(e,r),ln(e,r),Ti(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},rB=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),Es(e,t),Dn(e,t),ln(e,t),Ti(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},nB=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),Dn(e,t),ln(e,t),Ti(e.smux,t),t},iB=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&k0(e,t),e.network==="h2"&&J9(e,t),e.network==="http"&&X9(e,t),e.network==="grpc"&&N0(e,t),Es(e,t),Dn(e,t),ln(e,t),Vs(e,t),Ti(e.smux,t),t},sB=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&k0(e,t),e.network==="grpc"&&N0(e,t),Es(e,t),Dn(e,t),ln(e,t),Ti(e.smux,t),Vs(e,t),t},aB=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&N0(e,t),e.network==="ws"&&k0(e,t),Es(e,t),Dn(e,t),ln(e,t),Vs(e,t),Ti(e.smux,t),t},uB=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),Es(e,t),Vs(e,t),ln(e,t),Dn(e,t),Ti(e.smux,t),t},oB=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,Es(e,t),Vs(e,t),Dn(e,t),ln(e,t),Ti(e.smux,t),t},cB=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),Es(e,t),Dn(e,t),ln(e,t),Vs(e,t),Ti(e.smux,t),t},lB=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),ln(e,t),Vs(e,t),t},fB=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(er(n))return`${n}/32`;if(tr(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let s={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")s.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let a of n.reserved)s.reserved.push(a);else delete s.reserved;n["pre-shared-key"]&&(s.pre_shared_key=n["pre-shared-key"]),r.peers.push(s)}}return Es(e,r),Dn(e,r),ln(e,r),Ti(e.smux,r),r};function Nf(){return{type:"ALL",produce:(r,n,s={})=>{let a=[];return In().produce(r,"internal",{"include-unsupported-proxy":!0}).map(i=>{try{switch(i.type){case"ssh":a.push(Z9(i));break;case"http":a.push(Q9(i));break;case"socks5":if(i.tls)throw new Error(`Platform sing-box does not support proxy type: ${i.type} with tls`);a.push(eB(i));break;case"ss":if(i.plugin==="shadow-tls"){let{ssPart:c,stPart:l}=tB(i);a.push(c),a.push(l)}else a.push(rB(i));break;case"ssr":if(s["include-unsupported-proxy"])a.push(nB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type}`);break;case"vmess":if(!i.network||["ws","grpc","h2","http"].includes(i.network))a.push(iB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with network ${i.network}`);break;case"vless":if(!i.flow||["xtls-rprx-vision"].includes(i.flow))a.push(sB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"trojan":if(!i.flow)a.push(aB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"hysteria":a.push(uB(i));break;case"hysteria2":a.push(oB(i,s["include-unsupported-proxy"]));break;case"tuic":if(!i.token||i.token.length===0)a.push(cB(i));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":a.push(fB(i));break;case"anytls":a.push(lB(i));break;default:throw new Error(`Platform sing-box does not support proxy type: ${i.type}`)}}catch(c){J.error(c.message??c)}}),n==="internal"?a:JSON.stringify({outbounds:a},null,2)}}}function Lf(){return{type:"ALL",produce:(r,n)=>{let s=r.filter(a=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(a.type)||a.type==="ss"&&(a.plugin==="obfs"&&!["http","tls"].includes(a["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(a.cipher))||a.type==="vmess"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="trojan"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="vless"&&(typeof a.flow<"u"||a["reality-opts"]||!["http","ws","tcp"].includes(a.network)&&a.network)||a.type==="tuic"&&a.token&&a.token.length!==0)).map(a=>{let i={...a};a.tls&&!a.sni&&(a.sni=a.server);let c=a.prev_hop||a["underlying-proxy"]||a["dialer-proxy"]||a.detour;if(a.type==="http")a={type:"http",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],next_hop:a.next_hop};else if(a.type==="socks5")a={type:"socks5",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop};else if(a.type==="ss")a={type:"shadowsocks",name:a.name,method:a.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":a.cipher,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop},i.plugin==="obfs"&&(a.obfs=i["plugin-opts"].mode,a.obfs_host=i["plugin-opts"].host,a.obfs_uri=i["plugin-opts"].path);else if(a.type==="hysteria2")a={type:"hysteria2",name:a.name,server:a.server,port:a.port,auth:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]},i["obfs-password"]&&i.obfs=="salamander"&&(a.obfs="salamander",a.obfs_password=i["obfs-password"]);else if(a.type==="tuic")a={type:"tuic",name:a.name,server:a.server,port:a.port,uuid:a.uuid,password:a.password,next_hop:a.next_hop,sni:a.sni,alpn:Array.isArray(a.alpn)?a.alpn:[a.alpn||"h3"],skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]};else if(a.type==="trojan")a.network==="ws"&&(a.websocket={path:a["ws-opts"]?.path,host:a["ws-opts"]?.headers?.Host}),a={type:"trojan",name:a.name,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],websocket:a.websocket};else if(a.type==="vmess"){let l=a.cipher;l&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(l)&&(l="auto"),a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http1:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:a.network==="h2"?a.transport={http2:{method:a["h2-opts"]?.method,path:Array.isArray(a["h2-opts"]?.path)?a["h2-opts"]?.path[0]:a["h2-opts"]?.path,headers:{Host:Array.isArray(a["h2-opts"]?.headers?.Host)?a["h2-opts"]?.headers?.Host[0]:a["h2-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&a.tls&&(a.transport={tls:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vmess",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:l,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport}}else a.type==="vless"&&(a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&(a.transport={[a.tls?"tls":"tcp"]:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vless",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:a.cipher,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(i.type)){if(se(i,"shadow-tls-password")){if(i["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${i["shadow-tls-version"]} is not supported`);a.shadow_tls={password:i["shadow-tls-password"],sni:i["shadow-tls-sni"]}}else if(["shadow-tls"].includes(i.plugin)&&i["plugin-opts"]){if(i["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${i["plugin-opts"].version} is not supported`);a.shadow_tls={password:i["plugin-opts"].password,sni:i["plugin-opts"].host}}}if(delete a.subName,delete a.collectionName,delete a.id,delete a.resolved,delete a["no-resolve"],n!=="internal")for(let l in a)(a[l]==null||/^_/i.test(l))&&delete a[l];return{[a.type]:{...a,type:void 0,prev_hop:c}}});return n==="internal"?s:`proxies: +`+s.map(a=>" - "+JSON.stringify(a)+` +`).join("")}}}function Z2(){return{type:"ALL",produce:(r,n)=>n==="internal"?r:JSON.stringify(r,null,2)}}var Q2={qx:Ic(),QX:Ic(),QuantumultX:Ic(),surge:so(),Surge:so(),SurgeMac:T0(),Loon:O0(),Clash:x0(),meta:In(),clashmeta:In(),"clash.meta":In(),"Clash.Meta":In(),ClashMeta:In(),mihomo:In(),Mihomo:In(),uri:ao(),URI:ao(),v2:_c(),v2ray:_c(),V2Ray:_c(),json:Z2(),JSON:Z2(),stash:Of(),Stash:Of(),shadowrocket:Bc(),Shadowrocket:Bc(),ShadowRocket:Bc(),surfboard:kf(),Surfboard:kf(),singbox:Nf(),"sing-box":Nf(),egern:Lf(),Egern:Lf()};var sA=jn(Oc()),ED=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,nd;function $n(){return nd||(nd=sA.generate(ED)),nd}var aA=jn(Oc()),yD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,sd;function xi(){return sd||(sd=aA.generate(yD)),sd}var uA=jn(Oc()),SD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,ad;function Ss(){return ad||(ad=uA.generate(SD)),ad}var oA=jn(Oc()),bD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,ud;function od(){return ud||(ud=oA.generate(bD)),ud}function cA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function CD(){return{name:"URI PROXY Parser",test:n=>/^(socks5\+tls|socks5|http|https):\/\//.test(n),parse:n=>{let[s,a,i,c,l,h,m,A,p]=n.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(m)m=parseInt(m,10);else{if(i)m=443;else if(a==="http")m=80;else throw J.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);J.info(`port is not present in line: ${n}, set to ${m}`)}return{name:p!=null?decodeURIComponent(p):`${a} ${h}:${m}`,type:a,tls:!!i,server:h,port:m,username:c!=null?decodeURIComponent(c):void 0,password:l!=null?decodeURIComponent(l):void 0}}}}function FD(){return{name:"URI SOCKS Parser",test:n=>/^socks:\/\//.test(n),parse:n=>{let[s,a,i,c,l,h,m]=n.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(l)l=parseInt(l,10);else throw J.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);let A,p;if(i){let E=ct.decode(decodeURIComponent(i)).split(":");A=E[0],p=E[1]}return{name:m!=null?decodeURIComponent(m):`${a} ${c}:${l}`,type:"socks5",server:c,port:l,username:A,password:p}}}}function _D(){return{name:"URI SS Parser",test:n=>/^ss:\/\//.test(n),parse:n=>{let s=n.split("ss://")[1],a=n.split("#")[1],i={type:"ss"};s=s.split("#")[0];let c=s.match(/@([^/?]*)(\/|\?|$)/),l=decodeURIComponent(s.split("@")[0]),h;l?.startsWith("2022-blake3-")?h=l:h=ct.decode(l);let m="";if(c)s.includes("?")&&(m=s.match(/(\?.*)$/)[1]);else{if(s.includes("?")){let b=s.match(/^(.*)(\?.*)$/);s=b[1],m=b[2]}if(s=ct.decode(s),m){if(/(&|\?)v2ray-plugin=/.test(m)){let w=m.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(i.plugin="v2ray-plugin",i["plugin-opts"]=JSON.parse(ct.decode(w)))}s=`${s}${m}`}h=s.match(/(^.*)@/)?.[1],c=s.match(/@([^/@]*)(\/|$)/)}let A=c[1],p=A.lastIndexOf(":");i.server=A.substring(0,p),i.port=`${A.substring(p+1)}`.match(/\d+/)?.[0];let f=h.match(/(^.*?):(.*$)/);i.cipher=f?.[1],i.password=f?.[2];let E=s.match(/[?&]plugin=([^&]+)/),v=s.match(/[?&]shadow-tls=([^&]+)/);if(E){let b=("plugin="+decodeURIComponent(E[1])).split(";"),w={};for(let S of b){let[F,D]=S.split("=");F&&(w[F]=D||!0)}switch(w.plugin){case"obfs-local":case"simple-obfs":i.plugin="obfs",i["plugin-opts"]={mode:w.obfs,host:Ft(w["obfs-host"])};break;case"v2ray-plugin":i.plugin="v2ray-plugin",i["plugin-opts"]={mode:"websocket",host:Ft(w["obfs-host"]),path:Ft(w.path),tls:Tu(w.tls)};break;case"shadow-tls":{i.plugin="shadow-tls";let S=Ft(w.version);i["plugin-opts"]={host:Ft(w.host),password:Ft(w.password),version:S?parseInt(S,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${w.plugin}`)}}if(v){let b=JSON.parse(ct.decode(v[1])),w=Ft(b.version),S=Ft(b.address),F=Ft(b.port);i.plugin="shadow-tls",i["plugin-opts"]={host:Ft(b.host),password:Ft(b.password),version:w?parseInt(w,10):void 0},S&&(i.server=S),F&&(i.port=parseInt(F,10))}return/(&|\?)uot=(1|true)/i.test(m)&&(i["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(m)&&(i.tfo=!0),a!=null&&(a=decodeURIComponent(a)),i.name=a??`SS ${i.server}:${i.port}`,i}}}function ID(){return{name:"URI SSR Parser",test:n=>/^ssr:\/\//.test(n),parse:n=>{n=ct.decode(n.split("ssr://")[1]);let s=n.indexOf(":origin");s===-1&&(s=n.indexOf(":auth_"));let a=n.substring(0,s),i=a.substring(0,a.lastIndexOf(":")),c=a.substring(a.lastIndexOf(":")+1),l=n.substring(s+1).split("/?")[0].split(":"),h={type:"ssr",server:i,port:c,protocol:l[0],cipher:l[1],obfs:l[2],password:ct.decode(l[3])},m={};if(n=n.split("/?")[1].split("&"),n.length>1)for(let A of n){let[p,f]=A.split("=");f=f.trim(),f.length>0&&f!=="(null)"&&(m[p]=f)}return h={...h,name:m.remarks?ct.decode(m.remarks):h.server,"protocol-param":Ft(ct.decode(m.protoparam||"").replace(/\s/g,"")),"obfs-param":Ft(ct.decode(m.obfsparam||"").replace(/\s/g,""))},h}}}function BD(){return{name:"URI VMess Parser",test:n=>/^vmess:\/\//.test(n),parse:n=>{n=n.split("vmess://")[1];let s=ct.decode(n.replace(/\?.*?$/,""));if(/=\s*vmess/.test(s)){let a=s.split(",").map(l=>l.trim()),i={};for(let l of a)if(l.indexOf("=")!==-1){let[h,m]=l.split("=");i[h.trim()]=m.trim()}let c={name:a[0].split("=")[0].trim(),type:"vmess",server:a[1],port:a[2],cipher:Ft(a[3],"auto"),uuid:a[4].match(/^"(.*)"$/)[1],tls:i.obfs==="wss",udp:Tu(i["udp-relay"]),tfo:Tu(i["fast-open"]),"skip-cert-verify":Ru(i["tls-verification"])?!i["tls-verification"]:void 0};if(Ru(i.obfs))if(i.obfs==="ws"||i.obfs==="wss"){c.network="ws",c["ws-opts"].path=(Ft(i["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let l=i["obfs-header"];l&&l.indexOf("Host")!==-1&&(l=l.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),Ai(l)&&(c["ws-opts"].headers={Host:l})}else throw new Error(`Unsupported obfs: ${i.obfs}`);return c}else{let a={};try{a=JSON.parse(s)}catch{let[A,p,f]=/(^[^?]+?)\/?\?(.*)$/.exec(n);s=ct.decode(p);for(let F of f.split("&")){let[D,I]=F.split("="),j=I;j=decodeURIComponent(I),j.indexOf(",")===-1?a[D]=j:a[D]=j.split(",")}let[E,v,b,w,S]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(s);a.scy=v,a.id=b,a.port=S,a.add=w}let i=a.add,c=parseInt(Tu(a.port),10),l={name:a.ps??a.remarks??a.remark??`VMess ${i}:${c}`,type:"vmess",server:i,port:c,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(a.scy)?a.scy:"auto",uuid:a.id,alterId:parseInt(Tu(a.aid??a.alterId,0),10),tls:["tls",!0,1,"1"].includes(a.tls),"skip-cert-verify":Ru(a.verify_cert)?!a.verify_cert:void 0};!l["skip-cert-verify"]&&Ru(a.allowInsecure)&&(l["skip-cert-verify"]=/(TRUE)|1/i.test(a.allowInsecure)),l.tls&&(a.sni&&a.sni!==""?l.sni=a.sni:a.peer&&a.peer!==""&&(l.sni=a.peer));let h=!1;if(a.net==="ws"||a.obfs==="websocket"?l.network="ws":["http"].includes(a.net)||["http"].includes(a.obfs)||["http"].includes(a.type)?l.network="http":["grpc","kcp","quic"].includes(a.net)?l.network=a.net:a.net==="httpupgrade"||l.network==="httpupgrade"?(l.network="ws",h=!0):(a.net==="h2"||l.network==="h2")&&(l.network="h2"),l.network){let m=a.host??a.obfsParam;try{let f=JSON.parse(m)?.Host;f&&(m=f)}catch{}let A=a.path;if(["ws"].includes(l.network)&&(A=A||"/"),l.network==="http"&&(m&&(m=m.split(",").map(p=>p.trim()),m=Array.isArray(m)?m[0]:m),A?A=Array.isArray(A)?A[0]:A:A="/"),A||m||["kcp","quic"].includes(l.network))if(["grpc"].includes(l.network))l[`${l.network}-opts`]={"grpc-service-name":Ft(A),"_grpc-type":Ft(a.type),"_grpc-authority":Ft(a.authority)};else if(["kcp","quic"].includes(l.network))l[`${l.network}-opts`]={[`_${l.network}-type`]:Ft(a.type),[`_${l.network}-host`]:Ft(Ft(m)),[`_${l.network}-path`]:Ft(A)};else{let p={path:Ft(A),headers:{Host:Ft(m)}};h&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),l[`${l.network}-opts`]=p}else delete l.network}return l["client-fingerprint"]=a.fp,l.alpn=a.alpn?a.alpn.split(","):void 0,l}}}}function DD(){return{name:"URI VLESS Parser",test:n=>/^vless:\/\//.test(n),parse:n=>{n=n.split("vless://")[1];let s,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);if(!a){let[b,w,S]=/^(.*?)(\?.*?$)/.exec(n);n=`${ct.decode(w)}${S}`,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n),s=!0}let[i,c,l,h,m,A="",p]=a;s&&(c=c.replace(/^.*?:/g,"")),h=parseInt(`${h}`,10),c=decodeURIComponent(c),p!=null&&(p=decodeURIComponent(p));let f={type:"vless",name:p,server:l,port:h,uuid:c},E={};for(let b of A.split("&")){let[w,S]=b.split("="),F=S;F=decodeURIComponent(S),E[w]=F}if(f.name=p??E.remarks??E.remark??`VLESS ${l}:${h}`,f.tls=E.security&&E.security!=="none",s&&/TRUE|1/i.test(E.tls)&&(f.tls=!0,E.security=E.security??"reality"),f.sni=E.sni||E.peer,f.flow=E.flow,!f.flow&&s&&E.xtls){let b=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][E.xtls];b&&(f.flow=b)}if(f["client-fingerprint"]=E.fp,f.alpn=E.alpn?E.alpn.split(","):void 0,f["skip-cert-verify"]=/(TRUE)|1/i.test(E.allowInsecure),["reality"].includes(E.security)){let b={};E.pbk&&(b["public-key"]=E.pbk),E.sid&&(b["short-id"]=E.sid),E.spx&&(b["_spider-x"]=E.spx),Object.keys(b).length>0&&(f[`${E.security}-opts`]=b)}let v=!1;if(f.network=E.type,f.network==="tcp"&&E.headerType==="http"?f.network="http":f.network==="httpupgrade"&&(f.network="ws",v=!0),!f.network&&s&&E.obfs&&(f.network=E.obfs,["none"].includes(f.network)&&(f.network="tcp")),["websocket"].includes(f.network)&&(f.network="ws"),f.network&&!["tcp","none"].includes(f.network)){let b={},w=E.host??E.obfsParam;if(w)if(E.obfsParam)try{let S=JSON.parse(w);b.headers=S}catch{b.headers={Host:w}}else b.headers={Host:w};E.serviceName?(b[`${f.network}-service-name`]=E.serviceName,["grpc"].includes(f.network)&&E.authority&&(b["_grpc-authority"]=E.authority)):s&&E.path&&(["ws","http","h2"].includes(f.network)||(b[`${f.network}-service-name`]=E.path,delete E.path)),E.path&&(b.path=E.path),["grpc"].includes(f.network)&&(b["_grpc-type"]=E.mode||"gun"),v&&(b["v2ray-http-upgrade"]=!0,b["v2ray-http-upgrade-fast-open"]=!0),Object.keys(b).length>0&&(f[`${f.network}-opts`]=b),f.network==="kcp"&&(E.seed&&(f.seed=E.seed),f.headerType=E.headerType||"none"),E.mode&&(f._mode=E.mode),E.extra&&(f._extra=E.extra)}return f}}}function PD(){return{name:"URI AnyTLS Parser",test:n=>/^anytls:\/\//.test(n),parse:n=>{n=n.split(/anytls:\/\//)[1];let[s,a,i,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a),c=parseInt(`${c}`,10),isNaN(c)&&(c=443),a=decodeURIComponent(a),h!=null&&(h=decodeURIComponent(h)),h=h??`AnyTLS ${i}:${c}`;let m={type:"anytls",name:h,server:i,port:c,password:a};for(let A of l.split("&")){let[p,f]=A.split("=");p=p.replace(/_/g,"-"),f=decodeURIComponent(f),["alpn"].includes(p)?m[p]=f?f.split(","):void 0:["insecure"].includes(p)?m["skip-cert-verify"]=/(TRUE)|1/i.test(f):["udp"].includes(p)?m[p]=/(TRUE)|1/i.test(f):m[p]=f}return m}}}function $D(){return{name:"URI Hysteria2 Parser",test:n=>/^(hysteria2|hy2):\/\//.test(n),parse:n=>{n=n.split(/(hysteria2|hy2):\/\//)[2];let s,[a,i,c,l,h,m,A,p,f,E,v="",b]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);/^\d+$/.test(h)?(h=parseInt(`${h}`,10),isNaN(h)&&(h=443)):h?(s=h,h=nc(s)):h=443,i=decodeURIComponent(i),b!=null&&(b=decodeURIComponent(b)),b=b??`Hysteria2 ${c}:${h}`;let w={type:"hysteria2",name:b,server:c,port:h,ports:s,password:i},S={};for(let I of v.split("&")){let[j,q]=I.split("="),_=q;_=decodeURIComponent(q),S[j]=_}w.sni=S.sni,!w.sni&&S.peer&&(w.sni=S.peer),S.obfs&&S.obfs!=="none"&&(w.obfs=S.obfs),S.mport&&(w.ports=S.mport),w["obfs-password"]=S["obfs-password"],w["skip-cert-verify"]=/(TRUE)|1/i.test(S.insecure),w.tfo=/(TRUE)|1/i.test(S.fastopen),w["tls-fingerprint"]=S.pinSHA256;let F=S["hop-interval"]||S.hop_interval;/^\d+$/.test(F)&&(w["hop-interval"]=parseInt(`${F}`,10));let D=S.keepalive;return/^\d+$/.test(D)&&(w.keepalive=parseInt(`${D}`,10)),w}}}function RD(){return{name:"URI Hysteria Parser",test:n=>/^(hysteria|hy):\/\//.test(n),parse:n=>{n=n.split(/(hysteria|hy):\/\//)[2];let[s,a,i,c,l,h="",m]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);c=parseInt(`${c}`,10),isNaN(c)&&(c=443),m!=null&&(m=decodeURIComponent(m)),m=m??`Hysteria ${a}:${c}`;let A={type:"hysteria",name:m,server:a,port:c},p={};for(let f of h.split("&")){let[E,v]=f.split("=");E=E.replace(/_/,"-"),v=decodeURIComponent(v),["alpn"].includes(E)?A[E]=v?v.split(","):void 0:["insecure"].includes(E)?A["skip-cert-verify"]=/(TRUE)|1/i.test(v):["auth"].includes(E)?A["auth-str"]=v:["mport"].includes(E)?A.ports=v:["obfsParam"].includes(E)?A.obfs=v:["upmbps"].includes(E)?A.up=v:["downmbps"].includes(E)?A.down=v:["obfs"].includes(E)?A._obfs=v||"":["fast-open","peer"].includes(E)?p[E]=v:A[E]=v}return!A.sni&&p.peer&&(A.sni=p.peer),!A["fast-open"]&&p.fastopen&&(A["fast-open"]=!0),A.protocol||(A.protocol="udp"),A}}}function TD(){return{name:"URI TUIC Parser",test:n=>/^tuic:\/\//.test(n),parse:n=>{n=n.split(/tuic:\/\//)[1];let[s,a,i,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a);let[m,...A]=a.split(":"),p=A.join(":");c=parseInt(`${c}`,10),isNaN(c)&&(c=443),p=decodeURIComponent(p),h!=null&&(h=decodeURIComponent(h)),h=h??`TUIC ${i}:${c}`;let f={type:"tuic",name:h,server:i,port:c,password:p,uuid:m};for(let E of l.split("&")){let[v,b]=E.split("=");v=v.replace(/_/g,"-"),b=decodeURIComponent(b),["alpn"].includes(v)?f[v]=b?b.split(","):void 0:["allow-insecure"].includes(v)?f["skip-cert-verify"]=/(TRUE)|1/i.test(b):["fast-open"].includes(v)?f.tfo=!0:["disable-sni","reduce-rtt"].includes(v)?f[v]=/(TRUE)|1/i.test(b):v==="congestion-control"?(f["congestion-controller"]=b,delete f[v]):f[v]=b}return f}}}function xD(){return{name:"URI WireGuard Parser",test:n=>/^(wireguard|wg):\/\//.test(n),parse:n=>{n=n.split(/(wireguard|wg):\/\//)[2];let[s,a,i,c,l,h,m,A="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);h=parseInt(`${h}`,10),isNaN(h)&&(h=51820),i=decodeURIComponent(i),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${c}:${h}`;let f={type:"wireguard",name:p,server:c,port:h,"private-key":i,udp:!0};for(let E of A.split("&")){let[v,b]=E.split("=");if(v=v.replace(/_/,"-"),b=decodeURIComponent(b),["reserved"].includes(v)){let w=b.split(",").map(S=>parseInt(S.trim(),10)).filter(S=>Number.isInteger(S));w.length===3&&(f[v]=w)}else if(["address","ip"].includes(v))b.split(",").map(w=>{let S=w.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");er(S)?f.ip=S:tr(S)&&(f.ipv6=S)});else if(["mtu"].includes(v)){let w=parseInt(b.trim(),10);Number.isInteger(w)&&(f[v]=w)}else/publickey/i.test(v)?f["public-key"]=b:/privatekey/i.test(v)?f["private-key"]=b:["udp"].includes(v)?f[v]=/(TRUE)|1/i.test(b):["flag"].includes(v)||(f[v]=b)}return f}}}function OD(){return{name:"URI Trojan Parser",test:n=>/^trojan:\/\//.test(n),parse:n=>{let s=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(n);s?.[2]||(n=n.replace(s[1],`${s[1]}:443`));let[i,c]=n.split(/#(.+)/,2),h=od().parse(i);if(Ai(c))try{h.name=decodeURIComponent(c)}catch(m){console.log(m)}return h}}}function kD(){return{name:"Clash Parser",test:n=>{try{JSON.parse(n)}catch{return!1}return!0},parse:n=>{let s=JSON.parse(n);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(s.type))throw new Error(`Clash does not support proxy with type: ${s.type}`);return["vmess","vless"].includes(s.type)&&(s.sni=s.servername,delete s.servername),s["server-cert-fingerprint"]&&(s["tls-fingerprint"]=s["server-cert-fingerprint"]),s.fingerprint&&(s["tls-fingerprint"]=s.fingerprint),s["dialer-proxy"]&&(s["underlying-proxy"]=s["dialer-proxy"]),s["benchmark-url"]&&(s["test-url"]=s["benchmark-url"]),s["benchmark-timeout"]&&(s["test-timeout"]=s["benchmark-timeout"]),s}}}function ND(){return{name:"QX SS Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")===-1,parse:n=>Ss().parse(n)}}function LD(){return{name:"QX SSR Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")!==-1,parse:n=>Ss().parse(n)}}function UD(){return{name:"QX VMess Parser",test:n=>/^vmess\s*=/.test(n.split(",")[0].trim()),parse:n=>Ss().parse(n)}}function HD(){return{name:"QX VLESS Parser",test:n=>/^vless\s*=/.test(n.split(",")[0].trim()),parse:n=>Ss().parse(n)}}function jD(){return{name:"QX Trojan Parser",test:n=>/^trojan\s*=/.test(n.split(",")[0].trim()),parse:n=>Ss().parse(n)}}function MD(){return{name:"QX HTTP Parser",test:n=>/^http\s*=/.test(n.split(",")[0].trim()),parse:n=>Ss().parse(n)}}function qD(){return{name:"QX Socks5 Parser",test:n=>/^socks5\s*=/.test(n.split(",")[0].trim()),parse:n=>Ss().parse(n)}}function KD(){return{name:"Loon SS Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:n=>xi().parse(n)}}function VD(){return{name:"Loon SSR Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:n=>xi().parse(n)}}function GD(){return{name:"Loon VMess Parser",test:n=>/^.*=\s*vmess/i.test(n.split(",")[0])&&n.indexOf("username")===-1,parse:n=>xi().parse(n)}}function zD(){return{name:"Loon Vless Parser",test:n=>/^.*=\s*vless/i.test(n.split(",")[0]),parse:n=>xi().parse(n)}}function WD(){return{name:"Loon Trojan Parser",test:n=>/^.*=\s*trojan/i.test(n.split(",")[0]),parse:n=>xi().parse(n)}}function YD(){return{name:"Loon Hysteria2 Parser",test:n=>/^.*=\s*Hysteria2/i.test(n.split(",")[0]),parse:n=>xi().parse(n)}}function XD(){return{name:"Loon HTTP Parser",test:n=>/^.*=\s*http/i.test(n.split(",")[0]),parse:n=>xi().parse(n)}}function JD(){return{name:"Loon SOCKS5 Parser",test:n=>/^.*=\s*socks5/i.test(n.split(",")[0]),parse:n=>xi().parse(n)}}function ZD(){return{name:"Loon WireGuard Parser",test:n=>/^.*=\s*wireguard/i.test(n.split(",")[0]),parse:n=>{let s=n.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];n=n.replace(s,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let a=n.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],i=a.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),c=i?.[2],l=parseInt(i?.[3],10),h=n.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];h&&(h=parseInt(h,10));let m=n.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];m&&(m=parseInt(m,10));let A=a.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];A&&(A=JSON.parse(A));let p,f=n.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],E=n.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(f||E)&&(p=[],f&&p.push(f),E&&p.push(E));let v=a.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(I=>I.trim()),b=a.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],w=n.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],S=n.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],F=a.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],D={type:"wireguard",name:s,server:c,port:l,ip:w,ipv6:S,"private-key":n.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":F,mtu:h,keepalive:m,reserved:A,"allowed-ips":v,"preshared-key":b,dns:p,udp:!0,peers:[{server:c,port:l,ip:w,ipv6:S,"public-key":F,"pre-shared-key":b,"allowed-ips":v,reserved:A}]};return Array.isArray(D.dns)&&D.dns.length>0&&(D["remote-dns-resolve"]=!0),D}}}function QD(){return{name:"Surge Direct Parser",test:n=>/^.*=\s*direct/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function e7(){return{name:"Surge SSH Parser",test:n=>/^.*=\s*ssh/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function t7(){return{name:"Surge SS Parser",test:n=>/^.*=\s*ss/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function r7(){return{name:"Surge VMess Parser",test:n=>/^.*=\s*vmess/.test(n.split(",")[0])&&n.indexOf("username")!==-1,parse:n=>$n().parse(n)}}function n7(){return{name:"Surge Trojan Parser",test:n=>/^.*=\s*trojan/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function i7(){return{name:"Surge HTTP Parser",test:n=>/^.*=\s*https?/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function s7(){return{name:"Surge Socks5 Parser",test:n=>/^.*=\s*socks5(-tls)?/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function a7(){return{name:"Surge External Parser",test:n=>/^.*=\s*external/.test(n.split(",")[0]),parse:n=>{let s=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(n),[a,i,c]=s;n=c;let l=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];l||(l=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let h=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];h||(h=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let m=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,p=[];for(;(A=m.exec(n))!==null;)A[3]!=null?p.push(A[3]):A[4]!=null&&p.push(A[4]);let f=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,E,v=[];for(;(E=f.exec(n))!==null;){let w;E[3]!=null?w=E[3]:E[4]!=null&&(w=E[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),f7(w)&&v.push(w)}return{type:"external",name:i,exec:l,"local-port":h,args:p,addresses:v}}}}function u7(){return{name:"Surge Snell Parser",test:n=>/^.*=\s*snell/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function o7(){return{name:"Surge Tuic Parser",test:n=>/^.*=\s*tuic(-v5)?/.test(n.split(",")[0]),parse:n=>{let{port_hopping:s,line:a}=cA(n),i=$n().parse(a);return i.ports=s,i}}}function c7(){return{name:"Surge WireGuard Parser",test:n=>/^.*=\s*wireguard/.test(n.split(",")[0]),parse:n=>$n().parse(n)}}function l7(){return{name:"Surge Hysteria2 Parser",test:n=>/^.*=\s*hysteria2/.test(n.split(",")[0]),parse:n=>{let{port_hopping:s,line:a}=cA(n),i=$n().parse(a);return i.ports=s,i}}}function f7(e){return er(e)||tr(e)}var lA=[CD(),FD(),_D(),ID(),BD(),DD(),TD(),xD(),RD(),$D(),OD(),PD(),kD(),QD(),e7(),t7(),r7(),n7(),i7(),u7(),o7(),c7(),l7(),s7(),a7(),KD(),VD(),GD(),zD(),YD(),WD(),XD(),JD(),ZD(),ND(),LD(),UD(),HD(),jD(),MD(),qD()];var Ka=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=di(),{defaultProxy,defaultTimeout:timeout}=J.read(rn),proxy=defaultProxy;J.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=es({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=es({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?rs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);J.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((a,i)=>(a[i.path]=i,a),{}));let n=[],s={...t.files};return Object.keys(r).map(a=>{s[a]?r[a].content==null||r[a].content===""?(delete s[a],n.push({action:"delete",file_path:a})):(s[a]=r[a],n.push({action:"update",file_path:a,content:r[a].content})):r[a].content==null||r[a].content===""?(delete s[a],delete r[a]):(s[a]=r[a],n.push({action:"create",file_path:a,content:r[a].content}))}),this.syncPlatform==="gitlab"?Object.keys(s).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(s).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(s).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[s,a])=>(a.content!==null&&a.content!==""&&(n[s]=a),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(s=>JSON.parse(s.body)),n=r[e].raw_url;return await this.http.get(n).then(s=>s.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};function h7(e){for(let t of cf)try{if(t.test(e))return J.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){J.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function p7(e){e=h7(e);let t=e.split(` +`),r=[],n;for(let s of t){if(s=s.trim(),s.length===0)continue;let a=!1;if(n){let[i,c]=fA(n,s);c||(r.push(pA(i)),a=!0)}if(!a)for(let i of lA){let[c,l]=fA(i,s);if(!l){r.push(pA(c)),n=i,a=!0,J.info(`${i.name} is activated`);break}}a||J.error(`Failed to parse line: ${s}`)}return r.filter(s=>(["vless","vmess"].includes(s.type)&&(Vl(s.uuid)||J.error(`UUID may be invalid: ${s.name} ${s.uuid}`)),!0))}async function d7(e,t=[],r,n,s){for(let a of t){if(a.disabled){J.log(`Skipping disabled operator: "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);continue}let i,c={};if(a.type.indexOf("Script")!==-1){let{mode:h,content:m}=a.args;if(h==="link"){let A=m||"",p=A.split("#");if(p.length>1)try{c=JSON.parse(decodeURIComponent(p[1]))}catch{for(let v of p[1].split("&")){let b=v.split("=")[0],w=v.split("=")[1];c[b]=w==null||w===""?!0:decodeURIComponent(w)}}A=`${A.split("#")[0]}${p[2]?`#${p[2]}`:c?.noCache!=null||c?.insecure!=null?`#${p[1]}`:""}`;let f=A.match(/^\/api\/(file|module)\/(.+)/);if(f){let E="";try{E=f?.[1];let v=f?.[2];if(v==null)throw new Error(`\u672C\u5730 ${E} URL \u65E0\u6548: ${A}`);v=decodeURIComponent(v);let b=E==="module"?J1:$l,w=yn(J.read(b),v);if(!w)throw new Error(`\u627E\u4E0D\u5230 ${E}: ${v}`);E==="module"?i=w.content:i=await Ri({type:"file",name:v})}catch(v){throw J.error(`Error when loading ${E}: ${a.args.content}. + Reason: ${v}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${E}: ${A}`)}}else try{i=await Sn(A)}catch(E){throw J.error(`Error when downloading remote script: ${a.args.content}. + Reason: ${E}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${A}`)}}else i=m,c=a.args.arguments||{}}if(!xf[a.type]){J.error(`Unknown operator: "${a.type}"`);continue}J.log(`Applying "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);let l;a.type.indexOf("Script")!==-1?l=xf[a.type](i,r,c,n,s):l=xf[a.type](a.args||{}),e=await G2(l,e)}return e}function g7(e,t,r,n={}){let s=Q2[t];if(!s)throw new Error(`Target platform: ${t} is not supported!`);let a=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(i=>i.supported&&i.supported[t]===!1?!1:(["vless","vmess"].includes(i.type)&&(Vl(i.uuid)||J.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0)),e=e.map(i=>(i._resolved=i.resolved,Ai(i.name)||(i.name=`${i.type} ${i.server}:${i.port}`),i["disable-sni"]&&(a?i.sni="off":["tuic"].includes(i.type)||(J.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),i.sni="",i["skip-cert-verify"]=!0,delete i["tls-fingerprint"])),i.ports&&(i.ports=String(i.ports),["ClashMeta"].includes(t)||(i.ports=i.ports.replace(/\//g,",")),i.port||(i.port=nc(i.ports))),i)),J.log(`Producing proxies for target: ${t}`),typeof s.type>"u"||s.type==="SINGLE"){let i=e.map(c=>{try{return s.produce(c,r,n)}catch(l){return J.error(`Cannot produce proxy: ${JSON.stringify(c,null,2)} +Reason: ${l}`),""}}).filter(c=>c.length>0);return i=r==="internal"?i:i.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(c=>c.type==="wireguard")&&(i=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${i}`),i}else if(s.type==="ALL")return s.produce(e,r,n)}var Gt={parse:p7,process:d7,produce:g7,ipAddress:Kl,getRandomPort:nc,isIPv4:er,isIPv6:tr,isIP:cd,yaml:Oa,getFlag:to,removeFlag:yc,getISO:_2,MMDB:Bf,Gist:Ka,download:Sn,downloadFile:xv,isValidUUID:Vl,doh:no,Buffer:zf.Buffer,Base64:ct};function fA(e,t){if(!m7(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function m7(e,t){try{return e.test(t)}catch{return!1}}function hA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function pA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=vg(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),mg(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>hA(n)):t!=null&&(e[`${e.network}-opts`].path=hA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,s=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!s&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):s&&!n&&(e[`${e.network}-opts`].headers.Host=s,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,s=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(s)&&(e["h2-opts"].path=s[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!cd(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;s&&!Array.isArray(s)&&(e[`${e.network}-opts`].headers.Host=[s]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(cd(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=zf.Buffer.from(e.name.data).toString("utf8"):e.name=zf.Buffer.from(e.name).toString("utf8")}catch(n){J.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{J.env.isNode&&!r&&e._ca&&(r=J.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){J.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=F2.generateFingerprint(r)),["ss"].includes(e.type)&&se(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function cd(e){return er(e)||tr(e)}function v7(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function w7(){return{name:"Clash Provider",test:n=>/^payload:/gm.exec(n).index>=0,parse:n=>n.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var dA=[v7(),w7()];function A7(){return{type:"SINGLE",func:r=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[r.type]||r.type},${r.content},SUB-STORE`}}function gA(){return{type:"SINGLE",func:r=>{if(["GEOSITE","GEOIP"].indexOf(r.type)!==-1)return null;let s=`${r.type},${r.content}`;return["IP-CIDR","IP-CIDR6"].includes(r.type)&&(s+=r.options?.length>0?`,${r.options.join(",")}`:""),s}}}function E7(){return{type:"SINGLE",func:r=>["SRC-IP","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(r.type)&&r.options&&(r.options=r.options.filter(s=>["no-resolve"].includes(s))),gA().func(r))}}function y7(){return{type:"ALL",func:r=>{let n={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},s={payload:r.map(a=>{let i=`${n[a.type]||a.type},${a.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(a.type)&&(a.options&&(a.options=a.options.filter(c=>["no-resolve"].includes(c))),i+=a.options?.length>0?`,${a.options.join(",")}`:""),i})};return Oa.dump(s)}}}var mA={QX:A7(),Surge:gA(),Loon:E7(),Clash:y7()};var S7=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function b7(){return{name:"Universal Rule Parser",test:()=>!0,parse:n=>{let s=n.split(` +`),a=[];for(let i of s)if(i=i.trim(),i.length!==0&&!/\s*#/.test(i))try{let c=i.split(",").map(m=>m.trim()),l=c[0],h=!1;for(let m of S7)if(m[0].test(l)){h=!0;let p={type:m[1],content:c[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(p.type)&&(p.options=c.slice(2)),a.push(p)}if(!h)throw new Error("Invalid rule type: "+l)}catch(c){console.log(`Failed to parse line: ${i} + Reason: ${c}`)}return a}}}var vA=[b7()];var Wf=function(){function e(n){for(let s of dA)try{if(s.test(n))return J.info(`Pre-processor [${s.name}] activated`),s.parse(n)}catch(a){J.error(`Parser [${s.name}] failed + Reason: ${a}`)}return n}function t(n){n=e(n);for(let s of vA){let a;try{a=s.test(n)}catch{a=!1}if(a)return J.info(`Rule parser [${s.name}] is activated!`),s.parse(n)}}function r(n,s){let a=mA[s];if(!a)throw new Error(`Target platform: ${s} is not supported!`);if(typeof a.type>"u"||a.type==="SINGLE")return n.map(i=>{try{return a.func(i)}catch(c){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(i)} +Reason: ${c}`),""}}).filter(i=>i.length>0).join(` +`);if(a.type==="ALL")return a.func(n)}return{parse:t,produce:r}}();async function ld(e){let{gistToken:t,syncPlatform:r}=J.read(rn);if(!t)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let s=await new Ka({token:t,key:Q1,syncPlatform:r}).upload(e),a={};try{a=JSON.parse(s.body)}catch{}let i=a?.html_url??a?.web_url,c=J.read(rn);return i?(J.log(`\u540C\u6B65 Gist \u540E, \u627E\u5230 Sub-Store Gist: ${i}`),c.artifactStore=i,c.artifactStoreStatus="VALID"):(J.error("\u540C\u6B65 Gist \u540E, \u627E\u4E0D\u5230 Sub-Store Gist"),c.artifactStoreStatus="NOT FOUND"),J.write(c,rn),s}async function Ri({type:e,name:t,platform:r,url:n,ua:s,content:a,mergeSources:i,ignoreFailedRemoteSub:c,ignoreFailedRemoteFile:l,produceType:h,produceOpts:m={},subscription:A,awaitCustomCache:p,$options:f,proxy:E,noCache:v,all:b}){if(r=r||"JSON",["subscription","sub"].includes(e)){let w;if(t){let I=J.read(ec);if(w=yn(I,t),!w)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(A)w=A;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let S;if(a&&!["localFirst","remoteFirst"].includes(i))S=a;else if(n){let I={};S=await Promise.all(n.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await Sn(q,s||w.ua,void 0,E||w.proxy,void 0,p,v||w.noCache,!0)}catch(_){return I[q]=_,J.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(j=c),Object.keys(I).length>0)if(j)j==="enabled"&&J.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);i==="localFirst"?S.unshift(a):i==="remoteFirst"&&S.push(a)}else if(w.source==="local"&&!["localFirst","remoteFirst"].includes(w.mergeSources))S=w.content;else{let I={};S=await Promise.all(w.url.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await Sn(q,s||w.ua,void 0,E||w.proxy,void 0,p,v||w.noCache,!0)}catch(_){return I[q]=_,J.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(j=c),Object.keys(I).length>0)if(j)j==="enabled"&&J.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);w.mergeSources==="localFirst"?S.unshift(w.content):w.mergeSources==="remoteFirst"&&S.push(w.content)}if(h==="raw")return JSON.stringify((Array.isArray(S)?S:[S]).flat());let F=(Array.isArray(S)?S:[S]).map(I=>Gt.parse(I)).flat();if(F.forEach(I=>{I._subName=w.name,I._subDisplayName=w.displayName}),F=await Gt.process(F,w.process||[],r,{[w.name]:w},f),F.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let D={};for(let I of F){if(D[I.name]){J.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${I.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}D[I.name]=!0}return Gt.produce(F,r,h,m)}else if(["collection","col"].includes(e)){let w=J.read(ec),S=J.read(Pl),F=yn(S,t);if(!F)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let D=[...F.subscriptions],I=F.subscriptionTags;Array.isArray(I)&&I.length>0&&w.forEach(M=>{Array.isArray(M.tag)&&M.tag.length>0&&!D.includes(M.name)&&M.tag.some(W=>I.includes(W))&&D.push(M.name)});let j={},q={},_=0;await Promise.all(D.map(async M=>{let W=yn(w,M),K=W.passThroughUA,V=W.ua;K&&(J.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${s}`),V=s);try{J.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${W.name}...`);let z;if(W.source==="local"&&!["localFirst","remoteFirst"].includes(W.mergeSources))z=W.content;else{let Ee={};if(z=await await Promise.all(W.url.split(/[\r\n]+/).map(we=>we.trim()).filter(we=>we.length).map(async we=>{try{return await Sn(we,V,void 0,E||W.proxy||F.proxy,void 0,void 0,v||W.noCache,!0)}catch(_e){return Ee[we]=_e,J.error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${we} \u53D1\u751F\u9519\u8BEF: ${_e}`),""}})),Object.keys(Ee).length>0)if(W.ignoreFailedRemoteSub)W.ignoreFailedRemoteSub==="enabled"&&J.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${W.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Ee).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Ee).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);W.mergeSources==="localFirst"?z.unshift(W.content):W.mergeSources==="remoteFirst"&&z.push(W.content)}let ne=(Array.isArray(z)?z:[z]).map(Ee=>Gt.parse(Ee)).flat();ne.forEach(Ee=>{Ee._subName=W.name,Ee._subDisplayName=W.displayName,Ee._collectionName=F.name,Ee._collectionDisplayName=F.displayName}),ne=await Gt.process(ne,W.process||[],r,{[W.name]:W,_collection:F,$options:f}),j[M]=ne,_++,J.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${W.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}% `)}catch(z){_++,q[M]=z,J.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${W.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${z}\uFF01\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}%`)}}));let P=F.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(P=c),Object.keys(q).length>0)if(P)P==="enabled"&&J.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${F.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${F.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let k=Array.prototype.concat.apply([],D.map(M=>j[M]||[]));if(k.forEach(M=>{M._collectionName=F.name,M._collectionDisplayName=F.displayName}),k=await Gt.process(k,F.process||[],r,{_collection:F},f),k.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let U={};for(let M of k){if(U[M.name]){J.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${M.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}U[M.name]=!0}return Gt.produce(k,r,h,m)}else if(e==="rule"){let w=J.read(Z1),S=yn(w,t);if(!S)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let F=[];for(let D=0;DP.trim()).filter(P=>P.length).map(async P=>{try{return await Sn(P,s||S.ua,void 0,S.proxy||E,void 0,void 0,v)}catch(k){return q[P]=k,J.error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=S.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),!_&&Object.keys(q).length>0)throw new Error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);i==="localFirst"?F.unshift(a):i==="remoteFirst"&&F.push(a)}else if(S.source==="local"&&!["localFirst","remoteFirst"].includes(S.mergeSources))F=S.content;else{let q={};F=await Promise.all(S.url.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length).map(async P=>{try{return await Sn(P,s||S.ua,void 0,S.proxy||E,void 0,void 0,v)}catch(k){return q[P]=k,J.error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=S.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),Object.keys(q).length>0)if(_)_==="enabled"&&J.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${S.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);S.mergeSources==="localFirst"?F.unshift(S.content):S.mergeSources==="remoteFirst"&&F.push(S.content)}if(h==="raw")return JSON.stringify((Array.isArray(F)?F:[F]).flat());let D=(Array.isArray(F)?F:[F]).flat(),I=D.filter(q=>q!=null&&q!=="").join(` +`),j=Array.isArray(S.process)&&S.process.length>0?await Gt.process({$files:D,$content:I,$options:f,$file:S},S.process):{$content:I,$files:D,$options:f};return(b?j:j?.$content)??""}}(async function(){let e;typeof $argument<"u"?e=Object.fromEntries($argument.split("&").map(n=>n.split("="))):e={};let t=(e?.subscription??e?.sub??"").split(/,|,/g).map(n=>n.trim()).filter(n=>n.length>0).map(n=>decodeURIComponent(n)),r=(e?.collection??e?.col??"").split(/,|,/g).map(n=>n.trim()).filter(n=>n.length>0).map(n=>decodeURIComponent(n));if(t.length>0||r.length>0)t.length>0&&await wA(t,"subscription"),r.length>0&&await wA(r,"collection");else{let n=J.read(rn);if(!n.githubUser||!n.gistToken)return;let s=J.read(Bu);if(!s||s.length===0)return;s.some(i=>i.sync)&&await B7()}})().finally(()=>J.done());async function wA(e,t){try{e.length>0&&(J.info(`produceArtifacts ${t} \u5F00\u59CB: ${e.join(", ")}`),await Promise.all(e.map(async r=>{try{await Ri({type:t,name:r})}catch(n){J.error(`${t} ${r} error: ${n.message??n}`)}})),J.info(`produceArtifacts ${t} \u5B8C\u6210: ${e.join(", ")}`))}catch(r){J.error(`produceArtifacts error: ${r.message??r}`)}}async function B7(){console.log(` +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store Sync -- v${Dl} +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 +`),J.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");let e=J.read(Bu),t={};try{let r=[],n=[],s=J.read(ec),a=J.read(Pl),i=[],c=0;if(e.map(m=>{if(m.sync&&m.source){if(c++,m.type==="subscription"){let A=m.source,p=yn(s,A);p&&p.url&&!i.includes(A)&&i.push(A)}else if(m.type==="collection"){let A=yn(a,m.source);A&&Array.isArray(A.subscriptions)&&A.subscriptions.map(p=>{let f=yn(s,p);f&&f.url&&!i.includes(p)&&i.push(p)})}}}),c===0){J.info(`\u9700\u540C\u6B65\u7684\u914D\u7F6E: ${c}, \u603B\u6570: ${e.length}`);return}if(i.length>0&&await Promise.all(i.map(async m=>{try{await Ri({type:"subscription",name:m,awaitCustomCache:!0})}catch{}})),await Promise.all(e.map(async m=>{try{if(m.sync&&m.source){J.info(`\u6B63\u5728\u540C\u6B65\u4E91\u914D\u7F6E\uFF1A${m.name}...`);let A=m.platform==="SurgeMac";A&&J.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let p=await Ri({type:m.type,name:m.source,platform:m.platform,produceOpts:{"include-unsupported-proxy":m.includeUnsupportedProxy,useMihomoExternal:A}});t[encodeURIComponent(m.name)]={content:p},r.push(m.name)}}catch(A){J.error(`\u751F\u6210\u540C\u6B65\u914D\u7F6E ${m.name} \u53D1\u751F\u9519\u8BEF: ${A.message??A}`),n.push(m.name)}})),J.info(`${r.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u6210\u529F: ${r.join(", ")}`),J.info(`${n.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u5931\u8D25: ${n.join(", ")}`),r.length===0)throw new Error(`\u540C\u6B65\u914D\u7F6E ${n.join(", ")} \u751F\u6210\u5931\u8D25 \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);let l=await ld(t),h=JSON.parse(l.body);delete h.history,delete h.forks,delete h.owner,Object.values(h.files).forEach(m=>{delete m.content}),J.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),J.info(JSON.stringify(h,null,2));for(let m of e)if(m.sync&&m.source&&r.includes(m.name)){m.updated=new Date().getTime();let A=h.files,p;Array.isArray(A)&&(p=!0,A=Object.fromEntries(A.map(v=>[v.path,v])));let f=A[encodeURIComponent(m.name)]?.raw_url,E=p?f:f?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");J.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(A).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(m.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${f} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${E}`),m.url=E}J.write(e,Bu),J.info("\u4E0A\u4F20\u914D\u7F6E\u6210\u529F"),n.length>0?J.notify("\u{1F30D} Sub-Store",`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A, \u5931\u8D25 ${n.length} \u4E2A, \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`):J.notify("\u{1F30D} Sub-Store","\u540C\u6B65\u914D\u7F6E\u5B8C\u6210")}catch(r){J.notify("\u{1F30D} Sub-Store","\u540C\u6B65\u914D\u7F6E\u5931\u8D25",`\u539F\u56E0\uFF1A${r.message??r}`),J.error(`\u65E0\u6CD5\u540C\u6B65\u914D\u7F6E\u5230 Gist\uFF0C\u539F\u56E0\uFF1A${r}`)}}})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/sub-store-0.min.js b/sub-store-0.min.js new file mode 100644 index 0000000..c434df5 --- /dev/null +++ b/sub-store-0.min.js @@ -0,0 +1,1152 @@ +(()=>{var Wb=Object.create;var Dg=Object.defineProperty;var Xb=Object.getOwnPropertyDescriptor;var Jb=Object.getOwnPropertyNames;var Zb=Object.getPrototypeOf,Qb=Object.prototype.hasOwnProperty;var ja=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var e5=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Jb(t))!Qb.call(e,i)&&i!==r&&Dg(e,i,{get:()=>t[i],enumerable:!(n=Xb(t,i))||n.enumerable});return e};var ei=(e,t,r)=>(r=e!=null?Wb(Zb(e)):{},e5(t||!e||!e.__esModule?Dg(r,"default",{value:e,enumerable:!0}):r,e));var Np=Ce(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.isCorrect=Ju.isInSubnet=void 0;function l5(e){return this.subnetMask{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.RE_SUBNET_STRING=$i.RE_ADDRESS=$i.GROUPS=$i.BITS=void 0;$i.BITS=32;$i.GROUPS=4;$i.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;$i.RE_SUBNET_STRING=/\/\d{1,2}$/});var nf=Ce(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.AddressError=void 0;var Up=class extends Error{constructor(t,r){super(t),this.name="AddressError",r!==null&&(this.parseMessage=r)}};rf.AddressError=Up});var Hp=Ce((sf,Og)=>{(function(){var e,t=0xdeadbeefcafe,r=(t&16777215)==15715070;function n(R,O,H){R!=null&&(typeof R=="number"?this.fromNumber(R,O,H):O==null&&typeof R!="string"?this.fromString(R,256):this.fromString(R,O))}function i(){return new n(null)}function a(R,O,H,Q,de,ve){for(;--ve>=0;){var _e=O*this[R++]+H[Q]+de;de=Math.floor(_e/67108864),H[Q++]=_e&67108863}return de}function s(R,O,H,Q,de,ve){for(var _e=O&32767,Pe=O>>15;--ve>=0;){var _t=this[R]&32767,zt=this[R++]>>15,Dr=Pe*_t+zt*_e;_t=_e*_t+((Dr&32767)<<15)+H[Q]+(de&1073741823),de=(_t>>>30)+(Dr>>>15)+Pe*zt+(de>>>30),H[Q++]=_t&1073741823}return de}function c(R,O,H,Q,de,ve){for(var _e=O&16383,Pe=O>>14;--ve>=0;){var _t=this[R]&16383,zt=this[R++]>>14,Dr=Pe*_t+zt*_e;_t=_e*_t+((Dr&16383)<<14)+H[Q]+de,de=(_t>>28)+(Dr>>14)+Pe*zt,H[Q++]=_t&268435455}return de}var l=typeof navigator<"u";l&&r&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=s,e=30):l&&r&&navigator.appName!="Netscape"?(n.prototype.am=a,e=26):(n.prototype.am=c,e=28),n.prototype.DB=e,n.prototype.DM=(1<=0;--O)R[O]=this[O];R.t=this.t,R.s=this.s}function w(R){this.t=1,this.s=R<0?-1:0,R>0?this[0]=R:R<-1?this[0]=R+this.DV:this.t=0}function y(R){var O=i();return O.fromInt(R),O}function F(R,O){var H;if(O==16)H=4;else if(O==8)H=3;else if(O==256)H=8;else if(O==2)H=1;else if(O==32)H=5;else if(O==4)H=2;else{this.fromRadix(R,O);return}this.t=0,this.s=0;for(var Q=R.length,de=!1,ve=0;--Q>=0;){var _e=H==8?R[Q]&255:v(R,Q);if(_e<0){R.charAt(Q)=="-"&&(de=!0);continue}de=!1,ve==0?this[this.t++]=_e:ve+H>this.DB?(this[this.t-1]|=(_e&(1<>this.DB-ve):this[this.t-1]|=_e<=this.DB&&(ve-=this.DB)}H==8&&R[0]&128&&(this.s=-1,ve>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==R;)--this.t}function I(R){if(this.s<0)return"-"+this.negate().toString(R);var O;if(R==16)O=4;else if(R==8)O=3;else if(R==2)O=1;else if(R==32)O=5;else if(R==4)O=2;else return this.toRadix(R);var H=(1<0)for(Pe>Pe)>0&&(de=!0,ve=A(Q));_e>=0;)Pe>(Pe+=this.DB-O)):(Q=this[_e]>>(Pe-=O)&H,Pe<=0&&(Pe+=this.DB,--_e)),Q>0&&(de=!0),de&&(ve+=A(Q));return de?ve:"0"}function q(){var R=i();return n.ZERO.subTo(this,R),R}function V(){return this.s<0?this.negate():this}function _(R){var O=this.s-R.s;if(O!=0)return O;var H=this.t;if(O=H-R.t,O!=0)return this.s<0?-O:O;for(;--H>=0;)if((O=this[H]-R[H])!=0)return O;return 0}function P(R){var O=1,H;return(H=R>>>16)!=0&&(R=H,O+=16),(H=R>>8)!=0&&(R=H,O+=8),(H=R>>4)!=0&&(R=H,O+=4),(H=R>>2)!=0&&(R=H,O+=2),(H=R>>1)!=0&&(R=H,O+=1),O}function L(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)}function j(R,O){var H;for(H=this.t-1;H>=0;--H)O[H+R]=this[H];for(H=R-1;H>=0;--H)O[H]=0;O.t=this.t+R,O.s=this.s}function K(R,O){for(var H=R;H=0;--Pe)O[Pe+ve+1]=this[Pe]>>Q|_e,_e=(this[Pe]&de)<=0;--Pe)O[Pe]=0;O[ve]=_e,O.t=this.t+ve+1,O.s=this.s,O.clamp()}function G(R,O){O.s=this.s;var H=Math.floor(R/this.DB);if(H>=this.t){O.t=0;return}var Q=R%this.DB,de=this.DB-Q,ve=(1<>Q;for(var _e=H+1;_e>Q;Q>0&&(O[this.t-H-1]|=(this.s&ve)<>=this.DB;if(R.t>=this.DB;Q+=this.s}else{for(Q+=this.s;H>=this.DB;Q-=R.s}O.s=Q<0?-1:0,Q<-1?O[H++]=this.DV+Q:Q>0&&(O[H++]=Q),O.t=H,O.clamp()}function W(R,O){var H=this.abs(),Q=R.abs(),de=H.t;for(O.t=de+Q.t;--de>=0;)O[de]=0;for(de=0;de=0;)R[H]=0;for(H=0;H=O.DV&&(R[H+O.t]-=O.DV,R[H+O.t+1]=1)}R.t>0&&(R[R.t-1]+=O.am(H,O[H],R,2*H,0,1)),R.s=0,R.clamp()}function ye(R,O,H){var Q=R.abs();if(!(Q.t<=0)){var de=this.abs();if(de.t0?(Q.lShiftTo(_t,ve),de.lShiftTo(_t,H)):(Q.copyTo(ve),de.copyTo(H));var zt=ve.t,Dr=ve[zt-1];if(Dr!=0){var Br=Dr*(1<1?ve[zt-2]>>this.F2:0),Fn=this.FV/Br,qs=(1<=0&&(H[H.t++]=1,H.subTo(Gn,H)),n.ONE.dlShiftTo(zt,Gn),Gn.subTo(ve,ve);ve.t=0;){var $a=H[--$r]==Dr?this.DM:Math.floor(H[$r]*Fn+(H[$r-1]+Xr)*qs);if((H[$r]+=ve.am(0,$a,H,Ks,0,zt))<$a)for(ve.dlShiftTo(Ks,Gn),H.subTo(Gn,H);H[$r]<--$a;)H.subTo(Gn,H)}O!=null&&(H.drShiftTo(zt,O),_e!=Pe&&n.ZERO.subTo(O,O)),H.t=zt,H.clamp(),_t>0&&H.rShiftTo(_t,H),_e<0&&n.ZERO.subTo(H,H)}}}function Ae(R){var O=i();return this.abs().divRemTo(R,null,O),this.s<0&&O.compareTo(n.ZERO)>0&&R.subTo(O,O),O}function Ie(R){this.m=R}function qe(R){return R.s<0||R.compareTo(this.m)>=0?R.mod(this.m):R}function oe(R){return R}function Fe(R){R.divRemTo(this.m,null,R)}function ke(R,O,H){R.multiplyTo(O,H),this.reduce(H)}function vr(R,O){R.squareTo(O),this.reduce(O)}Ie.prototype.convert=qe,Ie.prototype.revert=oe,Ie.prototype.reduce=Fe,Ie.prototype.mulTo=ke,Ie.prototype.sqrTo=vr;function Ot(){if(this.t<1)return 0;var R=this[0];if(!(R&1))return 0;var O=R&3;return O=O*(2-(R&15)*O)&15,O=O*(2-(R&255)*O)&255,O=O*(2-((R&65535)*O&65535))&65535,O=O*(2-R*O%this.DV)%this.DV,O>0?this.DV-O:-O}function pt(R){this.m=R,this.mp=R.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(O,O),O}function Ht(R){var O=i();return R.copyTo(O),this.reduce(O),O}function rt(R){for(;R.t<=this.mt2;)R[R.t++]=0;for(var O=0;O>15)*this.mpl&this.um)<<15)&R.DM;for(H=O+this.m.t,R[H]+=this.m.am(0,Q,R,O,0,this.m.t);R[H]>=R.DV;)R[H]-=R.DV,R[++H]++}R.clamp(),R.drShiftTo(this.m.t,R),R.compareTo(this.m)>=0&&R.subTo(this.m,R)}function Pt(R,O){R.squareTo(O),this.reduce(O)}function et(R,O,H){R.multiplyTo(O,H),this.reduce(H)}pt.prototype.convert=Zt,pt.prototype.revert=Ht,pt.prototype.reduce=rt,pt.prototype.mulTo=et,pt.prototype.sqrTo=Pt;function wt(){return(this.t>0?this[0]&1:this.s)==0}function Qt(R,O){if(R>4294967295||R<1)return n.ONE;var H=i(),Q=i(),de=O.convert(this),ve=P(R)-1;for(de.copyTo(H);--ve>=0;)if(O.sqrTo(H,Q),(R&1<0)O.mulTo(Q,de,H);else{var _e=H;H=Q,Q=_e}return O.revert(H)}function Xe(R,O){var H;return R<256||O.isEven()?H=new Ie(O):H=new pt(O),this.exp(R,H)}n.prototype.copyTo=b,n.prototype.fromInt=w,n.prototype.fromString=F,n.prototype.clamp=D,n.prototype.dlShiftTo=j,n.prototype.drShiftTo=K,n.prototype.lShiftTo=X,n.prototype.rShiftTo=G,n.prototype.subTo=z,n.prototype.multiplyTo=W,n.prototype.squareTo=ie,n.prototype.divRemTo=ye,n.prototype.invDigit=Ot,n.prototype.isEven=wt,n.prototype.exp=Qt,n.prototype.toString=I,n.prototype.negate=q,n.prototype.abs=V,n.prototype.compareTo=_,n.prototype.bitLength=L,n.prototype.mod=Ae,n.prototype.modPowInt=Xe,n.ZERO=y(0),n.ONE=y(1);function Vt(){var R=i();return this.copyTo(R),R}function Vn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function Ir(){return this.t==0?this.s:this[0]<<16>>16}function nr(R){return Math.floor(Math.LN2*this.DB/Math.log(R))}function kr(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function ma(R){if(R==null&&(R=10),this.signum()==0||R<2||R>36)return"0";var O=this.chunkSize(R),H=Math.pow(R,O),Q=y(H),de=i(),ve=i(),_e="";for(this.divRemTo(Q,de,ve);de.signum()>0;)_e=(H+ve.intValue()).toString(R).substr(1)+_e,de.divRemTo(Q,de,ve);return ve.intValue().toString(R)+_e}function Yr(R,O){this.fromInt(0),O==null&&(O=10);for(var H=this.chunkSize(O),Q=Math.pow(O,H),de=!1,ve=0,_e=0,Pe=0;Pe=H&&(this.dMultiply(Q),this.dAddOffset(_e,0),ve=0,_e=0)}ve>0&&(this.dMultiply(Math.pow(O,ve)),this.dAddOffset(_e,0)),de&&n.ZERO.subTo(this,this)}function At(R,O,H){if(typeof O=="number")if(R<2)this.fromInt(1);else for(this.fromNumber(R,H),this.testBit(R-1)||this.bitwiseTo(n.ONE.shiftLeft(R-1),Xi,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(O);)this.dAddOffset(2,0),this.bitLength()>R&&this.subTo(n.ONE.shiftLeft(R-1),this);else{var Q=new Array,de=R&7;Q.length=(R>>3)+1,O.nextBytes(Q),de>0?Q[0]&=(1<0)for(H>H)!=(this.s&this.DM)>>H&&(O[de++]=Q|this.s<=0;)H<8?(Q=(this[R]&(1<>(H+=this.DB-8)):(Q=this[R]>>(H-=8)&255,H<=0&&(H+=this.DB,--R)),Q&128&&(Q|=-256),de==0&&(this.s&128)!=(Q&128)&&++de,(de>0||Q!=this.s)&&(O[de++]=Q);return O}function Je(R){return this.compareTo(R)==0}function Nr(R){return this.compareTo(R)<0?this:R}function va(R){return this.compareTo(R)>0?this:R}function wa(R,O,H){var Q,de,ve=Math.min(R.t,this.t);for(Q=0;Q>=16,O+=16),R&255||(R>>=8,O+=8),R&15||(R>>=4,O+=4),R&3||(R>>=2,O+=2),R&1||++O,O}function vu(){for(var R=0;R=this.t?this.s!=0:(this[O]&1<>=this.DB;if(R.t>=this.DB;Q+=this.s}else{for(Q+=this.s;H>=this.DB;Q+=R.s}O.s=Q<0?-1:0,Q>0?O[H++]=Q:Q<-1&&(O[H++]=this.DV+Q),O.t=H,O.clamp()}function Sa(R){var O=i();return this.addTo(R,O),O}function No(R){var O=i();return this.subTo(R,O),O}function Lo(R){var O=i();return this.multiplyTo(R,O),O}function Uo(){var R=i();return this.squareTo(R),R}function Ho(R){var O=i();return this.divRemTo(R,O,null),O}function jo(R){var O=i();return this.divRemTo(R,null,O),O}function Mo(R){var O=i(),H=i();return this.divRemTo(R,O,H),new Array(O,H)}function qo(R){this[this.t]=this.am(0,R-1,this,0,0,this.t),++this.t,this.clamp()}function Ko(R,O){if(R!=0){for(;this.t<=O;)this[this.t++]=0;for(this[O]+=R;this[O]>=this.DV;)this[O]-=this.DV,++O>=this.t&&(this[this.t++]=0),++this[O]}}function yi(){}function Eu(R){return R}function Vo(R,O,H){R.multiplyTo(O,H)}function Go(R,O){R.squareTo(O)}yi.prototype.convert=Eu,yi.prototype.revert=Eu,yi.prototype.mulTo=Vo,yi.prototype.sqrTo=Go;function zo(R){return this.exp(R,new yi)}function yu(R,O,H){var Q=Math.min(this.t+R.t,O);for(H.s=0,H.t=Q;Q>0;)H[--Q]=0;var de;for(de=H.t-this.t;Q=0;)H[Q]=0;for(Q=Math.max(O-this.t,0);Q2*this.m.t)return R.mod(this.m);if(R.compareTo(this.m)<0)return R;var O=i();return R.copyTo(O),this.reduce(O),O}function js(R){return R}function Cn(R){for(R.drShiftTo(this.m.t-1,this.r2),R.t>this.m.t+1&&(R.t=this.m.t+1,R.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);R.compareTo(this.r2)<0;)R.dAddOffset(1,this.m.t+1);for(R.subTo(this.r2,R);R.compareTo(this.m)>=0;)R.subTo(this.m,R)}function Wo(R,O){R.squareTo(O),this.reduce(O)}function Xo(R,O,H){R.multiplyTo(O,H),this.reduce(H)}un.prototype.convert=Yo,un.prototype.revert=js,un.prototype.reduce=Cn,un.prototype.mulTo=Xo,un.prototype.sqrTo=Wo;function Su(R,O){var H=R.bitLength(),Q,de=y(1),ve;if(H<=0)return de;H<18?Q=1:H<48?Q=3:H<144?Q=4:H<768?Q=5:Q=6,H<8?ve=new Ie(O):O.isEven()?ve=new un(O):ve=new pt(O);var _e=new Array,Pe=3,_t=Q-1,zt=(1<1){var Dr=i();for(ve.sqrTo(_e[1],Dr);Pe<=zt;)_e[Pe]=i(),ve.mulTo(Dr,_e[Pe-2],_e[Pe]),Pe+=2}var Br=R.t-1,Fn,qs=!0,Xr=i(),$r;for(H=P(R[Br])-1;Br>=0;){for(H>=_t?Fn=R[Br]>>H-_t&zt:(Fn=(R[Br]&(1<0&&(Fn|=R[Br-1]>>this.DB+H-_t)),Pe=Q;!(Fn&1);)Fn>>=1,--Pe;if((H-=Pe)<0&&(H+=this.DB,--Br),qs)_e[Fn].copyTo(de),qs=!1;else{for(;Pe>1;)ve.sqrTo(de,Xr),ve.sqrTo(Xr,de),Pe-=2;Pe>0?ve.sqrTo(de,Xr):($r=de,de=Xr,Xr=$r),ve.mulTo(Xr,_e[Fn],de)}for(;Br>=0&&!(R[Br]&1<0&&(O.rShiftTo(ve,O),H.rShiftTo(ve,H));O.signum()>0;)(de=O.getLowestSetBit())>0&&O.rShiftTo(de,O),(de=H.getLowestSetBit())>0&&H.rShiftTo(de,H),O.compareTo(H)>=0?(O.subTo(H,O),O.rShiftTo(1,O)):(H.subTo(O,H),H.rShiftTo(1,H));return ve>0&&H.lShiftTo(ve,H),H}function bu(R){if(R<=0)return 0;var O=this.DV%R,H=this.s<0?R-1:0;if(this.t>0)if(O==0)H=this[0]%R;else for(var Q=this.t-1;Q>=0;--Q)H=(O*H+this[Q])%R;return H}function Ms(R){var O=R.isEven();if(this.isEven()&&O||R.signum()==0)return n.ZERO;for(var H=R.clone(),Q=this.clone(),de=y(1),ve=y(0),_e=y(0),Pe=y(1);H.signum()!=0;){for(;H.isEven();)H.rShiftTo(1,H),O?((!de.isEven()||!ve.isEven())&&(de.addTo(this,de),ve.subTo(R,ve)),de.rShiftTo(1,de)):ve.isEven()||ve.subTo(R,ve),ve.rShiftTo(1,ve);for(;Q.isEven();)Q.rShiftTo(1,Q),O?((!_e.isEven()||!Pe.isEven())&&(_e.addTo(this,_e),Pe.subTo(R,Pe)),_e.rShiftTo(1,_e)):Pe.isEven()||Pe.subTo(R,Pe),Pe.rShiftTo(1,Pe);H.compareTo(Q)>=0?(H.subTo(Q,H),O&&de.subTo(_e,de),ve.subTo(Pe,ve)):(Q.subTo(H,Q),O&&_e.subTo(de,_e),Pe.subTo(ve,Pe))}if(Q.compareTo(n.ONE)!=0)return n.ZERO;if(Pe.compareTo(R)>=0)return Pe.subtract(R);if(Pe.signum()<0)Pe.addTo(R,Pe);else return Pe;return Pe.signum()<0?Pe.add(R):Pe}var Gt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Jo=(1<<26)/Gt[Gt.length-1];function Zo(R){var O,H=this.abs();if(H.t==1&&H[0]<=Gt[Gt.length-1]){for(O=0;O>1,R>Gt.length&&(R=Gt.length);for(var de=i(),ve=0;ve>8&255,Ar[Lt++]^=R>>16&255,Ar[Lt++]^=R>>24&255,Lt>=Wr&&(Lt-=Wr)}function Ca(){Qo(new Date().getTime())}if(Ar==null){Ar=new Array,Lt=0;var Er;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var Fa=new Uint8Array(32);for(window.crypto.getRandomValues(Fa),Er=0;Er<32;++Er)Ar[Lt++]=Fa[Er]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var Fu=window.crypto.random(32);for(Er=0;Er>>8,Ar[Lt++]=Er&255;Lt=0,Ca()}function _u(){if(bi==null){for(Ca(),bi=Ba(),bi.init(Ar),Lt=0;Lt{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(s){return n(a(s),arguments)}function r(s,c){return t.apply(null,[s].concat(c||[]))}function n(s,c){var l=1,h=s.length,g,E="",p,f,A,v,b,w,y,F;for(p=0;p=0),A.type){case"b":g=parseInt(g,10).toString(2);break;case"c":g=String.fromCharCode(parseInt(g,10));break;case"d":case"i":g=parseInt(g,10);break;case"j":g=JSON.stringify(g,null,A.width?parseInt(A.width):0);break;case"e":g=A.precision?parseFloat(g).toExponential(A.precision):parseFloat(g).toExponential();break;case"f":g=A.precision?parseFloat(g).toFixed(A.precision):parseFloat(g);break;case"g":g=A.precision?String(Number(g.toPrecision(A.precision))):parseFloat(g);break;case"o":g=(parseInt(g,10)>>>0).toString(8);break;case"s":g=String(g),g=A.precision?g.substring(0,A.precision):g;break;case"t":g=String(!!g),g=A.precision?g.substring(0,A.precision):g;break;case"T":g=Object.prototype.toString.call(g).slice(8,-1).toLowerCase(),g=A.precision?g.substring(0,A.precision):g;break;case"u":g=parseInt(g,10)>>>0;break;case"v":g=g.valueOf(),g=A.precision?g.substring(0,A.precision):g;break;case"x":g=(parseInt(g,10)>>>0).toString(16);break;case"X":g=(parseInt(g,10)>>>0).toString(16).toUpperCase();break}e.json.test(A.type)?E+=g:(e.number.test(A.type)&&(!y||A.sign)?(F=y?"+":"-",g=g.toString().replace(e.sign,"")):F="",b=A.pad_char?A.pad_char==="0"?"0":A.pad_char.charAt(1):" ",w=A.width-(F+g).length,v=A.width&&w>0?b.repeat(w):"",E+=A.align?F+g+v:b==="0"?F+v+g:v+F+g)}return E}var i=Object.create(null);function a(s){if(i[s])return i[s];for(var c=s,l,h=[],g=0;c;){if((l=e.text.exec(c))!==null)h.push(l[0]);else if((l=e.modulo.exec(c))!==null)h.push("%");else if((l=e.placeholder.exec(c))!==null){if(l[2]){g|=1;var E=[],p=l[2],f=[];if((f=e.key.exec(p))!==null)for(E.push(f[1]);(p=p.substring(f[0].length))!=="";)if((f=e.key_access.exec(p))!==null)E.push(f[1]);else if((f=e.index_access.exec(p))!==null)E.push(f[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=E}else g|=2;if(g===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");h.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");c=c.substring(l[0].length)}return i[s]=h}typeof af<"u"&&(af.sprintf=t,af.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var Mp=Ce(Pi=>{"use strict";var h5=Pi&&Pi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),p5=Pi&&Pi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Lg=Pi&&Pi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&h5(t,e,r);return p5(t,e),t};Object.defineProperty(Pi,"__esModule",{value:!0});Pi.Address4=void 0;var kg=Lg(Np()),gi=Lg(Lp()),Ng=nf(),Cc=Hp(),Zu=bc(),jp=class e{constructor(t){this.groups=gi.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=kg.isCorrect(gi.BITS),this.isInSubnet=kg.isInSubnet,this.address=t;let r=gi.RE_SUBNET_STRING.exec(t);if(r){if(this.parsedSubnet=r[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>gi.BITS)throw new Ng.AddressError("Invalid subnet mask.");t=t.replace(gi.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(t){let r=t.split(".");if(!t.match(gi.RE_ADDRESS))throw new Ng.AddressError("Invalid IPv4 address.");return r}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let r=t.replace(/:/g,"").padStart(8,"0"),n=[],i;for(i=0;i<8;i+=2){let a=r.slice(i,i+2);n.push(parseInt(a,16))}return new e(n.join("."))}static fromInteger(t){return e.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new e(n)}toHex(){return this.parsedAddress.map(t=>(0,Zu.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],r;for(r=0;r(0,Zu.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new Cc.BigInteger(this.mask()+"0".repeat(gi.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Cc.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Cc.BigInteger(this.mask()+"1".repeat(gi.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Cc.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return e.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}reverseForm(t){t||(t={});let r=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?r:(0,Zu.sprintf)("%s.in-addr.arpa.",r)}isMulticast(){return this.isInSubnet(new e("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(gi.BITS,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(gi.RE_ADDRESS,(0,Zu.sprintf)('%s.%s',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};Pi.Address4=jp});var qp=Ce(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.RE_URL_WITH_PORT=Xt.RE_URL=Xt.RE_ZONE_STRING=Xt.RE_SUBNET_STRING=Xt.RE_BAD_ADDRESS=Xt.RE_BAD_CHARACTERS=Xt.TYPES=Xt.SCOPES=Xt.GROUPS=Xt.BITS=void 0;Xt.BITS=128;Xt.GROUPS=8;Xt.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"};Xt.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"};Xt.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi;Xt.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;Xt.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/;Xt.RE_ZONE_STRING=/%.*$/;Xt.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);Xt.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)});var Kp=Ce(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.simpleGroup=Ri.spanLeadingZeroes=Ri.spanAll=Ri.spanAllZeroes=void 0;var Ug=bc();function Hg(e){return e.replace(/(0+)/g,'$1')}Ri.spanAllZeroes=Hg;function d5(e,t=0){return e.split("").map((n,i)=>(0,Ug.sprintf)('%s',n,i+t,Hg(n))).join("")}Ri.spanAll=d5;function jg(e){return e.replace(/^(0+)/,'$1')}function g5(e){return e.split(":").map(r=>jg(r)).join(":")}Ri.spanLeadingZeroes=g5;function m5(e,t=0){return e.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,Ug.sprintf)('%s',i+t,jg(n)))}Ri.simpleGroup=m5});var Mg=Ce(br=>{"use strict";var v5=br&&br.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),w5=br&&br.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),A5=br&&br.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&v5(t,e,r);return w5(t,e),t};Object.defineProperty(br,"__esModule",{value:!0});br.possibleElisions=br.simpleRegularExpression=br.ADDRESS_BOUNDARY=br.padGroup=br.groupPossibilities=void 0;var E5=A5(qp()),Qu=bc();function of(e){return(0,Qu.sprintf)("(%s)",e.join("|"))}br.groupPossibilities=of;function uf(e){return e.length<4?(0,Qu.sprintf)("0{0,%d}%s",4-e.length,e):e}br.padGroup=uf;br.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function y5(e){let t=[];e.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let r=t.map(n=>e.map((i,a)=>{if(a===n){let s=a===0||a===E5.GROUPS-1?":":"";return of([uf(i),s])}return uf(i)}).join(":"));return r.push(e.map(uf).join(":")),of(r)}br.simpleRegularExpression=y5;function S5(e,t,r){let n=t?"":":",i=r?"":":",a=[];!t&&!r&&a.push("::"),t&&r&&a.push(""),(r&&!t||!r&&t)&&a.push(":"),a.push((0,Qu.sprintf)("%s(:0{1,4}){1,%d}",n,e-1)),a.push((0,Qu.sprintf)("(0{1,4}:){1,%d}%s",e-1,i)),a.push((0,Qu.sprintf)("(0{1,4}:){%d}0{1,4}",e-1));for(let s=1;s{"use strict";var b5=Ti&&Ti.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),C5=Ti&&Ti.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),lf=Ti&&Ti.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&b5(t,e,r);return C5(t,e),t};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.Address6=void 0;var qg=lf(Np()),Vp=lf(Lp()),kt=lf(qp()),Gp=lf(Kp()),Ga=Mp(),za=Mg(),ws=nf(),rn=Hp(),nn=bc();function cf(e){if(!e)throw new Error("Assertion failed.")}function F5(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,"$1,$2");return e}function _5(e){return e=e.replace(/^(0{1,})([1-9]+)$/,'$1$2'),e=e.replace(/^(0{1,})(0)$/,'$1$2'),e}function I5(e,t){let r=[],n=[],i;for(i=0;it[1]&&n.push(e[i]);return r.concat(["compact"]).concat(n)}function Kg(e){return(0,nn.sprintf)("%04x",parseInt(e,16))}function Vg(e){return e&255}var zp=class e{constructor(t,r){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=qg.isInSubnet,this.isCorrect=qg.isCorrect(kt.BITS),r===void 0?this.groups=kt.GROUPS:this.groups=r,this.address=t;let n=kt.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>kt.BITS)throw new ws.AddressError("Invalid subnet mask.");t=t.replace(kt.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new ws.AddressError("Invalid subnet mask.");let i=kt.RE_ZONE_STRING.exec(t);i&&(this.zone=i[0],t=t.replace(kt.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInteger(t){let r=t.toString(16).padStart(32,"0"),n=[],i;for(i=0;i65536)&&(n=null)):n=null,{address:new e(r),port:n}}static fromAddress4(t){let r=new Ga.Address4(t),n=kt.BITS-(Vp.BITS-r.subnetMask);return new e(`::ffff:${r.correctForm()}/${n}`)}static fromArpa(t){let r=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(r.length!==63)throw new ws.AddressError("Invalid 'ip6.arpa' form.");let i=r.split(".").reverse();for(let a=n;a>0;a--){let s=a*4;i.splice(s,0,":")}return r=i.join(""),new e(r)}microsoftTranscription(){return(0,nn.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let r=kt.BITS-this.subnetMask,n=Math.abs(t-kt.BITS),i=r-n;return i<0?"0":F5(new rn.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new rn.BigInteger(this.mask()+"0".repeat(kt.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new rn.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new rn.BigInteger(this.mask()+"1".repeat(kt.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new rn.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=kt.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(kt.TYPES))if(this.isInSubnet(new e(t)))return kt.TYPES[t];return"Global unicast"}getBits(t,r){return new rn.BigInteger(this.getBitsBase2(t,r),2)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}getBitsBase16(t,r){let n=r-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,r).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,kt.BITS)}reverseForm(t){t||(t={});let r=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,r).reverse().join(".");return r>0?t.omitSuffix?n:(0,nn.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,r=[],n=0,i=[];for(t=0;t0&&(n>1&&i.push([t-n,t-1]),n=0)}n>1&&i.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let a=i.map(c=>c[1]-c[0]+1);if(i.length>0){let c=a.indexOf(Math.max(...a));r=I5(this.parsedAddress,i[c])}else r=this.parsedAddress;for(t=0;t1?"s":"",r.join("")),t.replace(kt.RE_BAD_CHARACTERS,'$1'));let n=t.match(kt.RE_BAD_ADDRESS);if(n)throw new ws.AddressError((0,nn.sprintf)("Address failed regex: %s",n.join("")),t.replace(kt.RE_BAD_ADDRESS,'$1'));let i=[],a=t.split("::");if(a.length===2){let s=a[0].split(":"),c=a[1].split(":");s.length===1&&s[0]===""&&(s=[]),c.length===1&&c[0]===""&&(c=[]);let l=this.groups-(s.length+c.length);if(!l)throw new ws.AddressError("Error parsing groups");this.elidedGroups=l,this.elisionBegin=s.length,this.elisionEnd=s.length+this.elidedGroups,i=i.concat(s);for(let h=0;h(0,nn.sprintf)("%x",parseInt(s,16))),i.length!==this.groups)throw new ws.AddressError("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(Kg).join(":")}decimal(){return this.parsedAddress.map(t=>(0,nn.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new rn.BigInteger(this.parsedAddress.map(Kg).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return Ga.Address4.fromHex(new rn.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),i="";return/:$/.test(n)||(i=":"),n+i+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),r=this.getBits(80,96).xor(new rn.BigInteger("ffff",16)).toString(),n=Ga.Address4.fromHex(this.getBitsBase16(32,64)),i=Ga.Address4.fromHex(this.getBits(96,128).xor(new rn.BigInteger("ffffffff",16)).toString(16)),a=this.getBits(64,80),s=this.getBitsBase2(64,80),c=a.testBit(15),l=a.testBit(14),h=a.testBit(8),g=a.testBit(9),E=new rn.BigInteger(s.slice(2,6)+s.slice(8,16),2).toString(10);return{prefix:(0,nn.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:s,coneNat:c,microsoft:{reserved:l,universalLocal:g,groupIndividual:h,nonce:E},udpPort:r}}inspect6to4(){let t=this.getBitsBase16(0,16),r=Ga.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,nn.sprintf)("%s",t.slice(0,4)),gateway:r.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new e(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(Vg)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(Vg))}static fromUnsignedByteArray(t){let r=new rn.BigInteger("256",10),n=new rn.BigInteger("0",10),i=new rn.BigInteger("1",10);for(let a=t.length-1;a>=0;a--)n=n.add(i.multiply(new rn.BigInteger(t[a].toString(10),10))),i=i.multiply(r);return e.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new e("2001::/32"))}is6to4(){return this.isInSubnet(new e("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,nn.sprintf)(":%s",t),(0,nn.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let r=this.correctForm;return t.v4&&(r=this.to4in6),t.className?(0,nn.sprintf)('%2$s',t.prefix,r.call(this),t.className):(0,nn.sprintf)('%2$s',t.prefix,r.call(this))}group(){if(this.elidedGroups===0)return Gp.simpleGroup(this.address).join(":");cf(typeof this.elidedGroups=="number"),cf(typeof this.elisionBegin=="number");let t=[],[r,n]=this.address.split("::");r.length?t.push(...Gp.simpleGroup(r)):t.push("");let i=["hover-group"];for(let a=this.elisionBegin;a',i.join(" "))),n.length?t.push(...Gp.simpleGroup(n,this.elisionEnd)):t.push(""),this.is4()&&(cf(this.address4 instanceof Ga.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let r=[],n=new e(this.correctForm());if(n.elidedGroups===0)r.push((0,za.simpleRegularExpression)(n.parsedAddress));else if(n.elidedGroups===kt.GROUPS)r.push((0,za.possibleElisions)(kt.GROUPS));else{let i=n.address.split("::");i[0].length&&r.push((0,za.simpleRegularExpression)(i[0].split(":"))),cf(typeof n.elidedGroups=="number"),r.push((0,za.possibleElisions)(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&r.push((0,za.simpleRegularExpression)(i[1].split(":"))),r=[r.join(":")]}return t||(r=["(?=^|",za.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...r,")(?=[^\\w\\:]|",za.ADDRESS_BOUNDARY,"|$)"]),r.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};Ti.Address6=zp});var zg=Ce(jr=>{"use strict";var D5=jr&&jr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),B5=jr&&jr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),$5=jr&&jr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&D5(t,e,r);return B5(t,e),t};Object.defineProperty(jr,"__esModule",{value:!0});jr.v6=jr.AddressError=jr.Address6=jr.Address4=void 0;var P5=Mp();Object.defineProperty(jr,"Address4",{enumerable:!0,get:function(){return P5.Address4}});var R5=Gg();Object.defineProperty(jr,"Address6",{enumerable:!0,get:function(){return R5.Address6}});var T5=nf();Object.defineProperty(jr,"AddressError",{enumerable:!0,get:function(){return T5.AddressError}});var x5=$5(Kp());jr.v6={helpers:x5}});var Za=Ce((qR,Ja)=>{"use strict";function em(e){return typeof e>"u"||e===null}function R3(e){return typeof e=="object"&&e!==null}function T3(e){return Array.isArray(e)?e:em(e)?[]:[e]}function x3(e,t){var r,n,i,a;if(t)for(a=Object.keys(t),r=0,n=a.length;r{"use strict";function Dc(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Dc.prototype=Object.create(Error.prototype);Dc.prototype.constructor=Dc;Dc.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};tm.exports=Dc});var im=Ce((VR,nm)=>{"use strict";var rm=Za();function sd(e,t,r,n,i){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=i}sd.prototype.getSnippet=function(t,r){var n,i,a,s,c;if(!this.buffer)return null;for(t=t||4,r=r||75,n="",i=this.position;i>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>r/2-1){n=" ... ",i+=5;break}for(a="",s=this.position;sr/2-1){a=" ... ",s-=5;break}return c=this.buffer.slice(i,s),rm.repeat(" ",t)+n+c+a+` +`+rm.repeat(" ",t+this.position-i+n.length)+"^"};sd.prototype.toString=function(t){var r,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(n+=`: +`+r)),n};nm.exports=sd});var dr=Ce((GR,am)=>{"use strict";var sm=no(),N3=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],L3=["scalar","sequence","mapping"];function U3(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function H3(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(N3.indexOf(r)===-1)throw new sm('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=U3(t.styleAliases||null),L3.indexOf(this.kind)===-1)throw new sm('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}am.exports=H3});var Qa=Ce((zR,om)=>{"use strict";var um=Za(),Af=no(),j3=dr();function ad(e,t,r){var n=[];return e.include.forEach(function(i){r=ad(i,t,r)}),e[t].forEach(function(i){r.forEach(function(a,s){a.tag===i.tag&&a.kind===i.kind&&n.push(s)}),r.push(i)}),r.filter(function(i,a){return n.indexOf(a)===-1})}function M3(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function n(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,r=arguments.length;t{"use strict";var q3=dr();cm.exports=new q3("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var hm=Ce((WR,fm)=>{"use strict";var K3=dr();fm.exports=new K3("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var dm=Ce((XR,pm)=>{"use strict";var V3=dr();pm.exports=new V3("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var Ef=Ce((JR,gm)=>{"use strict";var G3=Qa();gm.exports=new G3({explicit:[lm(),hm(),dm()]})});var vm=Ce((ZR,mm)=>{"use strict";var z3=dr();function Y3(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function W3(){return null}function X3(e){return e===null}mm.exports=new z3("tag:yaml.org,2002:null",{kind:"scalar",resolve:Y3,construct:W3,predicate:X3,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Am=Ce((QR,wm)=>{"use strict";var J3=dr();function Z3(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function Q3(e){return e==="true"||e==="True"||e==="TRUE"}function eC(e){return Object.prototype.toString.call(e)==="[object Boolean]"}wm.exports=new J3("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Z3,construct:Q3,predicate:eC,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var ym=Ce((eT,Em)=>{"use strict";var tC=Za(),rC=dr();function nC(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function iC(e){return 48<=e&&e<=55}function sC(e){return 48<=e&&e<=57}function aC(e){if(e===null)return!1;var t=e.length,r=0,n=!1,i;if(!t)return!1;if(i=e[r],(i==="-"||i==="+")&&(i=e[++r]),i==="0"){if(r+1===t)return!0;if(i=e[++r],i==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Cm=Ce((tT,bm)=>{"use strict";var Sm=Za(),cC=dr(),lC=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function fC(e){return!(e===null||!lC.test(e)||e[e.length-1]==="_")}function hC(e){var t,r,n,i;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(a){i.unshift(parseFloat(a,10))}),t=0,n=1,i.forEach(function(a){t+=a*n,n*=60}),r*t):r*parseFloat(t,10)}var pC=/^[-+]?[0-9]+e/;function dC(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Sm.isNegativeZero(e))return"-0.0";return r=e.toString(10),pC.test(r)?r.replace("e",".e"):r}function gC(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Sm.isNegativeZero(e))}bm.exports=new cC("tag:yaml.org,2002:float",{kind:"scalar",resolve:fC,construct:hC,predicate:gC,represent:dC,defaultStyle:"lowercase"})});var ud=Ce((rT,Fm)=>{"use strict";var mC=Qa();Fm.exports=new mC({include:[Ef()],implicit:[vm(),Am(),ym(),Cm()]})});var od=Ce((nT,_m)=>{"use strict";var vC=Qa();_m.exports=new vC({include:[ud()]})});var $m=Ce((iT,Bm)=>{"use strict";var wC=dr(),Im=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Dm=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function AC(e){return e===null?!1:Im.exec(e)!==null||Dm.exec(e)!==null}function EC(e){var t,r,n,i,a,s,c,l=0,h=null,g,E,p;if(t=Im.exec(e),t===null&&(t=Dm.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,n,i));if(a=+t[4],s=+t[5],c=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(g=+t[10],E=+(t[11]||0),h=(g*60+E)*6e4,t[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,c,l)),h&&p.setTime(p.getTime()-h),p}function yC(e){return e.toISOString()}Bm.exports=new wC("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:AC,construct:EC,instanceOf:Date,represent:yC})});var Rm=Ce((sT,Pm)=>{"use strict";var SC=dr();function bC(e){return e==="<<"||e===null}Pm.exports=new SC("tag:yaml.org,2002:merge",{kind:"scalar",resolve:bC})});var Om=Ce((aT,xm)=>{"use strict";var eu;try{Tm=ja,eu=Tm("buffer").Buffer}catch{}var Tm,CC=dr(),cd=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function FC(e){if(e===null)return!1;var t,r,n=0,i=e.length,a=cd;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function _C(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,a=cd,s=0,c=[];for(t=0;t>16&255),c.push(s>>8&255),c.push(s&255)),s=s<<6|a.indexOf(n.charAt(t));return r=i%4*6,r===0?(c.push(s>>16&255),c.push(s>>8&255),c.push(s&255)):r===18?(c.push(s>>10&255),c.push(s>>2&255)):r===12&&c.push(s>>4&255),eu?eu.from?eu.from(c):new eu(c):c}function IC(e){var t="",r=0,n,i,a=e.length,s=cd;for(n=0;n>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]),r=(r<<8)+e[n];return i=a%3,i===0?(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]):i===2?(t+=s[r>>10&63],t+=s[r>>4&63],t+=s[r<<2&63],t+=s[64]):i===1&&(t+=s[r>>2&63],t+=s[r<<4&63],t+=s[64],t+=s[64]),t}function DC(e){return eu&&eu.isBuffer(e)}xm.exports=new CC("tag:yaml.org,2002:binary",{kind:"scalar",resolve:FC,construct:_C,predicate:DC,represent:IC})});var Nm=Ce((oT,km)=>{"use strict";var BC=dr(),$C=Object.prototype.hasOwnProperty,PC=Object.prototype.toString;function RC(e){if(e===null)return!0;var t=[],r,n,i,a,s,c=e;for(r=0,n=c.length;r{"use strict";var xC=dr(),OC=Object.prototype.toString;function kC(e){if(e===null)return!0;var t,r,n,i,a,s=e;for(a=new Array(s.length),t=0,r=s.length;t{"use strict";var LC=dr(),UC=Object.prototype.hasOwnProperty;function HC(e){if(e===null)return!0;var t,r=e;for(t in r)if(UC.call(r,t)&&r[t]!==null)return!1;return!0}function jC(e){return e!==null?e:{}}Hm.exports=new LC("tag:yaml.org,2002:set",{kind:"mapping",resolve:HC,construct:jC})});var so=Ce((fT,Mm)=>{"use strict";var MC=Qa();Mm.exports=new MC({include:[od()],implicit:[$m(),Rm()],explicit:[Om(),Nm(),Um(),jm()]})});var Km=Ce((hT,qm)=>{"use strict";var qC=dr();function KC(){return!0}function VC(){}function GC(){return""}function zC(e){return typeof e>"u"}qm.exports=new qC("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:KC,construct:VC,predicate:zC,represent:GC})});var Gm=Ce((pT,Vm)=>{"use strict";var YC=dr();function WC(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";return!(t[0]==="/"&&(r&&(n=r[1]),n.length>3||t[t.length-n.length-1]!=="/"))}function XC(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return t[0]==="/"&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)}function JC(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function ZC(e){return Object.prototype.toString.call(e)==="[object RegExp]"}Vm.exports=new YC("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:WC,construct:XC,predicate:ZC,represent:JC})});var Wm=Ce((dT,Ym)=>{"use strict";var yf;try{zm=ja,yf=zm("esprima")}catch{typeof window<"u"&&(yf=window.esprima)}var zm,QC=dr();function eF(e){if(e===null)return!1;try{var t="("+e+")",r=yf.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function tF(e){var t="("+e+")",r=yf.parse(t,{range:!0}),n=[],i;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(a){n.push(a.name)}),i=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(n,t.slice(i[0]+1,i[1]-1)):new Function(n,"return "+t.slice(i[0],i[1]))}function rF(e){return e.toString()}function nF(e){return Object.prototype.toString.call(e)==="[object Function]"}Ym.exports=new QC("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:eF,construct:tF,predicate:nF,represent:rF})});var Bc=Ce((mT,Jm)=>{"use strict";var Xm=Qa();Jm.exports=Xm.DEFAULT=new Xm({include:[so()],explicit:[Km(),Gm(),Wm()]})});var mv=Ce((vT,$c)=>{"use strict";var Es=Za(),iv=no(),iF=im(),sv=so(),sF=Bc(),ia=Object.prototype.hasOwnProperty,Sf=1,av=2,uv=3,bf=4,ld=1,aF=2,Zm=3,uF=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,oF=/[\x85\u2028\u2029]/,cF=/[,\[\]\{\}]/,ov=/^(?:!|!!|![a-z\-]+!)$/i,cv=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Qm(e){return Object.prototype.toString.call(e)}function Ni(e){return e===10||e===13}function ru(e){return e===9||e===32}function vn(e){return e===9||e===32||e===10||e===13}function ao(e){return e===44||e===91||e===93||e===123||e===125}function lF(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function fF(e){return e===120?2:e===117?4:e===85?8:0}function hF(e){return 48<=e&&e<=57?e-48:-1}function ev(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function pF(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var lv=new Array(256),fv=new Array(256);for(tu=0;tu<256;tu++)lv[tu]=ev(tu)?1:0,fv[tu]=ev(tu);var tu;function dF(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||sF,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function hv(e,t){return new iv(t,new iF(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Me(e,t){throw hv(e,t)}function Cf(e,t){e.onWarning&&e.onWarning.call(null,hv(e,t))}var tv={YAML:function(t,r,n){var i,a,s;t.version!==null&&Me(t,"duplication of %YAML directive"),n.length!==1&&Me(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Me(t,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Me(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Cf(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var i,a;n.length!==2&&Me(t,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],ov.test(i)||Me(t,"ill-formed tag handle (first argument) of the TAG directive"),ia.call(t.tagMap,i)&&Me(t,'there is a previously declared suffix for "'+i+'" tag handle'),cv.test(a)||Me(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=a}};function na(e,t,r,n){var i,a,s,c;if(t1&&(e.result+=Es.repeat(` +`,t-1))}function gF(e,t,r){var n,i,a,s,c,l,h,g,E=e.kind,p=e.result,f;if(f=e.input.charCodeAt(e.position),vn(f)||ao(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(i=e.input.charCodeAt(e.position+1),vn(i)||r&&ao(i)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,c=!1;f!==0;){if(f===58){if(i=e.input.charCodeAt(e.position+1),vn(i)||r&&ao(i))break}else if(f===35){if(n=e.input.charCodeAt(e.position-1),vn(n))break}else{if(e.position===e.lineStart&&Ff(e)||r&&ao(f))break;if(Ni(f))if(l=e.line,h=e.lineStart,g=e.lineIndent,or(e,!1,-1),e.lineIndent>=t){c=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=h,e.lineIndent=g;break}}c&&(na(e,a,s,!1),hd(e,e.line-l),a=s=e.position,c=!1),ru(f)||(s=e.position+1),f=e.input.charCodeAt(++e.position)}return na(e,a,s,!1),e.result?!0:(e.kind=E,e.result=p,!1)}function mF(e,t){var r,n,i;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(na(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,i=e.position;else return!0;else Ni(r)?(na(e,n,i,!0),hd(e,or(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Ff(e)?Me(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Me(e,"unexpected end of the stream within a single quoted scalar")}function vF(e,t){var r,n,i,a,s,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return na(e,r,e.position,!0),e.position++,!0;if(c===92){if(na(e,r,e.position,!0),c=e.input.charCodeAt(++e.position),Ni(c))or(e,!1,t);else if(c<256&&lv[c])e.result+=fv[c],e.position++;else if((s=fF(c))>0){for(i=s,a=0;i>0;i--)c=e.input.charCodeAt(++e.position),(s=lF(c))>=0?a=(a<<4)+s:Me(e,"expected hexadecimal character");e.result+=pF(a),e.position++}else Me(e,"unknown escape sequence");r=n=e.position}else Ni(c)?(na(e,r,n,!0),hd(e,or(e,!1,t)),r=n=e.position):e.position===e.lineStart&&Ff(e)?Me(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Me(e,"unexpected end of the stream within a double quoted scalar")}function wF(e,t){var r=!0,n,i=e.tag,a,s=e.anchor,c,l,h,g,E,p={},f,A,v,b;if(b=e.input.charCodeAt(e.position),b===91)l=93,E=!1,a=[];else if(b===123)l=125,E=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),b=e.input.charCodeAt(++e.position);b!==0;){if(or(e,!0,t),b=e.input.charCodeAt(e.position),b===l)return e.position++,e.tag=i,e.anchor=s,e.kind=E?"mapping":"sequence",e.result=a,!0;r||Me(e,"missed comma between flow collection entries"),A=f=v=null,h=g=!1,b===63&&(c=e.input.charCodeAt(e.position+1),vn(c)&&(h=g=!0,e.position++,or(e,!0,t))),n=e.line,oo(e,t,Sf,!1,!0),A=e.tag,f=e.result,or(e,!0,t),b=e.input.charCodeAt(e.position),(g||e.line===n)&&b===58&&(h=!0,b=e.input.charCodeAt(++e.position),or(e,!0,t),oo(e,t,Sf,!1,!0),v=e.result),E?uo(e,a,p,A,f,v):h?a.push(uo(e,null,p,A,f,v)):a.push(f),or(e,!0,t),b=e.input.charCodeAt(e.position),b===44?(r=!0,b=e.input.charCodeAt(++e.position)):r=!1}Me(e,"unexpected end of the stream within a flow collection")}function AF(e,t){var r,n,i=ld,a=!1,s=!1,c=t,l=0,h=!1,g,E;if(E=e.input.charCodeAt(e.position),E===124)n=!1;else if(E===62)n=!0;else return!1;for(e.kind="scalar",e.result="";E!==0;)if(E=e.input.charCodeAt(++e.position),E===43||E===45)ld===i?i=E===43?Zm:aF:Me(e,"repeat of a chomping mode identifier");else if((g=hF(E))>=0)g===0?Me(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Me(e,"repeat of an indentation width identifier"):(c=t+g-1,s=!0);else break;if(ru(E)){do E=e.input.charCodeAt(++e.position);while(ru(E));if(E===35)do E=e.input.charCodeAt(++e.position);while(!Ni(E)&&E!==0)}for(;E!==0;){for(fd(e),e.lineIndent=0,E=e.input.charCodeAt(e.position);(!s||e.lineIndentc&&(c=e.lineIndent),Ni(E)){l++;continue}if(e.lineIndentt)&&l!==0)Me(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(oo(e,t,bf,!0,i)&&(A?p=e.result:f=e.result),A||(uo(e,h,g,E,p,f,a,s),E=p=f=null),or(e,!0,-1),b=e.input.charCodeAt(e.position)),e.lineIndent>t&&b!==0)Me(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),E=0,p=e.implicitTypes.length;E tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result)?(e.result=f.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Me(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Me(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||g}function CF(e){var t=e.position,r,n,i,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(s=e.input.charCodeAt(e.position))!==0&&(or(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),r=e.position;s!==0&&!vn(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),i=[],n.length<1&&Me(e,"directive name must not be less than one character in length");s!==0;){for(;ru(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!Ni(s));break}if(Ni(s))break;for(r=e.position;s!==0&&!vn(s);)s=e.input.charCodeAt(++e.position);i.push(e.input.slice(r,e.position))}s!==0&&fd(e),ia.call(tv,n)?tv[n](e,n,i):Cf(e,'unknown document directive "'+n+'"')}if(or(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,or(e,!0,-1)):a&&Me(e,"directives end mark is expected"),oo(e,e.lineIndent-1,bf,!1,!0),or(e,!0,-1),e.checkLineBreaks&&oF.test(e.input.slice(t,e.position))&&Cf(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Ff(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,or(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=pv(e,r);if(typeof t!="function")return n;for(var i=0,a=n.length;i"u"&&(r=t,t=null),dv(e,t,Es.extend({schema:sv},r))}function _F(e,t){return gv(e,Es.extend({schema:sv},t))}$c.exports.loadAll=dv;$c.exports.load=gv;$c.exports.safeLoadAll=FF;$c.exports.safeLoad=_F});var Uv=Ce((wT,md)=>{"use strict";var Rc=Za(),Tc=no(),IF=Bc(),DF=so(),Cv=Object.prototype.toString,Fv=Object.prototype.hasOwnProperty,BF=9,Pc=10,$F=13,PF=32,RF=33,TF=34,_v=35,xF=37,OF=38,kF=39,NF=42,Iv=44,LF=45,Dv=58,UF=61,HF=62,jF=63,MF=64,Bv=91,$v=93,qF=96,Pv=123,KF=124,Rv=125,Gr={};Gr[0]="\\0";Gr[7]="\\a";Gr[8]="\\b";Gr[9]="\\t";Gr[10]="\\n";Gr[11]="\\v";Gr[12]="\\f";Gr[13]="\\r";Gr[27]="\\e";Gr[34]='\\"';Gr[92]="\\\\";Gr[133]="\\N";Gr[160]="\\_";Gr[8232]="\\L";Gr[8233]="\\P";var VF=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function GF(e,t){var r,n,i,a,s,c,l;if(t===null)return{};for(r={},n=Object.keys(t),i=0,a=n.length;i0?e.charCodeAt(a-1):null,p=p&&Av(s,c)}else{for(a=0;an&&e[E+1]!==" ",E=a);else if(!co(s))return _f;c=a>0?e.charCodeAt(a-1):null,p=p&&Av(s,c)}h=h||g&&a-E-1>n&&e[E+1]!==" "}return!l&&!h?p&&!i(e)?xv:Ov:r>9&&Tv(e)?_f:h?Nv:kv}function ZF(e,t,r,n){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&VF.indexOf(t)!==-1)return"'"+t+"'";var i=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=n||e.flowLevel>-1&&r>=e.flowLevel;function c(l){return YF(e,l)}switch(JF(t,s,e.indent,a,c)){case xv:return t;case Ov:return"'"+t.replace(/'/g,"''")+"'";case kv:return"|"+Ev(t,e.indent)+yv(wv(t,i));case Nv:return">"+Ev(t,e.indent)+yv(wv(QF(t,a),i));case _f:return'"'+e_(t,a)+'"';default:throw new Tc("impossible error: invalid scalar style")}}()}function Ev(e,t){var r=Tv(e)?String(t):"",n=e[e.length-1]===` +`,i=n&&(e[e.length-2]===` +`||e===` +`),a=i?"+":n?"":"-";return r+a+` +`}function yv(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function QF(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=e.indexOf(` +`);return h=h!==-1?h:e.length,r.lastIndex=h,Sv(e.slice(0,h),t)}(),i=e[0]===` +`||e[0]===" ",a,s;s=r.exec(e);){var c=s[1],l=s[2];a=l[0]===" ",n+=c+(!i&&!a&&l!==""?` +`:"")+Sv(l,t),i=a}return n}function Sv(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,i=0,a,s=0,c=0,l="";n=r.exec(e);)c=n.index,c-i>t&&(a=s>i?s:c,l+=` +`+e.slice(i,a),i=a+1),s=c;return l+=` +`,e.length-i>t&&s>i?l+=e.slice(i,s)+` +`+e.slice(s+1):l+=e.slice(i),l.slice(1)}function e_(e){for(var t="",r,n,i,a=0;a=55296&&r<=56319&&(n=e.charCodeAt(a+1),n>=56320&&n<=57343)){t+=vv((r-55296)*1024+n-56320+65536),a++;continue}i=Gr[r],t+=!i&&co(r)?e[a]:i||vv(r)}return t}function t_(e,t,r){var n="",i=e.tag,a,s;for(a=0,s=r.length;a1024&&(g+="? "),g+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),nu(e,t,h,!1,!1)&&(g+=e.dump,n+=g));e.tag=i,e.dump="{"+n+"}"}function i_(e,t,r,n){var i="",a=e.tag,s=Object.keys(r),c,l,h,g,E,p;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Tc("sortKeys must be a boolean or a function");for(c=0,l=s.length;c1024,E&&(e.dump&&Pc===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,E&&(p+=pd(e,t)),nu(e,t+1,g,!0,E)&&(e.dump&&Pc===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,i+=p));e.tag=a,e.dump=i||"{}"}function bv(e,t,r){var n,i,a,s,c,l;for(i=r?e.explicitTypes:e.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function nu(e,t,r,n,i,a){e.tag=null,e.dump=r,bv(e,r,!1)||bv(e,r,!0);var s=Cv.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var c=s==="[object Object]"||s==="[object Array]",l,h;if(c&&(l=e.duplicates.indexOf(r),h=l!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(i=!1),h&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(c&&h&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),s==="[object Object]")n&&Object.keys(e.dump).length!==0?(i_(e,t,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(n_(e,t,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(s==="[object Array]"){var g=e.noArrayIndent&&t>0?t-1:t;n&&e.dump.length!==0?(r_(e,g,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(t_(e,g,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump))}else if(s==="[object String]")e.tag!=="?"&&ZF(e,e.dump,t,a);else{if(e.skipInvalid)return!1;throw new Tc("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function s_(e,t){var r=[],n=[],i,a;for(dd(e,r,n),i=0,a=n.length;i{"use strict";var If=mv(),Hv=Uv();function Df(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}Jt.exports.Type=dr();Jt.exports.Schema=Qa();Jt.exports.FAILSAFE_SCHEMA=Ef();Jt.exports.JSON_SCHEMA=ud();Jt.exports.CORE_SCHEMA=od();Jt.exports.DEFAULT_SAFE_SCHEMA=so();Jt.exports.DEFAULT_FULL_SCHEMA=Bc();Jt.exports.load=If.load;Jt.exports.loadAll=If.loadAll;Jt.exports.safeLoad=If.safeLoad;Jt.exports.safeLoadAll=If.safeLoadAll;Jt.exports.dump=Hv.dump;Jt.exports.safeDump=Hv.safeDump;Jt.exports.YAMLException=no();Jt.exports.MINIMAL_SCHEMA=Ef();Jt.exports.SAFE_SCHEMA=so();Jt.exports.DEFAULT_SCHEMA=Bc();Jt.exports.scan=Df("scan");Jt.exports.parse=Df("parse");Jt.exports.compose=Df("compose");Jt.exports.addConstructor=Df("addConstructor")});var qv=Ce((ET,Mv)=>{"use strict";var u_=jv();Mv.exports=u_});var Vv=Ce((yT,Kv)=>{"use strict";var Bf=qv();Kv.exports={safeLoad:Bf.safeLoad,load:Bf.load,safeDump:Bf.safeDump,dump:Bf.dump}});var v2=Ce(Tf=>{"use strict";Tf.byteLength=__;Tf.toByteArray=D_;Tf.fromByteArray=P_;var Li=[],ii=[],F_=typeof Uint8Array<"u"?Uint8Array:Array,Sd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(su=0,g2=Sd.length;su0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function __(e){var t=m2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function I_(e,t,r){return(t+r)*3/4-r}function D_(e){var t,r=m2(e),n=r[0],i=r[1],a=new F_(I_(e,n,i)),s=0,c=i>0?n-4:n,l;for(l=0;l>16&255,a[s++]=t>>8&255,a[s++]=t&255;return i===2&&(t=ii[e.charCodeAt(l)]<<2|ii[e.charCodeAt(l+1)]>>4,a[s++]=t&255),i===1&&(t=ii[e.charCodeAt(l)]<<10|ii[e.charCodeAt(l+1)]<<4|ii[e.charCodeAt(l+2)]>>2,a[s++]=t>>8&255,a[s++]=t&255),a}function B_(e){return Li[e>>18&63]+Li[e>>12&63]+Li[e>>6&63]+Li[e&63]}function $_(e,t,r){for(var n,i=[],a=t;ac?c:s+a));return n===1?(t=e[r-1],i.push(Li[t>>2]+Li[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Li[t>>10]+Li[t>>4&63]+Li[t<<2&63]+"=")),i.join("")}});var w2=Ce(bd=>{bd.read=function(e,t,r,n,i){var a,s,c=i*8-n-1,l=(1<>1,g=-7,E=r?i-1:0,p=r?-1:1,f=e[t+E];for(E+=p,a=f&(1<<-g)-1,f>>=-g,g+=c;g>0;a=a*256+e[t+E],E+=p,g-=8);for(s=a&(1<<-g)-1,a>>=-g,g+=n;g>0;s=s*256+e[t+E],E+=p,g-=8);if(a===0)a=1-h;else{if(a===l)return s?NaN:(f?-1:1)*(1/0);s=s+Math.pow(2,n),a=a-h}return(f?-1:1)*s*Math.pow(2,a-n)};bd.write=function(e,t,r,n,i,a){var s,c,l,h=a*8-i-1,g=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,A=n?1:-1,v=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,s=g):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+E>=1?t+=p/l:t+=p*Math.pow(2,1-E),t*l>=2&&(s++,l/=2),s+E>=g?(c=0,s=g):s+E>=1?(c=(t*l-1)*Math.pow(2,i),s=s+E):(c=t*Math.pow(2,E-1)*Math.pow(2,i),s=0));i>=8;e[r+f]=c&255,f+=A,c/=256,i-=8);for(s=s<0;e[r+f]=s&255,f+=A,s/=256,h-=8);e[r+f-A]|=v*128}});var kf=Ce(mo=>{"use strict";var Cd=v2(),po=w2(),A2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;mo.Buffer=fe;mo.SlowBuffer=N_;mo.INSPECT_MAX_BYTES=50;var xf=2147483647;mo.kMaxLength=xf;fe.TYPED_ARRAY_SUPPORT=R_();!fe.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function R_(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(fe.prototype,"parent",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.buffer}});Object.defineProperty(fe.prototype,"offset",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.byteOffset}});function ys(e){if(e>xf)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,fe.prototype),t}function fe(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Dd(e)}return b2(e,t,r)}fe.poolSize=8192;function b2(e,t,r){if(typeof e=="string")return x_(e,t);if(ArrayBuffer.isView(e))return O_(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Ui(e,ArrayBuffer)||e&&Ui(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ui(e,SharedArrayBuffer)||e&&Ui(e.buffer,SharedArrayBuffer)))return _d(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return fe.from(n,t,r);let i=k_(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return fe.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}fe.from=function(e,t,r){return b2(e,t,r)};Object.setPrototypeOf(fe.prototype,Uint8Array.prototype);Object.setPrototypeOf(fe,Uint8Array);function C2(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function T_(e,t,r){return C2(e),e<=0?ys(e):t!==void 0?typeof r=="string"?ys(e).fill(t,r):ys(e).fill(t):ys(e)}fe.alloc=function(e,t,r){return T_(e,t,r)};function Dd(e){return C2(e),ys(e<0?0:Bd(e)|0)}fe.allocUnsafe=function(e){return Dd(e)};fe.allocUnsafeSlow=function(e){return Dd(e)};function x_(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!fe.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=F2(e,t)|0,n=ys(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function Fd(e){let t=e.length<0?0:Bd(e.length)|0,r=ys(t);for(let n=0;n=xf)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+xf.toString(16)+" bytes");return e|0}function N_(e){return+e!=e&&(e=0),fe.alloc(+e)}fe.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==fe.prototype};fe.compare=function(t,r){if(Ui(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),Ui(r,Uint8Array)&&(r=fe.from(r,r.offset,r.byteLength)),!fe.isBuffer(t)||!fe.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,s=Math.min(n,i);ai.length?(fe.isBuffer(s)||(s=fe.from(s)),s.copy(i,a)):Uint8Array.prototype.set.call(i,s,a);else if(fe.isBuffer(s))s.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=s.length}return i};function F2(e,t){if(fe.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ui(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Id(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return x2(e).length;default:if(i)return n?-1:Id(e).length;t=(""+t).toLowerCase(),i=!0}}fe.byteLength=F2;function L_(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Y_(this,t,r);case"utf8":case"utf-8":return I2(this,t,r);case"ascii":return G_(this,t,r);case"latin1":case"binary":return z_(this,t,r);case"base64":return K_(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return W_(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}fe.prototype._isBuffer=!0;function au(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}fe.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};A2&&(fe.prototype[A2]=fe.prototype.inspect);fe.prototype.compare=function(t,r,n,i,a){if(Ui(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),!fe.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let s=a-i,c=n-r,l=Math.min(s,c),h=this.slice(i,a),g=t.slice(r,n);for(let E=0;E2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Pd(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=fe.from(t,n)),fe.isBuffer(t))return t.length===0?-1:E2(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):E2(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function E2(e,t,r,n,i){let a=1,s=e.length,c=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,r/=2}function l(g,E){return a===1?g[E]:g.readUInt16BE(E*a)}let h;if(i){let g=-1;for(h=r;hs&&(r=s-c),h=r;h>=0;h--){let g=!0;for(let E=0;Ei&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let s;for(s=0;s>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return U_(this,t,r,n);case"utf8":case"utf-8":return H_(this,t,r,n);case"ascii":case"latin1":case"binary":return j_(this,t,r,n);case"base64":return M_(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q_(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};fe.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function K_(e,t,r){return t===0&&r===e.length?Cd.fromByteArray(e):Cd.fromByteArray(e.slice(t,r))}function I2(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+c<=r){let l,h,g,E;switch(c){case 1:a<128&&(s=a);break;case 2:l=e[i+1],(l&192)===128&&(E=(a&31)<<6|l&63,E>127&&(s=E));break;case 3:l=e[i+1],h=e[i+2],(l&192)===128&&(h&192)===128&&(E=(a&15)<<12|(l&63)<<6|h&63,E>2047&&(E<55296||E>57343)&&(s=E));break;case 4:l=e[i+1],h=e[i+2],g=e[i+3],(l&192)===128&&(h&192)===128&&(g&192)===128&&(E=(a&15)<<18|(l&63)<<12|(h&63)<<6|g&63,E>65535&&E<1114112&&(s=E))}}s===null?(s=65533,c=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=c}return V_(n)}var y2=4096;function V_(e){let t=e.length;if(t<=y2)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}fe.prototype.readUintLE=fe.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||Cr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s>>0,r=r>>>0,n||Cr(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};fe.prototype.readUint8=fe.prototype.readUInt8=function(t,r){return t=t>>>0,r||Cr(t,1,this.length),this[t]};fe.prototype.readUint16LE=fe.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||Cr(t,2,this.length),this[t]|this[t+1]<<8};fe.prototype.readUint16BE=fe.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||Cr(t,2,this.length),this[t]<<8|this[t+1]};fe.prototype.readUint32LE=fe.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||Cr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};fe.prototype.readUint32BE=fe.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||Cr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};fe.prototype.readBigUInt64LE=sa(function(t){t=t>>>0,go(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Nc(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,go(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Nc(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||Cr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s=a&&(i-=Math.pow(2,8*r)),i};fe.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||Cr(t,r,this.length);let i=r,a=1,s=this[t+--i];for(;i>0&&(a*=256);)s+=this[t+--i]*a;return a*=128,s>=a&&(s-=Math.pow(2,8*r)),s};fe.prototype.readInt8=function(t,r){return t=t>>>0,r||Cr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};fe.prototype.readInt16LE=function(t,r){t=t>>>0,r||Cr(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt16BE=function(t,r){t=t>>>0,r||Cr(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt32LE=function(t,r){return t=t>>>0,r||Cr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};fe.prototype.readInt32BE=function(t,r){return t=t>>>0,r||Cr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};fe.prototype.readBigInt64LE=sa(function(t){t=t>>>0,go(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Nc(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,go(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Nc(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||Cr(t,4,this.length),po.read(this,t,!0,23,4)};fe.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Cr(t,4,this.length),po.read(this,t,!1,23,4)};fe.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Cr(t,8,this.length),po.read(this,t,!0,52,8)};fe.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Cr(t,8,this.length),po.read(this,t,!1,52,8)};function wn(e,t,r,n,i,a){if(!fe.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}fe.prototype.writeUintLE=fe.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let c=Math.pow(2,8*n)-1;wn(this,t,r,n,c,0)}let a=1,s=0;for(this[r]=t&255;++s>>0,n=n>>>0,!i){let c=Math.pow(2,8*n)-1;wn(this,t,r,n,c,0)}let a=n-1,s=1;for(this[r+a]=t&255;--a>=0&&(s*=256);)this[r+a]=t/s&255;return r+n};fe.prototype.writeUint8=fe.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,1,255,0),this[r]=t&255,r+1};fe.prototype.writeUint16LE=fe.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeUint16BE=fe.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeUint32LE=fe.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};fe.prototype.writeUint32BE=fe.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function D2(e,t,r,n,i){T2(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function B2(e,t,r,n,i){T2(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}fe.prototype.writeBigUInt64LE=sa(function(t,r=0){return D2(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeBigUInt64BE=sa(function(t,r=0){return B2(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);wn(this,t,r,n,l-1,-l)}let a=0,s=1,c=0;for(this[r]=t&255;++a>0)-c&255;return r+n};fe.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);wn(this,t,r,n,l-1,-l)}let a=n-1,s=1,c=0;for(this[r+a]=t&255;--a>=0&&(s*=256);)t<0&&c===0&&this[r+a+1]!==0&&(c=1),this[r+a]=(t/s>>0)-c&255;return r+n};fe.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};fe.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};fe.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||wn(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};fe.prototype.writeBigInt64LE=sa(function(t,r=0){return D2(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});fe.prototype.writeBigInt64BE=sa(function(t,r=0){return B2(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function $2(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function P2(e,t,r,n,i){return t=+t,r=r>>>0,i||$2(e,t,r,4,34028234663852886e22,-34028234663852886e22),po.write(e,t,r,n,23,4),r+4}fe.prototype.writeFloatLE=function(t,r,n){return P2(this,t,r,!0,n)};fe.prototype.writeFloatBE=function(t,r,n){return P2(this,t,r,!1,n)};function R2(e,t,r,n,i){return t=+t,r=r>>>0,i||$2(e,t,r,8,17976931348623157e292,-17976931348623157e292),po.write(e,t,r,n,52,8),r+8}fe.prototype.writeDoubleLE=function(t,r,n){return R2(this,t,r,!0,n)};fe.prototype.writeDoubleBE=function(t,r,n){return R2(this,t,r,!1,n)};fe.prototype.copy=function(t,r,n,i){if(!fe.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=S2(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=S2(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function S2(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function X_(e,t,r){go(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Nc(t,e.length-(r+1))}function T2(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?c=`>= 0${s} and < 2${s} ** ${(a+1)*8}${s}`:c=`>= -(2${s} ** ${(a+1)*8-1}${s}) and < 2 ** ${(a+1)*8-1}${s}`:c=`>= ${t}${s} and <= ${r}${s}`,new ho.ERR_OUT_OF_RANGE("value",c,e)}X_(n,i,a)}function go(e,t){if(typeof e!="number")throw new ho.ERR_INVALID_ARG_TYPE(t,"number",e)}function Nc(e,t,r){throw Math.floor(e)!==e?(go(e,r),new ho.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new ho.ERR_BUFFER_OUT_OF_BOUNDS:new ho.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var J_=/[^+/0-9A-Za-z-_]/g;function Z_(e){if(e=e.split("=")[0],e=e.trim().replace(J_,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Id(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function Q_(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function x2(e){return Cd.toByteArray(Z_(e))}function Of(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Ui(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Pd(e){return e!==e}var t8=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function sa(e){return typeof BigInt>"u"?r8:e}function r8(){throw new Error("BigInt not supported")}});var iw=Ce(Se=>{var Lc={};Lc.userAgent=!1;var vo={},n8="11.1.0",i8="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license";var be=be||function(e,t){var r={},n=r.lib={},i=n.Base=function(){function f(){}return{extend:function(A){f.prototype=this;var v=new f;return A&&v.mixIn(A),v.hasOwnProperty("init")||(v.init=function(){v.$super.init.apply(this,arguments)}),v.init.prototype=v,v.$super=this,v},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var v in A)A.hasOwnProperty(v)&&(this[v]=A[v]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=i.extend({init:function(f,A){f=this.words=f||[],A!=t?this.sigBytes=A:this.sigBytes=f.length*4},toString:function(f){return(f||c).stringify(this)},concat:function(f){var A=this.words,v=f.words,b=this.sigBytes,w=f.sigBytes;if(this.clamp(),b%4)for(var y=0;y>>2]>>>24-y%4*8&255;A[b+y>>>2]|=F<<24-(b+y)%4*8}else for(var y=0;y>>2]=v[y>>>2];return this.sigBytes+=w,this},clamp:function(){var f=this.words,A=this.sigBytes;f[A>>>2]&=4294967295<<32-A%4*8,f.length=e.ceil(A/4)},clone:function(){var f=i.clone.call(this);return f.words=this.words.slice(0),f},random:function(f){for(var A=[],v=0;v>>2]>>>24-w%4*8&255;b.push((y>>>4).toString(16)),b.push((y&15).toString(16))}return b.join("")},parse:function(f){for(var A=f.length,v=[],b=0;b>>3]|=parseInt(f.substr(b,2),16)<<24-b%8*4;return new a.init(v,A/2)}},l=s.Latin1={stringify:function(f){for(var A=f.words,v=f.sigBytes,b=[],w=0;w>>2]>>>24-w%4*8&255;b.push(String.fromCharCode(y))}return b.join("")},parse:function(f){for(var A=f.length,v=[],b=0;b>>2]|=(f.charCodeAt(b)&255)<<24-b%4*8;return new a.init(v,A)}},h=s.Utf8={stringify:function(f){try{return decodeURIComponent(escape(l.stringify(f)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(f){return l.parse(unescape(encodeURIComponent(f)))}},g=n.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(f){typeof f=="string"&&(f=h.parse(f)),this._data.concat(f),this._nDataBytes+=f.sigBytes},_process:function(f){var A=this._data,v=A.words,b=A.sigBytes,w=this.blockSize,y=w*4,F=b/y;f?F=e.ceil(F):F=e.max((F|0)-this._minBufferSize,0);var D=F*w,I=e.min(D*4,b);if(D){for(var q=0;q>>2]&255}},t.BlockCipher=c.extend({cfg:c.cfg.extend({mode:E,padding:h}),reset:function(){c.reset.call(this);var b=this.cfg,v=b.iv,b=b.mode;if(this._xformMode==this._ENC_XFORM_MODE)var w=b.createEncryptor;else w=b.createDecryptor,this._minBufferSize=1;this._mode=w.call(b,this,v&&v.words)},_doProcessBlock:function(v,b){this._mode.processBlock(v,b)},_doFinalize:function(){var v=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){v.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),v.unpad(b);return b},blockSize:4});var g=t.CipherParams=r.extend({init:function(v){this.mixIn(v)},toString:function(v){return(v||this.formatter).stringify(this)}}),E=(f.format={}).OpenSSL={stringify:function(v){var b=v.ciphertext;return v=v.salt,(v?n.create([1398893684,1701076831]).concat(v).concat(b):b).toString(a)},parse:function(v){v=a.parse(v);var b=v.words;if(b[0]==1398893684&&b[1]==1701076831){var w=n.create(b.slice(2,4));b.splice(0,4),v.sigBytes-=16}return g.create({ciphertext:v,salt:w})}},p=t.SerializableCipher=r.extend({cfg:r.extend({format:E}),encrypt:function(v,b,w,y){y=this.cfg.extend(y);var F=v.createEncryptor(w,y);return b=F.finalize(b),F=F.cfg,g.create({ciphertext:b,key:w,iv:F.iv,algorithm:v,mode:F.mode,padding:F.padding,blockSize:v.blockSize,formatter:y.format})},decrypt:function(v,b,w,y){return y=this.cfg.extend(y),b=this._parse(b,y.format),v.createDecryptor(w,y).finalize(b.ciphertext)},_parse:function(v,b){return typeof v=="string"?b.parse(v,this):v}}),f=(f.kdf={}).OpenSSL={execute:function(v,b,w,y){return y||(y=n.random(8)),v=s.create({keySize:b+w}).compute(v,y),w=n.create(v.words.slice(b),4*w),v.sigBytes=4*b,g.create({key:v,iv:w,salt:y})}},A=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:f}),encrypt:function(v,b,w,y){return y=this.cfg.extend(y),w=y.kdf.execute(w,v.keySize,v.ivSize),y.iv=w.iv,v=p.encrypt.call(this,v,b,w.key,y),v.mixIn(w),v},decrypt:function(v,b,w,y){return y=this.cfg.extend(y),b=this._parse(b,y.format),w=y.kdf.execute(w,v.keySize,v.ivSize,b.salt),y.iv=w.iv,p.decrypt.call(this,v,b,w.key,y)}})}();(function(){for(var e=be,t=e.lib.BlockCipher,q=e.algo,r=[],n=[],i=[],a=[],s=[],c=[],l=[],h=[],g=[],E=[],p=[],f=0;256>f;f++)p[f]=128>f?f<<1:f<<1^283;for(var A=0,v=0,f=0;256>f;f++){var b=v^v<<1^v<<2^v<<3^v<<4,b=b>>>8^b&255^99;r[A]=b,n[b]=A;var w=p[A],y=p[w],F=p[y],D=257*p[b]^16843008*b;i[A]=D<<24|D>>>8,a[A]=D<<16|D>>>16,s[A]=D<<8|D>>>24,c[A]=D,D=16843009*F^65537*y^257*w^16843008*A,l[b]=D<<24|D>>>8,h[b]=D<<16|D>>>16,g[b]=D<<8|D>>>24,E[b]=D,A?(A=w^p[p[p[F^w]]],v^=p[p[v]]):A=v=1}var I=[0,1,2,4,8,16,32,64,128,27,54],q=q.AES=t.extend({_doReset:function(){for(var P=this._key,V=P.words,_=P.sigBytes/4,P=4*((this._nRounds=_+6)+1),L=this._keySchedule=[],j=0;j>>24]<<24|r[K>>>16&255]<<16|r[K>>>8&255]<<8|r[K&255]):(K=K<<8|K>>>24,K=r[K>>>24]<<24|r[K>>>16&255]<<16|r[K>>>8&255]<<8|r[K&255],K^=I[j/_|0]<<24),L[j]=L[j-_]^K}for(V=this._invKeySchedule=[],_=0;__||4>=j?K:l[r[K>>>24]]^h[r[K>>>16&255]]^g[r[K>>>8&255]]^E[r[K&255]]},encryptBlock:function(V,_){this._doCryptBlock(V,_,this._keySchedule,i,a,s,c,r)},decryptBlock:function(V,_){var P=V[_+1];V[_+1]=V[_+3],V[_+3]=P,this._doCryptBlock(V,_,this._invKeySchedule,l,h,g,E,n),P=V[_+1],V[_+1]=V[_+3],V[_+3]=P},_doCryptBlock:function(V,_,P,L,j,K,X,G){for(var z=this._nRounds,oe=V[_]^P[0],Fe=V[_+1]^P[1],ke=V[_+2]^P[2],qe=V[_+3]^P[3],W=4,ie=1;ie>>24]^j[Fe>>>16&255]^K[ke>>>8&255]^X[qe&255]^P[W++],Ae=L[Fe>>>24]^j[ke>>>16&255]^K[qe>>>8&255]^X[oe&255]^P[W++],Ie=L[ke>>>24]^j[qe>>>16&255]^K[oe>>>8&255]^X[Fe&255]^P[W++],qe=L[qe>>>24]^j[oe>>>16&255]^K[Fe>>>8&255]^X[ke&255]^P[W++],oe=ye,Fe=Ae,ke=Ie;ye=(G[oe>>>24]<<24|G[Fe>>>16&255]<<16|G[ke>>>8&255]<<8|G[qe&255])^P[W++],Ae=(G[Fe>>>24]<<24|G[ke>>>16&255]<<16|G[qe>>>8&255]<<8|G[oe&255])^P[W++],Ie=(G[ke>>>24]<<24|G[qe>>>16&255]<<16|G[oe>>>8&255]<<8|G[Fe&255])^P[W++],qe=(G[qe>>>24]<<24|G[oe>>>16&255]<<16|G[Fe>>>8&255]<<8|G[ke&255])^P[W++],V[_]=ye,V[_+1]=Ae,V[_+2]=Ie,V[_+3]=qe},keySize:8});e.AES=t._createHelper(q)})();(function(){function e(p,f){var A=(this._lBlock>>>p^this._rBlock)&f;this._rBlock^=A,this._lBlock^=A<>>p^this._lBlock)&f;this._lBlock^=A,this._rBlock^=A<A;A++){var v=s[A]-1;f[A]=p[v>>>5]>>>31-v%32&1}for(p=this._subKeys=[],v=0;16>v;v++){for(var b=p[v]=[],w=l[v],A=0;24>A;A++)b[A/6|0]|=f[(c[A]-1+w)%28]<<31-A%6,b[4+(A/6|0)]|=f[28+(c[A+24]-1+w)%28]<<31-A%6;for(b[0]=b[0]<<1|b[0]>>>31,A=1;7>A;A++)b[A]>>>=4*(A-1)+3;b[7]=b[7]<<5|b[7]>>>27}for(f=this._invSubKeys=[],A=0;16>A;A++)f[A]=p[15-A]},encryptBlock:function(p,f){this._doCryptBlock(p,f,this._subKeys)},decryptBlock:function(p,f){this._doCryptBlock(p,f,this._invSubKeys)},_doCryptBlock:function(p,f,A){this._lBlock=p[f],this._rBlock=p[f+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var v=0;16>v;v++){for(var b=A[v],w=this._lBlock,y=this._rBlock,F=0,D=0;8>D;D++)F|=h[D][((y^b[D])&g[D])>>>0];this._lBlock=y,this._rBlock=w^F}A=this._lBlock,this._lBlock=this._rBlock,this._rBlock=A,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),p[f]=this._lBlock,p[f+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});r.DES=i._createHelper(E),a=a.TripleDES=i.extend({_doReset:function(){var p=this._key.words;this._des1=E.createEncryptor(n.create(p.slice(0,2))),this._des2=E.createEncryptor(n.create(p.slice(2,4))),this._des3=E.createEncryptor(n.create(p.slice(4,6)))},encryptBlock:function(p,f){this._des1.encryptBlock(p,f),this._des2.decryptBlock(p,f),this._des3.encryptBlock(p,f)},decryptBlock:function(p,f){this._des3.decryptBlock(p,f),this._des2.encryptBlock(p,f),this._des1.decryptBlock(p,f)},keySize:6,ivSize:2,blockSize:2}),r.TripleDES=i._createHelper(a)})();(function(){var e=be,t=e.lib.WordArray;e.enc.Base64={stringify:function(r){var n=r.words,i=r.sigBytes,a=this._map;r.clamp(),r=[];for(var s=0;s>>2]>>>24-8*(s%4)&255)<<16|(n[s+1>>>2]>>>24-8*((s+1)%4)&255)<<8|n[s+2>>>2]>>>24-8*((s+2)%4)&255,l=0;4>l&&s+.75*l>>6*(3-l)&63));if(n=a.charAt(64))for(;r.length%4;)r.push(n);return r.join("")},parse:function(r){var n=r.length,i=this._map,a=i.charAt(64);a&&(a=r.indexOf(a),a!=-1&&(n=a));for(var a=[],s=0,c=0;c>>6-2*(c%4);a[s>>>2]|=(l|h)<<24-8*(s%4),s++}return t.create(a,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();(function(e){function t(E,p,f,A,v,b,w){return E=E+(p&f|~p&A)+v+w,(E<>>32-b)+p}function r(E,p,f,A,v,b,w){return E=E+(p&A|f&~A)+v+w,(E<>>32-b)+p}function n(E,p,f,A,v,b,w){return E=E+(p^f^A)+v+w,(E<>>32-b)+p}function i(E,p,f,A,v,b,w){return E=E+(f^(p|~A))+v+w,(E<>>32-b)+p}for(var a=be,l=a.lib,s=l.WordArray,c=l.Hasher,l=a.algo,h=[],g=0;64>g;g++)h[g]=4294967296*e.abs(e.sin(g+1))|0;l=l.MD5=c.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(E,p){for(var f=0;16>f;f++){var A=p+f,v=E[A];E[A]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}var f=this._hash.words,A=E[p+0],v=E[p+1],b=E[p+2],w=E[p+3],y=E[p+4],F=E[p+5],D=E[p+6],I=E[p+7],q=E[p+8],V=E[p+9],_=E[p+10],P=E[p+11],L=E[p+12],j=E[p+13],K=E[p+14],X=E[p+15],G=f[0],ie=f[1],W=f[2],z=f[3],G=t(G,ie,W,z,A,7,h[0]),z=t(z,G,ie,W,v,12,h[1]),W=t(W,z,G,ie,b,17,h[2]),ie=t(ie,W,z,G,w,22,h[3]),G=t(G,ie,W,z,y,7,h[4]),z=t(z,G,ie,W,F,12,h[5]),W=t(W,z,G,ie,D,17,h[6]),ie=t(ie,W,z,G,I,22,h[7]),G=t(G,ie,W,z,q,7,h[8]),z=t(z,G,ie,W,V,12,h[9]),W=t(W,z,G,ie,_,17,h[10]),ie=t(ie,W,z,G,P,22,h[11]),G=t(G,ie,W,z,L,7,h[12]),z=t(z,G,ie,W,j,12,h[13]),W=t(W,z,G,ie,K,17,h[14]),ie=t(ie,W,z,G,X,22,h[15]),G=r(G,ie,W,z,v,5,h[16]),z=r(z,G,ie,W,D,9,h[17]),W=r(W,z,G,ie,P,14,h[18]),ie=r(ie,W,z,G,A,20,h[19]),G=r(G,ie,W,z,F,5,h[20]),z=r(z,G,ie,W,_,9,h[21]),W=r(W,z,G,ie,X,14,h[22]),ie=r(ie,W,z,G,y,20,h[23]),G=r(G,ie,W,z,V,5,h[24]),z=r(z,G,ie,W,K,9,h[25]),W=r(W,z,G,ie,w,14,h[26]),ie=r(ie,W,z,G,q,20,h[27]),G=r(G,ie,W,z,j,5,h[28]),z=r(z,G,ie,W,b,9,h[29]),W=r(W,z,G,ie,I,14,h[30]),ie=r(ie,W,z,G,L,20,h[31]),G=n(G,ie,W,z,F,4,h[32]),z=n(z,G,ie,W,q,11,h[33]),W=n(W,z,G,ie,P,16,h[34]),ie=n(ie,W,z,G,K,23,h[35]),G=n(G,ie,W,z,v,4,h[36]),z=n(z,G,ie,W,y,11,h[37]),W=n(W,z,G,ie,I,16,h[38]),ie=n(ie,W,z,G,_,23,h[39]),G=n(G,ie,W,z,j,4,h[40]),z=n(z,G,ie,W,A,11,h[41]),W=n(W,z,G,ie,w,16,h[42]),ie=n(ie,W,z,G,D,23,h[43]),G=n(G,ie,W,z,V,4,h[44]),z=n(z,G,ie,W,L,11,h[45]),W=n(W,z,G,ie,X,16,h[46]),ie=n(ie,W,z,G,b,23,h[47]),G=i(G,ie,W,z,A,6,h[48]),z=i(z,G,ie,W,I,10,h[49]),W=i(W,z,G,ie,K,15,h[50]),ie=i(ie,W,z,G,F,21,h[51]),G=i(G,ie,W,z,L,6,h[52]),z=i(z,G,ie,W,w,10,h[53]),W=i(W,z,G,ie,_,15,h[54]),ie=i(ie,W,z,G,v,21,h[55]),G=i(G,ie,W,z,q,6,h[56]),z=i(z,G,ie,W,X,10,h[57]),W=i(W,z,G,ie,D,15,h[58]),ie=i(ie,W,z,G,j,21,h[59]),G=i(G,ie,W,z,y,6,h[60]),z=i(z,G,ie,W,P,10,h[61]),W=i(W,z,G,ie,b,15,h[62]),ie=i(ie,W,z,G,V,21,h[63]);f[0]=f[0]+G|0,f[1]=f[1]+ie|0,f[2]=f[2]+W|0,f[3]=f[3]+z|0},_doFinalize:function(){var E=this._data,p=E.words,f=8*this._nDataBytes,A=8*E.sigBytes;p[A>>>5]|=128<<24-A%32;var v=e.floor(f/4294967296);for(p[(A+64>>>9<<4)+15]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,p[(A+64>>>9<<4)+14]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,E.sigBytes=4*(p.length+1),this._process(),E=this._hash,p=E.words,f=0;4>f;f++)A=p[f],p[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360;return E},clone:function(){var E=c.clone.call(this);return E._hash=this._hash.clone(),E}}),a.MD5=c._createHelper(l),a.HmacMD5=c._createHmacHelper(l)})(Math);(function(){var e=be,i=e.lib,t=i.WordArray,r=i.Hasher,n=[],i=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,s){for(var c=this._hash.words,l=c[0],h=c[1],g=c[2],E=c[3],p=c[4],f=0;80>f;f++){if(16>f)n[f]=a[s+f]|0;else{var A=n[f-3]^n[f-8]^n[f-14]^n[f-16];n[f]=A<<1|A>>>31}A=(l<<5|l>>>27)+p+n[f],A=20>f?A+((h&g|~h&E)+1518500249):40>f?A+((h^g^E)+1859775393):60>f?A+((h&g|h&E|g&E)-1894007588):A+((h^g^E)-899497514),p=E,E=g,g=h<<30|h>>>2,h=l,l=A}c[0]=c[0]+l|0,c[1]=c[1]+h|0,c[2]=c[2]+g|0,c[3]=c[3]+E|0,c[4]=c[4]+p|0},_doFinalize:function(){var a=this._data,s=a.words,c=8*this._nDataBytes,l=8*a.sigBytes;return s[l>>>5]|=128<<24-l%32,s[(l+64>>>9<<4)+14]=Math.floor(c/4294967296),s[(l+64>>>9<<4)+15]=c,a.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)})();(function(e){for(var t=be,f=t.lib,r=f.WordArray,n=f.Hasher,f=t.algo,i=[],a=[],s=function(v){return 4294967296*(v-(v|0))|0},c=2,l=0;64>l;){var h;e:{h=c;for(var g=e.sqrt(h),E=2;E<=g;E++)if(!(h%E)){h=!1;break e}h=!0}h&&(8>l&&(i[l]=s(e.pow(c,.5))),a[l]=s(e.pow(c,1/3)),l++),c++}var p=[],f=f.SHA256=n.extend({_doReset:function(){this._hash=new r.init(i.slice(0))},_doProcessBlock:function(A,v){for(var b=this._hash.words,w=b[0],y=b[1],F=b[2],D=b[3],I=b[4],q=b[5],V=b[6],_=b[7],P=0;64>P;P++){if(16>P)p[P]=A[v+P]|0;else{var L=p[P-15],j=p[P-2];p[P]=((L<<25|L>>>7)^(L<<14|L>>>18)^L>>>3)+p[P-7]+((j<<15|j>>>17)^(j<<13|j>>>19)^j>>>10)+p[P-16]}L=_+((I<<26|I>>>6)^(I<<21|I>>>11)^(I<<7|I>>>25))+(I&q^~I&V)+a[P]+p[P],j=((w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22))+(w&y^w&F^y&F),_=V,V=q,q=I,I=D+L|0,D=F,F=y,y=w,w=L+j|0}b[0]=b[0]+w|0,b[1]=b[1]+y|0,b[2]=b[2]+F|0,b[3]=b[3]+D|0,b[4]=b[4]+I|0,b[5]=b[5]+q|0,b[6]=b[6]+V|0,b[7]=b[7]+_|0},_doFinalize:function(){var A=this._data,v=A.words,b=8*this._nDataBytes,w=8*A.sigBytes;return v[w>>>5]|=128<<24-w%32,v[(w+64>>>9<<4)+14]=e.floor(b/4294967296),v[(w+64>>>9<<4)+15]=b,A.sigBytes=4*v.length,this._process(),this._hash},clone:function(){var A=n.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=n._createHelper(f),t.HmacSHA256=n._createHmacHelper(f)})(Math);(function(){var e=be,t=e.lib.WordArray,n=e.algo,r=n.SHA256,n=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=r._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=r._createHelper(n),e.HmacSHA224=r._createHmacHelper(n)})();(function(){function e(){return n.create.apply(n,arguments)}for(var t=be,r=t.lib.Hasher,a=t.x64,n=a.Word,i=a.WordArray,a=t.algo,s=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],c=[],l=0;80>l;l++)c[l]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(h,g){for(var y=this._hash.words,E=y[0],p=y[1],f=y[2],A=y[3],v=y[4],b=y[5],w=y[6],y=y[7],F=E.high,D=E.low,I=p.high,q=p.low,V=f.high,_=f.low,P=A.high,L=A.low,j=v.high,K=v.low,X=b.high,G=b.low,z=w.high,W=w.low,ie=y.high,ye=y.low,Ae=F,Ie=D,qe=I,oe=q,Fe=V,ke=_,vr=P,Ot=L,pt=j,Zt=K,Ht=X,rt=G,Pt=z,et=W,wt=ie,Qt=ye,Xe=0;80>Xe;Xe++){var Nr=c[Xe];if(16>Xe)var Vt=Nr.high=h[g+2*Xe]|0,Je=Nr.low=h[g+2*Xe+1]|0;else{var Vt=c[Xe-15],Je=Vt.high,nr=Vt.low,Vt=(Je>>>1|nr<<31)^(Je>>>8|nr<<24)^Je>>>7,nr=(nr>>>1|Je<<31)^(nr>>>8|Je<<24)^(nr>>>7|Je<<25),kr=c[Xe-2],Je=kr.high,At=kr.low,kr=(Je>>>19|At<<13)^(Je<<3|At>>>29)^Je>>>6,At=(At>>>19|Je<<13)^(At<<3|Je>>>29)^(At>>>6|Je<<26),Je=c[Xe-7],Vn=Je.high,wr=c[Xe-16],ir=wr.high,wr=wr.low,Je=nr+Je.low,Vt=Vt+Vn+(Je>>>0>>0?1:0),Je=Je+At,Vt=Vt+kr+(Je>>>0>>0?1:0),Je=Je+wr,Vt=Vt+ir+(Je>>>0>>0?1:0);Nr.high=Vt,Nr.low=Je}var Vn=pt&Ht^~pt&Pt,wr=Zt&rt^~Zt&et,Nr=Ae&qe^Ae&Fe^qe&Fe,Ir=Ie&oe^Ie&ke^oe&ke,nr=(Ae>>>28|Ie<<4)^(Ae<<30|Ie>>>2)^(Ae<<25|Ie>>>7),kr=(Ie>>>28|Ae<<4)^(Ie<<30|Ae>>>2)^(Ie<<25|Ae>>>7),At=s[Xe],ma=At.high,Yr=At.low,At=Qt+((Zt>>>14|pt<<18)^(Zt>>>18|pt<<14)^(Zt<<23|pt>>>9)),ir=wt+((pt>>>14|Zt<<18)^(pt>>>18|Zt<<14)^(pt<<23|Zt>>>9))+(At>>>0>>0?1:0),At=At+wr,ir=ir+Vn+(At>>>0>>0?1:0),At=At+Yr,ir=ir+ma+(At>>>0>>0?1:0),At=At+Je,ir=ir+Vt+(At>>>0>>0?1:0),Je=kr+Ir,Nr=nr+Nr+(Je>>>0>>0?1:0),wt=Pt,Qt=et,Pt=Ht,et=rt,Ht=pt,rt=Zt,Zt=Ot+At|0,pt=vr+ir+(Zt>>>0>>0?1:0)|0,vr=Fe,Ot=ke,Fe=qe,ke=oe,qe=Ae,oe=Ie,Ie=At+Je|0,Ae=ir+Nr+(Ie>>>0>>0?1:0)|0}D=E.low=D+Ie,E.high=F+Ae+(D>>>0>>0?1:0),q=p.low=q+oe,p.high=I+qe+(q>>>0>>0?1:0),_=f.low=_+ke,f.high=V+Fe+(_>>>0>>0?1:0),L=A.low=L+Ot,A.high=P+vr+(L>>>0>>0?1:0),K=v.low=K+Zt,v.high=j+pt+(K>>>0>>0?1:0),G=b.low=G+rt,b.high=X+Ht+(G>>>0>>0?1:0),W=w.low=W+et,w.high=z+Pt+(W>>>0>>0?1:0),ye=y.low=ye+Qt,y.high=ie+wt+(ye>>>0>>0?1:0)},_doFinalize:function(){var h=this._data,g=h.words,E=8*this._nDataBytes,p=8*h.sigBytes;return g[p>>>5]|=128<<24-p%32,g[(p+128>>>10<<5)+30]=Math.floor(E/4294967296),g[(p+128>>>10<<5)+31]=E,h.sigBytes=4*g.length,this._process(),this._hash.toX32()},clone:function(){var h=r.clone.call(this);return h._hash=this._hash.clone(),h},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)})();(function(){var e=be,i=e.x64,t=i.Word,r=i.WordArray,i=e.algo,n=i.SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var a=n._doFinalize.call(this);return a.sigBytes-=16,a}});e.SHA384=n._createHelper(i),e.HmacSHA384=n._createHmacHelper(i)})();(function(){var e=be,h=e.lib,t=h.WordArray,r=h.Hasher,h=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),i=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),s=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]),h=h.RIPEMD160=r.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(g,E){for(var p=0;16>p;p++){var f=E+p,A=g[f];g[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}var f=this._hash.words,A=c.words,v=l.words,b=n.words,w=i.words,y=a.words,F=s.words,D,I,q,V,_,P,L,j,K,X;P=D=f[0],L=I=f[1],j=q=f[2],K=V=f[3],X=_=f[4];for(var G,p=0;80>p;p+=1)G=D+g[E+b[p]]|0,G=16>p?G+((I^q^V)+A[0]):32>p?G+((I&q|~I&V)+A[1]):48>p?G+(((I|~q)^V)+A[2]):64>p?G+((I&V|q&~V)+A[3]):G+((I^(q|~V))+A[4]),G|=0,G=G<>>32-y[p],G=G+_|0,D=_,_=V,V=q<<10|q>>>22,q=I,I=G,G=P+g[E+w[p]]|0,G=16>p?G+((L^(j|~K))+v[0]):32>p?G+((L&K|j&~K)+v[1]):48>p?G+(((L|~j)^K)+v[2]):64>p?G+((L&j|~L&K)+v[3]):G+((L^j^K)+v[4]),G|=0,G=G<>>32-F[p],G=G+X|0,P=X,X=K,K=j<<10|j>>>22,j=L,L=G;G=f[1]+q+K|0,f[1]=f[2]+V+X|0,f[2]=f[3]+_+P|0,f[3]=f[4]+D+L|0,f[4]=f[0]+I+j|0,f[0]=G},_doFinalize:function(){var g=this._data,E=g.words,p=8*this._nDataBytes,f=8*g.sigBytes;for(E[f>>>5]|=128<<24-f%32,E[(f+64>>>9<<4)+14]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,g.sigBytes=4*(E.length+1),this._process(),g=this._hash,E=g.words,p=0;5>p;p++)f=E[p],E[p]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360;return g},clone:function(){var g=r.clone.call(this);return g._hash=this._hash.clone(),g}});e.RIPEMD160=r._createHelper(h),e.HmacRIPEMD160=r._createHmacHelper(h)})(Math);(function(){var e=be,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(r,n){r=this._hasher=new r.init,typeof n=="string"&&(n=t.parse(n));var i=r.blockSize,a=4*i;n.sigBytes>a&&(n=r.finalize(n)),n.clamp();for(var s=this._oKey=n.clone(),c=this._iKey=n.clone(),l=s.words,h=c.words,g=0;g>6)+wo.charAt(r&63);if(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=wo.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=wo.charAt(r>>2)+wo.charAt((r&3)<<4)),Od)for(;(n.length&3)>0;)n+=Od;return n}function Eo(e){var t="",r,n=0,i,a;for(r=0;r>2),i=a&3,n=1):n==1?(t+=Ss(i<<2|a>>4),i=a&15,n=2):n==2?(t+=Ss(i),t+=Ss(a>>2),i=a&3,n=3):(t+=Ss(i<<2|a>>4),t+=Ss(a&15),n=0));return n==1&&(t+=Ss(i<<2)),t}function L2(e){var t=Eo(e),r,n=new Array;for(r=0;2*r=0;){var s=t*this[e++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=s&67108863}return i}function u8(e,t,r,n,i,a){for(var s=t&32767,c=t>>15;--a>=0;){var l=this[e]&32767,h=this[e++]>>15,g=c*l+h*s;l=s*l+((g&32767)<<15)+r[n]+(i&1073741823),i=(l>>>30)+(g>>>15)+c*h+(i>>>30),r[n++]=l&1073741823}return i}function o8(e,t,r,n,i,a){for(var s=t&16383,c=t>>14;--a>=0;){var l=this[e]&16383,h=this[e++]>>14,g=c*l+h*s;l=s*l+((g&16383)<<14)+r[n]+i,i=(l>>28)+(g>>14)+c*h,r[n++]=l&268435455}return i}O2&&Lc.appName=="Microsoft Internet Explorer"?(ee.prototype.am=u8,oa=30):O2&&Lc.appName!="Netscape"?(ee.prototype.am=a8,oa=26):(ee.prototype.am=o8,oa=28);ee.prototype.DB=oa;ee.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function f8(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function aa(e){var t=lt();return t.fromInt(e),t}function h8(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,a=0;--n>=0;){var s=r==8?e[n]&255:U2(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,a==0?this[this.t++]=s:a+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-a):this[this.t-1]|=s<=this.DB&&(a-=this.DB)}r==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function d8(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(c>c)>0&&(i=!0,a=Ss(n));s>=0;)c>(c+=this.DB-t)):(n=this[s]>>(c-=t)&r,c<=0&&(c+=this.DB,--s)),n>0&&(i=!0),i&&(a+=Ss(n));return i?a:"0"}function g8(){var e=lt();return ee.ZERO.subTo(this,e),e}function m8(){return this.s<0?this.negate():this}function v8(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function Mf(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function w8(){return this.t<=0?0:this.DB*(this.t-1)+Mf(this[this.t-1]^this.s&this.DM)}function A8(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function E8(e,t){for(var r=e;r=0;--c)t[c+a+1]=this[c]>>n|s,s=(this[c]&i)<=0;--c)t[c]=0;t[a]=s,t.t=this.t+a+1,t.s=this.s,t.clamp()}function S8(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,a=(1<>n;for(var s=r+1;s>n;n>0&&(t[this.t-r-1]|=(this.s&a)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function C8(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function _8(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(l,a),i.lShiftTo(l,r)):(n.copyTo(a),i.copyTo(r));var h=a.t,g=a[h-1];if(g!=0){var E=g*(1<1?a[h-2]>>this.F2:0),p=this.FV/E,f=(1<=0&&(r[r.t++]=1,r.subTo(w,r)),ee.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t=0;){var y=r[--v]==g?this.DM:Math.floor(r[v]*p+(r[v-1]+A)*f);if((r[v]+=a.am(0,y,r,b,0,h))0&&r.rShiftTo(l,r),s<0&&ee.ZERO.subTo(r,r)}}}function I8(e){var t=lt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ee.ZERO)>0&&e.subTo(t,t),t}function uu(e){this.m=e}function D8(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function B8(e){return e}function $8(e){e.divRemTo(this.m,null,e)}function P8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function R8(e,t){e.squareTo(t),this.reduce(t)}uu.prototype.convert=D8;uu.prototype.revert=B8;uu.prototype.reduce=$8;uu.prototype.mulTo=P8;uu.prototype.sqrTo=R8;function T8(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function ou(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function O8(e){var t=lt();return e.copyTo(t),this.reduce(t),t}function k8(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function N8(e,t){e.squareTo(t),this.reduce(t)}function L8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}ou.prototype.convert=x8;ou.prototype.revert=O8;ou.prototype.reduce=k8;ou.prototype.mulTo=L8;ou.prototype.sqrTo=N8;function U8(){return(this.t>0?this[0]&1:this.s)==0}function H8(e,t){if(e>4294967295||e<1)return ee.ONE;var r=lt(),n=lt(),i=t.convert(this),a=Mf(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function j8(e,t){var r;return e<256||t.isEven()?r=new uu(t):r=new ou(t),this.exp(e,r)}ee.prototype.copyTo=l8;ee.prototype.fromInt=f8;ee.prototype.fromString=h8;ee.prototype.clamp=p8;ee.prototype.dlShiftTo=A8;ee.prototype.drShiftTo=E8;ee.prototype.lShiftTo=y8;ee.prototype.rShiftTo=S8;ee.prototype.subTo=b8;ee.prototype.multiplyTo=C8;ee.prototype.squareTo=F8;ee.prototype.divRemTo=_8;ee.prototype.invDigit=T8;ee.prototype.isEven=U8;ee.prototype.exp=H8;ee.prototype.toString=d8;ee.prototype.negate=g8;ee.prototype.abs=m8;ee.prototype.compareTo=v8;ee.prototype.bitLength=w8;ee.prototype.mod=I8;ee.prototype.modPowInt=j8;ee.ZERO=aa(0);ee.ONE=aa(1);function M8(){var e=lt();return this.copyTo(e),e}function q8(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function V8(){return this.t==0?this.s:this[0]<<16>>16}function G8(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function z8(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Y8(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=aa(r),i=lt(),a=lt(),s="";for(this.divRemTo(n,i,a);i.signum()>0;)s=(r+a.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,a);return a.intValue().toString(e)+s}function W8(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,a=0,s=0,c=0;c=r&&(this.dMultiply(n),this.dAddOffset(s,0),a=0,s=0)}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(s,0)),i&&ee.ZERO.subTo(this,this)}function X8(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(ee.ONE.shiftLeft(e-1),jd,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ee.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Z8(e){return this.compareTo(e)==0}function Q8(e){return this.compareTo(e)<0?this:e}function eI(e){return this.compareTo(e)>0?this:e}function tI(e,t,r){var n,i,a=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function fI(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function EI(e){var t=lt();return this.addTo(e,t),t}function yI(e){var t=lt();return this.subTo(e,t),t}function SI(e){var t=lt();return this.multiplyTo(e,t),t}function bI(){var e=lt();return this.squareTo(e),e}function CI(e){var t=lt();return this.divRemTo(e,t,null),t}function FI(e){var t=lt();return this.divRemTo(e,null,t),t}function _I(e){var t=lt(),r=lt();return this.divRemTo(e,t,r),new Array(t,r)}function II(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function DI(e,t){if(e!=0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function Hc(){}function M2(e){return e}function BI(e,t,r){e.multiplyTo(t,r)}function $I(e,t){e.squareTo(t)}Hc.prototype.convert=M2;Hc.prototype.revert=M2;Hc.prototype.mulTo=BI;Hc.prototype.sqrTo=$I;function PI(e){return this.exp(e,new Hc)}function RI(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var i;for(i=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=lt();return e.copyTo(t),this.reduce(t),t}function OI(e){return e}function kI(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function NI(e,t){e.squareTo(t),this.reduce(t)}function LI(e,t,r){e.multiplyTo(t,r),this.reduce(r)}So.prototype.convert=xI;So.prototype.revert=OI;So.prototype.reduce=kI;So.prototype.mulTo=LI;So.prototype.sqrTo=NI;function UI(e,t){var r=e.bitLength(),n,i=aa(1),a;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?a=new uu(t):t.isEven()?a=new So(t):a=new ou(t);var s=new Array,c=3,l=n-1,h=(1<1){var g=lt();for(a.sqrTo(s[1],g);c<=h;)s[c]=lt(),a.mulTo(g,s[c-2],s[c]),c+=2}var E=e.t-1,p,f=!0,A=lt(),v;for(r=Mf(e[E])-1;E>=0;){for(r>=l?p=e[E]>>r-l&h:(p=(e[E]&(1<0&&(p|=e[E-1]>>this.DB+r-l)),c=n;!(p&1);)p>>=1,--c;if((r-=c)<0&&(r+=this.DB,--E),f)s[p].copyTo(i),f=!1;else{for(;c>1;)a.sqrTo(i,A),a.sqrTo(A,i),c-=2;c>0?a.sqrTo(i,A):(v=i,i=A,A=v),a.mulTo(A,s[p],i)}for(;E>=0&&!(e[E]&1<0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function jI(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function MI(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return ee.ZERO;for(var r=e.clone(),n=this.clone(),i=aa(1),a=aa(0),s=aa(0),c=aa(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!a.isEven())&&(i.addTo(this,i),a.subTo(e,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!c.isEven())&&(s.addTo(this,s),c.subTo(e,c)),s.rShiftTo(1,s)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),a.subTo(c,a)):(n.subTo(r,n),t&&s.subTo(i,s),c.subTo(a,c))}if(n.compareTo(ee.ONE)!=0)return ee.ZERO;if(c.compareTo(e)>=0)return c.subtract(e);if(c.signum()<0)c.addTo(e,c);else return c;return c.signum()<0?c.add(e):c}var sn=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],qI=(1<<26)/sn[sn.length-1];function KI(e){var t,r=this.abs();if(r.t==1&&r[0]<=sn[sn.length-1]){for(t=0;t>1,e>sn.length&&(e=sn.length);for(var i=lt(),a=0;a>8&255,kn[Fr++]^=e>>16&255,kn[Fr++]^=e>>24&255,Fr>=kd&&(Fr-=kd)}function qd(){WI(new Date().getTime())}if(kn==null){if(kn=new Array,Fr=0,vo!==void 0&&(vo.crypto!==void 0||vo.msCrypto!==void 0)){if(Rd=vo.crypto||vo.msCrypto,Rd.getRandomValues)for(Td=new Uint8Array(32),Rd.getRandomValues(Td),si=0;si<32;++si)kn[Fr++]=Td[si];else if(Lc.appName=="Netscape"&&Lc.appVersion<"5")for(xd=vo.crypto.random(32),si=0;si>>8,kn[Fr++]=si&255;Fr=0,qd()}var si,Rd,Td,xd;function XI(){if(Nf==null){for(qd(),Nf=YI(),Nf.init(kn),Fr=0;Fr0&&t.length>0)this.n=An(e,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function QI(e){return e.modPowInt(this.e,this.n)}ze.prototype.doPublic=QI;ze.prototype.setPublic=ZI;ze.prototype.type="RSA";function e9(e,t,r){if(this.isPrivate=!0,typeof e!="string")this.n=e,this.e=t,this.d=r;else if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=An(e,16),this.e=parseInt(t,16),this.d=An(r,16);else throw"Invalid RSA private key"}function t9(e,t,r,n,i,a,s,c){if(this.isPrivate=!0,this.isPublic=!1,e==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(e.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=An(e,16),this.e=parseInt(t,16),this.d=An(r,16),this.p=An(n,16),this.q=An(i,16),this.dmp1=An(a,16),this.dmq1=An(s,16),this.coeff=An(c,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function r9(e,t){var r=new bo,n=e>>1;this.e=parseInt(t,16);for(var i=new ee(t,16),a=e/2-100,s=ee.ONE.shiftLeft(a);;){for(;this.p=new ee(e-n,1,r),!(this.p.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new ee(n,1,r),!(this.q.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var c=this.p;this.p=this.q,this.q=c}var l=this.q.subtract(this.p).abs();if(!(l.bitLength()0;--h){i=i.twice();var g=r.testBit(h),E=t.testBit(h);g!=E&&(i=i.add(g?this:n))}for(h=s.bitLength()-2;h>0;--h){c=c.twice();var p=s.testBit(h),f=a.testBit(h);p!=f&&(c=c.add(p?c:l))}return i}function E9(e,t,r){var n;e.bitLength()>r.bitLength()?n=e.bitLength()-1:n=r.bitLength()-1;for(var i=this.curve.getInfinity(),a=this.add(t);n>=0;)i=i.twice(),e.testBit(n)?r.testBit(n)?i=i.add(a):i=i.add(this):r.testBit(n)&&(i=i.add(t)),--n;return i}vt.prototype.getX=h9;vt.prototype.getY=p9;vt.prototype.equals=d9;vt.prototype.isInfinity=g9;vt.prototype.negate=m9;vt.prototype.add=v9;vt.prototype.twice=w9;vt.prototype.multiply=A9;vt.prototype.multiplyTwo=E9;function Cs(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new vt(this,null,null)}function y9(){return this.q}function S9(){return this.a}function b9(){return this.b}function C9(e){return e==this?!0:this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function F9(){return this.infinity}function _9(e){return new mr(this.q,e)}function I9(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var t=e.substr(0,2),r=e.substr(2),n=this.fromBigInteger(new ee(h,16)),i=this.getA(),a=this.getB(),s=n.square().add(i).multiply(n).add(a),c=s.sqrt();return t=="03"&&(c=c.negate()),new vt(this,n,c);case 4:case 6:case 7:var l=(e.length-2)/2,h=e.substr(2,l),g=e.substr(l+2,l);return new vt(this,this.fromBigInteger(new ee(h,16)),this.fromBigInteger(new ee(g,16)));default:return null}}Cs.prototype.getQ=y9;Cs.prototype.getA=S9;Cs.prototype.getB=b9;Cs.prototype.equals=C9;Cs.prototype.getInfinity=F9;Cs.prototype.fromBigInteger=_9;Cs.prototype.decodePointHex=I9;mr.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};vt.prototype.getEncoded=function(e){var t=function(a,s){var c=a.toByteArrayUnsigned();if(sc.length;)c.unshift(0);return c},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=t(r,32);return e?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(t(n,32))),i};vt.decodeFrom=function(e,t){var r=t[0],n=t.length-1,i=t.slice(1,1+n/2),a=t.slice(1+n/2,1+n);i.unshift(0),a.unshift(0);var s=new ee(i),c=new ee(a);return new vt(e,e.fromBigInteger(s),e.fromBigInteger(c))};vt.decodeFromHex=function(e,t){var r=t.substr(0,2),n=t.length-2,i=t.substr(2,n/2),a=t.substr(2+n/2,n/2),s=new ee(i,16),c=new ee(a,16);return new vt(e,e.fromBigInteger(s),e.fromBigInteger(c))};vt.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y),n=r.divide(t),i=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(i)).subtract(this.y);return new vt(this.curve,i,a)};vt.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var e=this.curve.fromBigInteger(ee.valueOf(2)),t=this.curve.fromBigInteger(ee.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new vt(this.curve,n,i)};vt.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(e.signum()==0)return this.curve.getInfinity();var t=e,r=t.multiply(new ee("3")),n=this.negate(),i=this,a;for(a=r.bitLength()-2;a>0;--a){i=i.twice();var s=r.testBit(a),c=t.testBit(a);s!=c&&(i=i.add2D(s?this:n))}return i};vt.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),a=t.multiply(t).mod(i),s=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(i);return a.equals(s)};vt.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};vt.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(ee.ONE)<0||t.compareTo(e.subtract(ee.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(ee.ONE)<0||r.compareTo(e.subtract(ee.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var q2=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',r='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+r+")","g"),i=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function s(E,p,f){return p?a[p]:String.fromCharCode(parseInt(f,16))}var c=new String(""),l="\\",h={"{":Object,"[":Array},g=Object.hasOwnProperty;return function(E,p){var f=E.match(n),A,v=f[0],b=!1;v==="{"?A={}:v==="["?A=[]:(A=[],b=!0);for(var w,y=[A],F=1-b,D=f.length;F=0;)delete P[L[X]]}return p.call(V,_,P)};A=q({"":A},"")}return A}}();(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});d.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){return Mc(e)},this.getPEMStringFromHex=function(e,t){return zr(e,t)},this.newObject=function(e){var t=d,r=t.asn1,n=r.ASN1Object,i=r.DERBoolean,a=r.DERInteger,s=r.DERBitString,c=r.DEROctetString,l=r.DERNull,h=r.DERObjectIdentifier,g=r.DEREnumerated,E=r.DERUTF8String,p=r.DERNumericString,f=r.DERPrintableString,A=r.DERTeletexString,v=r.DERIA5String,b=r.DERUTCTime,w=r.DERGeneralizedTime,y=r.DERVisibleString,F=r.DERBMPString,D=r.DERSequence,I=r.DERSet,q=r.DERTaggedObject,V=r.ASN1Util.newObject;if(e instanceof r.ASN1Object)return e;var _=Object.keys(e);if(_.length!=1)throw new Error("key of param shall be only one.");var P=_[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":")==-1)throw new Error("undefined key: "+P);if(P=="bool")return new i(e[P]);if(P=="int")return new a(e[P]);if(P=="bitstr")return new s(e[P]);if(P=="octstr")return new c(e[P]);if(P=="null")return new l(e[P]);if(P=="oid")return new h(e[P]);if(P=="enum")return new g(e[P]);if(P=="utf8str")return new E(e[P]);if(P=="numstr")return new p(e[P]);if(P=="prnstr")return new f(e[P]);if(P=="telstr")return new A(e[P]);if(P=="ia5str")return new v(e[P]);if(P=="utctime")return new b(e[P]);if(P=="gentime")return new w(e[P]);if(P=="visstr")return new y(e[P]);if(P=="bmpstr")return new F(e[P]);if(P=="asn1")return new n(e[P]);if(P=="seq"){for(var L=e[P],j=[],K=0;K"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+a.length+",v="+this.hV);var s=this.hV.length/2,c=s.toString(16);if(c.length%2==1&&(c="0"+c),s<128)return c;var l=c.length/2;if(l>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+s.toString(16));var h=128+l;return h.toString(16)+c},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(s){this.params=s},e!=null&&e.tlv!=null&&(this.hTLV=e.tlv,this.isModified=!1)};d.asn1.DERAbstractString=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null,r=null;this.getString=function(){return this.s},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.s=n,this.hV=Kf(this.s).toLowerCase()},this.setStringHex=function(n){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.getFreshValueHex=function(){return this.hV},typeof e<"u"&&(typeof e=="string"?this.setString(e):typeof e.str<"u"?this.setString(e.str):typeof e.hex<"u"&&this.setStringHex(e.hex))};he(d.asn1.DERAbstractString,d.asn1.ASN1Object);d.asn1.DERAbstractTime=function(e){d.asn1.DERAbstractTime.superclass.constructor.call(this);var t=null,r=null;this.localDateToUTC=function(n){var i=n.getTime()+n.getTimezoneOffset()*6e4,a=new Date(i);return a},this.formatDate=function(n,i,a){var s=this.zeroPadding,c=this.localDateToUTC(n),l=String(c.getFullYear());i=="utc"&&(l=l.substr(2,2));var h=s(String(c.getMonth()+1),2),g=s(String(c.getDate()),2),E=s(String(c.getHours()),2),p=s(String(c.getMinutes()),2),f=s(String(c.getSeconds()),2),A=l+h+g+E+p+f;if(a===!0){var v=c.getMilliseconds();if(v!=0){var b=s(String(v),3);b=b.replace(/[0]+$/,""),A=A+"."+b}}return A+"Z"},this.zeroPadding=function(n,i){return n.length>=i?n:new Array(i-n.length+1).join("0")+n},this.setByParam=function(n){this.hV=null,this.hTLV=null,this.params=n},this.getString=function(){},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=n},this.setByDate=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=n},this.setByDateValue=function(n,i,a,s,c,l){var h=new Date(Date.UTC(n,i-1,a,s,c,l,0));this.setByDate(h)},this.getFreshValueHex=function(){return this.hV}};he(d.asn1.DERAbstractTime,d.asn1.ASN1Object);d.asn1.DERAbstractStructured=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null;this.setByASN1ObjectArray=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array=r},this.appendASN1Object=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array.push(r)},this.asn1Array=new Array,typeof e<"u"&&typeof e.array<"u"&&(this.asn1Array=e.array)};he(d.asn1.DERAbstractStructured,d.asn1.ASN1Object);d.asn1.DERBoolean=function(e){d.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",e==!1?this.hTLV="010100":this.hTLV="0101ff"};he(d.asn1.DERBoolean,d.asn1.ASN1Object);d.asn1.DERInteger=function(e){d.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var t=Mc;this.setByBigInteger=function(r){this.isModified=!0,this.params={bigint:r}},this.setByInteger=function(r){this.isModified=!0,this.params=r},this.setValueHex=function(r){this.isModified=!0,this.params={hex:r}},this.getFreshValueHex=function(){var r=this.params,n=null;if(r==null)throw new Error("value not set");if(typeof r=="object"&&r.hex!=null)return this.hV=r.hex,this.hV;if(typeof r=="number")n=new ee(String(r),10);else if(r.int!=null)n=new ee(String(r.int),10);else if(r.bigint!=null)n=r.bigint;else throw new Error("wrong parameter");return this.hV=t(n),this.hV},e!=null&&(this.params=e)};he(d.asn1.DERInteger,d.asn1.ASN1Object);d.asn1.DERBitString=function(e){if(e!==void 0&&typeof e.obj<"u"){var t=d.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.tohex()}d.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(r){this.hTLV=null,this.isModified=!0,this.hV=r},this.setUnusedBitsAndHexValue=function(r,n){if(r<0||7=a)break}return n};Ee.getNthChildIdx=function(e,t,r){var n=Ee.getChildIdx(e,t);return n[r]};Ee.getIdxbyList=function(e,t,r,n){var i=Ee,a,s;return r.length==0?n!==void 0&&e.substr(t,2)!==n?-1:t:(a=r.shift(),s=i.getChildIdx(e,t),a>=s.length?-1:i.getIdxbyList(e,s[a],r,n))};Ee.getIdxbyListEx=function(e,t,r,n){var i=Ee,a,s;if(r.length==0)return n!==void 0&&e.substr(t,2)!==n?-1:t;a=r.shift(),s=i.getChildIdx(e,t);for(var c=0,l=0;l=e.length?null:i.getTLV(e,a)};Ee.getTLVbyListEx=function(e,t,r,n){var i=Ee,a=i.getIdxbyListEx(e,t,r,n);return a==-1?null:i.getTLV(e,a)};Ee.getVbyList=function(e,t,r,n,i){var a=Ee,s,c;return s=a.getIdxbyList(e,t,r,n),s==-1||s>=e.length?null:(c=a.getV(e,s),i===!0&&(c=c.substr(2)),c)};Ee.getVbyListEx=function(e,t,r,n,i){var a=Ee,s,c,l;return s=a.getIdxbyListEx(e,t,r,n),s==-1?null:(l=a.getV(e,s),e.substr(s,2)=="03"&&i!==!1&&(l=l.substr(2)),l)};Ee.getInt=function(e,t,r){r==null&&(r=-1);try{var n=e.substr(t,2);if(n!="02"&&n!="03")return r;var i=Ee.getV(e,t);return n=="02"?parseInt(i,16):Z2(i)}catch{return r}};Ee.getOID=function(e,t,r){r==null&&(r=null);try{if(e.substr(t,2)!="06")return r;var n=Ee.getV(e,t);return Wf(n)}catch{return r}};Ee.getOIDName=function(e,t,r){r==null&&(r=null);try{var n=Ee.getOID(e,t,r);if(n==r)return r;var i=d.asn1.x509.OID.oid2name(n);return i==""?n:i}catch{return r}};Ee.getString=function(e,t,r){r==null&&(r=null);try{var n=Ee.getV(e,t);return yn(n)}catch{return r}};Ee.hextooidstr=function(e){var t=function(E,p){return E.length>=p?E:new Array(p-E.length+1).join("0")+E},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var a=e.substr(2),s=[],c=0;c0&&(g=g+"."+l.join(".")),g};Ee.dump=function(e,t,r,n){var i=Ee,a=i.getV,s=i.dump,c=i.getChildIdx,l=e;e instanceof d.asn1.ASN1Object&&(l=e.tohex());var h=function(V,_){if(V.length<=_*2)return V;var P=V.substr(0,_)+"..(total "+V.length/2+"bytes).."+V.substr(V.length-_,_);return P};t===void 0&&(t={ommit_long_octet:32}),r===void 0&&(r=0),n===void 0&&(n="");var g=t.ommit_long_octet,I=l.substr(r,2);if(I=="01"){var E=a(l,r);return E=="00"?n+`BOOLEAN FALSE +`:n+`BOOLEAN TRUE +`}if(I=="02"){var E=a(l,r);return n+"INTEGER "+h(E,g)+` +`}if(I=="03"){var E=a(l,r);if(i.isASN1HEX(E.substr(2))){var p=n+`BITSTRING, encapsulates +`;return p=p+s(E.substr(2),t,0,n+" "),p}else return n+"BITSTRING "+h(E,g)+` +`}if(I=="04"){var E=a(l,r);if(i.isASN1HEX(E)){var p=n+`OCTETSTRING, encapsulates +`;return p=p+s(E,t,0,n+" "),p}else return n+"OCTETSTRING "+h(E,g)+` +`}if(I=="05")return n+`NULL +`;if(I=="06"){var f=a(l,r),A=d.asn1.ASN1Util.oidHexToInt(f),v=d.asn1.x509.OID.oid2name(A),b=A.replace(/\./g," ");return v!=""?n+"ObjectIdentifier "+v+" ("+b+`) +`:n+"ObjectIdentifier ("+b+`) +`}if(I=="0a")return n+"ENUMERATED "+parseInt(a(l,r))+` +`;if(I=="0c")return n+"UTF8String '"+Ft(a(l,r))+`' +`;if(I=="13")return n+"PrintableString '"+Ft(a(l,r))+`' +`;if(I=="14")return n+"TeletexString '"+Ft(a(l,r))+`' +`;if(I=="16")return n+"IA5String '"+Ft(a(l,r))+`' +`;if(I=="17")return n+"UTCTime "+Ft(a(l,r))+` +`;if(I=="18")return n+"GeneralizedTime "+Ft(a(l,r))+` +`;if(I=="1a")return n+"VisualString '"+Ft(a(l,r))+`' +`;if(I=="1e")return n+"BMPString '"+zd(a(l,r))+`' +`;if(I=="30"){if(l.substr(r,4)=="3000")return n+`SEQUENCE {} +`;var p=n+`SEQUENCE +`,w=c(l,r),y=t;if((w.length==2||w.length==3)&&l.substr(w[0],2)=="06"&&l.substr(w[w.length-1],2)=="04"){var v=i.oidname(a(l,w[0])),F=JSON.parse(JSON.stringify(t));F.x509ExtName=v,y=F}for(var D=0;D4?{enum:{hex:w}}:{enum:parseInt(w,16)};if(v=="30"||v=="31")return b[f[v]]=A(e),b;if(v=="14"){var q=p(w);return b[f[v]]={str:q},b}else if(v=="1e"){var q=E(w);return b[f[v]]={str:q},b}else if(":0c:12:13:16:17:18:1a:".indexOf(v)!=-1){var q=g(w);return b[f[v]]={str:q},b}else if(v.match(/^8[0-9]$/)){var q=g(w);return q==null|q==""?{tag:{tag:v,explicit:!1,hex:w}}:q.match(/[\x00-\x1F\x7F-\x9F]/)!=null||q.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:v,explicit:!1,hex:w}}:{tag:{tag:v,explicit:!1,str:q}}}else if(v.match(/^a[0-9]$/))try{if(!n(w))throw new Error("not encap");return{tag:{tag:v,explicit:!0,obj:r(w)}}}catch{return{tag:{tag:v,explicit:!0,hex:w}}}else{var V=new d.asn1.ASN1Object;V.hV=w;var _=V.getLengthHexFromValue();return{asn1:{tlv:v+_+w}}}}}};Ee.isContextTag=function(e,t){e=e.toLowerCase();var r,n;try{r=parseInt(e,16)}catch{return-1}if(t===void 0)return(r&192)==128;try{var i=t.match(/^\[[0-9]+\]$/);return i==null||(n=parseInt(t.substr(1,t.length-1),10),n>31)?!1:(r&192)==128&&(r&31)==n}catch{return!1}};Ee.isASN1HEX=function(e){var t=Ee;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0),a=e.length-n.length-i.length;return a==r*2};Ee.checkStrictDER=function(e,t,r,n,i){var a=Ee;if(r===void 0){if(typeof e!="string")throw new Error("not hex string");if(e=e.toLowerCase(),!d.lang.String.isHex(e))throw new Error("not hex string");r=e.length,n=e.length/2,n<128?i=1:i=Math.ceil(n.toString(16))+1}var s=a.getL(e,t);if(s.length>i*2)throw new Error("L of TLV too long: idx="+t);var c=a.getVblen(e,t);if(c>n)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(e,t),h=l.length-2-a.getL(e,t).length;if(h!==c*2)throw new Error("V string length and L's value not the same:"+h+"/"+c*2);if(t===0&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var g=e.substr(t,2);if(g==="02"){var E=a.getVidx(e,t);if(e.substr(E,2)=="00"&&e.charCodeAt(E+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(g,16)&32){for(var p=a.getVblen(e,t),f=0,A=a.getChildIdx(e,t),v=0;v"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.x509>"u"||!d.asn1.x509)&&(d.asn1.x509={});d.asn1.x509.Certificate=function(e){d.asn1.x509.Certificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.x509,s=a.TBSCertificate,c=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(l){this.params=l},this.sign=function(){var l=this.params,h=l.sigalg;l.sigalg.name!=null&&(h=l.sigalg.name);var g=l.tbsobj.tohex(),E=new d.crypto.Signature({alg:h});E.init(l.cakey),E.updateHex(g),l.sighex=E.sign()},this.getPEM=function(){return zr(this.tohex(),"CERTIFICATE")},this.tohex=function(){var l=this.params;if((l.tbsobj==null||l.tbsobj==null)&&(l.tbsobj=new s(l)),l.sighex==null&&l.cakey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or cakey parameter not defined");var h=[];h.push(l.tbsobj),h.push(new c({name:l.sigalg})),h.push(new n({hex:"00"+l.sighex}));var g=new i({array:h});return g.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&(this.params=e)};he(d.asn1.x509.Certificate,d.asn1.ASN1Object);d.asn1.x509.TBSCertificate=function(e){d.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.x509,i=r.DERTaggedObject,a=r.DERInteger,s=r.DERSequence,c=n.AlgorithmIdentifier,l=n.Time,h=n.X500Name,g=n.Extensions,E=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(p){this.params=p},this.tohex=function(){var p=[],f=this.params;if(f.version!=null||f.version!=1){var A=2;f.version!=null&&(A=f.version-1);var v=new i({obj:new a({int:A})});p.push(v)}p.push(new a(f.serial)),p.push(new c({name:f.sigalg})),p.push(new h(f.issuer)),p.push(new s({array:[new l(f.notbefore),new l(f.notafter)]})),p.push(new h(f.subject)),p.push(new E(st.getKey(f.sbjpubkey))),f.ext!==void 0&&f.ext.length>0&&p.push(new i({tag:"a3",obj:new g(f.ext)}));var b=new d.asn1.DERSequence({array:p});return b.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.x509.TBSCertificate,d.asn1.ASN1Object);d.asn1.x509.Extensions=function(e){d.asn1.x509.Extensions.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERSequence,i=r.x509;this.aParam=[],this.setByParam=function(a){this.aParam=a},this.tohex=function(){for(var a=[],s=0;s-1&&c.push(new n({int:this.pathLen}));var l=new i({array:c});return this.asn1ExtnValue=l,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,e!==void 0&&(e.cA!==void 0&&(this.cA=e.cA),e.pathLen!==void 0&&(this.pathLen=e.pathLen))};he(d.asn1.x509.BasicConstraints,d.asn1.x509.Extension);d.asn1.x509.CRLDistributionPoints=function(e){d.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=d,r=t.asn1,n=r.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(i){for(var a=[],s=0;s0&&a.push(new r({array:s}))}var l=new r({array:a});return l.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(d.asn1.x509.PolicyInformation,d.asn1.ASN1Object);d.asn1.x509.PolicyQualifierInfo=function(e){d.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=d.asn1,r=t.DERSequence,n=t.DERIA5String,i=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return s.tohex()}if(this.params.unotice!=null){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return s.tohex()}},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(d.asn1.x509.PolicyQualifierInfo,d.asn1.ASN1Object);d.asn1.x509.UserNotice=function(e){d.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText,i=d.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var a=[];this.params.noticeref!==void 0&&a.push(new i(this.params.noticeref)),this.params.exptext!==void 0&&a.push(new n(this.params.exptext));var s=new t({array:a});return s.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(d.asn1.x509.UserNotice,d.asn1.ASN1Object);d.asn1.x509.NoticeReference=function(e){d.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var i=[];if(this.params.org!==void 0&&i.push(new n(this.params.org)),this.params.noticenum!==void 0){for(var a=[],s=this.params.noticenum,c=0;c0)for(var s=0;s0;i++){var a=t.shift();if(r===!0){var s=n.pop(),c=(s+","+a).replace(/\\,/g,",");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}return n=n.map(function(l){return l.replace("/","\\/")}),n.reverse(),"/"+n.join("/")};d.asn1.x509.X500Name.ldapToOneline=function(e){return d.asn1.x509.X500Name.ldapToCompat(e)};d.asn1.x509.RDN=function(e){d.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=d.asn1.x509.AttributeTypeAndValue;this.setByParam=function(r){r.rule!==void 0&&(this.sRule=r.rule),r.str!==void 0&&this.addByMultiValuedString(r.str),r.array!==void 0&&(this.paramArray=r.array)},this.addByString=function(r){this.asn1Array.push(new d.asn1.x509.AttributeTypeAndValue({str:r,rule:this.sRule}))},this.addByMultiValuedString=function(r){for(var n=d.asn1.x509.RDN.parseString(r),i=0;i0)for(var r=0;r0;i++){var a=t.shift();if(r===!0){var s=n.pop(),c=(s+"+"+a).replace(/\\\+/g,"+");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}for(var l=!1,h=[],i=0;n.length>0;i++){var a=n.shift();if(l===!0){var g=h.pop();if(a.match(/"$/)){var c=(g+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");h.push(c),l=!1}else h.push(g+"+"+a)}else h.push(a);a.match(/^[^=]+="/)&&(l=!0)}return h};d.asn1.x509.AttributeTypeAndValue=function(e){d.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=d,r=t.asn1,n=r.DERSequence,i=r.DERUTF8String,a=r.DERPrintableString,s=r.DERTeletexString,c=r.DERIA5String,l=r.DERVisibleString,h=r.DERBMPString,g=t.lang.String.isMail,E=t.lang.String.isPrintable;this.setByParam=function(p){if(p.rule!==void 0&&(this.sRule=p.rule),p.ds!==void 0&&(this.dsType=p.ds),p.value===void 0&&p.str!==void 0){var f=p.str,A=f.match(/^([^=]+)=(.+)$/);if(A)this.sType=A[1],this.sValue=A[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=p.type,this.sValue=p.value},this.setByString=function(p,f){f!==void 0&&(this.sRule=f);var A=p.match(/^([^=]+)=(.+)$/);if(A)this.setByAttrTypeAndValueStr(A[1],A[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var p=this.sType,f=this.sValue,A=this.sRule;return A==="prn"?p=="CN"&&g(f)?"ia5":E(f)?"prn":"utf8":A==="utf8"?p=="CN"&&g(f)?"ia5":p=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(p,f,A){A!==void 0&&(this.sRule=A),this.sType=p,this.sValue=f},this.getValueObj=function(p,f){if(p=="utf8")return new i({str:f});if(p=="prn")return new a({str:f});if(p=="tel")return new s({str:f});if(p=="ia5")return new c({str:f});if(p=="vis")return new l({str:f});if(p=="bmp")return new h({str:f});throw new Error("unsupported directory string type: type="+p+" value="+f)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var p=d.asn1.x509.OID.atype2obj(this.sType),f=this.getValueObj(this.dsType,this.sValue),A=new n({array:[p,f]});return this.TLV=A.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.x509.AttributeTypeAndValue,d.asn1.ASN1Object);d.asn1.x509.SubjectPublicKeyInfo=function(e){d.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=null,r=null,n=d,i=n.asn1,a=i.DERInteger,s=i.DERBitString,c=i.DERObjectIdentifier,l=i.DERSequence,h=i.ASN1Util.newObject,g=i.x509,E=g.AlgorithmIdentifier,p=n.crypto,f=p.ECDSA,A=p.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var v=new l({array:[this.asn1AlgId,this.asn1SubjPKey]});return v},this.tohex=function(){var v=this.getASN1Object();return this.hTLV=v.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(v){try{if(v instanceof ze){var b=h({seq:[{int:{bigint:v.n}},{int:{int:v.e}}]}),w=b.tohex();this.asn1AlgId=new E({name:"rsaEncryption"}),this.asn1SubjPKey=new s({hex:"00"+w})}}catch{}try{if(v instanceof d.crypto.ECDSA){var y=new c({name:v.curveName});this.asn1AlgId=new E({name:"ecPublicKey",asn1params:y}),this.asn1SubjPKey=new s({hex:"00"+v.pubKeyHex})}}catch{}try{if(v instanceof d.crypto.DSA){var y=new h({seq:[{int:{bigint:v.p}},{int:{bigint:v.q}},{int:{bigint:v.g}}]});this.asn1AlgId=new E({name:"dsa",asn1params:y});var F=new a({bigint:v.y});this.asn1SubjPKey=new s({hex:"00"+F.tohex()})}}catch{}},e!==void 0&&this.setPubKey(e)};he(d.asn1.x509.SubjectPublicKeyInfo,d.asn1.ASN1Object);d.asn1.x509.Time=function(e){d.asn1.x509.Time.superclass.constructor.call(this);var t=null,r=null,n=d,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(c){this.timeParams=c},this.setByParam=function(c){this.params=c},this.getType=function(c){return c.match(/^[0-9]{12}Z$/)?"utc":c.match(/^[0-9]{14}Z$/)?"gen":c.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":c.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var c=this.params,l=null;if(typeof c=="string"&&(c={str:c}),c!=null&&c.str&&(c.type==null||c.type==null)&&(c.type=this.getType(c.str)),c!=null&&c.str?(c.type=="utc"&&(l=new a(c.str)),c.type=="gen"&&(l=new s(c.str))):this.type=="gen"?l=new s:l=new a,l==null)throw new Error("wrong setting for Time");return this.TLV=l.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};d.asn1.x509.Time_bak=function(e){d.asn1.x509.Time_bak.superclass.constructor.call(this);var t=null,r=null,n=d,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.setTimeParams=function(c){this.timeParams=c},this.tohex=function(){var c=null;return this.timeParams!=null?this.type=="utc"?c=new a(this.timeParams):c=new s(this.timeParams):this.type=="utc"?c=new a:c=new s,this.TLV=c.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",e!==void 0&&(e.type!==void 0?this.type=e.type:e.str!==void 0&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)};he(d.asn1.x509.Time,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier=function(e){d.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=d,r=t.asn1,n=r.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var a=null;for(var s in n)s===this.nameAlg&&(a=n[s]);if(a!==null)return this.hTLV=a,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=r.x509.OID.name2obj(this.nameAlg));var c=[this.asn1Alg];this.asn1Params!==null&&c.push(this.asn1Params);var l=new r.DERSequence({array:c});return this.hTLV=l.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(e.name!==void 0&&(this.nameAlg=e.name),e.asn1params!==void 0&&(this.asn1Params=e.asn1params),e.paramempty!==void 0&&(this.paramEmpty=e.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var i=this.nameAlg.toLowerCase();i.substr(-7,7)!=="withdsa"&&i.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new r.DERNull)}};he(d.asn1.x509.AlgorithmIdentifier,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};d.asn1.x509.GeneralName=function(e){d.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},r=d,n=r.asn1,i=n.x509,a=i.X500Name,s=i.OtherName,c=n.DERIA5String,l=n.DERPrintableString,h=n.DEROctetString,g=n.DERTaggedObject,E=n.ASN1Object,p=Error;this.params=null,this.setByParam=function(f){this.params=f},this.tohex=function(){var f=this.params,A,b,v,b=!1;if(f.other!==void 0)A="a0",v=new s(f.other);else if(f.rfc822!==void 0)A="81",v=new c({str:f.rfc822});else if(f.dns!==void 0)A="82",v=new c({str:f.dns});else if(f.dn!==void 0)A="a4",b=!0,typeof f.dn=="string"?v=new a({str:f.dn}):f.dn instanceof d.asn1.x509.X500Name?v=f.dn:v=new a(f.dn);else if(f.ldapdn!==void 0)A="a4",b=!0,v=new a({ldapstr:f.ldapdn});else if(f.certissuer!==void 0||f.certsubj!==void 0){A="a4",b=!0;var w,y,F=null;if(f.certsubj!==void 0?(w=!1,y=f.certsubj):(w=!0,y=f.certissuer),y.match(/^[0-9A-Fa-f]+$/)&&F==y,y.indexOf("-----BEGIN ")!=-1&&(F=Kt(y)),F==null)throw new Error("certsubj/certissuer not cert");var D=new He;D.hex=F;var I;w?I=D.getIssuerHex():I=D.getSubjectHex(),v=new E,v.hTLV=I}else if(f.uri!==void 0)A="86",v=new c({str:f.uri});else if(f.ip!==void 0){A="87";var q,V=f.ip;try{if(V.match(/^[0-9a-f]+$/)){var _=V.length;if(_==8||_==16||_==32||_==64)q=V;else throw"err"}else q=Gd(V)}catch(L){throw new p("malformed IP address: "+f.ip+":"+L.message)}v=new h({hex:q})}else throw new p("improper params");var P=new g({tag:A,explicit:b,obj:v});return P.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.x509.GeneralName,d.asn1.ASN1Object);d.asn1.x509.GeneralNames=function(e){d.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=null,r=d,n=r.asn1;this.setByParamArray=function(i){for(var a=0;a"u")throw"Name of ObjectIdentifier not defined: "+t;var r=this.name2oidList[t],n=new e({oid:r});return this.objCache[t]=n,n},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var r;if(t.match(/^\d+\.\d+\.[0-9.]+$/))r=t;else if(this.atype2oidList[t]!==void 0)r=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)r=this.name2oidList[t];else throw new Error("AttributeType name undefined: "+t);var n=new e({oid:r});return this.objCache[t]=n,n},this.registerOIDs=function(t){if(this.checkOIDs(t))for(var r in t)this.name2oidList[r]=t[r]},this.checkOIDs=function(t){try{var r=Object.keys(t);return r.length==0?!1:(r.map(function(n,i,a){var s=this[n];if(!s.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},t),!0)}catch{return!1}}};d.asn1.x509.OID.oid2name=function(e){var t=d.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""};d.asn1.x509.OID.oid2atype=function(e){var t=d.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e};d.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=d.asn1.x509.OID.name2oidList;return t[e]===void 0?"":t[e]};d.asn1.x509.X509Util={};d.asn1.x509.X509Util.newCertPEM=function(e){var t=d.asn1.x509,r=t.TBSCertificate,n=t.Certificate,i=new n(e);return i.getPEM()};(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cms>"u"||!d.asn1.cms)&&(d.asn1.cms={});d.asn1.cms.Attribute=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.DERSet,s=n.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(c){this.params=c},this.getValueArray=function(){throw new t("not yet implemented abstract")},this.tohex=function(){var c=new s({oid:this.typeOid}),l=new a({array:this.getValueArray()}),h=new i({array:[c,l]});return h.tohex()},this.getEncodedHex=function(){return this.tohex()}};he(d.asn1.cms.Attribute,d.asn1.ASN1Object);d.asn1.cms.ContentType=function(e){var t=d,r=t.asn1;r.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var n=new r.DERObjectIdentifier(this.params.type);return[n]},e!=null&&this.setByParam(e)};he(d.asn1.cms.ContentType,d.asn1.cms.Attribute);d.asn1.cms.MessageDigest=function(e){var t=d,r=t.asn1,n=r.DEROctetString,i=r.cms;i.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var a=new n(this.params);return[a]},e!=null&&this.setByParam(e)};he(d.asn1.cms.MessageDigest,d.asn1.cms.Attribute);d.asn1.cms.SigningTime=function(e){var t=d,r=t.asn1;r.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var n=new r.x509.Time(this.params);return[n]},e!=null&&this.setByParam(e)};he(d.asn1.cms.SigningTime,d.asn1.cms.Attribute);d.asn1.cms.SigningCertificate=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.cms,s=a.ESSCertID,c=r.crypto;a.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new t("parameter 'array' not specified");for(var l=this.params.array,h=[],g=0;g0){for(var A=a(p.valhex,f[0]),v=E(A,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.setSignaturePolicyIdentifier=function(p){var f=E(p.valhex,0);if(f.length>0){var A=n.getOID(p.valhex,f[0]);p.oid=A}if(f.length>1){var v=new t,b=E(p.valhex,f[1]),w=a(p.valhex,b[0]),y=v.getAlgorithmIdentifierName(w);p.alg=y;var F=i(p.valhex,b[1]);p.hash=F}delete p.valhex},this.setSigningCertificateV2=function(p){var f=E(p.valhex,0);if(f.length>0){for(var A=a(p.valhex,f[0]),v=E(A,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.getESSCertID=function(p){var f={},A=E(p,0);if(A.length>0){var v=i(p,A[0]);f.hash=v}if(A.length>1){var b=a(p,A[1]),w=this.getIssuerSerial(b);w.serial!=null&&(f.serial=w.serial),w.issuer!=null&&(f.issuer=w.issuer)}return f},this.getESSCertIDv2=function(p){var f={},A=E(p,0);if(A.length<1||3v+1){var y=a(p,A[v+1]),F=this.getIssuerSerial(y);f.issuer=F.issuer,f.serial=F.serial}return f},this.getIssuerSerial=function(p){var f={},A=E(p,0),v=a(p,A[0]),b=r.getGeneralNames(v),w=b[0].dn;f.issuer=w;var y=i(p,A[1]);return f.serial={hex:y},f},this.getCertificateSet=function(p){for(var f=E(p,0),A=[],v=0;v"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.tsp>"u"||!d.asn1.tsp)&&(d.asn1.tsp={});d.asn1.tsp.TimeStampToken=function(e){var t=d,r=t.asn1,n=r.tsp;n.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var i=new n.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=i.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.TimeStampToken,d.asn1.cms.SignedData);d.asn1.tsp.TSTInfo=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.DERInteger,s=n.DERBoolean,c=n.DERGeneralizedTime,l=n.DERObjectIdentifier,h=n.DERTaggedObject,g=n.tsp,E=g.MessageImprint,p=g.Accuracy,f=n.x509.X500Name,A=n.x509.GeneralName;if(g.TSTInfo.superclass.constructor.call(this),this.dVersion=new a({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var v=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(v.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(v.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(v.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");v.push(this.dGenTime),this.dAccuracy!=null&&v.push(this.dAccuracy),this.dOrdering!=null&&v.push(this.dOrdering),this.dNonce!=null&&v.push(this.dNonce),this.dTsa!=null&&v.push(this.dTsa);var b=new i({array:v});return this.hTLV=b.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0){if(typeof e.policy=="string"){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new l({oid:e.policy})}e.messageImprint!==void 0&&(this.dMessageImprint=new E(e.messageImprint)),e.serial!==void 0&&(this.dSerial=new a(e.serial)),e.genTime!==void 0&&(this.dGenTime=new c(e.genTime)),e.accuracy!==void 0&&(this.dAccuracy=new p(e.accuracy)),e.ordering!==void 0&&e.ordering==!0&&(this.dOrdering=new s),e.nonce!==void 0&&(this.dNonce=new a(e.nonce)),e.tsa!==void 0&&(this.dTsa=new h({tag:"a0",explicit:!0,obj:new A({dn:e.tsa})}))}};he(d.asn1.tsp.TSTInfo,d.asn1.ASN1Object);d.asn1.tsp.Accuracy=function(e){var t=d,r=t.asn1,n=r.ASN1Util.newObject;r.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var i=this.params,a=[];return i.seconds!=null&&typeof i.seconds=="number"&&a.push({int:i.seconds}),i.millis!=null&&typeof i.millis=="number"&&a.push({tag:{tagi:"80",obj:{int:i.millis}}}),i.micros!=null&&typeof i.micros=="number"&&a.push({tag:{tagi:"81",obj:{int:i.micros}}}),n({seq:a}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.Accuracy,d.asn1.ASN1Object);d.asn1.tsp.MessageImprint=function(e){var t=d,r=t.asn1,n=r.DERSequence,i=r.DEROctetString,a=r.x509,s=a.AlgorithmIdentifier;r.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=new s({name:c.alg}),h=new i({hex:c.hash}),g=new n({array:[l,h]});return g.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.tsp.MessageImprint,d.asn1.ASN1Object);d.asn1.tsp.TimeStampReq=function(e){var t=d,r=t.asn1,n=r.DERSequence,i=r.DERInteger,a=r.DERBoolean,s=r.ASN1Object,c=r.DERObjectIdentifier,l=r.tsp,h=l.MessageImprint;l.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var g=this.params,E=[];E.push(new i({int:1})),g.messageImprint instanceof d.asn1.ASN1Object?E.push(g.messageImprint):E.push(new h(g.messageImprint)),g.policy!=null&&E.push(new c(g.policy)),g.nonce!=null&&E.push(new i(g.nonce)),g.certreq==!0&&E.push(new a);var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.TimeStampReq,d.asn1.ASN1Object);d.asn1.tsp.TimeStampResp=function(e){var t=d,r=t.asn1,n=r.DERSequence,i=r.ASN1Object,a=r.tsp,s=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=[];if(c.econtent!=null||c.tst!=null)if(c.statusinfo!=null?l.push(new s(c.statusinfo)):l.push(new s("granted")),c.econtent!=null)l.push(new a.TimeStampToken(c).getContentInfo());else if(c.tst instanceof r.ASN1Object)l.push(c.tst);else throw new Error("improper member tst value");else if(c.statusinfo!=null)l.push(new s(c.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var h=new n({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.TimeStampResp,d.asn1.ASN1Object);d.asn1.tsp.PKIStatusInfo=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.tsp,s=a.PKIStatus,c=a.PKIFreeText,l=a.PKIFailureInfo;a.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var h=this.params,g=[];if(typeof h=="string")g.push(new s(h));else{if(h.status==null)throw new t("property 'status' unspecified");g.push(new s(h.status)),h.statusstr!=null&&g.push(new c(h.statusstr)),h.failinfo!=null&&g.push(new l(h.failinfo))}var E=new i({array:g});return E.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.PKIStatusInfo,d.asn1.ASN1Object);d.asn1.tsp.PKIStatus=function(e){var t=Error,r=d,n=r.asn1,i=n.DERInteger,a=n.tsp;a.PKIStatus.superclass.constructor.call(this);var s={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var c=this.params,l,h;if(typeof c=="string")try{h=s[c]}catch{throw new t("undefined name: "+c)}else if(typeof c=="number")h=c;else throw new t("unsupported params");return new i({int:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.PKIStatus,d.asn1.ASN1Object);d.asn1.tsp.PKIFreeText=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.DERUTF8String,s=n.tsp;s.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params;if(!c instanceof Array)throw new t("wrong params: not array");for(var l=[],h=0;h=0;p--)E+=g[p];return E}else{if(typeof l=="string"&&c[l]!=null)return Hf([l],c);if(typeof l=="object"&&l.length!=null)return Hf(l,c);throw new t("wrong params")}},this.tohex=function(){var l=this.params,h=this.getBinValue();return new i({bin:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.tsp.PKIFailureInfo,d.asn1.ASN1Object);d.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(t,r){throw"not implemented yet"}};d.asn1.tsp.SimpleTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(a,s){var c=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:c},this.params.econtent.content.serial={int:this.serial++};var l=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:l};var h=new n.TimeStampToken(this.params);return h.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(d.asn1.tsp.SimpleTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.FixedTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(a,s){var c=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:c};var l=new n.TimeStampToken(this.params);return l.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(d.asn1.tsp.FixedTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.TSPUtil=new function(){};d.asn1.tsp.TSPUtil.newTimeStampToken=function(e){return new d.asn1.tsp.TimeStampToken(e)};d.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=new d.asn1.tsp.TSPParser;return t.getTimeStampReq(e)};d.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=new d.asn1.tsp.TSPParser;return t.getMessageImprint(e)};d.asn1.tsp.TSPParser=function(){var e=Error,t=He,r=new t,n=Ee,i=n.getV,a=n.getTLV,s=n.getIdxbyList,c=n.getTLVbyListEx,l=n.getChildIdx,h=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],g={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(E){var p=l(E,0);if(p.length==1)return this.getPKIStatusInfo(a(E,p[0]));if(p.length>1){var f=this.getPKIStatusInfo(a(E,p[0])),A=a(E,p[1]),v=this.getToken(A);return v.statusinfo=f,v}},this.getToken=function(E){var p=new d.asn1.cms.CMSParser,f=p.getCMSSignedData(E);return this.setTSTInfo(f),f},this.setTSTInfo=function(E){var p=E.econtent;if(p.type=="tstinfo"){var f=p.content.hex,A=this.getTSTInfo(f);p.content=A}},this.getTSTInfo=function(E){var p={},f=l(E,0),A=i(E,f[1]);p.policy=Wf(A);var v=a(E,f[2]);p.messageImprint=this.getMessageImprint(v);var b=i(E,f[3]);p.serial={hex:b};var w=i(E,f[4]);p.genTime={str:Ft(w)};var y=0;if(f.length>5&&E.substr(f[5],2)=="30"){var F=a(E,f[5]);p.accuracy=this.getAccuracy(F),y++}if(f.length>5+y&&E.substr(f[5+y],2)=="01"){var D=i(E,f[5+y]);D=="ff"&&(p.ordering=!0),y++}if(f.length>5+y&&E.substr(f[5+y],2)=="02"){var I=i(E,f[5+y]);p.nonce={hex:I},y++}if(f.length>5+y&&E.substr(f[5+y],2)=="a0"){var q=a(E,f[5+y]);q="30"+q.substr(2),pGeneralNames=r.getGeneralNames(q);var V=pGeneralNames[0].dn;p.tsa=V,y++}if(f.length>5+y&&E.substr(f[5+y],2)=="a1"){var _=a(E,f[5+y]);_="30"+_.substr(2);var P=r.getExtParamArray(_);p.ext=P,y++}return p},this.getAccuracy=function(E){for(var p={},f=l(E,0),A=0;A1&&E.substr(f[1],2)=="30"){var w=a(E,f[1]);p.statusstr=this.getPKIFreeText(w),A++}if(f.length>A&&E.substr(f[1+A],2)=="03"){var y=a(E,f[1+A]);p.failinfo=this.getPKIFailureInfo(y)}return p},this.getPKIFreeText=function(E){for(var p=[],f=l(E,0),A=0;A"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cades>"u"||!d.asn1.cades)&&(d.asn1.cades={});d.asn1.cades.SignaturePolicyIdentifier=function(e){var t=d,r=t.asn1,n=r.cades,i=n.SignaturePolicyId;n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new i(this.params)]},this.setByParam=function(a){this.params=a},e!=null&&this.setByParam(e)};he(d.asn1.cades.SignaturePolicyIdentifier,d.asn1.cms.Attribute);d.asn1.cades.SignaturePolicyId=function(e){var t=d,r=t.asn1,n=r.DERSequence,i=r.DERObjectIdentifier,a=r.x509,s=a.AlgorithmIdentifier,c=r.cades,l=c.SignaturePolicyId,h=c.OtherHashAlgAndValue;l.superclass.constructor.call(this),this.params=null,this.tohex=function(){var g=this.params,E=[];E.push(new i(g.oid)),E.push(new h(g));var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(g){this.params=g},e!=null&&this.setByParam(e)};he(d.asn1.cades.SignaturePolicyId,d.asn1.ASN1Object);d.asn1.cades.OtherHashAlgAndValue=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.DEROctetString,s=n.x509,c=s.AlgorithmIdentifier,l=n.cades,h=l.OtherHashAlgAndValue;h.superclass.constructor.call(this),this.params=null,this.tohex=function(){var g=this.params;if(g.alg==null)throw new t("property 'alg' not specified");if(g.hash==null&&g.cert==null)throw new t("property 'hash' nor 'cert' not specified");var E=null;if(g.hash!=null)E=g.hash;else if(g.cert!=null){if(typeof g.cert!="string")throw new t("cert not string");var p=g.cert;g.cert.indexOf("-----BEGIN")!=-1&&(p=Kt(g.cert)),E=d.crypto.Util.hashHex(p,g.alg)}var f=[];f.push(new c({name:g.alg})),f.push(new a({hex:E}));var A=new i({array:f});return A.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.cades.OtherHashAlgAndValue,d.asn1.ASN1Object);d.asn1.cades.OtherHashValue=function(e){d.asn1.cades.OtherHashValue.superclass.constructor.call(this);var t=Error,r=d,n=r.lang.String.isHex,i=r.asn1,a=i.DEROctetString,s=r.crypto.Util.hashHex;this.params=null,this.tohex=function(){var c=this.params;if(c.hash==null&&c.cert==null)throw new t("hash or cert not specified");var l=null;if(c.hash!=null)l=c.hash;else if(c.cert!=null){if(typeof c.cert!="string")throw new t("cert not string");var h=c.cert;c.cert.indexOf("-----BEGIN")!=-1&&(h=Kt(c.cert)),l=d.crypto.Util.hashHex(h,"sha1")}return new a({hex:l}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(d.asn1.cades.OtherHashValue,d.asn1.ASN1Object);d.asn1.cades.SignatureTimeStamp=function(e){var t=Error,r=d,n=r.lang.String.isHex,i=r.asn1,a=i.ASN1Object,s=i.x509,c=i.cades;c.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var l=this.params;if(l.tst!=null)if(n(l.tst)){var h=new a;return h.hTLV=l.tst,[h]}else{if(l.tst instanceof a)return[l.tst];throw new t("params.tst has wrong value")}else if(l.res!=null){var g=l.res;if(g instanceof a&&(g=g.tohex()),typeof g!="string"||!n(g))throw new t("params.res has wrong value");var E=Ee.getTLVbyList(g,0,[1]),h=new a;return h.hTLV=l.tst,[h]}},e!=null&&this.setByParam(e)};he(d.asn1.cades.SignatureTimeStamp,d.asn1.cms.Attribute);d.asn1.cades.CompleteCertificateRefs=function(e){var t=Error,r=d,n=r.asn1,i=n.DERSequence,a=n.cades,s=a.OtherCertID,c=r.lang.String.isHex;a.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var l=this.params,h=[],g=0;g"u"||!d.asn1.csr)&&(d.asn1.csr={});d.asn1.csr.CertificationRequest=function(e){var t=d,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.csr,s=r.x509,c=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(l){this.params=l},this.sign=function(){var l=new c(this.params).tohex(),h=new d.crypto.Signature({alg:this.params.sigalg});h.init(this.params.sbjprvkey),h.updateHex(l);var g=h.sign();this.params.sighex=g},this.getPEM=function(){return zr(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var l=this.params,h=new d.asn1.csr.CertificationRequestInfo(this.params),g=new d.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==null&&l.sbjprvkey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var E=new n({hex:"00"+l.sighex}),p=new i({array:[h,g,E]});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.csr.CertificationRequest,d.asn1.ASN1Object);d.asn1.csr.CertificationRequestInfo=function(e){var t=d,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.DERInteger,s=r.DERUTF8String,c=r.DERTaggedObject,l=r.ASN1Util.newObject,h=r.csr,g=r.x509,E=g.X500Name,p=g.Extensions,f=g.SubjectPublicKeyInfo,A=h.AttributeList;h.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(b){b!=null&&(this.params=b)},this.tohex=function(){var b=this.params,w=[];if(w.push(new a({int:0})),w.push(new E(b.subject)),w.push(new f(st.getKey(b.sbjpubkey))),b.attrs!=null){var y=v(b.attrs),F=l({tag:{tage:"a0",obj:y}});w.push(F)}else if(b.extreq!=null){var D=new p(b.extreq),F=l({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[D]}]}}});w.push(F)}else w.push(new c({tag:"a0",explicit:!1,obj:new s({str:""})}));var I=new i({array:w});return I.tohex()},this.getEncodedHex=function(){return this.tohex()};function v(b){for(var w=Error,y=d.asn1.x509.Extensions,F=[],D=0;D"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.ocsp>"u"||!d.asn1.ocsp)&&(d.asn1.ocsp={});d.asn1.ocsp.DEFAULT_HASH="sha1";d.asn1.ocsp.OCSPResponse=function(e){d.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var t=d.asn1.DEREnumerated,r=d.asn1.ASN1Util.newObject,n=d.asn1.ocsp.ResponseBytes,i=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var a=this.params.resstatus;return typeof a=="number"?a:typeof a!="string"?-1:i.indexOf(a)},this.setByParam=function(a){this.params=a},this.tohex=function(){var a=this.params,s=this._getStatusCode();if(s==-1)throw new Error("responseStatus not supported: "+a.resstatus);if(s!=0)return r({seq:[{enum:{int:s}}]}).tohex();var c=new n(a);return r({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:c}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.ocsp.OCSPResponse,d.asn1.ASN1Object);d.asn1.ocsp.ResponseBytes=function(e){d.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=d.asn1,r=t.DERSequence,n=t.DERObjectIdentifier,i=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(s){this.params=s},this.tohex=function(){var s=this.params;if(s.restype!="ocspBasic")throw new Error("not supported responseType: "+s.restype);var c=new a(s),l=[];l.push(new n({name:"ocspBasic"})),l.push(new i({hex:c.tohex()}));var h=new r({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(d.asn1.ocsp.ResponseBytes,d.asn1.ASN1Object);d.asn1.ocsp.BasicOCSPResponse=function(e){d.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,r=d.asn1,n=r.ASN1Object,i=r.DERSequence,a=r.DERGeneralizedTime,s=r.DERTaggedObject,c=r.DERBitString,l=r.x509.Extensions,h=r.x509.AlgorithmIdentifier,g=r.ocsp,E=g.ResponderID;_SingleResponseList=g.SingleResponseList,_ResponseData=g.ResponseData,this.params=null,this.setByParam=function(p){this.params=p},this.sign=function(){var p=this.params,f=p.tbsresp.tohex(),A=new d.crypto.Signature({alg:p.sigalg});A.init(p.reskey),A.updateHex(f),p.sighex=A.sign()},this.tohex=function(){var p=this.params;p.tbsresp==null&&(p.tbsresp=new _ResponseData(p)),p.sighex==null&&p.reskey!=null&&this.sign();var f=[];if(f.push(p.tbsresp),f.push(new h({name:p.sigalg})),f.push(new c({hex:"00"+p.sighex})),p.certs!=null&&p.certs.length!=null){for(var A=[],v=0;v"u"||!d)&&(d={});(typeof d.lang>"u"||!d.lang)&&(d.lang={});d.lang.String=function(){};function K2(e){for(var t=new Array,r=0;r>6,l=128|s&63;return Ft(c.toString(16)+l.toString(16))}var c=224|(a&240)>>4,l=128|(a&15)<<2|(s&192)>>6,h=128|s&63;return Ft(c.toString(16)+l.toString(16)+h.toString(16))}var r=e.match(/.{4}/g),n=r.map(t);return n.join("")}function Yf(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}function V9(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map(function(r,n,i){var a=parseInt(r);if(a<0||255t.length&&(r=t.length);for(var n=0;n0&&(h=h+"."+c.join(".")),h}catch{return null}}function J2(e){var t=new ee(String(e),10);return Mc(t)}function Mc(e){var t=e.toString(16);if(t.substr(0,1)!="-")return t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t),t;var r=t.substr(1),n=r.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var i="",a=0;a=t?e:new Array(t-e.length+1).join(r)+e};function Z2(e){if(e.length%2!=0||(e=e.toLowerCase(),e.match(/^[0-9a-f]+$/)==null))return-1;try{var t=e.substr(0,2);if(t=="00")return parseInt(e.substr(2),16);var r=parseInt(t,16);if(r>7)return-1;var n=e.substr(2),i=parseInt(n,16).toString(2);i=="0"&&(i="00000000"),i=i.slice(0,0-r);var a=parseInt(i,2);return a==NaN?-1:a}catch{return-1}}function Q2(e){if(typeof e!="number"||e<0)return null;var t=Number(e).toString(2),r=8-t.length%8;r==8&&(r=0),t=t+Uf("",r,"0");var n=parseInt(t,2).toString(16);n.length%2==1&&(n="0"+n);var i="0"+r;return i+n}function ew(e){if(typeof e!="string"||e.length%2!=0||!e.match(/^[0-9a-f]+$/))return null;try{var t=parseInt(e.substr(0,2),16);if(t<0||7=0;n--)a+=i[n];return a}function $t(e,n,r){if(typeof e=="object"){for(var n=String(n).split("."),i=0;i"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:be.algo.MD5,sha1:be.algo.SHA1,sha224:be.algo.SHA224,sha256:be.algo.SHA256,sha384:be.algo.SHA384,sha512:be.algo.SHA512,ripemd160:be.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(typeof this.DIGESTINFOHEAD[t]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+t;for(var a="0001",s="00"+n,c="",l=i-a.length-s.length,h=0;h"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECDSA=function(e){var t="secp256r1",r=null,n=null,i=null,a=Error,s=ee,c=vt,l=d.crypto.ECDSA,h=d.crypto.ECParameterDB,g=l.getName,E=Ee,p=E.getVbyListEx,f=E.isASN1HEX,A=new bo,v=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function b(w,y,F,D){for(var I=Math.max(y.bitLength(),D.bitLength()),q=w.add2D(F),V=w.curve.getInfinity(),_=I-1;_>=0;--_)V=V.twice2D(),V.z=s.ONE,y.testBit(_)?D.testBit(_)?V=V.add2D(q):V=V.add2D(w):D.testBit(_)&&(V=V.add2D(F));return V}this.getBigRandom=function(w){return new s(w.bitLength(),A).mod(w.subtract(s.ONE)).add(s.ONE)},this.setNamedCurve=function(w){this.ecparams=h.getByName(w),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=w},this.setPrivateKeyHex=function(w){this.isPrivate=!0,this.prvKeyHex=w},this.setPublicKeyHex=function(w){this.isPublic=!0,this.pubKeyHex=w},this.getPublicKeyXYHex=function(){var w=this.pubKeyHex;if(w.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var y=this.ecparams.keycharlen;if(w.length!==2+y*2)throw"malformed public key hex length";var F={};return F.x=w.substr(2,y),F.y=w.substr(2+y),F},this.getShortNISTPCurveName=function(){var w=this.curveName;return w==="secp256r1"||w==="NIST P-256"||w==="P-256"||w==="prime256v1"?"P-256":w==="secp384r1"||w==="NIST P-384"||w==="P-384"?"P-384":w==="secp521r1"||w==="NIST P-521"||w==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var w=this.ecparams.n,y=this.getBigRandom(w),F=this.ecparams.keycharlen,D=("0000000000"+y.toString(16)).slice(-F);this.setPrivateKeyHex(D);var I=this.generatePublicKeyHex();return{ecprvhex:D,ecpubhex:I}},this.generatePublicKeyHex=function(){var w=new s(this.prvKeyHex,16),y=this.ecparams.G.multiply(w),F=y.getX().toBigInteger(),D=y.getY().toBigInteger(),I=this.ecparams.keycharlen,q=("0000000000"+F.toString(16)).slice(-I),V=("0000000000"+D.toString(16)).slice(-I),_="04"+q+V;return this.setPublicKeyHex(_),_},this.signWithMessageHash=function(w){return this.signHex(w,this.prvKeyHex)},this.signHex=function(w,y){var F=new s(y,16),D=this.ecparams.n,I=new s(w.substring(0,this.ecparams.keycharlen),16);do var q=this.getBigRandom(D),V=this.ecparams.G,_=V.multiply(q),P=_.getX().toBigInteger().mod(D);while(P.compareTo(s.ZERO)<=0);var L=q.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return l.biRSSigToASN1Sig(P,L)},this.sign=function(w,y){var F=y,D=this.ecparams.n,I=s.fromByteArrayUnsigned(w);do var q=this.getBigRandom(D),V=this.ecparams.G,_=V.multiply(q),P=_.getX().toBigInteger().mod(D);while(P.compareTo(ee.ZERO)<=0);var L=q.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return this.serializeSig(P,L)},this.verifyWithMessageHash=function(w,y){return this.verifyHex(w,y,this.pubKeyHex)},this.verifyHex=function(w,y,F){try{var D,I,q=l.parseSigHex(y);D=q.r,I=q.s;var V=c.decodeFromHex(this.ecparams.curve,F),_=new s(w.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(_,D,I,V)}catch{return!1}},this.verify=function(w,y,F){var D,I;if(Bitcoin.Util.isArray(y)){var q=this.parseSig(y);D=q.r,I=q.s}else if(typeof y=="object"&&y.r&&y.s)D=y.r,I=y.s;else throw"Invalid value for signature";var V;if(F instanceof vt)V=F;else if(Bitcoin.Util.isArray(F))V=c.decodeFrom(this.ecparams.curve,F);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var _=s.fromByteArrayUnsigned(w);return this.verifyRaw(_,D,I,V)},this.verifyRaw=function(w,y,F,D){var I=this.ecparams.n,q=this.ecparams.G;if(y.compareTo(s.ONE)<0||y.compareTo(I)>=0||F.compareTo(s.ONE)<0||F.compareTo(I)>=0)return!1;var V=F.modInverse(I),_=w.multiply(V).mod(I),P=y.multiply(V).mod(I),L=q.multiply(_).add(D.multiply(P)),j=L.getX().toBigInteger().mod(I);return j.equals(y)},this.serializeSig=function(w,y){var F=w.toByteArraySigned(),D=y.toByteArraySigned(),I=[];return I.push(2),I.push(F.length),I=I.concat(F),I.push(2),I.push(D.length),I=I.concat(D),I.unshift(I.length),I.unshift(48),I},this.parseSig=function(w){var y;if(w[0]!=48)throw new Error("Signature not a valid DERSequence");if(y=2,w[y]!=2)throw new Error("First element in signature must be a DERInteger");var F=w.slice(y+2,y+2+w[y+1]);if(y+=2+w[y+1],w[y]!=2)throw new Error("Second element in signature must be a DERInteger");var D=w.slice(y+2,y+2+w[y+1]);y+=2+w[y+1];var I=s.fromByteArrayUnsigned(F),q=s.fromByteArrayUnsigned(D);return{r:I,s:q}},this.parseSigCompact=function(w){if(w.length!==65)throw"Signature has the wrong length";var y=w[0]-27;if(y<0||y>7)throw"Invalid signature type";var F=this.ecparams.n,D=s.fromByteArrayUnsigned(w.slice(1,33)).mod(F),I=s.fromByteArrayUnsigned(w.slice(33,65)).mod(F);return{r:D,s:I,i:y}},this.readPKCS5PrvKeyHex=function(w){if(f(w)===!1)throw new Error("not ASN.1 hex string");var y,F,D;try{y=p(w,0,["[0]",0],"06"),F=p(w,0,[1],"04");try{D=p(w,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=g(y),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(D),this.setPrivateKeyHex(F),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var y,F,D,I;try{y=p(w,0,[1,0],"06"),F=p(w,0,[1,1],"06"),D=p(w,0,[2,0,1],"04");try{I=p(w,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new a("malformed PKCS#8 plain ECC private key")}if(this.curveName=g(F),this.curveName===void 0)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(I),this.setPrivateKeyHex(D),this.isPublic=!1},this.readPKCS8PubKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var y,F,D;try{y=p(w,0,[0,0],"06"),F=p(w,0,[0,1],"06"),D=p(w,0,[1],"03")}catch{throw new a("malformed PKCS#8 ECC public key")}if(this.curveName=g(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},this.readCertPubKeyHex=function(w,y){if(f(w)===!1)throw new a("not ASN.1 hex string");var F,D;try{F=p(w,0,[0,5,0,1],"06"),D=p(w,0,[0,5,1],"03")}catch{throw new a("malformed X.509 certificate ECC public key")}if(this.curveName=g(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},e!==void 0&&e.curve!==void 0&&(this.curveName=e.curve),this.curveName===void 0&&(this.curveName=t),this.setNamedCurve(this.curveName),e!==void 0&&(e.prv!==void 0&&this.setPrivateKeyHex(e.prv),e.pub!==void 0&&this.setPublicKeyHex(e.pub))};d.crypto.ECDSA.parseSigHex=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=new ee(t.r,16),n=new ee(t.s,16);return{r,s:n}};d.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ee,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),e.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var i=r(e,0);if(i.length!=2)throw new Error("signature shall have two elements");var a=i[0],s=i[1];if(e.substr(a,2)!="02")throw new Error("1st item not ASN.1 integer");if(e.substr(s,2)!="02")throw new Error("2nd item not ASN.1 integer");var c=n(e,a),l=n(e,s);return{r:c,s:l}};d.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if(r.length>=130&&r.length<=134){if(r.length%2!=0)throw Error("unknown ECDSA sig r length error");if(n.length%2!=0)throw Error("unknown ECDSA sig s length error");r.substr(0,2)=="00"&&(r=r.substr(2)),n.substr(0,2)=="00"&&(n=n.substr(2));var i=Math.max(r.length,n.length);return r=("000000"+r).slice(-i),n=("000000"+n).slice(-i),r+n}if(r.substr(0,2)=="00"&&r.length%32==2&&(r=r.substr(2)),n.substr(0,2)=="00"&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw Error("unknown ECDSA sig r length error");if(n.length%32!=0)throw Error("unknown ECDSA sig s length error");return r+n};d.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return d.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};d.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new ee(e,16),n=new ee(t,16);return d.crypto.ECDSA.biRSSigToASN1Sig(r,n)};d.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=d.asn1,n=new r.DERInteger({bigint:e}),i=new r.DERInteger({bigint:t}),a=new r.DERSequence({array:[n,i]});return a.tohex()};d.crypto.ECDSA.getName=function(e){return e==="2b8104001f"?"secp192k1":e==="2a8648ce3d030107"?"secp256r1":e==="2b8104000a"?"secp256k1":e==="2b81040021"?"secp224r1":e==="2b81040022"?"secp384r1":e==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)!==-1?"secp256r1":"|secp256k1|".indexOf(e)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(e)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(e)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(e)!==-1?"secp521r1":null};(typeof d>"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECParameterDB=new function(){var e={},t={};function r(n){return new ee(n,16)}this.getByName=function(n){var i=n;if(typeof t[i]<"u"&&(i=t[n]),typeof e[i]<"u")return e[i];throw"unregistered EC curve name: "+i},this.regist=function(n,i,a,s,c,l,h,g,E,p,f,A){e[n]={};var v=r(a),b=r(s),w=r(c),y=r(l),F=r(h),D=new Cs(v,b,w),I=D.decodePointHex("04"+g+E);e[n].name=n,e[n].keylen=i,e[n].keycharlen=Math.ceil(i/8)*2,e[n].curve=D,e[n].G=I,e[n].n=y,e[n].h=F,e[n].oid=f,e[n].info=A;for(var q=0;q"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.DSA=function(){var e=Ee,t=e.getVbyList,r=e.getVbyListEx,n=e.isASN1HEX,i=ee;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(a,s,c,l,h){this.isPrivate=!0,this.p=a,this.q=s,this.g=c,this.y=l,this.x=h},this.setPrivateHex=function(a,s,c,l,h){var g,E,p,f,A;g=new ee(a,16),E=new ee(s,16),p=new ee(c,16),typeof l=="string"&&l.length>1?f=new ee(l,16):f=null,A=new ee(h,16),this.setPrivate(g,E,p,f,A)},this.setPublic=function(a,s,c,l){this.isPublic=!0,this.p=a,this.q=s,this.g=c,this.y=l,this.x=null},this.setPublicHex=function(a,s,c,l){var h,g,E,p;h=new ee(a,16),g=new ee(s,16),E=new ee(c,16),p=new ee(l,16),this.setPublic(h,g,E,p)},this.signWithMessageHash=function(a){var s=this.p,c=this.q,l=this.g,h=this.y,g=this.x,E=d.crypto.Util.getRandomBigIntegerMinToMax(ee.ONE.add(ee.ONE),c.subtract(ee.ONE)),p=a.substr(0,c.bitLength()/4),f=new ee(p,16),A=l.modPow(E,s).mod(c),v=E.modInverse(c).multiply(f.add(g.multiply(A))).mod(c),b=d.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:A}},{int:{bigint:v}}]});return b},this.verifyWithMessageHash=function(a,s){var c=this.p,l=this.q,h=this.g,g=this.y,E=this.parseASN1Signature(s),p=E[0],f=E[1],A=a.substr(0,l.bitLength()/4),v=new ee(A,16);if(ee.ZERO.compareTo(p)>0||p.compareTo(l)>0||ee.ZERO.compareTo(f)>=0||f.compareTo(l)>0)throw"invalid DSA signature";var b=f.modInverse(l),w=v.multiply(b).mod(l),y=p.multiply(b).mod(l),F=h.modPow(w,c).multiply(g.modPow(y,c)).mod(c).mod(l);return F.compareTo(p)==0},this.parseASN1Signature=function(a){try{var s=new i(r(a,0,[0],"02"),16),c=new i(r(a,0,[1],"02"),16);return[s,c]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(a){var s,c,l,h,g;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1],"02"),c=r(a,0,[2],"02"),l=r(a,0,[3],"02"),h=r(a,0,[4],"02"),g=r(a,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(s,c,l,h,g)},this.readPKCS8PrvKeyHex=function(a){var s,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1,1,0],"02"),c=r(a,0,[1,1,1],"02"),l=r(a,0,[1,1,2],"02"),h=r(a,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(s,c,l,null,h)},this.readPKCS8PubKeyHex=function(a){var s,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[0,1,0],"02"),c=r(a,0,[0,1,1],"02"),l=r(a,0,[0,1,2],"02"),h=r(a,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(s,c,l,h)},this.readCertPubKeyHex=function(a,s){var c,l,h,g;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{c=r(a,0,[0,5,0,1,0],"02"),l=r(a,0,[0,5,0,1,1],"02"),h=r(a,0,[0,5,0,1,2],"02"),g=r(a,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(c,l,h,g)}};var st=function(){var e=function(v,b,w){return n(be.AES,v,b,w)},t=function(v,b,w){return n(be.TripleDES,v,b,w)},r=function(v,b,w){return n(be.DES,v,b,w)},n=function(v,b,w,y){var F=be.enc.Hex.parse(b),D=be.enc.Hex.parse(w),I=be.enc.Hex.parse(y),q={};q.key=D,q.iv=I,q.ciphertext=F;var V=v.decrypt(q,D,{iv:I});return be.enc.Hex.stringify(V)},i=function(v,b,w){return c(be.AES,v,b,w)},a=function(v,b,w){return c(be.TripleDES,v,b,w)},s=function(v,b,w){return c(be.DES,v,b,w)},c=function(v,b,w,y){var F=be.enc.Hex.parse(b),D=be.enc.Hex.parse(w),I=be.enc.Hex.parse(y),q=v.encrypt(F,D,{iv:I}),V=be.enc.Hex.parse(q.toString()),_=be.enc.Base64.stringify(V);return _},l={"AES-256-CBC":{proc:e,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:a,keylen:24,ivlen:8},"DES-CBC":{proc:r,eproc:s,keylen:8,ivlen:8}},h=function(v){return l[v].proc},g=function(v){var b=be.lib.WordArray.random(v),w=be.enc.Hex.stringify(b);return w},E=function(v){var b={},w=v.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));w&&(b.cipher=w[1],b.ivsalt=w[2]);var y=v.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));y&&(b.type=y[1]);var F=-1,D=0;v.indexOf(`\r +\r +`)!=-1&&(F=v.indexOf(`\r +\r +`),D=2),v.indexOf(` + +`)!=-1&&(F=v.indexOf(` + +`),D=1);var I=v.indexOf("-----END");if(F!=-1&&I!=-1){var q=v.substring(F+D*2,I-D);q=q.replace(/\s+/g,""),b.data=q}return b},p=function(v,b,w){for(var y=w.substring(0,16),F=be.enc.Hex.parse(y),D=be.enc.Utf8.parse(b),I=l[v].keylen+l[v].ivlen,q="",V=null;;){var _=be.algo.MD5.create();if(V!=null&&_.update(V),_.update(D),_.update(F),V=_.finalize(),q=q+be.enc.Hex.stringify(V),q.length>=I*2)break}var P={};return P.keyhex=q.substr(0,l[v].keylen*2),P.ivhex=q.substr(l[v].keylen*2,l[v].ivlen*2),P},f=function(v,b,w,y){var F=be.enc.Base64.parse(v),D=be.enc.Hex.stringify(F),I=l[b].proc,q=I(D,w,y);return q},A=function(v,b,w,y){var F=l[b].eproc,D=F(v,w,y);return D};return{version:"1.0.0",parsePKCS5PEM:function(v){return E(v)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(v,b,w){return p(v,b,w)},decryptKeyB64:function(v,b,w,y){return f(v,b,w,y)},getDecryptedKeyHex:function(v,b){var w=E(v),y=w.type,F=w.cipher,D=w.ivsalt,I=w.data,q=p(F,b,D),V=q.keyhex,_=f(I,F,V,D);return _},getEncryptedPKCS5PEMFromPrvKeyHex:function(v,b,w,y,F){var L="";if((typeof y>"u"||y==null)&&(y="AES-256-CBC"),typeof l[y]>"u")throw new Error("KEYUTIL unsupported algorithm: "+y);if(typeof F>"u"||F==null){var D=l[y].ivlen,I=g(D);F=I.toUpperCase()}var q=p(y,w,F),V=q.keyhex,_=A(b,y,V,F),P=_.replace(/(.{64})/g,`$1\r +`),L="-----BEGIN "+v+` PRIVATE KEY-----\r +`;return L+=`Proc-Type: 4,ENCRYPTED\r +`,L+="DEK-Info: "+y+","+F+`\r +`,L+=`\r +`,L+=P,L+=`\r +-----END `+v+` PRIVATE KEY-----\r +`,L},getEncryptedPKCS8PEM:function(v,b,w){var y=this.getEncryptedPKCS8Hex(v,b,w);return zr(y,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(v,b,w){var y;w==null||w==null?y={}:y=JSON.parse(JSON.stringify(w)),y.plain=v,this.initPBES2Param(y),this.encryptPBES2Param(y,b);var F=this.generatePBES2ASN1Param(y);return d.asn1.ASN1Util.newObject(F).tohex()},initPBES2Param:function(v){if($t(v,"encalg")==null&&(v.encalg="aes256-CBC"),$t(v,"iter")==null&&(v.iter=2048),$t(v,"prf")==null&&(v.prf="hmacWithSHA256"),$t(v,"salt")==null&&(v.salt=be.enc.Hex.stringify(be.lib.WordArray.random(8))),$t(v,"enciv")==null){var b;v.encalg=="des-EDE3-CBC"&&(b=8),v.encalg=="aes128-CBC"&&(b=16),v.encalg=="aes256-CBC"&&(b=16),v.enciv=be.enc.Hex.stringify(be.lib.WordArray.random(b))}},encryptPBES2Param:function(v,b){var w=st.getDKFromPBES2Param(v,b);try{var y=d.crypto.Cipher.encrypt(v.plain,w,v.encalg,{iv:v.enciv})}catch{throw new Error("encrypt error: "+v.plain+" "+w+" "+v.encalg+" "+v.enciv)}v.enc=y},generatePBES2ASN1Param:function(v){var b={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:v.salt}},{int:{hex:J2(v.iter)}}]}]},{seq:[{oid:v.encalg},{octstr:{hex:v.enciv}}]}]}]},{octstr:{hex:v.enc}}]};return v.prf!="hmacWithSHA1"&&b.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:v.prf},{null:""}]}),b},parseHexOfEncryptedPKCS8:function(v){var b=Ee,w=b.getChildIdx,y=b.getV,F={},D=w(v,0);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+D.length);F.ciphertext=y(v,D[1]);var I=w(v,D[0]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+I.length);if(y(v,I[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var q=w(v,I[1]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+q.length);var V=w(v,q[1]);if(V.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+V.length);if(y(v,V[0])!="2a864886f70d0307")throw"this only supports TripleDES";F.encryptionSchemeAlg="TripleDES",F.encryptionSchemeIV=y(v,V[1]);var _=w(v,q[0]);if(_.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+_.length);if(y(v,_[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var P=w(v,_[1]);if(P.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+P.length);F.pbkdf2Salt=y(v,P[0]);var L=y(v,P[1]);try{F.pbkdf2Iter=parseInt(L,16)}catch{throw new Error("malformed format pbkdf2Iter: "+L)}return F},getPBKDF2KeyHexFromParam:function(v,b){var w=be.enc.Hex.parse(v.pbkdf2Salt),y=v.pbkdf2Iter,F=be.PBKDF2(b,w,{keySize:192/32,iterations:y}),D=be.enc.Hex.stringify(F);return D},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(v,b){var w=Kt(v,"ENCRYPTED PRIVATE KEY"),y=this.parseHexOfEncryptedPKCS8(w),F=st.getPBKDF2KeyHexFromParam(y,b),D={};D.ciphertext=be.enc.Hex.parse(y.ciphertext);var I=be.enc.Hex.parse(F),q=be.enc.Hex.parse(y.encryptionSchemeIV),V=be.TripleDES.decrypt(D,I,{iv:q}),_=be.enc.Hex.stringify(V);return _},parsePBES2:function(v){var b=Ee.parse(v);if($t(b,"seq.0.seq.0.oid")!="pkcs5PBES2"||$t(b,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var w=$t(b,"seq.0.seq.1.seq.0.seq.1.seq");if(w==null)throw new Error("PBKDF2 parameter not found");var y=$t(w,"0.octstr.hex"),F=$t(w,"1.int.hex"),D=$t(w,"2.seq.0.oid","hmacWithSHA1"),I=-1;try{I=parseInt(F,16)}catch{throw new Error("iter not proper value")}var q=$t(b,"seq.0.seq.1.seq.1.seq.0.oid"),V=$t(b,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),_=$t(b,"seq.1.octstr.hex");if(q==null||V==null||_==null)throw new Error("encalg, enciv or enc is undefined");var P={salt:y,iter:I,prf:D,encalg:q,enciv:V,enc:_};return P},getDKFromPBES2Param:function(v,b){var w={hmacWithSHA1:be.algo.SHA1,hmacWithSHA224:be.algo.SHA224,hmacWithSHA256:be.algo.SHA256,hmacWithSHA384:be.algo.SHA384,hmacWithSHA512:be.algo.SHA512},y={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},F=w[v.prf];if(F==null)throw new Error("unsupported prf");var D=y[v.encalg];if(D==null)throw new Error("unsupported encalg");var I=be.enc.Hex.parse(v.salt),q=v.iter;try{var V=be.PBKDF2(b,I,{keySize:D,iterations:q,hasher:F});return be.enc.Hex.stringify(V)}catch(_){throw new Error("PBKDF2 error: "+_+" "+JSON.stringify(v)+" "+b)}},getPlainHexFromEncryptedPKCS8PEM:function(v,b){if(v.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var w=Kt(v),y;try{y=st.parsePBES2(w)}catch(D){throw new Error("malformed PBES2 format: "+D.message)}var F=st.getDKFromPBES2Param(y,b);return d.crypto.Cipher.decrypt(y.enc,F,y.encalg,{iv:y.enciv})},getKeyFromEncryptedPKCS8PEM:function(v,b){var w=this.getPlainHexFromEncryptedPKCS8PEM(v,b),y=this.getKeyFromPlainPrivatePKCS8Hex(w);return y},parsePlainPrivatePKCS8Hex:function(v){var b=Ee,w=b.getChildIdx,y=b.getV,F={};if(F.algparam=null,v.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var D=w(v,0);if(D.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(v.substr(D[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var I=w(v,D[1]);if(I.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(v.substr(I[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(F.algoid=y(v,I[0]),v.substr(I[1],2)=="06"&&(F.algparam=y(v,I[1])),v.substr(D[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return F.keyidx=b.getVidx(v,D[2]),F},getKeyFromPlainPrivatePKCS8PEM:function(v){var b=Kt(v,"PRIVATE KEY"),w=this.getKeyFromPlainPrivatePKCS8Hex(b);return w},getKeyFromPlainPrivatePKCS8Hex:function(v){var b=this.parsePlainPrivatePKCS8Hex(v),w;if(b.algoid=="2a864886f70d010101")w=new ze;else if(b.algoid=="2a8648ce380401")w=new d.crypto.DSA;else if(b.algoid=="2a8648ce3d0201")w=new d.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return w.readPKCS8PrvKeyHex(v),w},_getKeyFromPublicPKCS8Hex:function(v){var b,w=Ee.getVbyList(v,0,[0,0],"06");if(w==="2a864886f70d010101")b=new ze;else if(w==="2a8648ce380401")b=new d.crypto.DSA;else if(w==="2a8648ce3d0201")b=new d.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return b.readPKCS8PubKeyHex(v),b},parsePublicRawRSAKeyHex:function(v){var b=Ee,w=b.getChildIdx,y=b.getV,F={};if(v.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var D=w(v,0);if(D.length!=2)throw new Error("malformed RSA key(code:002)");if(v.substr(D[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(F.n=y(v,D[0]),v.substr(D[1],2)!="02")throw new Error("malformed RSA key(code:004)");return F.e=y(v,D[1]),F},parsePublicPKCS8Hex:function(v){var b=Ee,w=b.getChildIdx,y=b.getV,F={};F.algparam=null;var D=w(v,0);if(D.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+D.length);var I=D[0];if(v.substr(I,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var q=w(v,I);if(q.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(v.substr(q[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(F.algoid=y(v,q[0]),v.substr(q[1],2)=="06"?F.algparam=y(v,q[1]):v.substr(q[1],2)=="30"&&(F.algparam={},F.algparam.p=b.getVbyList(v,q[1],[0],"02"),F.algparam.q=b.getVbyList(v,q[1],[1],"02"),F.algparam.g=b.getVbyList(v,q[1],[2],"02")),v.substr(D[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return F.key=y(v,D[1]).substr(2),F}}}();st.getKey=function(e,t,r){var n=Ee,i=n.getChildIdx,a=n.getV,s=n.getVbyList,c=d.crypto,l=c.ECDSA,h=c.DSA,g=ze,E=Kt,p=st;if(typeof g<"u"&&e instanceof g||typeof l<"u"&&e instanceof l||typeof h<"u"&&e instanceof h)return e;if(e.curve!==void 0&&e.xy!==void 0&&e.d===void 0)return new l({pub:e.xy,curve:e.curve});if(e.curve!==void 0&&e.d!==void 0)return new l({prv:e.d,curve:e.curve});if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new g;return f.setPublic(e.n,e.e),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.co!==void 0&&e.qi===void 0){var f=new g;return f.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p===void 0){var f=new g;return f.setPrivate(e.n,e.e,e.d),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x===void 0){var f=new h;return f.setPublic(e.p,e.q,e.g,e.y),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x!==void 0){var f=new h;return f.setPrivate(e.p,e.q,e.g,e.y,e.x),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new g;return f.setPublic(Nt(e.n),Nt(e.e)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.qi!==void 0){var f=new g;return f.setPrivateEx(Nt(e.n),Nt(e.e),Nt(e.d),Nt(e.p),Nt(e.q),Nt(e.dp),Nt(e.dq),Nt(e.qi)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0){var f=new g;return f.setPrivate(Nt(e.n),Nt(e.e),Nt(e.d)),f}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d===void 0){var A=new l({curve:e.crv}),v=A.ecparams.keycharlen,b=("0000000000"+Nt(e.x)).slice(-v),w=("0000000000"+Nt(e.y)).slice(-v),y="04"+b+w;return A.setPublicKeyHex(y),A}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d!==void 0){var A=new l({curve:e.crv}),v=A.ecparams.keycharlen,b=("0000000000"+Nt(e.x)).slice(-v),w=("0000000000"+Nt(e.y)).slice(-v),y="04"+b+w,F=("0000000000"+Nt(e.d)).slice(-v);return A.setPublicKeyHex(y),A.setPrivateKeyHex(F),A}if(r==="pkcs5prv"){var D=e,n=Ee,I,f;if(I=i(D,0),I.length===9)f=new g,f.readPKCS5PrvKeyHex(D);else if(I.length===6)f=new h,f.readPKCS5PrvKeyHex(D);else if(I.length>2&&D.substr(I[1],2)==="04")f=new l,f.readPKCS5PrvKeyHex(D);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return f}if(r==="pkcs8prv"){var f=p.getKeyFromPlainPrivatePKCS8Hex(e);return f}if(r==="pkcs8pub")return p._getKeyFromPublicPKCS8Hex(e);if(r==="x509pub")return He.getPublicKeyFromCertHex(e);if(e.indexOf("-END CERTIFICATE-",0)!=-1||e.indexOf("-END X509 CERTIFICATE-",0)!=-1||e.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return He.getPublicKeyFromCertPEM(e);if(e.indexOf("-END PUBLIC KEY-")!=-1){var q=Kt(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(q)}if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var V=E(e,"RSA PRIVATE KEY");return p.getKey(V,null,"pkcs5prv")}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var _=E(e,"DSA PRIVATE KEY"),P=s(_,0,[1],"02"),L=s(_,0,[2],"02"),j=s(_,0,[3],"02"),K=s(_,0,[4],"02"),X=s(_,0,[5],"02"),f=new h;return f.setPrivate(new ee(P,16),new ee(L,16),new ee(j,16),new ee(K,16),new ee(X,16)),f}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var V=E(e,"EC PRIVATE KEY");return p.getKey(V,null,"pkcs5prv")}if(e.indexOf("-END PRIVATE KEY-")!=-1)return p.getKeyFromPlainPrivatePKCS8PEM(e);if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var G=p.getDecryptedKeyHex(e,t),z=new ze;return z.readPKCS5PrvKeyHex(G),z}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),f=s(_,0,[1],"04"),W=s(_,0,[2,0],"06"),ie=s(_,0,[3,0],"03").substr(2),ye="";if(d.crypto.OID.oidhex2name[W]!==void 0)ye=d.crypto.OID.oidhex2name[W];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+W);var A=new l({curve:ye});return A.setPublicKeyHex(ie),A.setPrivateKeyHex(f),A.isPublic=!1,A}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),P=s(_,0,[1],"02"),L=s(_,0,[2],"02"),j=s(_,0,[3],"02"),K=s(_,0,[4],"02"),X=s(_,0,[5],"02"),f=new h;return f.setPrivate(new ee(P,16),new ee(L,16),new ee(j,16),new ee(K,16),new ee(X,16)),f}if(e.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")};st.generateKeypair=function(e,t){if(e=="RSA"){var r=t,n=new ze;n.generate(r,"10001"),n.isPrivate=!0,n.isPublic=!0;var i=new ze,a=n.n.toString(16),s=n.e.toString(16);i.setPublic(a,s),i.isPrivate=!1,i.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=i,c}else if(e=="EC"){var l=t,h=new d.crypto.ECDSA({curve:l}),g=h.generateKeyPairHex(),n=new d.crypto.ECDSA({curve:l});n.setPublicKeyHex(g.ecpubhex),n.setPrivateKeyHex(g.ecprvhex),n.isPrivate=!0,n.isPublic=!1;var i=new d.crypto.ECDSA({curve:l});i.setPublicKeyHex(g.ecpubhex),i.isPrivate=!1,i.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=i,c}else throw new Error("unknown algorithm: "+e)};st.getPEM=function(e,t,r,n,i,a){var s=d,c=s.asn1,l=c.DERObjectIdentifier,h=c.DERInteger,g=c.ASN1Util.newObject,E=c.x509,p=E.SubjectPublicKeyInfo,f=s.crypto,A=f.DSA,v=f.ECDSA,b=ze;function w(z){var W=g({seq:[{int:0},{int:{bigint:z.n}},{int:z.e},{int:{bigint:z.d}},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.dmp1}},{int:{bigint:z.dmq1}},{int:{bigint:z.coeff}}]});return W}function y(z){var W=g({seq:[{int:1},{octstr:{hex:z.prvKeyHex}},{tag:["a0",!0,{oid:{name:z.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+z.pubKeyHex}}]}]});return W}function F(z){var W=g({seq:[{int:0},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.g}},{int:{bigint:z.y}},{int:{bigint:z.x}}]});return W}if((b!==void 0&&e instanceof b||A!==void 0&&e instanceof A||v!==void 0&&e instanceof v)&&e.isPublic==!0&&(t===void 0||t=="PKCS8PUB")){var D=new p(e),I=D.tohex();return zr(I,"PUBLIC KEY")}if(t=="PKCS1PRV"&&b!==void 0&&e instanceof b&&(r===void 0||r==null)&&e.isPrivate==!0){var D=w(e),I=D.tohex();return zr(I,"RSA PRIVATE KEY")}if(t=="PKCS1PRV"&&v!==void 0&&e instanceof v&&(r===void 0||r==null)&&e.isPrivate==!0){var q=new l({name:e.curveName}),V=q.tohex(),_=y(e),P=_.tohex(),L="";return L+=zr(V,"EC PARAMETERS"),L+=zr(P,"EC PRIVATE KEY"),L}if(t=="PKCS1PRV"&&A!==void 0&&e instanceof A&&(r===void 0||r==null)&&e.isPrivate==!0){var D=F(e),I=D.tohex();return zr(I,"DSA PRIVATE KEY")}if(t=="PKCS5PRV"&&b!==void 0&&e instanceof b&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=w(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,r,n,a)}if(t=="PKCS5PRV"&&v!==void 0&&e instanceof v&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=y(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,r,n,a)}if(t=="PKCS5PRV"&&A!==void 0&&e instanceof A&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=F(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,r,n,a)}var j=function(z,W){if(typeof W=="string")return st.getEncryptedPKCS8PEM(z,W);if(typeof W=="object"&&$t(W,"passcode")!=null){var ie=JSON.parse(JSON.stringify(W)),ye=ie.passcode;return delete ie.passcode,st.getEncryptedPKCS8PEM(z,ye,ie)}};if(t=="PKCS8PRV"&&b!=null&&e instanceof b&&e.isPrivate==!0){var K=w(e),X=K.tohex(),D=g({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:X}}]}),I=D.tohex();return r===void 0||r==null?zr(I,"PRIVATE KEY"):j(I,r)}if(t=="PKCS8PRV"&&v!==void 0&&e instanceof v&&e.isPrivate==!0){var G={seq:[{int:1},{octstr:{hex:e.prvKeyHex}}]};typeof e.pubKeyHex=="string"&&G.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]});var K=new g(G),X=K.tohex(),D=g({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:X}}]}),I=D.tohex();return r===void 0||r==null?zr(I,"PRIVATE KEY"):j(I,r)}if(t=="PKCS8PRV"&&A!==void 0&&e instanceof A&&e.isPrivate==!0){var K=new h({bigint:e.x}),X=K.tohex(),D=g({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:X}}]}),I=D.tohex();return r===void 0||r==null?zr(I,"PRIVATE KEY"):j(I,r)}throw new Error("unsupported object nor format")};st.getKeyFromCSRPEM=function(e){var t=Kt(e,"CERTIFICATE REQUEST"),r=st.getKeyFromCSRHex(t);return r};st.getKeyFromCSRHex=function(e){var t=st.parseCSRHex(e),r=st.getKey(t.p8pubkeyhex,null,"pkcs8pub");return r};st.parseCSRHex=function(e){var t=Ee,r=t.getChildIdx,n=t.getTLV,i={},a=e;if(a.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var s=r(a,0);if(s.length<1)throw new Error("malformed CSR(code:002)");if(a.substr(s[0],2)!="30")throw new Error("malformed CSR(code:003)");var c=r(a,s[0]);if(c.length<3)throw new Error("malformed CSR(code:004)");return i.p8pubkeyhex=n(a,c[2]),i};st.getKeyID=function(e){var t=st,r=Ee;typeof e=="string"&&e.indexOf("BEGIN ")!=-1&&(e=t.getKey(e));var n=Kt(t.getPEM(e)),i=r.getIdxbyList(n,0,[1]),a=r.getV(n,i).substring(2);return d.crypto.Util.hashHex(a,"sha1")};st.getJWK=function(e,t,r,n,i){var a,s={},c,l=d.crypto.Util.hashHex;if(typeof e=="string")a=st.getKey(e),e.indexOf("CERTIFICATE")!=-1&&(c=Kt(e));else if(typeof e=="object")e instanceof He?(a=e.getPublicKey(),c=e.hex):a=e;else throw new Error("unsupported keyinfo type");if(a instanceof ze&&a.isPrivate)s.kty="RSA",s.n=gr(a.n.toString(16)),s.e=gr(a.e.toString(16)),s.d=gr(a.d.toString(16)),s.p=gr(a.p.toString(16)),s.q=gr(a.q.toString(16)),s.dp=gr(a.dmp1.toString(16)),s.dq=gr(a.dmq1.toString(16)),s.qi=gr(a.coeff.toString(16));else if(a instanceof ze&&a.isPublic)s.kty="RSA",s.n=gr(a.n.toString(16)),s.e=gr(a.e.toString(16));else if(a instanceof d.crypto.ECDSA&&a.isPrivate){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var g=a.getPublicKeyXYHex();s.kty="EC",s.crv=h,s.x=gr(g.x),s.y=gr(g.y),s.d=gr(a.prvKeyHex)}else if(a instanceof d.crypto.ECDSA&&a.isPublic){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var g=a.getPublicKeyXYHex();s.kty="EC",s.crv=h,s.x=gr(g.x),s.y=gr(g.y)}if(s.kty==null)throw new Error("unsupported keyinfo");return!a.isPrivate&&t!=!0&&(s.kid=d.jws.JWS.getJWKthumbprint(s)),c!=null&&r!=!0&&(s.x5c=[bs(c)]),c!=null&&n!=!0&&(s.x5t=Ao(bs(l(c,"sha1")))),c!=null&&i!=!0&&(s["x5t#S256"]=Ao(bs(l(c,"sha256")))),s};st.getJWKFromKey=function(e){return st.getJWK(e,!0,!0,!0,!0)};ze.getPosArrayOfChildrenFromHex=function(e){return Ee.getChildIdx(e,0)};ze.getHexValueArrayOfChildrenFromHex=function(e){var t=Ee,r=t.getV,p=ze.getPosArrayOfChildrenFromHex(e),n=r(e,p[0]),i=r(e,p[1]),a=r(e,p[2]),s=r(e,p[3]),c=r(e,p[4]),l=r(e,p[5]),h=r(e,p[6]),g=r(e,p[7]),E=r(e,p[8]),p=new Array;return p.push(n,i,a,s,c,l,h,g,E),p};ze.prototype.readPrivateKeyFromPEMString=function(e){var t=Kt(e),r=ze.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])};ze.prototype.readPKCS5PrvKeyHex=function(e){var t=ze.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};ze.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,a,s,c,l,h=Ee,g=h.getVbyListEx;if(h.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");try{t=g(e,0,[2,0,1],"02"),r=g(e,0,[2,0,2],"02"),n=g(e,0,[2,0,3],"02"),i=g(e,0,[2,0,4],"02"),a=g(e,0,[2,0,5],"02"),s=g(e,0,[2,0,6],"02"),c=g(e,0,[2,0,7],"02"),l=g(e,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,a,s,c,l)};ze.prototype.readPKCS5PubKeyHex=function(e){var t=Ee,r=t.getV;if(t.isASN1HEX(e)===!1)throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(n.length!==2||e.substr(n[0],2)!=="02"||e.substr(n[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),a=r(e,n[1]);this.setPublic(i,a)};ze.prototype.readPKCS8PubKeyHex=function(e){var t=Ee;if(t.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(e,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)};ze.prototype.readCertPubKeyHex=function(e,t){var r,n;r=new He,r.readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var MT=new RegExp("[^0-9a-f]","gi");function tw(e,t){for(var r="",n=t/4-e.length,i=0;i>24,(i&16711680)>>16,(i&65280)>>8,i&255])))),i+=1;return n}ze.prototype.signPSS=function(e,t,r){var n=function(a){return d.crypto.Util.hashHex(a,t)},i=n(Hi(e));return r===void 0&&(r=-1),this.signWithMessageHashPSS(i,t,r)};ze.prototype.signWithMessageHashPSS=function(e,t,r){var n=yn(e),i=n.length,a=this.n.bitLength()-1,s=Math.ceil(a/8),c,l=function(b){return d.crypto.Util.hashHex(b,t)};if(r===-1||r===void 0)r=i;else if(r===-2)r=s-i-2;else if(r<-2)throw new Error("invalid salt length");if(s0&&(h=new Array(r),new bo().nextBytes(h),h=String.fromCharCode.apply(String,h));var g=yn(l(Hi("\0\0\0\0\0\0\0\0"+n+h))),E=[];for(c=0;c>8*s-a&255;for(A[0]&=~v,c=0;cn)return!1;var i=this.doPublic(r),a=i.toString(16);if(a.length+3!=n/4)return!1;var s=a.replace(/^1f+00/,""),c=nw(s);if(c.length==0)return!1;var l=c[0],h=c[1],g=function(p){return d.crypto.Util.hashString(p,l)},E=g(e);return h==E};ze.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=An(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(r),i=n.toString(16).replace(/^1f+00/,""),a=nw(i);if(a.length==0)return!1;var s=a[0],c=a[1];return c==e};ze.prototype.verifyPSS=function(e,t,r,n){var i=function(s){return d.crypto.Util.hashHex(s,r)},a=i(Hi(e));return n===void 0&&(n=-1),this.verifyWithMessageHashPSS(a,t,r,n)};ze.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new ee(t,16),a=function(y){return d.crypto.Util.hashHex(y,r)},s=yn(e),c=s.length,l=this.n.bitLength()-1,h=Math.ceil(l/8),g;if(n===-1||n===void 0)n=c;else if(n===-2)n=h-c-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-l&255;if(p.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var v=rw(f,p.length,a),b=[];for(g=0;g0?P:void 0}catch{return}},this._asn1ToNoticeRef=function(_){try{for(var P={},L=$t(_,"seq"),j=0;j0?P:void 0}catch{return}},this._asn1ToNoticeNum=function(_){try{for(var P=$t(_,"seq"),L=[],j=0;j1){var X=s(_,K[1]),G=this.getGeneralName(X);G.uri!=null&&(j.uri=G.uri)}if(K.length>2){var z=s(_,K[2]);z=="0101ff"&&(j.reqauth=!0),z=="010100"&&(j.reqauth=!1)}return j},this.getExtSubjectDirectoryAttributes=function(_,P){if(_===void 0&&P===void 0){var L=this.getExtInfo("subjectDirectoryAttributes");if(L===void 0)return;_=s(this.hex,L.vidx),P=L.critical}var j={extname:"subjectDirectoryAttributes"};P&&(j.critical=!0);try{for(var K=a(_),X=[],G=0;G0&&(P.ext=this.getExtParamArray()),P.sighex=this.getSignatureValueHex(),_.tbshex==!0&&(P.tbshex=h(this.hex,0,[0])),_.nodnarray==!0&&(delete P.issuer.array,delete P.subject.array),P},this.getExtParamArray=function(_){if(_==null){var P=p(this.hex,0,[0,"[3]"]);P!=-1&&(_=g(this.hex,0,[0,"[3]",0],"30"))}for(var L=[],j=r(_,0),K=0;K"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWS=function(){var e=d,t=e.jws.JWS,r=t.isSafeJSONString;this.parseJWS=function(n,i){if(!(this.parsedJWS!==void 0&&(i||this.parsedJWS.sigvalH!==void 0))){var a=n.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(a==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var s=a[1],c=a[2],l=a[3],h=s+"."+c;if(this.parsedJWS={},this.parsedJWS.headB64U=s,this.parsedJWS.payloadB64U=c,this.parsedJWS.sigvalB64U=l,this.parsedJWS.si=h,!i){var g=Nt(l),E=An(g,16);this.parsedJWS.sigvalH=g,this.parsedJWS.sigvalBI=E}var p=mi(s),f=mi(c);if(this.parsedJWS.headS=p,this.parsedJWS.payloadS=f,!r(p,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+p}}};d.jws.JWS.sign=function(e,t,r,n,i){var a=d,s=a.jws,c=s.JWS,l=c.readSafeJSONString,h=c.isSafeJSONString,g=a.crypto,E=g.ECDSA,p=g.Mac,f=g.Signature,A=JSON,v,b,w;if(typeof t!="string"&&typeof t!="object")throw"spHeader must be JSON string or object: "+t;if(typeof t=="object"&&(b=t,v=A.stringify(b)),typeof t=="string"){if(v=t,!h(v))throw"JWS Head is not safe JSON string: "+v;b=l(v)}if(w=r,typeof r=="object"&&(w=A.stringify(r)),(e==""||e==null)&&b.alg!==void 0&&(e=b.alg),e!=""&&e!=null&&b.alg===void 0&&(b.alg=e,v=A.stringify(b)),e!==b.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+b.alg;var y=null;if(c.jwsalg2sigalg[e]===void 0)throw"unsupported alg name: "+e;y=c.jwsalg2sigalg[e];var F=Uc(v),D=Uc(w),I=F+"."+D,q="";if(y.substr(0,4)=="Hmac"){if(n===void 0)throw"mac key shall be specified for HS* alg";var V=new p({alg:y,prov:"cryptojs",pass:n});V.updateString(I),q=V.doFinal()}else if(y.indexOf("withECDSA")!=-1){var _=new f({alg:y});_.init(n,i),_.updateString(I);var P=_.sign();q=d.crypto.ECDSA.asn1SigToConcatSig(P)}else if(y!="none"){var _=new f({alg:y});_.init(n,i),_.updateString(I),q=_.sign()}var L=gr(q);return I+"."+L};d.jws.JWS.verify=function(e,t,r){var n=d,i=n.jws,a=i.JWS,s=a.readSafeJSONString,c=n.crypto,l=c.ECDSA,h=c.Mac,g=c.Signature,E;if(typeof ze!==void 0&&(E=ze),!Yd(e))return!1;var p=e.split(".");if(p.length!==3)return!1;var f=p[0],A=p[1],v=f+"."+A,b=Nt(p[2]),w=s(mi(p[0])),y=null,F=null;if(w.alg===void 0)throw"algorithm not specified in header";if(y=w.alg,F=y.substr(0,2),r!=null&&Object.prototype.toString.call(r)==="[object Array]"&&r.length>0){var D=":"+r.join(":")+":";if(D.indexOf(":"+y+":")==-1)throw"algorithm '"+y+"' not accepted in the list"}if(y!="none"&&t===null)throw"key shall be specified to verify.";if(typeof t=="string"&&t.indexOf("-----BEGIN ")!=-1&&(t=st.getKey(t)),(F=="RS"||F=="PS")&&!(t instanceof E))throw"key shall be a RSAKey obj for RS* and PS* algs";if(F=="ES"&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";y=="none";var I=null;if(a.jwsalg2sigalg[w.alg]===void 0)throw"unsupported alg name: "+y;if(I=a.jwsalg2sigalg[y],I=="none")throw"not supported";if(I.substr(0,4)=="Hmac"){var q=null;if(t===void 0)throw"hexadecimal key shall be specified for HMAC";var V=new h({alg:I,pass:t});return V.updateString(v),q=V.doFinal(),b==q}else if(I.indexOf("withECDSA")!=-1){var _=null;try{_=l.concatSigToASN1Sig(b)}catch{return!1}var P=new g({alg:I});return P.init(t),P.updateString(v),P.verify(_)}else{var P=new g({alg:I});return P.init(t),P.updateString(v),P.verify(b)}};d.jws.JWS.parse=function(e){var t=e.split("."),r={},n,i,a;if(t.length!=2&&t.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return n=t[0],i=t[1],t.length==3&&(a=t[2]),r.headerObj=d.jws.JWS.readSafeJSONString(mi(n)),r.payloadObj=d.jws.JWS.readSafeJSONString(mi(i)),r.headerPP=JSON.stringify(r.headerObj,null," "),r.payloadObj==null?r.payloadPP=mi(i):r.payloadPP=JSON.stringify(r.payloadObj,null," "),a!==void 0&&(r.sigHex=Nt(a)),r};d.jws.JWS.verifyJWT=function(e,t,r){var n=d,i=n.jws,a=i.JWS,s=a.readSafeJSONString,c=a.inArray,l=a.includedArray;if(!Yd(e))return!1;var h=e.split(".");if(h.length!=3)return!1;var g=h[0],E=h[1],p=g+"."+E,f=Nt(h[2]),A=s(mi(g)),v=s(mi(E));if(A.alg===void 0)return!1;if(r.alg===void 0)throw"acceptField.alg shall be specified";if(!c(A.alg,r.alg)||v.iss!==void 0&&typeof r.iss=="object"&&!c(v.iss,r.iss)||v.sub!==void 0&&typeof r.sub=="object"&&!c(v.sub,r.sub))return!1;if(v.aud!==void 0&&typeof r.aud=="object"){if(typeof v.aud=="string"){if(!c(v.aud,r.aud))return!1}else if(typeof v.aud=="object"&&!l(v.aud,r.aud))return!1}var b=i.IntDate.getNow();return r.verifyAt!==void 0&&typeof r.verifyAt=="number"&&(b=r.verifyAt),(r.gracePeriod===void 0||typeof r.gracePeriod!="number")&&(r.gracePeriod=0),!(v.exp!==void 0&&typeof v.exp=="number"&&v.exp+r.gracePeriod"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWSJS=function(){var e=d,t=e.jws,r=t.JWS,n=r.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(i){this.init();var a=i.split(".");if(a.length!=3)throw"malformed input JWS";this.aHeader.push(a[0]),this.sPayload=a[1],this.aSignature.push(a[2])},this.addSignature=function(i,a,s,c){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var h=d.jws.JWS.sign(i,a,this.sPayload,s,c),g=h.split("."),E=g[0],p=g[2];this.aHeader.push(g[0]),this.aSignature.push(g[2])}catch(f){throw this.aHeader.length>l&&this.aHeader.pop(),this.aSignature.length>l&&this.aSignature.pop(),"addSignature failed: "+f}},this.verifyAll=function(i){if(this.aHeader.length!==i.length||this.aSignature.length!==i.length)return!1;for(var a=0;a0)this.aHeader=i.headers;else throw"malformed header";if(typeof i.payload=="string")this.sPayload=i.payload;else throw"malformed signatures";if(i.signatures.length>0)this.aSignature=i.signatures;else throw"malformed signatures"}catch(s){throw"malformed JWS-JS JSON object: "+s}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}};Se.SecureRandom=bo;Se.rng_seed_time=qd;Se.BigInteger=ee;Se.RSAKey=ze;Se.ECDSA=d.crypto.ECDSA;Se.DSA=d.crypto.DSA;Se.Signature=d.crypto.Signature;Se.MessageDigest=d.crypto.MessageDigest;Se.Mac=d.crypto.Mac;Se.KEYUTIL=st;Se.ASN1HEX=Ee;Se.X509=He;Se.X509CRL=Y9;Se.CryptoJS=be;Se.b64tohex=Eo;Se.b64toBA=L2;Se.ECFieldElementFp=mr;Se.ECPointFp=vt;Se.ECCurveFp=Cs;Se.stoBA=K2;Se.BAtos=V2;Se.BAtohex=qf;Se.stohex=En;Se.stob64=D9;Se.stob64u=B9;Se.b64utos=$9;Se.b64tob64u=Ao;Se.b64utob64=jc;Se.hex2b64=bs;Se.hextob64u=gr;Se.b64utohex=Nt;Se.utf8tob64u=Uc;Se.b64utoutf8=mi;Se.utf8tob64=P9;Se.b64toutf8=R9;Se.utf8tohex=Kf;Se.hextoutf8=Ft;Se.hextorstr=yn;Se.rstrtohex=Hi;Se.hextob64=Kd;Se.hextob64nl=O9;Se.b64nltohex=G2;Se.hextopem=zr;Se.pemtohex=Kt;Se.hextoArrayBuffer=L9;Se.ArrayBuffertohex=U9;Se.zulutomsec=Vd;Se.msectozulu=H9;Se.zulutosec=z2;Se.zulutodate=j9;Se.datetozulu=M9;Se.uricmptohex=Gf;Se.hextouricmp=zf;Se.ipv6tohex=Nd;Se.hextoipv6=Ld;Se.hextoip=Lf;Se.iptohex=Gd;Se.ucs2hextoutf8=zd;Se.encodeURIComponentAll=Yf;Se.newline_toUnix=q9;Se.newline_toDos=K9;Se.hextoposhex=Ud;Se.intarystrtohex=V9;Se.strdiffidx=G9;Se.oidtohex=X2;Se.hextooid=Wf;Se.strpad=Uf;Se.bitstrtoint=Z2;Se.inttobitstr=Q2;Se.bitstrtobinstr=ew;Se.binstrtobitstr=z9;Se.isBase64URLDot=Yd;Se.namearraytobinstr=Hf;Se.extendClass=he;Se.foldnl=Vf;Se.b64topem=k9;Se.pemtob64=N9;Se.timeogen=Y2;Se.aryval=$t;Se.inttohex=J2;Se.twoscompl=Mc;Se.KJUR=d;Se.crypto=d.crypto;Se.asn1=d.asn1;Se.jws=d.jws;Se.lang=d.lang;Se.VERSION=n8;Se.VERSION_FULL=i8});var uw=Ce(Jd=>{"use strict";Jd.toString=function(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e};Jd.toType=function(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}});var ow=Ce(Zd=>{"use strict";Zd.toString=function(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e};Zd.toRcode=function(e){switch(e.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var cw=Ce(Qd=>{"use strict";Qd.toString=function(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e};Qd.toOpcode=function(e){switch(e.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var lw=Ce(e0=>{"use strict";e0.toString=function(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e};e0.toClass=function(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var fw=Ce(t0=>{"use strict";t0.toString=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:`OPTION_${e}`};t0.toCode=function(e){if(typeof e=="number")return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}});var dw=Ce((pw,r0)=>{var hw=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=E,e.encode=g,e.familyOf=h,e.name=void 0,e.sizeOf=l,e.v6=e.v4=void 0;let t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,a={name:"v4",size:r,isFormat:p=>t.test(p),encode(p,f,A){A=~~A,f=f||new Uint8Array(A+r);let v=p.length,b=0;for(let w=0;wp.length>0&&n.test(p),encode(p,f,A){A=~~A;let v=A+i,b=-1,w=0,y=0,F=!0,D=!1;f=f||new Uint8Array(A+i);for(let I=0;I>8),A=97?q-=87:q>=65?q-=55:(q-=48,y=y*10+q),w=(w<<4)+q)}if(F===!1)D===!0?(A>8),A=b+2;I--)f[I]=f[I-2];f[b]=0,f[b+1]=0,b=A}if(b!==A&&b!==-1)for(A>v-2&&(A=v-2);v>b;)f[--v]=Ab?f[--A]:0;else for(;A{"use strict";var Oe=kf().Buffer,xs=uw(),X9=ow(),J9=cw(),Qf=lw(),n0=fw(),cu=dw(),Z9=0,gw=32768,i0=32768,Q9=~i0,mw=32768,eD=~mw,Be=xe.name={};Be.encode=function(e,t,r,{mail:n=!1}={}){t||(t=Oe.alloc(Be.encodingLength(e))),r||(r=0);let i=r,a=e.replace(/^\.|\.$/gm,"");if(a.length){let s=[];if(n){let c="";a.split(".").forEach(l=>{l.endsWith("\\")?c+=(c.length?".":"")+l.slice(0,-1):s.length===0&&c.length?s.push(c+"."+l):s.push(l)})}else s=a.split(".");for(let c=0;c=e.length)throw new Error("Cannot decode name (buffer overflow)");let l=e[t++];if(s+=c?0:1,l===0)break;if(l&192)if((l&192)===192){if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");let h=e.readUInt16BE(t-1)-49152;if(h>=i)throw new Error("Cannot decode name (bad pointer)");t=h,i=h,s+=c?0:1,c=!0}else throw new Error("Cannot decode name (bad label)");else{if(t+l>e.length)throw new Error("Cannot decode name (buffer overflow)");if(a+=l+1,a>254)throw new Error("Cannot decode name (name too long)");let h=e.toString("utf-8",t,t+l);r&&(h=h.replace(/\./g,"\\.")),n.push(h),t+=l,s+=c?0:l}}return Be.decode.bytes=s,n.length===0?".":n.join(".")};Be.decode.bytes=0;Be.encodingLength=function(e){return e==="."||e===".."?1:Oe.byteLength(e.replace(/^\.|\.$/gm,""))+2};var it={};it.encode=function(e,t,r){t||(t=Oe.alloc(it.encodingLength(e))),r||(r=0);let n=t.write(e,r+1);return t[r]=n,it.encode.bytes=n+1,t};it.encode.bytes=0;it.decode=function(e,t){t||(t=0);let r=e[t],n=e.toString("utf-8",t+1,t+1+r);return it.decode.bytes=r+1,n};it.decode.bytes=0;it.encodingLength=function(e){return Oe.byteLength(e)+1};var Ai={};Ai.encode=function(e,t,r){t||(t=Ai.encodingLength(e)),r||(r=0);let n=(e.flags||0)&32767,i=e.type==="response"?gw:Z9;return t.writeUInt16BE(e.id||0,r),t.writeUInt16BE(n|i,r+2),t.writeUInt16BE(e.questions.length,r+4),t.writeUInt16BE(e.answers.length,r+6),t.writeUInt16BE(e.authorities.length,r+8),t.writeUInt16BE(e.additionals.length,r+10),t};Ai.encode.bytes=12;Ai.decode=function(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");let r=e.readUInt16BE(t+2);return{id:e.readUInt16BE(t),type:r&gw?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:J9.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:X9.toString(r&15),questions:new Array(e.readUInt16BE(t+4)),answers:new Array(e.readUInt16BE(t+6)),authorities:new Array(e.readUInt16BE(t+8)),additionals:new Array(e.readUInt16BE(t+10))}};Ai.decode.bytes=12;Ai.encodingLength=function(){return 12};var Fs=xe.unknown={};Fs.encode=function(e,t,r){return t||(t=Oe.alloc(Fs.encodingLength(e))),r||(r=0),t.writeUInt16BE(e.length,r),e.copy(t,r+2),Fs.encode.bytes=e.length+2,t};Fs.encode.bytes=0;Fs.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=e.slice(t+2,t+2+r);return Fs.decode.bytes=r+2,n};Fs.decode.bytes=0;Fs.encodingLength=function(e){return e.length+2};var _s=xe.ns={};_s.encode=function(e,t,r){return t||(t=Oe.alloc(_s.encodingLength(e))),r||(r=0),Be.encode(e,t,r+2),t.writeUInt16BE(Be.encode.bytes,r),_s.encode.bytes=Be.encode.bytes+2,t};_s.encode.bytes=0;_s.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=Be.decode(e,t+2);return _s.decode.bytes=r+2,n};_s.decode.bytes=0;_s.encodingLength=function(e){return Be.encodingLength(e)+2};var Is=xe.soa={};Is.encode=function(e,t,r){t||(t=Oe.alloc(Is.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mname,t,r),r+=Be.encode.bytes,Be.encode(e.rname,t,r,{mail:!0}),r+=Be.encode.bytes,t.writeUInt32BE(e.serial||0,r),r+=4,t.writeUInt32BE(e.refresh||0,r),r+=4,t.writeUInt32BE(e.retry||0,r),r+=4,t.writeUInt32BE(e.expire||0,r),r+=4,t.writeUInt32BE(e.minimum||0,r),r+=4,t.writeUInt16BE(r-n-2,n),Is.encode.bytes=r-n,t};Is.encode.bytes=0;Is.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mname=Be.decode(e,t),t+=Be.decode.bytes,n.rname=Be.decode(e,t,{mail:!0}),t+=Be.decode.bytes,n.serial=e.readUInt32BE(t),t+=4,n.refresh=e.readUInt32BE(t),t+=4,n.retry=e.readUInt32BE(t),t+=4,n.expire=e.readUInt32BE(t),t+=4,n.minimum=e.readUInt32BE(t),t+=4,Is.decode.bytes=t-r,n};Is.decode.bytes=0;Is.encodingLength=function(e){return 22+Be.encodingLength(e.mname)+Be.encodingLength(e.rname)};var Ds=xe.txt={};Ds.encode=function(e,t,r){Array.isArray(e)||(e=[e]);for(let i=0;i0;){let a=e[t++];if(--n,n0&&(r.timeout=e.readUInt16BE(t),t+=2);break;case 14:r.tags=[];for(let a=0;a0;)n[a++]=Sn.decode(e,t),t+=Sn.decode.bytes,i-=Sn.decode.bytes;return Un.decode.bytes=t-r,n};Un.decode.bytes=0;Un.encodingLength=function(e){return 2+Fo(e||[],Sn)};var an=xe.dnskey={};an.PROTOCOL_DNSSEC=3;an.ZONE_KEY=128;an.SECURE_ENTRYPOINT=32768;an.encode=function(e,t,r){t||(t=Oe.alloc(an.encodingLength(e))),r||(r=0);let n=r,i=e.key;if(!Oe.isBuffer(i))throw new Error("Key must be a Buffer");return r+=2,t.writeUInt16BE(e.flags,r),r+=2,t.writeUInt8(an.PROTOCOL_DNSSEC,r),r+=1,t.writeUInt8(e.algorithm,r),r+=1,i.copy(t,r,0,i.length),r+=i.length,an.encode.bytes=r-n,t.writeUInt16BE(an.encode.bytes-2,n),t};an.encode.bytes=0;an.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);if(t+=2,n.flags=e.readUInt16BE(t),t+=2,e.readUInt8(t)!==an.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e.readUInt8(t),t+=1,n.key=e.slice(t,r+i+2),t+=n.key.length,an.decode.bytes=t-r,n};an.decode.bytes=0;an.encodingLength=function(e){return 6+Oe.byteLength(e.key)};var ji=xe.rrsig={};ji.encode=function(e,t,r){t||(t=Oe.alloc(ji.encodingLength(e))),r||(r=0);let n=r,i=e.signature;if(!Oe.isBuffer(i))throw new Error("Signature must be a Buffer");return r+=2,t.writeUInt16BE(xs.toType(e.typeCovered),r),r+=2,t.writeUInt8(e.algorithm,r),r+=1,t.writeUInt8(e.labels,r),r+=1,t.writeUInt32BE(e.originalTTL,r),r+=4,t.writeUInt32BE(e.expiration,r),r+=4,t.writeUInt32BE(e.inception,r),r+=4,t.writeUInt16BE(e.keyTag,r),r+=2,Be.encode(e.signersName,t,r),r+=Be.encode.bytes,i.copy(t,r,0,i.length),r+=i.length,ji.encode.bytes=r-n,t.writeUInt16BE(ji.encode.bytes-2,n),t};ji.encode.bytes=0;ji.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);return t+=2,n.typeCovered=xs.toString(e.readUInt16BE(t)),t+=2,n.algorithm=e.readUInt8(t),t+=1,n.labels=e.readUInt8(t),t+=1,n.originalTTL=e.readUInt32BE(t),t+=4,n.expiration=e.readUInt32BE(t),t+=4,n.inception=e.readUInt32BE(t),t+=4,n.keyTag=e.readUInt16BE(t),t+=2,n.signersName=Be.decode(e,t),t+=Be.decode.bytes,n.signature=e.slice(t,r+i+2),t+=n.signature.length,ji.decode.bytes=t-r,n};ji.decode.bytes=0;ji.encodingLength=function(e){return 20+Be.encodingLength(e.signersName)+Oe.byteLength(e.signature)};var Mi=xe.rp={};Mi.encode=function(e,t,r){t||(t=Oe.alloc(Mi.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mbox||".",t,r,{mail:!0}),r+=Be.encode.bytes,Be.encode(e.txt||".",t,r),r+=Be.encode.bytes,Mi.encode.bytes=r-n,t.writeUInt16BE(Mi.encode.bytes-2,n),t};Mi.encode.bytes=0;Mi.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mbox=Be.decode(e,t,{mail:!0})||".",t+=Be.decode.bytes,n.txt=Be.decode(e,t)||".",t+=Be.decode.bytes,Mi.decode.bytes=t-r,n};Mi.decode.bytes=0;Mi.encodingLength=function(e){return 2+Be.encodingLength(e.mbox||".")+Be.encodingLength(e.txt||".")};var _r={};_r.encode=function(e,t,r){t||(t=Oe.alloc(_r.encodingLength(e))),r||(r=0);let n=r;for(var i=[],a=0;a>8]===void 0&&(i[s>>8]=[]),i[s>>8][s>>3&31]|=1<<7-(s&7)}for(a=0;a>8]=Math.max(t[n>>8]||0,n&255)}var i=0;for(r=0;r>15&1)===1,r.options=Un.decode(e,t+8),t+=8+Un.decode.bytes;else{let i=e.readUInt16BE(t+2);r.ttl=e.readUInt32BE(t+4),r.class=Qf.toString(i&Q9),r.flush=!!(i&i0);let a=s0(r.type);r.data=a.decode(e,t+8),t+=8+a.decode.bytes}return Or.decode.bytes=t-n,r};Or.decode.bytes=0;Or.encodingLength=function(e){let t=e.data!==null&&e.data!==void 0?e.data:e.options;return Be.encodingLength(e.name)+8+s0(e.type).encodingLength(t)};var wi=xe.question={};wi.encode=function(e,t,r){t||(t=Oe.alloc(wi.encodingLength(e))),r||(r=0);let n=r;return Be.encode(e.name,t,r),r+=Be.encode.bytes,t.writeUInt16BE(xs.toType(e.type),r),r+=2,t.writeUInt16BE(Qf.toClass(e.class===void 0?"IN":e.class),r),r+=2,wi.encode.bytes=r-n,e};wi.encode.bytes=0;wi.decode=function(e,t){t||(t=0);let r=t,n={};return n.name=Be.decode(e,t),t+=Be.decode.bytes,n.type=xs.toString(e.readUInt16BE(t)),t+=2,n.class=Qf.toString(e.readUInt16BE(t)),t+=2,!!(n.class&mw)&&(n.class&=eD),wi.decode.bytes=t-r,n};wi.decode.bytes=0;wi.encodingLength=function(e){return Be.encodingLength(e.name)+4};xe.AUTHORITATIVE_ANSWER=1024;xe.TRUNCATED_RESPONSE=512;xe.RECURSION_DESIRED=256;xe.RECURSION_AVAILABLE=128;xe.AUTHENTIC_DATA=32;xe.CHECKING_DISABLED=16;xe.DNSSEC_OK=32768;xe.encode=function(e,t,r){let n=!t;n&&(t=Oe.alloc(xe.encodingLength(e))),r||(r=0);let i=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),Ai.encode(e,t,r),r+=Ai.encode.bytes,r=Kc(e.questions,wi,t,r),r=Kc(e.answers,Or,t,r),r=Kc(e.authorities,Or,t,r),r=Kc(e.additionals,Or,t,r),xe.encode.bytes=r-i,n&&xe.encode.bytes!==t.length?t.slice(0,xe.encode.bytes):t};xe.encode.bytes=0;xe.decode=function(e,t){t||(t=0);let r=t,n=Ai.decode(e,t);return t+=Ai.decode.bytes,t=Zf(n.questions,wi,e,t),t=Zf(n.answers,Or,e,t),t=Zf(n.authorities,Or,e,t),t=Zf(n.additionals,Or,e,t),xe.decode.bytes=t-r,n};xe.decode.bytes=0;xe.encodingLength=function(e){return Ai.encodingLength(e)+Fo(e.questions||[],wi)+Fo(e.answers||[],Or)+Fo(e.authorities||[],Or)+Fo(e.additionals||[],Or)};xe.streamEncode=function(e){let t=xe.encode(e),r=Oe.alloc(2);r.writeUInt16BE(t.byteLength);let n=Oe.concat([r,t]);return xe.streamEncode.bytes=n.byteLength,n};xe.streamEncode.bytes=0;xe.streamDecode=function(e){let t=e.readUInt16BE(0);if(e.byteLength{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",c=500,l="__lodash_placeholder__",h=1,g=2,E=4,p=1,f=2,A=1,v=2,b=4,w=8,y=16,F=32,D=64,I=128,q=256,V=512,_=30,P="...",L=800,j=16,K=1,X=2,G=3,z=1/0,W=9007199254740991,ie=17976931348623157e292,ye=NaN,Ae=4294967295,Ie=Ae-1,qe=Ae>>>1,oe=[["ary",I],["bind",A],["bindKey",v],["curry",w],["curryRight",y],["flip",V],["partial",F],["partialRight",D],["rearg",q]],Fe="[object Arguments]",ke="[object Array]",vr="[object AsyncFunction]",Ot="[object Boolean]",pt="[object Date]",Zt="[object DOMException]",Ht="[object Error]",rt="[object Function]",Pt="[object GeneratorFunction]",et="[object Map]",wt="[object Number]",Qt="[object Null]",Xe="[object Object]",Vt="[object Promise]",Vn="[object Proxy]",wr="[object RegExp]",Ir="[object Set]",nr="[object String]",kr="[object Symbol]",ma="[object Undefined]",Yr="[object WeakMap]",At="[object WeakSet]",ir="[object ArrayBuffer]",Je="[object DataView]",Nr="[object Float32Array]",va="[object Float64Array]",wa="[object Int8Array]",Aa="[object Int16Array]",Ea="[object Int32Array]",Xi="[object Uint8Array]",ya="[object Uint8ClampedArray]",Us="[object Uint16Array]",Ei="[object Uint32Array]",Ji=/\b__p \+= '';/g,hu=/\b(__p \+=) '' \+/g,pu=/(__e\(.*?\)|\b__t\)) \+\n'';/g,du=/&(?:amp|lt|gt|quot|#39);/g,gu=/[&<>"']/g,mu=RegExp(du.source),vu=RegExp(gu.source),wu=/<%-([\s\S]+?)%>/g,Ro=/<%([\s\S]+?)%>/g,Au=/<%=([\s\S]+?)%>/g,To=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xo=/^\w*$/,Oo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hs=/[\\^$.*+?()[\]{}|]/g,ko=RegExp(Hs.source),Sa=/^\s+/,No=/\s/,Lo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Uo=/\{\n\/\* \[wrapped with (.+)\] \*/,Ho=/,? & /,jo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Mo=/[()=,{}\[\]\/\s]/,qo=/\\(\\)?/g,Ko=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,yi=/\w*$/,Eu=/^[-+]0x[0-9a-f]+$/i,Vo=/^0b[01]+$/i,Go=/^\[object .+?Constructor\]$/,zo=/^0o[0-7]+$/i,yu=/^(?:0|[1-9]\d*)$/,Si=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,un=/($^)/,Yo=/['\n\r\u2028\u2029\\]/g,js="\\ud800-\\udfff",Cn="\\u0300-\\u036f",Wo="\\ufe20-\\ufe2f",Xo="\\u20d0-\\u20ff",Su=Cn+Wo+Xo,ba="\\u2700-\\u27bf",bu="a-z\\xdf-\\xf6\\xf8-\\xff",Ms="\\xac\\xb1\\xd7\\xf7",Gt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Jo="\\u2000-\\u206f",Zo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Cu="A-Z\\xc0-\\xd6\\xd8-\\xde",bi="\\ufe0e\\ufe0f",Ar=Ms+Gt+Jo+Zo,Lt="['\u2019]",Qo="["+js+"]",Ca="["+Ar+"]",Er="["+Su+"]",Fa="\\d+",Fu="["+ba+"]",_u="["+bu+"]",_a="[^"+js+Ar+Fa+ba+bu+Cu+"]",Ci="\\ud83c[\\udffb-\\udfff]",Ia="(?:"+Er+"|"+Ci+")",Iu="[^"+js+"]",Da="(?:\\ud83c[\\udde6-\\uddff]){2}",Ba="[\\ud800-\\udbff][\\udc00-\\udfff]",Wr="["+Cu+"]",R="\\u200d",O="(?:"+_u+"|"+_a+")",H="(?:"+Wr+"|"+_a+")",Q="(?:"+Lt+"(?:d|ll|m|re|s|t|ve))?",de="(?:"+Lt+"(?:D|LL|M|RE|S|T|VE))?",ve=Ia+"?",_e="["+bi+"]?",Pe="(?:"+R+"(?:"+[Iu,Da,Ba].join("|")+")"+_e+ve+")*",_t="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",zt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Dr=_e+ve+Pe,Br="(?:"+[Fu,Da,Ba].join("|")+")"+Dr,Fn="(?:"+[Iu+Er+"?",Er,Da,Ba,Qo].join("|")+")",qs=RegExp(Lt,"g"),Xr=RegExp(Er,"g"),$r=RegExp(Ci+"(?="+Ci+")|"+Fn+Dr,"g"),Ks=RegExp([Wr+"?"+_u+"+"+Q+"(?="+[Ca,Wr,"$"].join("|")+")",H+"+"+de+"(?="+[Ca,Wr+O,"$"].join("|")+")",Wr+"?"+O+"+"+Q,Wr+"+"+de,zt,_t,Fa,Br].join("|"),"g"),Gn=RegExp("["+R+js+Su+bi+"]"),$a=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,wh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ah=-1,Rt={};Rt[Nr]=Rt[va]=Rt[wa]=Rt[Aa]=Rt[Ea]=Rt[Xi]=Rt[ya]=Rt[Us]=Rt[Ei]=!0,Rt[Fe]=Rt[ke]=Rt[ir]=Rt[Ot]=Rt[Je]=Rt[pt]=Rt[Ht]=Rt[rt]=Rt[et]=Rt[wt]=Rt[Xe]=Rt[wr]=Rt[Ir]=Rt[nr]=Rt[Yr]=!1;var Bt={};Bt[Fe]=Bt[ke]=Bt[ir]=Bt[Je]=Bt[Ot]=Bt[pt]=Bt[Nr]=Bt[va]=Bt[wa]=Bt[Aa]=Bt[Ea]=Bt[et]=Bt[wt]=Bt[Xe]=Bt[wr]=Bt[Ir]=Bt[nr]=Bt[kr]=Bt[Xi]=Bt[ya]=Bt[Us]=Bt[Ei]=!0,Bt[Ht]=Bt[rt]=Bt[Yr]=!1;var Eh={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},yh={"&":"&","<":"<",">":">",'"':""","'":"'"},Sh={"&":"&","<":"<",">":">",""":'"',"'":"'"},bh={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ch=parseFloat,Fh=parseInt,nl=typeof global=="object"&&global&&global.Object===Object&&global,_h=typeof self=="object"&&self&&self.Object===Object&&self,sr=nl||_h||Function("return this")(),ec=typeof Io=="object"&&Io&&!Io.nodeType&&Io,Zi=ec&&typeof Vc=="object"&&Vc&&!Vc.nodeType&&Vc,il=Zi&&Zi.exports===ec,tc=il&&nl.process,on=function(){try{var re=Zi&&Zi.require&&Zi.require("util").types;return re||tc&&tc.binding&&tc.binding("util")}catch{}}(),sl=on&&on.isArrayBuffer,al=on&&on.isDate,ul=on&&on.isMap,ol=on&&on.isRegExp,cl=on&&on.isSet,ll=on&&on.isTypedArray;function Jr(re,le,ue){switch(ue.length){case 0:return re.call(le);case 1:return re.call(le,ue[0]);case 2:return re.call(le,ue[0],ue[1]);case 3:return re.call(le,ue[0],ue[1],ue[2])}return re.apply(le,ue)}function Ih(re,le,ue,Re){for(var Ge=-1,ot=re==null?0:re.length;++Ge-1}function Pa(re,le,ue){for(var Re=-1,Ge=re==null?0:re.length;++Re-1;);return ue}function dl(re,le){for(var ue=re.length;ue--&&Vs(le,re[ue],0)>-1;);return ue}function gl(re,le){for(var ue=re.length,Re=0;ue--;)re[ue]===le&&++Re;return Re}var uc=pe(Eh),$h=pe(yh);function ml(re){return"\\"+bh[re]}function Ph(re,le){return re==null?e:re[le]}function es(re){return Gn.test(re)}function Rh(re){return $a.test(re)}function Th(re){for(var le,ue=[];!(le=re.next()).done;)ue.push(le.value);return ue}function oc(re){var le=-1,ue=Array(re.size);return re.forEach(function(Re,Ge){ue[++le]=[Ge,Re]}),ue}function Pr(re,le){return function(ue){return re(le(ue))}}function Dn(re,le){for(var ue=-1,Re=re.length,Ge=0,ot=[];++ue-1}function EE(u,o){var m=this.__data__,C=Dl(m,u);return C<0?(++this.size,m.push([u,o])):m[C][1]=o,this}ss.prototype.clear=mE,ss.prototype.delete=vE,ss.prototype.get=wE,ss.prototype.has=AE,ss.prototype.set=EE;function as(u){var o=-1,m=u==null?0:u.length;for(this.clear();++o=o?u:o)),u}function Xn(u,o,m,C,T,U){var Y,Z=o&h,ne=o&g,ge=o&E;if(m&&(Y=T?m(u,C,T,U):m(u)),Y!==e)return Y;if(!qt(u))return u;var me=We(u);if(me){if(Y=Cy(u),!Z)return hn(u,Y)}else{var we=Hr(u),De=we==rt||we==Pt;if(Xs(u))return A1(u,Z);if(we==Xe||we==Fe||De&&!T){if(Y=ne||De?{}:L1(u),!Z)return ne?py(u,kE(Y,u)):hy(u,W0(Y,u))}else{if(!Bt[we])return T?u:{};Y=Fy(u,we,Z)}}U||(U=new fi);var Te=U.get(u);if(Te)return Te;U.set(u,Y),pg(u)?u.forEach(function(Ve){Y.add(Xn(Ve,o,m,Ve,u,U))}):fg(u)&&u.forEach(function(Ve,at){Y.set(at,Xn(Ve,o,m,at,u,U))});var Ke=ge?ne?hp:fp:ne?dn:yr,tt=me?e:Ke(u);return cn(tt||u,function(Ve,at){tt&&(at=Ve,Ve=u[at]),pc(Y,at,Xn(Ve,o,m,at,u,U))}),Y}function NE(u){var o=yr(u);return function(m){return X0(m,u,o)}}function X0(u,o,m){var C=m.length;if(u==null)return!C;for(u=It(u);C--;){var T=m[C],U=o[T],Y=u[T];if(Y===e&&!(T in u)||!U(Y))return!1}return!0}function J0(u,o,m){if(typeof u!="function")throw new fn(i);return Ec(function(){u.apply(e,m)},o)}function dc(u,o,m,C){var T=-1,U=Zr,Y=!0,Z=u.length,ne=[],ge=o.length;if(!Z)return ne;m&&(o=te(o,Lr(m))),C?(U=Pa,Y=!1):o.length>=r&&(U=Ta,Y=!1,o=new Oa(o));e:for(;++TT?0:T+m),C=C===e||C>T?T:Qe(C),C<0&&(C+=T),C=m>C?0:gg(C);m0&&m(Z)?o>1?Rr(Z,o-1,m,C,T):In(T,Z):C||(T[T.length]=Z)}return T}var zh=F1(),e1=F1(!0);function _i(u,o){return u&&zh(u,o,yr)}function Yh(u,o){return u&&e1(u,o,yr)}function $l(u,o){return _n(o,function(m){return hs(u[m])})}function Na(u,o){o=Ys(o,u);for(var m=0,C=o.length;u!=null&&mo}function HE(u,o){return u!=null&&ft.call(u,o)}function jE(u,o){return u!=null&&o in It(u)}function ME(u,o,m){return u>=Ur(o,m)&&u=120&&me.length>=120)?new Oa(Y&&me):e}me=u[0];var we=-1,De=Z[0];e:for(;++we-1;)Z!==u&&Et.call(Z,ne,1),Et.call(u,ne,1);return u}function f1(u,o){for(var m=u?o.length:0,C=m-1;m--;){var T=o[m];if(m==C||T!==U){var U=T;ls(T)?Et.call(u,T,1):ip(u,T)}}return u}function tp(u,o){return u+se(V0()*(o-u+1))}function ty(u,o,m,C){for(var T=-1,U=lr(M((o-u)/(m||1)),0),Y=ue(U);U--;)Y[C?U:++T]=u,u+=m;return Y}function rp(u,o){var m="";if(!u||o<1||o>W)return m;do o%2&&(m+=u),o=se(o/2),o&&(u+=u);while(o);return m}function nt(u,o){return Ap(j1(u,o,gn),u+"")}function ry(u){return Y0(Yu(u))}function ny(u,o){var m=Yu(u);return jl(m,ka(o,0,m.length))}function vc(u,o,m,C){if(!qt(u))return u;o=Ys(o,u);for(var T=-1,U=o.length,Y=U-1,Z=u;Z!=null&&++TT?0:T+o),m=m>T?T:m,m<0&&(m+=T),T=o>m?0:m-o>>>0,o>>>=0;for(var U=ue(T);++C>>1,Y=u[U];Y!==null&&!Pn(Y)&&(m?Y<=o:Y=r){var ge=o?null:vy(u);if(ge)return Bn(ge);Y=!1,T=Ta,ne=new Oa}else ne=o?[]:Z;e:for(;++C=C?u:Jn(u,o,m)}var w1=S||function(u){return sr.clearTimeout(u)};function A1(u,o){if(o)return u.slice();var m=u.length,C=yl?yl(m):new u.constructor(m);return u.copy(C),C}function op(u){var o=new u.constructor(u.byteLength);return new Lu(o).set(new Lu(u)),o}function oy(u,o){var m=o?op(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}function cy(u){var o=new u.constructor(u.source,yi.exec(u));return o.lastIndex=u.lastIndex,o}function ly(u){return hc?It(hc.call(u)):{}}function E1(u,o){var m=o?op(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function y1(u,o){if(u!==o){var m=u!==e,C=u===null,T=u===u,U=Pn(u),Y=o!==e,Z=o===null,ne=o===o,ge=Pn(o);if(!Z&&!ge&&!U&&u>o||U&&Y&&ne&&!Z&&!ge||C&&Y&&ne||!m&&ne||!T)return 1;if(!C&&!U&&!ge&&u=Z)return ne;var ge=m[C];return ne*(ge=="desc"?-1:1)}}return u.index-o.index}function S1(u,o,m,C){for(var T=-1,U=u.length,Y=m.length,Z=-1,ne=o.length,ge=lr(U-Y,0),me=ue(ne+ge),we=!C;++Z1?m[T-1]:e,Y=T>2?m[2]:e;for(U=u.length>3&&typeof U=="function"?(T--,U):e,Y&&en(m[0],m[1],Y)&&(U=T<3?e:U,T=1),o=It(o);++C-1?T[U?o[Y]:Y]:e}}function D1(u){return cs(function(o){var m=o.length,C=m,T=Wn.prototype.thru;for(u&&o.reverse();C--;){var U=o[C];if(typeof U!="function")throw new fn(i);if(T&&!Y&&Ul(U)=="wrapper")var Y=new Wn([],!0)}for(C=Y?C:m;++C1&&ct.reverse(),me&&neZ))return!1;var ge=U.get(u),me=U.get(o);if(ge&&me)return ge==o&&me==u;var we=-1,De=!0,Te=m&f?new Oa:e;for(U.set(u,o),U.set(o,u);++we1?"& ":"")+o[C],o=o.join(m>2?", ":" "),u.replace(Lo,`{ +/* [wrapped with `+o+`] */ +`)}function Iy(u){return We(u)||Ha(u)||!!(Cl&&u&&u[Cl])}function ls(u,o){var m=typeof u;return o=o??W,!!o&&(m=="number"||m!="symbol"&&yu.test(u))&&u>-1&&u%1==0&&u0){if(++o>=L)return arguments[0]}else o=0;return u.apply(e,arguments)}}function jl(u,o){var m=-1,C=u.length,T=C-1;for(o=o===e?C:o;++m1?u[o-1]:e;return m=typeof m=="function"?(u.pop(),m):e,Q1(u,m)});function eg(u){var o=N(u);return o.__chain__=!0,o}function L4(u,o){return o(u),u}function Ml(u,o){return o(u)}var U4=cs(function(u){var o=u.length,m=o?u[0]:0,C=this.__wrapped__,T=function(U){return Gh(U,u)};return o>1||this.__actions__.length||!(C instanceof ut)||!ls(m)?this.thru(T):(C=C.slice(m,+m+(o?1:0)),C.__actions__.push({func:Ml,args:[T],thisArg:e}),new Wn(C,this.__chain__).thru(function(U){return o&&!U.length&&U.push(e),U}))});function H4(){return eg(this)}function j4(){return new Wn(this.value(),this.__chain__)}function M4(){this.__values__===e&&(this.__values__=dg(this.value()));var u=this.__index__>=this.__values__.length,o=u?e:this.__values__[this.__index__++];return{done:u,value:o}}function q4(){return this}function K4(u){for(var o,m=this;m instanceof Il;){var C=z1(m);C.__index__=0,C.__values__=e,o?T.__wrapped__=C:o=C;var T=C;m=m.__wrapped__}return T.__wrapped__=u,o}function V4(){var u=this.__wrapped__;if(u instanceof ut){var o=u;return this.__actions__.length&&(o=new ut(this)),o=o.reverse(),o.__actions__.push({func:Ml,args:[Ep],thisArg:e}),new Wn(o,this.__chain__)}return this.thru(Ep)}function G4(){return m1(this.__wrapped__,this.__actions__)}var z4=xl(function(u,o,m){ft.call(u,m)?++u[m]:us(u,m,1)});function Y4(u,o,m){var C=We(u)?Ye:LE;return m&&en(u,o,m)&&(o=e),C(u,je(o,3))}function W4(u,o){var m=We(u)?_n:Q0;return m(u,je(o,3))}var X4=I1(Y1),J4=I1(W1);function Z4(u,o){return Rr(ql(u,o),1)}function Q4(u,o){return Rr(ql(u,o),z)}function e6(u,o,m){return m=m===e?1:Qe(m),Rr(ql(u,o),m)}function tg(u,o){var m=We(u)?cn:Gs;return m(u,je(o,3))}function rg(u,o){var m=We(u)?B:Z0;return m(u,je(o,3))}var t6=xl(function(u,o,m){ft.call(u,m)?u[m].push(o):us(u,m,[o])});function r6(u,o,m,C){u=pn(u)?u:Yu(u),m=m&&!C?Qe(m):0;var T=u.length;return m<0&&(m=lr(T+m,0)),Yl(u)?m<=T&&u.indexOf(o,m)>-1:!!T&&Vs(u,o,m)>-1}var n6=nt(function(u,o,m){var C=-1,T=typeof o=="function",U=pn(u)?ue(u.length):[];return Gs(u,function(Y){U[++C]=T?Jr(o,Y,m):gc(Y,o,m)}),U}),i6=xl(function(u,o,m){us(u,m,o)});function ql(u,o){var m=We(u)?te:s1;return m(u,je(o,3))}function s6(u,o,m,C){return u==null?[]:(We(o)||(o=o==null?[]:[o]),m=C?e:m,We(m)||(m=m==null?[]:[m]),c1(u,o,m))}var a6=xl(function(u,o,m){u[m?0:1].push(o)},function(){return[[],[]]});function u6(u,o,m){var C=We(u)?rc:hl,T=arguments.length<3;return C(u,je(o,4),m,T,Gs)}function o6(u,o,m){var C=We(u)?q0:hl,T=arguments.length<3;return C(u,je(o,4),m,T,Z0)}function c6(u,o){var m=We(u)?_n:Q0;return m(u,Gl(je(o,3)))}function l6(u){var o=We(u)?Y0:ry;return o(u)}function f6(u,o,m){(m?en(u,o,m):o===e)?o=1:o=Qe(o);var C=We(u)?TE:ny;return C(u,o)}function h6(u){var o=We(u)?xE:sy;return o(u)}function p6(u){if(u==null)return 0;if(pn(u))return Yl(u)?ts(u):u.length;var o=Hr(u);return o==et||o==Ir?u.size:Zh(u).length}function d6(u,o,m){var C=We(u)?fl:ay;return m&&en(u,o,m)&&(o=e),C(u,je(o,3))}var g6=nt(function(u,o){if(u==null)return[];var m=o.length;return m>1&&en(u,o[0],o[1])?o=[]:m>2&&en(o[0],o[1],o[2])&&(o=[o[0]]),c1(u,Rr(o,1),[])}),Kl=k||function(){return sr.Date.now()};function m6(u,o){if(typeof o!="function")throw new fn(i);return u=Qe(u),function(){if(--u<1)return o.apply(this,arguments)}}function ng(u,o,m){return o=m?e:o,o=u&&o==null?u.length:o,os(u,I,e,e,e,e,o)}function ig(u,o){var m;if(typeof o!="function")throw new fn(i);return u=Qe(u),function(){return--u>0&&(m=o.apply(this,arguments)),u<=1&&(o=e),m}}var Sp=nt(function(u,o,m){var C=A;if(m.length){var T=Dn(m,Gu(Sp));C|=F}return os(u,C,o,m,T)}),sg=nt(function(u,o,m){var C=A|v;if(m.length){var T=Dn(m,Gu(sg));C|=F}return os(o,C,u,m,T)});function ag(u,o,m){o=m?e:o;var C=os(u,w,e,e,e,e,e,o);return C.placeholder=ag.placeholder,C}function ug(u,o,m){o=m?e:o;var C=os(u,y,e,e,e,e,e,o);return C.placeholder=ug.placeholder,C}function og(u,o,m){var C,T,U,Y,Z,ne,ge=0,me=!1,we=!1,De=!0;if(typeof u!="function")throw new fn(i);o=Qn(o)||0,qt(m)&&(me=!!m.leading,we="maxWait"in m,U=we?lr(Qn(m.maxWait)||0,o):U,De="trailing"in m?!!m.trailing:De);function Te(tr){var pi=C,ds=T;return C=T=e,ge=tr,Y=u.apply(ds,pi),Y}function Ke(tr){return ge=tr,Z=Ec(at,o),me?Te(tr):Y}function tt(tr){var pi=tr-ne,ds=tr-ge,Ig=o-pi;return we?Ur(Ig,U-ds):Ig}function Ve(tr){var pi=tr-ne,ds=tr-ge;return ne===e||pi>=o||pi<0||we&&ds>=U}function at(){var tr=Kl();if(Ve(tr))return ct(tr);Z=Ec(at,tt(tr))}function ct(tr){return Z=e,De&&C?Te(tr):(C=T=e,Y)}function Rn(){Z!==e&&w1(Z),ge=0,C=ne=T=Z=e}function tn(){return Z===e?Y:ct(Kl())}function Tn(){var tr=Kl(),pi=Ve(tr);if(C=arguments,T=this,ne=tr,pi){if(Z===e)return Ke(ne);if(we)return w1(Z),Z=Ec(at,o),Te(ne)}return Z===e&&(Z=Ec(at,o)),Y}return Tn.cancel=Rn,Tn.flush=tn,Tn}var v6=nt(function(u,o){return J0(u,1,o)}),w6=nt(function(u,o,m){return J0(u,Qn(o)||0,m)});function A6(u){return os(u,V)}function Vl(u,o){if(typeof u!="function"||o!=null&&typeof o!="function")throw new fn(i);var m=function(){var C=arguments,T=o?o.apply(this,C):C[0],U=m.cache;if(U.has(T))return U.get(T);var Y=u.apply(this,C);return m.cache=U.set(T,Y)||U,Y};return m.cache=new(Vl.Cache||as),m}Vl.Cache=as;function Gl(u){if(typeof u!="function")throw new fn(i);return function(){var o=arguments;switch(o.length){case 0:return!u.call(this);case 1:return!u.call(this,o[0]);case 2:return!u.call(this,o[0],o[1]);case 3:return!u.call(this,o[0],o[1],o[2])}return!u.apply(this,o)}}function E6(u){return ig(2,u)}var y6=uy(function(u,o){o=o.length==1&&We(o[0])?te(o[0],Lr(je())):te(Rr(o,1),Lr(je()));var m=o.length;return nt(function(C){for(var T=-1,U=Ur(C.length,m);++T=o}),Ha=r1(function(){return arguments}())?r1:function(u){return Wt(u)&&ft.call(u,"callee")&&!bl.call(u,"callee")},We=ue.isArray,k6=sl?Lr(sl):KE;function pn(u){return u!=null&&zl(u.length)&&!hs(u)}function er(u){return Wt(u)&&pn(u)}function N6(u){return u===!0||u===!1||Wt(u)&&Qr(u)==Ot}var Xs=Dt||xp,L6=al?Lr(al):VE;function U6(u){return Wt(u)&&u.nodeType===1&&!yc(u)}function H6(u){if(u==null)return!0;if(pn(u)&&(We(u)||typeof u=="string"||typeof u.splice=="function"||Xs(u)||zu(u)||Ha(u)))return!u.length;var o=Hr(u);if(o==et||o==Ir)return!u.size;if(Ac(u))return!Zh(u).length;for(var m in u)if(ft.call(u,m))return!1;return!0}function j6(u,o){return mc(u,o)}function M6(u,o,m){m=typeof m=="function"?m:e;var C=m?m(u,o):e;return C===e?mc(u,o,e,m):!!C}function Cp(u){if(!Wt(u))return!1;var o=Qr(u);return o==Ht||o==Zt||typeof u.message=="string"&&typeof u.name=="string"&&!yc(u)}function q6(u){return typeof u=="number"&&Yt(u)}function hs(u){if(!qt(u))return!1;var o=Qr(u);return o==rt||o==Pt||o==vr||o==Vn}function lg(u){return typeof u=="number"&&u==Qe(u)}function zl(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=W}function qt(u){var o=typeof u;return u!=null&&(o=="object"||o=="function")}function Wt(u){return u!=null&&typeof u=="object"}var fg=ul?Lr(ul):zE;function K6(u,o){return u===o||Jh(u,o,dp(o))}function V6(u,o,m){return m=typeof m=="function"?m:e,Jh(u,o,dp(o),m)}function G6(u){return hg(u)&&u!=+u}function z6(u){if($y(u))throw new Ge(n);return n1(u)}function Y6(u){return u===null}function W6(u){return u==null}function hg(u){return typeof u=="number"||Wt(u)&&Qr(u)==wt}function yc(u){if(!Wt(u)||Qr(u)!=Xe)return!1;var o=Uu(u);if(o===null)return!0;var m=ft.call(o,"constructor")&&o.constructor;return typeof m=="function"&&m instanceof m&&xu.call(m)==Hh}var Fp=ol?Lr(ol):YE;function X6(u){return lg(u)&&u>=-W&&u<=W}var pg=cl?Lr(cl):WE;function Yl(u){return typeof u=="string"||!We(u)&&Wt(u)&&Qr(u)==nr}function Pn(u){return typeof u=="symbol"||Wt(u)&&Qr(u)==kr}var zu=ll?Lr(ll):XE;function J6(u){return u===e}function Z6(u){return Wt(u)&&Hr(u)==Yr}function Q6(u){return Wt(u)&&Qr(u)==At}var eS=Ll(Qh),tS=Ll(function(u,o){return u<=o});function dg(u){if(!u)return[];if(pn(u))return Yl(u)?ln(u):hn(u);if(ns&&u[ns])return Th(u[ns]());var o=Hr(u),m=o==et?oc:o==Ir?Bn:Yu;return m(u)}function ps(u){if(!u)return u===0?u:0;if(u=Qn(u),u===z||u===-z){var o=u<0?-1:1;return o*ie}return u===u?u:0}function Qe(u){var o=ps(u),m=o%1;return o===o?m?o-m:o:0}function gg(u){return u?ka(Qe(u),0,Ae):0}function Qn(u){if(typeof u=="number")return u;if(Pn(u))return ye;if(qt(u)){var o=typeof u.valueOf=="function"?u.valueOf():u;u=qt(o)?o+"":o}if(typeof u!="string")return u===0?u:+u;u=ac(u);var m=Vo.test(u);return m||zo.test(u)?Fh(u.slice(2),m?2:8):Eu.test(u)?ye:+u}function mg(u){return Ii(u,dn(u))}function rS(u){return u?ka(Qe(u),-W,W):u===0?u:0}function bt(u){return u==null?"":$n(u)}var nS=Ku(function(u,o){if(Ac(o)||pn(o)){Ii(o,yr(o),u);return}for(var m in o)ft.call(o,m)&&pc(u,m,o[m])}),vg=Ku(function(u,o){Ii(o,dn(o),u)}),Wl=Ku(function(u,o,m,C){Ii(o,dn(o),u,C)}),iS=Ku(function(u,o,m,C){Ii(o,yr(o),u,C)}),sS=cs(Gh);function aS(u,o){var m=qu(u);return o==null?m:W0(m,o)}var uS=nt(function(u,o){u=It(u);var m=-1,C=o.length,T=C>2?o[2]:e;for(T&&en(o[0],o[1],T)&&(C=1);++m1),U}),Ii(u,hp(u),m),C&&(m=Xn(m,h|g|E,wy));for(var T=o.length;T--;)ip(m,o[T]);return m});function FS(u,o){return Ag(u,Gl(je(o)))}var _S=cs(function(u,o){return u==null?{}:QE(u,o)});function Ag(u,o){if(u==null)return{};var m=te(hp(u),function(C){return[C]});return o=je(o),l1(u,m,function(C,T){return o(C,T[0])})}function IS(u,o,m){o=Ys(o,u);var C=-1,T=o.length;for(T||(T=1,u=e);++Co){var C=u;u=o,o=C}if(m||u%1||o%1){var T=V0();return Ur(u+T*(o-u+Ch("1e-"+((T+"").length-1))),o)}return tp(u,o)}var LS=Vu(function(u,o,m){return o=o.toLowerCase(),u+(m?Sg(o):o)});function Sg(u){return Dp(bt(u).toLowerCase())}function bg(u){return u=bt(u),u&&u.replace(Si,uc).replace(Xr,"")}function US(u,o,m){u=bt(u),o=$n(o);var C=u.length;m=m===e?C:ka(Qe(m),0,C);var T=m;return m-=o.length,m>=0&&u.slice(m,T)==o}function HS(u){return u=bt(u),u&&vu.test(u)?u.replace(gu,$h):u}function jS(u){return u=bt(u),u&&ko.test(u)?u.replace(Hs,"\\$&"):u}var MS=Vu(function(u,o,m){return u+(m?"-":"")+o.toLowerCase()}),qS=Vu(function(u,o,m){return u+(m?" ":"")+o.toLowerCase()}),KS=_1("toLowerCase");function VS(u,o,m){u=bt(u),o=Qe(o);var C=o?ts(u):0;if(!o||C>=o)return u;var T=(o-C)/2;return Nl(se(T),m)+u+Nl(M(T),m)}function GS(u,o,m){u=bt(u),o=Qe(o);var C=o?ts(u):0;return o&&C>>0,m?(u=bt(u),u&&(typeof o=="string"||o!=null&&!Fp(o))&&(o=$n(o),!o&&es(u))?Ws(ln(u),0,m):u.split(o,m)):[]}var QS=Vu(function(u,o,m){return u+(m?" ":"")+Dp(o)});function eb(u,o,m){return u=bt(u),m=m==null?0:ka(Qe(m),0,u.length),o=$n(o),u.slice(m,m+o.length)==o}function tb(u,o,m){var C=N.templateSettings;m&&en(u,o,m)&&(o=e),u=bt(u),o=Wl({},o,C,T1);var T=Wl({},o.imports,C.imports,T1),U=yr(T),Y=Ra(T,U),Z,ne,ge=0,me=o.interpolate||un,we="__p += '",De=Ru((o.escape||un).source+"|"+me.source+"|"+(me===Au?Ko:un).source+"|"+(o.evaluate||un).source+"|$","g"),Te="//# sourceURL="+(ft.call(o,"sourceURL")?(o.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ah+"]")+` +`;u.replace(De,function(Ve,at,ct,Rn,tn,Tn){return ct||(ct=Rn),we+=u.slice(ge,Tn).replace(Yo,ml),at&&(Z=!0,we+=`' + +__e(`+at+`) + +'`),tn&&(ne=!0,we+=`'; +`+tn+`; +__p += '`),ct&&(we+=`' + +((__t = (`+ct+`)) == null ? '' : __t) + +'`),ge=Tn+Ve.length,Ve}),we+=`'; +`;var Ke=ft.call(o,"variable")&&o.variable;if(!Ke)we=`with (obj) { +`+we+` +} +`;else if(Mo.test(Ke))throw new Ge(a);we=(ne?we.replace(Ji,""):we).replace(hu,"$1").replace(pu,"$1;"),we="function("+(Ke||"obj")+`) { +`+(Ke?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(Z?", __e = _.escape":"")+(ne?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+we+`return __p +}`;var tt=Fg(function(){return ot(U,Te+"return "+we).apply(e,Y)});if(tt.source=we,Cp(tt))throw tt;return tt}function rb(u){return bt(u).toLowerCase()}function nb(u){return bt(u).toUpperCase()}function ib(u,o,m){if(u=bt(u),u&&(m||o===e))return ac(u);if(!u||!(o=$n(o)))return u;var C=ln(u),T=ln(o),U=Bu(C,T),Y=dl(C,T)+1;return Ws(C,U,Y).join("")}function sb(u,o,m){if(u=bt(u),u&&(m||o===e))return u.slice(0,Pu(u)+1);if(!u||!(o=$n(o)))return u;var C=ln(u),T=dl(C,ln(o))+1;return Ws(C,0,T).join("")}function ab(u,o,m){if(u=bt(u),u&&(m||o===e))return u.replace(Sa,"");if(!u||!(o=$n(o)))return u;var C=ln(u),T=Bu(C,ln(o));return Ws(C,T).join("")}function ub(u,o){var m=_,C=P;if(qt(o)){var T="separator"in o?o.separator:T;m="length"in o?Qe(o.length):m,C="omission"in o?$n(o.omission):C}u=bt(u);var U=u.length;if(es(u)){var Y=ln(u);U=Y.length}if(m>=U)return u;var Z=m-ts(C);if(Z<1)return C;var ne=Y?Ws(Y,0,Z).join(""):u.slice(0,Z);if(T===e)return ne+C;if(Y&&(Z+=ne.length-Z),Fp(T)){if(u.slice(Z).search(T)){var ge,me=ne;for(T.global||(T=Ru(T.source,bt(yi.exec(T))+"g")),T.lastIndex=0;ge=T.exec(me);)var we=ge.index;ne=ne.slice(0,we===e?Z:we)}}else if(u.indexOf($n(T),Z)!=Z){var De=ne.lastIndexOf(T);De>-1&&(ne=ne.slice(0,De))}return ne+C}function ob(u){return u=bt(u),u&&mu.test(u)?u.replace(du,wl):u}var cb=Vu(function(u,o,m){return u+(m?" ":"")+o.toUpperCase()}),Dp=_1("toUpperCase");function Cg(u,o,m){return u=bt(u),o=m?e:o,o===e?Rh(u)?kh(u):nc(u):u.match(o)||[]}var Fg=nt(function(u,o){try{return Jr(u,e,o)}catch(m){return Cp(m)?m:new Ge(m)}}),lb=cs(function(u,o){return cn(o,function(m){m=Di(m),us(u,m,Sp(u[m],u))}),u});function fb(u){var o=u==null?0:u.length,m=je();return u=o?te(u,function(C){if(typeof C[1]!="function")throw new fn(i);return[m(C[0]),C[1]]}):[],nt(function(C){for(var T=-1;++TW)return[];var m=Ae,C=Ur(u,Ae);o=je(o),u-=Ae;for(var T=sc(C,o);++m0||o<0)?new ut(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),o!==e&&(o=Qe(o),m=o<0?m.dropRight(-o):m.take(o-u)),m)},ut.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},ut.prototype.toArray=function(){return this.take(Ae)},_i(ut.prototype,function(u,o){var m=/^(?:filter|find|map|reject)|While$/.test(o),C=/^(?:head|last)$/.test(o),T=N[C?"take"+(o=="last"?"Right":""):o],U=C||/^find/.test(o);T&&(N.prototype[o]=function(){var Y=this.__wrapped__,Z=C?[1]:arguments,ne=Y instanceof ut,ge=Z[0],me=ne||We(Y),we=function(at){var ct=T.apply(N,In([at],Z));return C&&De?ct[0]:ct};me&&m&&typeof ge=="function"&&ge.length!=1&&(ne=me=!1);var De=this.__chain__,Te=!!this.__actions__.length,Ke=U&&!De,tt=ne&&!Te;if(!U&&me){Y=tt?Y:new ut(this);var Ve=u.apply(Y,Z);return Ve.__actions__.push({func:Ml,args:[we],thisArg:e}),new Wn(Ve,De)}return Ke&&tt?u.apply(this,Z):(Ve=this.thru(we),Ke?C?Ve.value()[0]:Ve.value():Ve)})}),cn(["pop","push","shift","sort","splice","unshift"],function(u){var o=Tu[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",C=/^(?:pop|shift)$/.test(u);N.prototype[u]=function(){var T=arguments;if(C&&!this.__chain__){var U=this.value();return o.apply(We(U)?U:[],T)}return this[m](function(Y){return o.apply(We(Y)?Y:[],T)})}}),_i(ut.prototype,function(u,o){var m=N[o];if(m){var C=m.name+"";ft.call(Mu,C)||(Mu[C]=[]),Mu[C].push({name:o,func:m})}}),Mu[Ol(e,v).name]=[{name:"wrapper",func:e}],ut.prototype.clone=oE,ut.prototype.reverse=cE,ut.prototype.value=lE,N.prototype.at=U4,N.prototype.chain=H4,N.prototype.commit=j4,N.prototype.next=M4,N.prototype.plant=K4,N.prototype.reverse=V4,N.prototype.toJSON=N.prototype.valueOf=N.prototype.value=G4,N.prototype.first=N.prototype.head,ns&&(N.prototype[ns]=q4),N},Yn=Nh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(sr._=Yn,define(function(){return Yn})):Zi?((Zi.exports=Yn)._=Yn,ec._=Yn):sr._=Yn}).call(Io)});var oh=Ce((CO,Tw)=>{"use strict";var FB=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},g0=class e extends Error{constructor(t,r,n){super(t),FB(this,e.prototype),this.name="GrammarError",this.location=r,n===void 0&&(n=[]),this.diagnostics=n,this.stage=null,this.problems=[["error",t,r,n]]}toString(){let t=super.toString();this.location&&(t+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(t+=`${this.location.source}:`),t+=`${this.location.start.line}:${this.location.start.column}`);for(let r of this.diagnostics)t+=` + from `,r.location.source!==void 0&&r.location.source!==null&&(t+=`${r.location.source}:`),t+=`${r.location.start.line}:${r.location.start.column}: ${r.message}`;return t}format(t){let r=t.map(({source:a,text:s})=>({source:a,text:s.split(/\r\n|\n|\r/g)}));function n(a,s,c=""){let l="",h=r.find(({source:E})=>E===a.source),g=a.start;if(h){let E=a.end,p=h.text[g.line-1],A=(g.line===E.line?E.column:p.length+1)-g.column||1;c&&(l+=` +note: ${c}`),l+=` + --> ${a.source}:${g.line}:${g.column} +${"".padEnd(s)} | +${g.line.toString().padStart(s)} | ${p} +${"".padEnd(s)} | ${"".padEnd(g.column-1)}${"".padEnd(A,"^")}`}else l+=` + at ${a.source}:${g.line}:${g.column}`,c&&(l+=`: ${c}`);return l}function i(a,s,c,l=[]){let h;c?h=l.reduce((E,{location:p})=>Math.max(E,p.start.line),c.start.line):h=Math.max.apply(null,l.map(E=>E.location.start.line)),h=h.toString().length;let g=`${a}: ${s}`;c&&(g+=n(c,h));for(let E of l)g+=n(E.location,h,E.message);return g}return this.problems.filter(a=>a[0]!=="info").map(a=>i(...a)).join(` + +`)}};Tw.exports=g0});var oi=Ce((FO,xw)=>{"use strict";var _B={build(e){function t(s,...c){return e[s.type](s,...c)}function r(){}function n(s,...c){return t(s.expression,...c)}function i(s){return function(c,...l){c[s].forEach(h=>t(h,...l))}}let a={grammar(s,...c){s.topLevelInitializer&&t(s.topLevelInitializer,...c),s.initializer&&t(s.initializer,...c),s.rules.forEach(l=>t(l,...c))},top_level_initializer:r,initializer:r,rule:n,named:n,choice:i("alternatives"),action:n,sequence:i("elements"),labeled:n,text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,group:n,semantic_and:r,semantic_not:r,rule_ref:r,literal:r,class:r,any:r};return Object.keys(a).forEach(s=>{Object.prototype.hasOwnProperty.call(e,s)||(e[s]=a[s])}),t}};xw.exports=_B});var ha=Ce((_O,kw)=>{"use strict";var IB=oi(),Ow={findRule(e,t){for(let r=0;r{"use strict";var DB={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};Nw.exports=DB});var v0=Ce((DO,Lw)=>{"use strict";var BB=oi(),$B=ha(),PB=oh(),Xc=1,fu=0,Jc=-1;function ch(e){function t(s){return s.match=fu}function r(s){return a(s.expression),s.match=Xc}function n(s){return s.match=a(s.expression)}function i(s,c){let l=s.length,h=0,g=0;for(let E=0;E0?Jc:fu}let a=BB.build({rule(s){let c,l=0;if(typeof s.match>"u"){s.match=fu;do if(c=s.match,s.match=a(s.expression),++l>6)throw new PB("Infinity cycle detected when trying to evaluate node match result",s.location);while(c!==s.match)}return s.match},named:n,choice(s){return s.match=i(s.alternatives,!0)},action:n,sequence(s){return s.match=i(s.elements,!1)},labeled:n,text:n,simple_and:n,simple_not(s){return s.match=-a(s.expression)},optional:r,zero_or_more:r,one_or_more:n,group:n,semantic_and:t,semantic_not:t,rule_ref(s){let c=$B.findRule(e,s.name);return s.match=a(c)},literal(s){let c=s.value.length===0?Xc:fu;return s.match=c},class(s){let c=s.parts.length===0?Jc:fu;return s.match=c},any:t});a(e)}ch.ALWAYS_MATCH=Xc;ch.SOMETIMES_MATCH=fu;ch.NEVER_MATCH=Jc;Lw.exports=ch});var Hw=Ce((BO,Uw)=>{"use strict";var RB=ha(),$e=m0(),TB=oi(),{ALWAYS_MATCH:$o,SOMETIMES_MATCH:w0,NEVER_MATCH:A0}=v0();function xB(e){let t=[],r=[],n=[],i=[];function a(y){let F=t.indexOf(y);return F===-1?t.push(y)-1:F}function s(y){let F={value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase},D=JSON.stringify(F),I=r.findIndex(q=>JSON.stringify(q)===D);return I===-1?r.push(F)-1:I}function c(y){let F=JSON.stringify(y),D=n.findIndex(I=>JSON.stringify(I)===F);return D===-1?n.push(y)-1:D}function l(y,F,D){let I={predicate:y,params:F,body:D.code,location:D.codeLocation},q=JSON.stringify(I),V=i.findIndex(_=>JSON.stringify(_)===q);return V===-1?i.push(I)-1:V}function h(y){let F={};return Object.keys(y).forEach(D=>{F[D]=y[D]}),F}function g(y,...F){return y.concat(...F)}function E(y,F,D,I){return y===$o?D:y===A0?I:F.concat([D.length,I.length],D,I)}function p(y,F){return y.concat([F.length],F)}function f(y,F,D,I){let q=Object.keys(D).map(V=>I-D[V]);return[$e.CALL,y,F,q.length].concat(q)}function A(y,F,D){let I=y.match|0;return g([$e.PUSH_CURR_POS],[$e.SILENT_FAILS_ON],w(y,{sp:D.sp+1,env:h(D.env),action:null}),[$e.SILENT_FAILS_OFF],E(F?-I:I,[F?$e.IF_ERROR:$e.IF_NOT_ERROR],g([$e.POP],[F?$e.POP:$e.POP_CURR_POS],[$e.PUSH_UNDEFINED]),g([$e.POP],[F?$e.POP_CURR_POS:$e.POP],[$e.PUSH_FAILED])))}function v(y,F,D){let I=l(!0,Object.keys(D.env),y);return g([$e.UPDATE_SAVED_POS],f(I,0,D.env,D.sp),E(y.match|0,[$e.IF],g([$e.POP],F?[$e.PUSH_FAILED]:[$e.PUSH_UNDEFINED]),g([$e.POP],F?[$e.PUSH_UNDEFINED]:[$e.PUSH_FAILED])))}function b(y){return p([$e.WHILE_NOT_ERROR],g([$e.APPEND],y))}let w=TB.build({grammar(y){y.rules.forEach(w),y.literals=t,y.classes=r,y.expectations=n,y.functions=i},rule(y){y.bytecode=w(y.expression,{sp:-1,env:{},pluck:[],action:null})},named(y,F){let D=y.match|0,I=D===A0?null:c({type:"rule",value:y.name});return g([$e.SILENT_FAILS_ON],w(y.expression,F),[$e.SILENT_FAILS_OFF],E(D,[$e.IF_ERROR],[$e.FAIL,I],[]))},choice(y,F){function D(I,q){let V=I[0].match|0,_=w(I[0],{sp:q.sp,env:h(q.env),action:null});return V===$o?_:g(_,I.length>1?E(w0,[$e.IF_ERROR],g([$e.POP],D(I.slice(1),q)),[]):[])}return D(y.alternatives,F)},action(y,F){let D=h(F.env),I=y.expression.type!=="sequence"||y.expression.elements.length===0,q=w(y.expression,{sp:F.sp+(I?1:0),env:D,action:y}),V=y.expression.match|0,_=I&&V!==A0?l(!1,Object.keys(D),y):null;return I?g([$e.PUSH_CURR_POS],q,E(V,[$e.IF_NOT_ERROR],g([$e.LOAD_SAVED_POS,1],f(_,1,D,F.sp+2)),[]),[$e.NIP]):q},sequence(y,F){function D(I,q){if(I.length>0){let V=y.elements.length-I.length+1;return g(w(I[0],{sp:q.sp,env:q.env,pluck:q.pluck,action:null}),E(I[0].match|0,[$e.IF_NOT_ERROR],D(I.slice(1),{sp:q.sp+1,env:q.env,pluck:q.pluck,action:q.action}),g(V>1?[$e.POP_N,V]:[$e.POP],[$e.POP_CURR_POS],[$e.PUSH_FAILED])))}else{if(q.pluck.length>0)return g([$e.PLUCK,y.elements.length+1,q.pluck.length],q.pluck.map(V=>q.sp-V));if(q.action){let V=l(!1,Object.keys(q.env),q.action);return g([$e.LOAD_SAVED_POS,y.elements.length],f(V,y.elements.length+1,q.env,q.sp))}else return g([$e.WRAP,y.elements.length],[$e.NIP])}}return g([$e.PUSH_CURR_POS],D(y.elements,{sp:F.sp+1,env:F.env,pluck:[],action:F.action}))},labeled(y,F){let D=F.env,I=y.label,q=F.sp+1;return I&&(D=h(F.env),F.env[y.label]=q),y.pick&&F.pluck.push(q),w(y.expression,{sp:F.sp,env:D,action:null})},text(y,F){return g([$e.PUSH_CURR_POS],w(y.expression,{sp:F.sp+1,env:h(F.env),action:null}),E(y.match|0,[$e.IF_NOT_ERROR],g([$e.POP],[$e.TEXT]),[$e.NIP]))},simple_and(y,F){return A(y.expression,!1,F)},simple_not(y,F){return A(y.expression,!0,F)},optional(y,F){return g(w(y.expression,{sp:F.sp,env:h(F.env),action:null}),E(-(y.expression.match|0),[$e.IF_ERROR],g([$e.POP],[$e.PUSH_NULL]),[]))},zero_or_more(y,F){let D=w(y.expression,{sp:F.sp+1,env:h(F.env),action:null});return g([$e.PUSH_EMPTY_ARRAY],D,b(D),[$e.POP])},one_or_more(y,F){let D=w(y.expression,{sp:F.sp+1,env:h(F.env),action:null});return g([$e.PUSH_EMPTY_ARRAY],D,E(y.expression.match|0,[$e.IF_NOT_ERROR],g(b(D),[$e.POP]),g([$e.POP],[$e.POP],[$e.PUSH_FAILED])))},group(y,F){return w(y.expression,{sp:F.sp,env:h(F.env),action:null})},semantic_and(y,F){return v(y,!1,F)},semantic_not(y,F){return v(y,!0,F)},rule_ref(y){return[$e.RULE,RB.indexOfRule(e,y.name)]},literal(y){if(y.value.length>0){let F=y.match|0,I=F===w0||F===$o&&!y.ignoreCase?a(y.ignoreCase?y.value.toLowerCase():y.value):null,q=F!==$o?c({type:"literal",value:y.value,ignoreCase:y.ignoreCase}):null;return E(F,y.ignoreCase?[$e.MATCH_STRING_IC,I]:[$e.MATCH_STRING,I],y.ignoreCase?[$e.ACCEPT_N,y.value.length]:[$e.ACCEPT_STRING,I],[$e.FAIL,q])}return[$e.PUSH_EMPTY_STRING]},class(y){let F=y.match|0,D=F===w0?s(y):null,I=F!==$o?c({type:"class",value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase}):null;return E(F,[$e.MATCH_CHAR_CLASS,D],[$e.ACCEPT_N,1],[$e.FAIL,I])},any(y){let F=y.match|0,D=F!==$o?c({type:"any"}):null;return E(F,[$e.MATCH_ANY],[$e.ACCEPT_N,1],[$e.FAIL,D])}});w(e)}Uw.exports=xB});var Mw=Ce(($O,jw)=>{"use strict";var E0=class{constructor(t,r,n){this.sp=-1,this.maxSp=-1,this.varName=r,this.ruleName=t,this.type=n}name(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${t}`);return this.varName+t}push(t){let r=this.name(++this.sp)+" = "+t+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),r}pop(t){return t!==void 0?(this.sp-=t,Array.from({length:t},(r,n)=>this.name(this.sp+1+n))):this.name(this.sp--)}top(){return this.name(this.sp)}index(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${t}`);return this.name(this.sp-t)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(t,r)=>this.name(r)).join(", ")+";"}checkedIf(t,r,n){let i=this.sp;if(r(),n){let a=this.sp;if(this.sp=i,n(),a!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Branches of a condition can't move the stack pointer differently (before: "+i+", after then: "+a+", after else: "+this.sp+").")}}checkedLoop(t,r){let n=this.sp;if(r(),n!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Body of a loop can't move the stack pointer (before: "+n+", after: "+this.sp+").")}};jw.exports=E0});var y0=Ce((PO,qw)=>{"use strict";qw.exports="2.0.1"});var Kw=Ce(lh=>{"use strict";function Ns(e){return e.charCodeAt(0).toString(16).toUpperCase()}lh.hex=Ns;function OB(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ns(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ns(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ns(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ns(t))}lh.stringEscape=OB;function kB(e){return e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ns(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ns(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ns(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ns(t))}lh.regexpClassEscape=kB});var zw=Ce(Gw=>{var Vw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Gw.encode=function(e){if(0<=e&&e{var NB=zw(),Yw=5,Ww=1<>>=Yw,i>0&&(n|=UB),r+=NB.encode(n);while(i>0);return r}});var hh=Ce(da=>{function jB(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}da.getArg=jB;var Qw=function(){return!("__proto__"in Object.create(null))}();function eA(e){return e}function MB(e){return tA(e)?"$"+e:e}da.toSetString=Qw?eA:MB;function qB(e){return tA(e)?e.slice(1):e}da.fromSetString=Qw?eA:qB;function tA(e){if(!e)return!1;let t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(let r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Zw(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function KB(e,t){let r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Zw(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Zw(e.name,t.name)}da.compareByGeneratedPositionsInflated=KB;var S0="http:",Zc=`${S0}//host`;function rA(e){return t=>{let r=Qc(t),n=b0(t),i=new URL(t,n);e(i);let a=i.toString();return r==="absolute"?a:r==="scheme-relative"?a.slice(S0.length):r==="path-absolute"?a.slice(Zc.length):C0(n,a)}}function pa(e,t){return new URL(e,t).toString()}function VB(e,t){let r=0;do{let n=e+r++;if(t.indexOf(n)===-1)return n}while(!0)}function b0(e){let t=e.split("..").length-1,r=VB("p",e),n=`${Zc}/`;for(let i=0;i0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map(()=>"..").concat(r).join("/")+t.search+t.hash}var zB=rA(e=>{e.pathname=e.pathname.replace(/\/?$/,"/")}),fh=rA(e=>{});da.normalize=fh;function YB(e,t){let r=Qc(t),n=Qc(e);if(e=zB(e),r==="absolute")return pa(t,void 0);if(n==="absolute")return pa(t,e);if(r==="scheme-relative")return fh(t);if(n==="scheme-relative")return pa(t,pa(e,Zc)).slice(S0.length);if(r==="path-absolute")return fh(t);if(n==="path-absolute")return pa(t,pa(e,Zc)).slice(Zc.length);let i=b0(t+e),a=pa(t,pa(e,i));return C0(i,a)}da.join=YB;function WB(e,t){let r=XB(e,t);return typeof r=="string"?r:fh(t)}da.relative=WB;function XB(e,t){if(Qc(e)!==Qc(t))return null;let n=b0(e+t),i=new URL(e,n),a=new URL(t,n);try{new URL("",a.toString())}catch{return null}return a.protocol!==i.protocol||a.user!==i.user||a.password!==i.password||a.hostname!==i.hostname||a.port!==i.port?null:C0(i,a)}});var iA=Ce(nA=>{var F0=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){let n=new e;for(let i=0,a=t.length;i=0)return r;throw new Error('"'+t+'" is not in the set.')}at(t){if(t>=0&&t{var sA=hh();function JB(e,t){let r=e.generatedLine,n=t.generatedLine,i=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=i||sA.compareByGeneratedPositionsInflated(e,t)<=0}var _0=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(t,r){this._array.forEach(t,r)}add(t){JB(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))}toArray(){return this._sorted||(this._array.sort(sA.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};aA.MappingList=_0});var I0=Ce(oA=>{var el=Jw(),cr=hh(),ph=iA().ArraySet,ZB=uA().MappingList,dh=class e{constructor(t){t||(t={}),this._file=cr.getArg(t,"file",null),this._sourceRoot=cr.getArg(t,"sourceRoot",null),this._skipValidation=cr.getArg(t,"skipValidation",!1),this._sources=new ph,this._names=new ph,this._mappings=new ZB,this._sourcesContents=null}static fromSourceMap(t){let r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping(function(i){let a={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(a.source=i.source,r!=null&&(a.source=cr.relative(r,a.source)),a.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(a.name=i.name)),n.addMapping(a)}),t.sources.forEach(function(i){let a=i;r!=null&&(a=cr.relative(r,i)),n._sources.has(a)||n._sources.add(a);let s=t.sourceContentFor(i);s!=null&&n.setSourceContent(i,s)}),n}addMapping(t){let r=cr.getArg(t,"generated"),n=cr.getArg(t,"original",null),i=cr.getArg(t,"source",null),a=cr.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,i,a),i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:i,name:a})}setSourceContent(t,r){let n=t;this._sourceRoot!=null&&(n=cr.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[cr.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[cr.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(t,r,n){let i=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);i=t.file}let a=this._sourceRoot;a!=null&&(i=cr.relative(a,i));let s=this._mappings.toArray().length>0?new ph:this._sources,c=new ph;this._mappings.unsortedForEach(function(l){if(l.source===i&&l.originalLine!=null){let E=t.originalPositionFor({line:l.originalLine,column:l.originalColumn});E.source!=null&&(l.source=E.source,n!=null&&(l.source=cr.join(n,l.source)),a!=null&&(l.source=cr.relative(a,l.source)),l.originalLine=E.line,l.originalColumn=E.column,E.name!=null&&(l.name=E.name))}let h=l.source;h!=null&&!s.has(h)&&s.add(h);let g=l.name;g!=null&&!c.has(g)&&c.add(g)},this),this._sources=s,this._names=c,t.sources.forEach(function(l){let h=t.sourceContentFor(l);h!=null&&(n!=null&&(l=cr.join(n,l)),a!=null&&(l=cr.relative(a,l)),this.setSourceContent(l,h))},this)}_validateMapping(t,r,n,i){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!i)){if(!(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:i}))}}_serializeMappings(){let t=0,r=1,n=0,i=0,a=0,s=0,c="",l,h,g,E,p=this._mappings.toArray();for(let f=0,A=p.length;f0){if(!cr.compareByGeneratedPositionsInflated(h,p[f-1]))continue;l+=","}l+=el.encode(h.generatedColumn-t),t=h.generatedColumn,h.source!=null&&(E=this._sources.indexOf(h.source),l+=el.encode(E-s),s=E,l+=el.encode(h.originalLine-1-i),i=h.originalLine-1,l+=el.encode(h.originalColumn-n),n=h.originalColumn,h.name!=null&&(g=this._names.indexOf(h.name),l+=el.encode(g-a),a=g)),c+=l}return c}_generateSourcesContent(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=cr.relative(r,n));let i=cr.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)}toJSON(){let t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t}toString(){return JSON.stringify(this.toJSON())}};dh.prototype._version=3;oA.SourceMapGenerator=dh});var lA=Ce(cA=>{var QB=I0().SourceMapGenerator,gh=hh(),e7=/(\r?\n)/,t7=10,Po="$$$isSourceNode$$$",D0=class e{constructor(t,r,n,i,a){this.children=[],this.sourceContents={},this.line=t??null,this.column=r??null,this.source=n??null,this.name=a??null,this[Po]=!0,i!=null&&this.add(i)}static fromStringWithSourceMap(t,r,n){let i=new e,a=t.split(e7),s=0,c=function(){let f=v(),A=v()||"";return f+A;function v(){return s=0;r--)this.prepend(t[r]);else if(t[Po]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this}walk(t){let r;for(let n=0,i=this.children.length;n0){for(r=[],n=0;n{B0.SourceMapGenerator=I0().SourceMapGenerator;B0.SourceNode=lA().SourceNode});var gA=Ce((jO,dA)=>{"use strict";var r7=ha(),St=m0(),n7=Mw(),i7=y0(),{stringEscape:qn,regexpClassEscape:$0}=Kw(),{SourceNode:ci}=fA();function pA(e,t,r){let n=t.start.line,i=t.start.column-1,a=e.split(` +`);return a.length===1?new ci(n,i,t.source,e,r):new ci(null,null,t.source,a.map((s,c)=>new ci(n+c,c===0?i:0,t.source,c===a.length-1?s:[s,` +`],r)))}function hA(e,t,r,n,i){return r?new ci(null,null,r.source,[e,pA(t,r,i),new ci(r.end.line,r.end.column-1,r.source,n)]):new ci(null,null,null,[e,t,n])}function s7(e,t){function r(v){return v instanceof ci?v:v.replace(/^(.+)$/gm," $1")}function n(v){return"peg$c"+v}function i(v){return"peg$r"+v}function a(v){return"peg$e"+v}function s(v){return"peg$f"+v}function c(v){return"peg$parse"+v}function l(){function v(F){return'"'+qn(F)+'"'}function b(F){return"/^["+(F.inverted?"^":"")+F.value.map(D=>Array.isArray(D)?$0(D[0])+"-"+$0(D[1]):$0(D)).join("")+"]/"+(F.ignoreCase?"i":"")}function w(F){switch(F.type){case"rule":return'peg$otherExpectation("'+qn(F.value)+'")';case"literal":return'peg$literalExpectation("'+qn(F.value)+'", '+F.ignoreCase+")";case"class":return"peg$classExpectation(["+F.value.map(I=>Array.isArray(I)?'["'+qn(I[0])+'", "'+qn(I[1])+'"]':'"'+qn(I)+'"').join(", ")+"], "+F.inverted+", "+F.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(F)+")")}}function y(F,D){return hA(` + var ${s(D)} = function(${F.params.join(", ")}) {`,F.body,F.location,"};")}return new ci(null,null,t.grammarSource,[e.literals.map((F,D)=>" var "+n(D)+" = "+v(F)+";").concat("",e.classes.map((F,D)=>" var "+i(D)+" = "+b(F)+";")).concat("",e.expectations.map((F,D)=>" var "+a(D)+" = "+w(F)+";")).concat("").join(` +`),e.functions.map(y)])}function h(v,b){let w=[];return w.push(""),t.trace&&w.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)","});",""),t.cache&&(w.push("var key = peg$currPos * "+e.rules.length+" + "+b+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&w.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+v+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),w.push(" return cached.result;","}","")),w}function g(v,b){let w=[];return t.cache&&w.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+b+" };"),t.trace&&w.push("","if ("+b+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+v+","," result: "+b+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+v+","," location: peg$computeLocation(startPos, startPos)"," });","}"),w.push("","return "+b+";"),w}function E(v){let b=[],w=new n7(v.name,"s","var");function y(D){let I=0,q=D.length,V=[],_;function P(K,X){let G=X+3,z=D[I+G-2],W=D[I+G-1],ie,ye;w.checkedIf(I,()=>{I+=G,ie=y(D.slice(I,I+z)),I+=z},W>0?()=>{ye=y(D.slice(I,I+W)),I+=W}:null),V.push("if ("+K+") {"),V.push(...ie.map(r)),W>0&&(V.push("} else {"),V.push(...ye.map(r))),V.push("}")}function L(K){let G=D[I+2-1],z;w.checkedLoop(I,()=>{I+=2,z=y(D.slice(I,I+G)),I+=G}),V.push("while ("+K+") {"),V.push(...z.map(r)),V.push("}")}function j(){let X=D[I+4-1],G=s(D[I+1])+"("+D.slice(I+4,I+4+X).map(z=>w.index(z)).join(", ")+")";w.pop(D[I+2]),V.push(w.push(G)),I+=4+X}for(;Iw.index(z)).join(", ")} ]`,w.pop(D[I+1]),V.push(w.push(_)),I+=G;break}case St.IF:P(w.top(),0);break;case St.IF_ERROR:P(w.top()+" === peg$FAILED",0);break;case St.IF_NOT_ERROR:P(w.top()+" !== peg$FAILED",0);break;case St.WHILE_NOT_ERROR:L(w.top()+" !== peg$FAILED");break;case St.MATCH_ANY:P("input.length > peg$currPos",0);break;case St.MATCH_STRING:P(e.literals[D[I+1]].length>1?"input.substr(peg$currPos, "+e.literals[D[I+1]].length+") === "+n(D[I+1]):"input.charCodeAt(peg$currPos) === "+e.literals[D[I+1]].charCodeAt(0),1);break;case St.MATCH_STRING_IC:P("input.substr(peg$currPos, "+e.literals[D[I+1]].length+").toLowerCase() === "+n(D[I+1]),1);break;case St.MATCH_CHAR_CLASS:P(i(D[I+1])+".test(input.charAt(peg$currPos))",1);break;case St.ACCEPT_N:V.push(w.push(D[I+1]>1?"input.substr(peg$currPos, "+D[I+1]+")":"input.charAt(peg$currPos)")),V.push(D[I+1]>1?"peg$currPos += "+D[I+1]+";":"peg$currPos++;"),I+=2;break;case St.ACCEPT_STRING:V.push(w.push(n(D[I+1]))),V.push(e.literals[D[I+1]].length>1?"peg$currPos += "+e.literals[D[I+1]].length+";":"peg$currPos++;"),I+=2;break;case St.FAIL:V.push(w.push("peg$FAILED")),V.push("if (peg$silentFails === 0) { peg$fail("+a(D[I+1])+"); }"),I+=2;break;case St.LOAD_SAVED_POS:V.push("peg$savedPos = "+w.index(D[I+1])+";"),I+=2;break;case St.UPDATE_SAVED_POS:V.push("peg$savedPos = peg$currPos;"),I++;break;case St.CALL:j();break;case St.RULE:V.push(w.push(c(e.rules[D[I+1]].name)+"()")),I+=2;break;case St.SILENT_FAILS_ON:V.push("peg$silentFails++;"),I++;break;case St.SILENT_FAILS_OFF:V.push("peg$silentFails--;"),I++;break;default:throw new Error("Invalid opcode: "+D[I]+".")}return V}let F=y(v.bytecode);return b.push(hA(" function ",c(v.name),v.nameLocation,`() { +`,v.name)),t.trace&&b.push(" var startPos = peg$currPos;"),b.push(r(w.defines())),b.push(...h('"'+qn(v.name)+'"',r7.indexOfRule(e,v.name)).map(r)),b.push(...F.map(r)),b.push(...g('"'+qn(v.name)+'"',w.result()).map(r)),b.push("}"),b}function p(v){return v.codeLocation?pA(v.code,v.codeLocation,"$"+v.type):v.code}function f(){let v=[];e.topLevelInitializer&&(v.push(p(e.topLevelInitializer)),v.push("")),v.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&v.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let b="{ "+t.allowedStartRules.map(y=>y+": "+c(y)).join(", ")+" }",w=c(t.allowedStartRules[0]);return v.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+b+";"," var peg$startRuleFunction = "+w+";","",l(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&v.push(" var peg$resultsCache = {};",""),t.trace&&v.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),v.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach(y=>{v.push(...E(y).map(r)),v.push("")}),e.initializer&&(v.push(p(e.initializer)),v.push("")),v.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new ci(null,null,t.grammarSource,v.map(y=>y instanceof ci?y:y+` +`))}function A(v){function b(){return[`// Generated by Peggy ${i7}.`,"//","// https://peggyjs.org/"]}function w(){return t.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let F={bare(){return[...b(),"(function() {",' "use strict";',"",v,"",r("return "+w()+";"),"})()"]},commonjs(){let D=Object.keys(t.dependencies),I=b();return I.push("",'"use strict";',""),D.length>0&&(D.forEach(q=>{I.push("var "+q+' = require("'+qn(t.dependencies[q])+'");')}),I.push("")),I.push(v,"","module.exports = "+w()+";"),I},es(){let D=Object.keys(t.dependencies),I=b();return I.push(""),D.length>0&&(D.forEach(q=>{I.push("import "+q+' from "'+qn(t.dependencies[q])+'";')}),I.push("")),I.push(v,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),I},amd(){let D=Object.keys(t.dependencies),q="["+D.map(_=>t.dependencies[_]).map(_=>'"'+qn(_)+'"').join(", ")+"]",V=D.join(", ");return[...b(),"define("+q+", function("+V+") {",' "use strict";',"",v,"",r("return "+w()+";"),"});"]},globals(){return[...b(),"(function(root) {",' "use strict";',"",v,"",r("root."+t.exportVar+" = "+w()+";"),"})(this);"]},umd(){let D=Object.keys(t.dependencies),I=D.map(L=>t.dependencies[L]),q="["+I.map(L=>'"'+qn(L)+'"').join(", ")+"]",V=I.map(L=>'require("'+qn(L)+'")').join(", "),_=D.join(", "),P=b();return P.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+q+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+V+");"),t.exportVar!==null&&P.push(" } else {"," root."+t.exportVar+" = factory();"),P.push(" }","})(this, function("+_+") {",' "use strict";',"",v,"",r("return "+w()+";"),"});"),P}}[t.format]();return new ci(null,null,t.grammarSource,F.map(D=>D instanceof ci?D:D+` +`))}e.code=A(f())}dA.exports=s7});var vA=Ce((MO,mA)=>{"use strict";var a7=ha(),u7=oi();function o7(e,t,r){function n(s){return s.type==="rule"&&s.expression.type==="rule_ref"}function i(s,c,l){u7.build({rule_ref(g){g.name===c&&(g.name=l,r.info(`Proxy rule "${c}" replaced by the rule "${l}"`,g.location,[{message:"This rule will be used",location:a7.findRule(s,l).nameLocation}]))}})(s)}let a=[];e.rules.forEach((s,c)=>{n(s)&&(i(e,s.name,s.expression.name),t.allowedStartRules.indexOf(s.name)===-1&&a.push(c))}),a.reverse(),a.forEach(s=>{e.rules.splice(s,1)})}mA.exports=o7});var AA=Ce((qO,wA)=>{"use strict";var c7=oi();function l7(e,t,r){function n(s){let c={};return Object.keys(s).forEach(l=>{c[l]=s[l]}),c}function i(s,c){a(s.expression,n(c))}let a=c7.build({rule(s){a(s.expression,{})},choice(s,c){s.alternatives.forEach(l=>{a(l,n(c))})},action:i,labeled(s,c){let l=s.label;l&&Object.prototype.hasOwnProperty.call(c,l)&&r.error(`Label "${s.label}" is already defined`,s.labelLocation,[{message:"Original label location",location:c[l]}]),a(s.expression,c),c[s.label]=s.labelLocation},text:i,simple_and:i,simple_not:i,optional:i,zero_or_more:i,one_or_more:i,group:i});a(e)}wA.exports=l7});var yA=Ce((KO,EA)=>{"use strict";var f7=oi();function h7(e,t,r){let n={};f7.build({rule(a){if(Object.prototype.hasOwnProperty.call(n,a.name)){r.error(`Rule "${a.name}" is already defined`,a.nameLocation,[{message:"Original rule location",location:n[a.name]}]);return}n[a.name]=a.nameLocation}})(e)}EA.exports=h7});var CA=Ce((VO,bA)=>{"use strict";var SA=ha(),p7=oi();function d7(e,t,r){let n=[],i=[],a=p7.build({rule(s){n.push(s.name),a(s.expression),n.pop()},sequence(s){s.elements.every(c=>(a(c),!SA.alwaysConsumesOnSuccess(e,c)))},rule_ref(s){i.push(s);let c=SA.findRule(e,s.name);if(n.indexOf(s.name)!==-1){n.push(s.name),r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",c.nameLocation,i.map((l,h,g)=>({message:h+1!==g.length?`Step ${h+1}: call of the rule "${l.name}" without input consumption`:`Step ${h+1}: call itself without input consumption - left recursion`,location:l.location})));return}c&&a(c),i.pop()}});a(e)}bA.exports=d7});var IA=Ce((GO,_A)=>{"use strict";var FA=ha(),g7=oi();function m7(e,t,r){g7.build({zero_or_more(i){FA.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)},one_or_more(i){FA.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)}})(e)}_A.exports=m7});var BA=Ce((zO,DA)=>{"use strict";var v7=ha(),w7=oi();function A7(e,t,r){w7.build({rule_ref(i){v7.findRule(e,i.name)||r.error(`Rule "${i.name}" is not defined`,i.location)}})(e)}DA.exports=A7});var PA=Ce((YO,$A)=>{"use strict";var E7=oi();function y7(e,t,r){let n=E7.build({action(i){n(i.expression,i)},labeled(i,a){i.pick&&a&&r.error('"@" cannot be used with an action block',i.labelLocation,[{message:"Action block location",location:a.codeLocation}]),n(i.expression)}});n(e)}$A.exports=y7});var TA=Ce((WO,RA)=>{"use strict";var S7=oh(),P0=class{constructor(t){t=typeof t<"u"?t:{},typeof t.error=="function"&&(this.error=t.error),typeof t.warning=="function"&&(this.warning=t.warning),typeof t.info=="function"&&(this.info=t.info)}error(){}warning(){}info(){}},R0=class{constructor(t){this._callbacks=new P0(t),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...t){++this.errors,this._firstError===null&&(this._firstError=new S7(...t),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...t]),this._callbacks.error(this.stage,...t)}warning(...t){this.problems.push(["warning",...t]),this._callbacks.warning(this.stage,...t)}info(...t){this.problems.push(["info",...t]),this._callbacks.info(this.stage,...t)}checkErrors(){if(this.errors!==0)throw this._firstError}};RA.exports=R0});var xA=Ce((exports,module)=>{"use strict";var generateBytecode=Hw(),generateJS=gA(),inferenceMatchResult=v0(),removeProxyRules=vA(),reportDuplicateLabels=AA(),reportDuplicateRules=yA(),reportInfiniteRecursion=CA(),reportInfiniteRepetition=IA(),reportUndefinedRules=BA(),reportIncorrectPlucking=PA(),Session=TA(),visitor=oi();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler});var kA=Ce((XO,OA)=>{"use strict";var b7={$:"text","&":"simple_and","!":"simple_not"},C7={"?":"optional","*":"zero_or_more","+":"one_or_more"},F7={"&":"semantic_and","!":"semantic_not"};function _7(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function ga(e,t,r,n){var i=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(i,ga.prototype),i.expected=t,i.found=r,i.location=n,i.name="SyntaxError",i}_7(ga,Error);function T0(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,r+=r.repeat(t),e+r.slice(0,t))}ga.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r=null,n;for(n=0;n `+a+` +`+c+` | +`+i.line+" | "+l+` +`+c+" | "+T0("",i.column-1," ")+T0("",g,"^")}else t+=` + at `+a}return t};ga.buildMessage=function(e,t){var r={literal:function(h){return'"'+i(h.text)+'"'},class:function(h){var g=h.parts.map(function(E){return Array.isArray(E)?a(E[0])+"-"+a(E[1]):a(E)});return"["+(h.inverted?"^":"")+g.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(h){return h.description}};function n(h){return h.charCodeAt(0).toString(16).toUpperCase()}function i(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(g){return"\\x0"+n(g)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(g){return"\\x"+n(g)})}function a(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(g){return"\\x0"+n(g)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(g){return"\\x"+n(g)})}function s(h){return r[h.type](h)}function c(h){var g=h.map(s),E,p;if(g.sort(),g.length>0){for(E=1,p=1;E0?{type:"choice",alternatives:[S].concat(k),location:jt()}:S},Gn=function(S,k){return k!==null?{type:"action",expression:S,code:k[0],codeLocation:k[1],location:jt()}:S},$a=function(S,k){return k.length>0||S.type==="labeled"&&S.pick?{type:"sequence",elements:[S].concat(k),location:jt()}:S},wh=function(S,k,J){return J.type.startsWith("semantic_")&&nc('"@" cannot be used on a semantic predicate',S),{type:"labeled",label:k!==null?k[0]:null,labelLocation:k!==null?k[1]:S,pick:!0,expression:J,location:jt()}},Ah=function(S,k){return{type:"labeled",label:S[0],labelLocation:S[1],expression:k,location:jt()}},Rt=function(){return jt()},Bt=function(S){return Hu.indexOf(S[0])>=0&&nc(`Label can't be a reserved word "${S[0]}"`,S[1]),S},Eh=function(S,k){return{type:b7[S],expression:k,location:jt()}},yh=function(S,k){return{type:C7[k],expression:S,location:jt()}},Sh=function(S){return S.type==="labeled"||S.type==="sequence"?{type:"group",expression:S,location:jt()}:S},bh=function(S){return{type:"rule_ref",name:S[0],location:jt()}},Ch=function(S,k){return{type:F7[S],code:k[0],codeLocation:k[1],location:jt()}},Fh=function(S,k){return[S+k.join(""),jt()]},nl=function(S,k){return{type:"literal",value:S,ignoreCase:k!==null,location:jt()}},_h=function(S){return S.join("")},sr=function(S){return S.join("")},ec=function(S,k,J){return{type:"class",parts:k.filter(M=>M!==""),inverted:S!==null,ignoreCase:J!==null,location:jt()}},Zi=function(S,k){return S.charCodeAt(0)>k.charCodeAt(0)&&nc("Invalid character range: "+rc()+"."),[S,k]},il=function(){return""},tc=function(){return"\0"},on=function(){return"\b"},sl=function(){return"\f"},al=function(){return` +`},ul=function(){return"\r"},ol=function(){return" "},cl=function(){return"\v"},ll=function(S){return String.fromCharCode(parseInt(S,16))},Jr=function(S){return String.fromCharCode(parseInt(S,16))},Ih=function(){return{type:"any",location:jt()}},cn=function(S){return[S,jt()]},B=0,Ye=0,_n=[{line:1,column:1}],Zr=0,Pa=[],te=0,In;if("startRule"in t){if(!(t.startRule in i))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=i[t.startRule]}function rc(){return e.substring(Ye,B)}function q0(){return Ye}function fl(){return{source:n,start:Ye,end:B}}function jt(){return Qi(Ye,B)}function K0(S,k){throw k=k!==void 0?k:Qi(Ye,B),pl([zn(S)],e.substring(Ye,B),k)}function nc(S,k){throw k=k!==void 0?k:Qi(Ye,B),hl(S,k)}function Le(S,k){return{type:"literal",text:S,ignoreCase:k}}function ar(S,k,J){return{type:"class",parts:S,inverted:k,ignoreCase:J}}function Vs(){return{type:"any"}}function Dh(){return{type:"end"}}function zn(S){return{type:"other",description:S}}function ic(S){var k=_n[S],J;if(k)return k;for(J=S-1;!_n[J];)J--;for(k=_n[J],k={line:k.line,column:k.column};JZr&&(Zr=B,Pa=[]),Pa.push(S))}function hl(S,k){return new ga(S,null,null,k)}function pl(S,k,J){return new ga(ga.buildMessage(S,k),S,k,J)}function Du(){var S,k,J,M,se,ce,Dt,Yt;if(S=B,k=Et(),J=B,M=sc(),M!==r?(se=Et(),J=M):(B=J,J=r),J===r&&(J=null),M=B,se=Bh(),se!==r?(ce=Et(),M=se):(B=M,M=r),M===r&&(M=null),se=[],ce=B,Dt=ac(),Dt!==r?(Yt=Et(),ce=Dt):(B=ce,ce=r),ce!==r)for(;ce!==r;)se.push(ce),ce=B,Dt=ac(),Dt!==r?(Yt=Et(),ce=Dt):(B=ce,ce=r);else se=r;return se!==r?(Ye=S,S=Fn(J,M,se)):(B=S,S=r),S}function sc(){var S,k,J,M,se;return S=B,e.charCodeAt(B)===123?(k=s,B++):(k=r,te===0&&pe(Ei)),k!==r?(J=ft(),J!==r?(e.charCodeAt(B)===125?(M=c,B++):(M=r,te===0&&pe(Ji)),M!==r?(se=ns(),se!==r?(Ye=S,S=qs(J)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r),S}function Bh(){var S,k,J;return S=B,k=ft(),k!==r?(J=ns(),J!==r?(Ye=S,S=Xr(k)):(B=S,S=r)):(B=S,S=r),S}function ac(){var S,k,J,M,se,ce,Dt,Yt;return S=B,k=Pu(),k!==r?(J=Et(),M=B,se=Yn(),se!==r?(ce=Et(),M=se):(B=M,M=r),M===r&&(M=null),e.charCodeAt(B)===61?(se=l,B++):(se=r,te===0&&pe(hu)),se!==r?(ce=Et(),Dt=Lr(),Dt!==r?(Yt=ns(),Yt!==r?(Ye=S,S=$r(k,M,Dt)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r),S}function Lr(){var S,k,J,M,se,ce,Dt,Yt;if(S=B,k=Ra(),k!==r){for(J=[],M=B,se=Et(),e.charCodeAt(B)===47?(ce=h,B++):(ce=r,te===0&&pe(pu)),ce!==r?(Dt=Et(),Yt=Ra(),Yt!==r?M=Yt:(B=M,M=r)):(B=M,M=r);M!==r;)J.push(M),M=B,se=Et(),e.charCodeAt(B)===47?(ce=h,B++):(ce=r,te===0&&pe(pu)),ce!==r?(Dt=Et(),Yt=Ra(),Yt!==r?M=Yt:(B=M,M=r)):(B=M,M=r);Ye=S,S=Ks(k,J)}else B=S,S=r;return S}function Ra(){var S,k,J,M,se;return S=B,k=Ta(),k!==r?(J=B,M=Et(),se=ft(),se!==r?J=se:(B=J,J=r),J===r&&(J=null),Ye=S,S=Gn(k,J)):(B=S,S=r),S}function Ta(){var S,k,J,M,se,ce;if(S=B,k=Bu(),k!==r){for(J=[],M=B,se=Et(),ce=Bu(),ce!==r?M=ce:(B=M,M=r);M!==r;)J.push(M),M=B,se=Et(),ce=Bu(),ce!==r?M=ce:(B=M,M=r);Ye=S,S=$a(k,J)}else B=S,S=r;return S}function Bu(){var S,k,J,M;return S=B,k=dl(),k!==r?(J=gl(),J===r&&(J=null),M=uc(),M!==r?(Ye=S,S=wh(k,J,M)):(B=S,S=r)):(B=S,S=r),S===r&&(S=B,k=gl(),k!==r?(J=Et(),M=uc(),M!==r?(Ye=S,S=Ah(k,M)):(B=S,S=r)):(B=S,S=r),S===r&&(S=uc())),S}function dl(){var S,k;return S=B,e.charCodeAt(B)===64?(k=g,B++):(k=r,te===0&&pe(du)),k!==r&&(Ye=S,k=Rt()),S=k,S}function gl(){var S,k,J,M;return S=B,k=Pu(),k!==r?(J=Et(),e.charCodeAt(B)===58?(M=E,B++):(M=r,te===0&&pe(gu)),M!==r?(Ye=S,S=Bt(k)):(B=S,S=r)):(B=S,S=r),S}function uc(){var S,k,J,M;return S=B,k=$h(),k!==r?(J=Et(),M=ml(),M!==r?(Ye=S,S=Eh(k,M)):(B=S,S=r)):(B=S,S=r),S===r&&(S=ml()),S}function $h(){var S;return e.charCodeAt(B)===36?(S=p,B++):(S=r,te===0&&pe(mu)),S===r&&(e.charCodeAt(B)===38?(S=f,B++):(S=r,te===0&&pe(vu)),S===r&&(e.charCodeAt(B)===33?(S=A,B++):(S=r,te===0&&pe(wu)))),S}function ml(){var S,k,J,M;return S=B,k=es(),k!==r?(J=Et(),M=Ph(),M!==r?(Ye=S,S=yh(k,M)):(B=S,S=r)):(B=S,S=r),S===r&&(S=es()),S}function Ph(){var S;return e.charCodeAt(B)===63?(S=v,B++):(S=r,te===0&&pe(Ro)),S===r&&(e.charCodeAt(B)===42?(S=b,B++):(S=r,te===0&&pe(Au)),S===r&&(e.charCodeAt(B)===43?(S=w,B++):(S=r,te===0&&pe(To)))),S}function es(){var S,k,J,M,se,ce;return S=Nh(),S===r&&(S=ue(),S===r&&(S=xu(),S===r&&(S=Rh(),S===r&&(S=Th(),S===r&&(S=B,e.charCodeAt(B)===40?(k=y,B++):(k=r,te===0&&pe(xo)),k!==r?(J=Et(),M=Lr(),M!==r?(se=Et(),e.charCodeAt(B)===41?(ce=F,B++):(ce=r,te===0&&pe(Oo)),ce!==r?(Ye=S,S=Sh(M)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r)))))),S}function Rh(){var S,k,J,M,se,ce,Dt,Yt;return S=B,k=Pu(),k!==r?(J=B,te++,M=B,se=Et(),ce=B,Dt=Yn(),Dt!==r?(Yt=Et(),Dt=[Dt,Yt],ce=Dt):(B=ce,ce=r),ce===r&&(ce=null),e.charCodeAt(B)===61?(Dt=l,B++):(Dt=r,te===0&&pe(hu)),Dt!==r?(se=[se,ce,Dt],M=se):(B=M,M=r),te--,M===r?J=void 0:(B=J,J=r),J!==r?(Ye=S,S=bh(k)):(B=S,S=r)):(B=S,S=r),S}function Th(){var S,k,J,M;return S=B,k=oc(),k!==r?(J=Et(),M=ft(),M!==r?(Ye=S,S=Ch(k,M)):(B=S,S=r)):(B=S,S=r),S}function oc(){var S;return e.charCodeAt(B)===38?(S=f,B++):(S=r,te===0&&pe(vu)),S===r&&(e.charCodeAt(B)===33?(S=A,B++):(S=r,te===0&&pe(wu))),S}function Pr(){var S;return e.length>B?(S=e.charAt(B),B++):(S=r,te===0&&pe(Hs)),S}function Dn(){var S,k;return te++,e.charCodeAt(B)===9?(S=D,B++):(S=r,te===0&&pe(Sa)),S===r&&(e.charCodeAt(B)===11?(S=I,B++):(S=r,te===0&&pe(No)),S===r&&(e.charCodeAt(B)===12?(S=q,B++):(S=r,te===0&&pe(Lo)),S===r&&(e.charCodeAt(B)===32?(S=V,B++):(S=r,te===0&&pe(Uo)),S===r&&(e.charCodeAt(B)===160?(S=_,B++):(S=r,te===0&&pe(Ho)),S===r&&(e.charCodeAt(B)===65279?(S=P,B++):(S=r,te===0&&pe(jo)),S===r&&(S=bl())))))),te--,S===r&&(k=r,te===0&&pe(ko)),S}function Bn(){var S;return nr.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Mo)),S}function $u(){var S,k;return te++,e.charCodeAt(B)===10?(S=L,B++):(S=r,te===0&&pe(Ko)),S===r&&(e.substr(B,2)===j?(S=j,B+=2):(S=r,te===0&&pe(yi)),S===r&&(e.charCodeAt(B)===13?(S=K,B++):(S=r,te===0&&pe(Eu)),S===r&&(e.charCodeAt(B)===8232?(S=X,B++):(S=r,te===0&&pe(Vo)),S===r&&(e.charCodeAt(B)===8233?(S=G,B++):(S=r,te===0&&pe(Go)))))),te--,S===r&&(k=r,te===0&&pe(qo)),S}function vl(){var S,k;return te++,S=xh(),S===r&&(S=ln()),te--,S===r&&(k=r,te===0&&pe(zo)),S}function xh(){var S,k,J,M,se,ce;if(S=B,e.substr(B,2)===z?(k=z,B+=2):(k=r,te===0&&pe(yu)),k!==r){for(J=[],M=B,se=B,te++,e.substr(B,2)===W?(ce=W,B+=2):(ce=r,te===0&&pe(Si)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);M!==r;)J.push(M),M=B,se=B,te++,e.substr(B,2)===W?(ce=W,B+=2):(ce=r,te===0&&pe(Si)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);e.substr(B,2)===W?(M=W,B+=2):(M=r,te===0&&pe(Si)),M!==r?(k=[k,J,M],S=k):(B=S,S=r)}else B=S,S=r;return S}function ts(){var S,k,J,M,se,ce;if(S=B,e.substr(B,2)===z?(k=z,B+=2):(k=r,te===0&&pe(yu)),k!==r){for(J=[],M=B,se=B,te++,e.substr(B,2)===W?(ce=W,B+=2):(ce=r,te===0&&pe(Si)),ce===r&&(ce=Bn()),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);M!==r;)J.push(M),M=B,se=B,te++,e.substr(B,2)===W?(ce=W,B+=2):(ce=r,te===0&&pe(Si)),ce===r&&(ce=Bn()),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);e.substr(B,2)===W?(M=W,B+=2):(M=r,te===0&&pe(Si)),M!==r?(k=[k,J,M],S=k):(B=S,S=r)}else B=S,S=r;return S}function ln(){var S,k,J,M,se,ce;if(S=B,e.substr(B,2)===ie?(k=ie,B+=2):(k=r,te===0&&pe(un)),k!==r){for(J=[],M=B,se=B,te++,ce=Bn(),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);M!==r;)J.push(M),M=B,se=B,te++,ce=Bn(),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);k=[k,J],S=k}else B=S,S=r;return S}function Pu(){var S,k,J,M;if(te++,S=B,k=wl(),k!==r){for(J=[],M=Al();M!==r;)J.push(M),M=Al();Ye=S,S=Fh(k,J)}else B=S,S=r;return te--,S===r&&(k=r,te===0&&pe(Yo)),S}function wl(){var S,k,J;return S=Oh(),S===r&&(e.charCodeAt(B)===36?(S=p,B++):(S=r,te===0&&pe(mu)),S===r&&(e.charCodeAt(B)===95?(S=ye,B++):(S=r,te===0&&pe(js)),S===r&&(S=B,e.charCodeAt(B)===92?(k=Ae,B++):(k=r,te===0&&pe(Cn)),k!==r?(J=El(),J!==r?S=J:(B=S,S=r)):(B=S,S=r)))),S}function Al(){var S;return S=wl(),S===r&&(S=kh(),S===r&&(S=yl(),S===r&&(S=Sl(),S===r&&(e.charCodeAt(B)===8204?(S=Ie,B++):(S=r,te===0&&pe(Wo)),S===r&&(e.charCodeAt(B)===8205?(S=qe,B++):(S=r,te===0&&pe(Xo))))))),S}function Oh(){var S;return S=Nu(),S===r&&(S=ku(),S===r&&(S=Mh(),S===r&&(S=Hh(),S===r&&(S=jh(),S===r&&(S=Uu()))))),S}function kh(){var S;return S=Lu(),S===r&&(S=Fi()),S}function Nh(){var S,k,J;return te++,S=B,k=Yn(),k!==r?(e.charCodeAt(B)===105?(J=oe,B++):(J=r,te===0&&pe(ba)),J===r&&(J=null),Ye=S,S=nl(k,J)):(B=S,S=r),te--,S===r&&(k=r,te===0&&pe(Su)),S}function Yn(){var S,k,J,M;if(te++,S=B,e.charCodeAt(B)===34?(k=Fe,B++):(k=r,te===0&&pe(Ms)),k!==r){for(J=[],M=re();M!==r;)J.push(M),M=re();e.charCodeAt(B)===34?(M=Fe,B++):(M=r,te===0&&pe(Ms)),M!==r?(Ye=S,S=_h(J)):(B=S,S=r)}else B=S,S=r;if(S===r)if(S=B,e.charCodeAt(B)===39?(k=ke,B++):(k=r,te===0&&pe(Gt)),k!==r){for(J=[],M=le();M!==r;)J.push(M),M=le();e.charCodeAt(B)===39?(M=ke,B++):(M=r,te===0&&pe(Gt)),M!==r?(Ye=S,S=sr(J)):(B=S,S=r)}else B=S,S=r;return te--,S===r&&(k=r,te===0&&pe(bu)),S}function re(){var S,k,J,M;return S=B,k=B,J=B,te++,e.charCodeAt(B)===34?(M=Fe,B++):(M=r,te===0&&pe(Ms)),M===r&&(e.charCodeAt(B)===92?(M=Ae,B++):(M=r,te===0&&pe(Cn)),M===r&&(M=Bn())),te--,M===r?J=void 0:(B=J,J=r),J!==r?(M=Pr(),M!==r?(J=[J,M],k=J):(B=k,k=r)):(B=k,k=r),k!==r?S=e.substring(S,B):S=k,S===r&&(S=B,e.charCodeAt(B)===92?(k=Ae,B++):(k=r,te===0&&pe(Cn)),k!==r?(J=Mt(),J!==r?S=J:(B=S,S=r)):(B=S,S=r),S===r&&(S=ot())),S}function le(){var S,k,J,M;return S=B,k=B,J=B,te++,e.charCodeAt(B)===39?(M=ke,B++):(M=r,te===0&&pe(Gt)),M===r&&(e.charCodeAt(B)===92?(M=Ae,B++):(M=r,te===0&&pe(Cn)),M===r&&(M=Bn())),te--,M===r?J=void 0:(B=J,J=r),J!==r?(M=Pr(),M!==r?(J=[J,M],k=J):(B=k,k=r)):(B=k,k=r),k!==r?S=e.substring(S,B):S=k,S===r&&(S=B,e.charCodeAt(B)===92?(k=Ae,B++):(k=r,te===0&&pe(Cn)),k!==r?(J=Mt(),J!==r?S=J:(B=S,S=r)):(B=S,S=r),S===r&&(S=ot())),S}function ue(){var S,k,J,M,se,ce;if(te++,S=B,e.charCodeAt(B)===91?(k=vr,B++):(k=r,te===0&&pe(Zo)),k!==r){for(e.charCodeAt(B)===94?(J=Ot,B++):(J=r,te===0&&pe(Cu)),J===r&&(J=null),M=[],se=Re(),se===r&&(se=Ge());se!==r;)M.push(se),se=Re(),se===r&&(se=Ge());e.charCodeAt(B)===93?(se=pt,B++):(se=r,te===0&&pe(bi)),se!==r?(e.charCodeAt(B)===105?(ce=oe,B++):(ce=r,te===0&&pe(ba)),ce===r&&(ce=null),Ye=S,S=ec(J,M,ce)):(B=S,S=r)}else B=S,S=r;return te--,S===r&&(k=r,te===0&&pe(Jo)),S}function Re(){var S,k,J,M;return S=B,k=Ge(),k!==r?(e.charCodeAt(B)===45?(J=Zt,B++):(J=r,te===0&&pe(Ar)),J!==r?(M=Ge(),M!==r?(Ye=S,S=Zi(k,M)):(B=S,S=r)):(B=S,S=r)):(B=S,S=r),S}function Ge(){var S,k,J,M;return S=B,k=B,J=B,te++,e.charCodeAt(B)===93?(M=pt,B++):(M=r,te===0&&pe(bi)),M===r&&(e.charCodeAt(B)===92?(M=Ae,B++):(M=r,te===0&&pe(Cn)),M===r&&(M=Bn())),te--,M===r?J=void 0:(B=J,J=r),J!==r?(M=Pr(),M!==r?(J=[J,M],k=J):(B=k,k=r)):(B=k,k=r),k!==r?S=e.substring(S,B):S=k,S===r&&(S=B,e.charCodeAt(B)===92?(k=Ae,B++):(k=r,te===0&&pe(Cn)),k!==r?(J=Mt(),J!==r?S=J:(B=S,S=r)):(B=S,S=r),S===r&&(S=ot())),S}function ot(){var S,k,J;return S=B,e.charCodeAt(B)===92?(k=Ae,B++):(k=r,te===0&&pe(Cn)),k!==r?(J=$u(),J!==r?(Ye=S,S=il()):(B=S,S=r)):(B=S,S=r),S}function Mt(){var S,k,J,M;return S=It(),S===r&&(S=B,e.charCodeAt(B)===48?(k=Ht,B++):(k=r,te===0&&pe(Lt)),k!==r?(J=B,te++,M=rs(),te--,M===r?J=void 0:(B=J,J=r),J!==r?(Ye=S,S=tc()):(B=S,S=r)):(B=S,S=r),S===r&&(S=Tu(),S===r&&(S=El()))),S}function It(){var S;return S=Ru(),S===r&&(S=Lh()),S}function Ru(){var S,k;return e.charCodeAt(B)===39?(S=ke,B++):(S=r,te===0&&pe(Gt)),S===r&&(e.charCodeAt(B)===34?(S=Fe,B++):(S=r,te===0&&pe(Ms)),S===r&&(e.charCodeAt(B)===92?(S=Ae,B++):(S=r,te===0&&pe(Cn)),S===r&&(S=B,e.charCodeAt(B)===98?(k=rt,B++):(k=r,te===0&&pe(Qo)),k!==r&&(Ye=S,k=on()),S=k,S===r&&(S=B,e.charCodeAt(B)===102?(k=Pt,B++):(k=r,te===0&&pe(Ca)),k!==r&&(Ye=S,k=sl()),S=k,S===r&&(S=B,e.charCodeAt(B)===110?(k=et,B++):(k=r,te===0&&pe(Er)),k!==r&&(Ye=S,k=al()),S=k,S===r&&(S=B,e.charCodeAt(B)===114?(k=wt,B++):(k=r,te===0&&pe(Fa)),k!==r&&(Ye=S,k=ul()),S=k,S===r&&(S=B,e.charCodeAt(B)===116?(k=Qt,B++):(k=r,te===0&&pe(Fu)),k!==r&&(Ye=S,k=ol()),S=k,S===r&&(S=B,e.charCodeAt(B)===118?(k=Xe,B++):(k=r,te===0&&pe(_u)),k!==r&&(Ye=S,k=cl()),S=k)))))))),S}function Lh(){var S,k,J,M;return S=B,k=B,J=B,te++,M=fn(),M===r&&(M=Bn()),te--,M===r?J=void 0:(B=J,J=r),J!==r?(M=Pr(),M!==r?(J=[J,M],k=J):(B=k,k=r)):(B=k,k=r),k!==r?S=e.substring(S,B):S=k,S}function fn(){var S;return S=Ru(),S===r&&(S=rs(),S===r&&(e.charCodeAt(B)===120?(S=Vt,B++):(S=r,te===0&&pe(_a)),S===r&&(e.charCodeAt(B)===117?(S=Vn,B++):(S=r,te===0&&pe(Ci))))),S}function Tu(){var S,k,J,M,se,ce;return S=B,e.charCodeAt(B)===120?(k=Vt,B++):(k=r,te===0&&pe(_a)),k!==r?(J=B,M=B,se=li(),se!==r?(ce=li(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r),M!==r?J=e.substring(J,B):J=M,J!==r?(Ye=S,S=ll(J)):(B=S,S=r)):(B=S,S=r),S}function El(){var S,k,J,M,se,ce,Dt,Yt;return S=B,e.charCodeAt(B)===117?(k=Vn,B++):(k=r,te===0&&pe(Ci)),k!==r?(J=B,M=B,se=li(),se!==r?(ce=li(),ce!==r?(Dt=li(),Dt!==r?(Yt=li(),Yt!==r?(se=[se,ce,Dt,Yt],M=se):(B=M,M=r)):(B=M,M=r)):(B=M,M=r)):(B=M,M=r),M!==r?J=e.substring(J,B):J=M,J!==r?(Ye=S,S=Jr(J)):(B=S,S=r)):(B=S,S=r),S}function rs(){var S;return kr.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Ia)),S}function li(){var S;return ma.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Iu)),S}function xu(){var S,k;return S=B,e.charCodeAt(B)===46?(k=wr,B++):(k=r,te===0&&pe(Da)),k!==r&&(Ye=S,k=Ih()),S=k,S}function ft(){var S,k,J,M;return te++,S=B,e.charCodeAt(B)===123?(k=s,B++):(k=r,te===0&&pe(Ei)),k!==r?(J=Uh(),e.charCodeAt(B)===125?(M=c,B++):(M=r,te===0&&pe(Ji)),M!==r?S=J:(B=S,S=r)):(B=S,S=r),te--,S===r&&(k=r,te===0&&pe(Ba)),S}function Uh(){var S,k;return S=B,k=Ou(),Ye=S,k=cn(k),S=k,S}function Ou(){var S,k,J,M,se,ce;if(S=B,k=[],J=[],M=B,se=B,te++,Yr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(Wr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r),M!==r)for(;M!==r;)J.push(M),M=B,se=B,te++,Yr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(Wr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);else J=r;for(J===r&&(J=B,e.charCodeAt(B)===123?(M=s,B++):(M=r,te===0&&pe(Ei)),M!==r?(se=Ou(),e.charCodeAt(B)===125?(ce=c,B++):(ce=r,te===0&&pe(Ji)),ce!==r?(M=[M,se,ce],J=M):(B=J,J=r)):(B=J,J=r));J!==r;){if(k.push(J),J=[],M=B,se=B,te++,Yr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(Wr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r),M!==r)for(;M!==r;)J.push(M),M=B,se=B,te++,Yr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(Wr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Pr(),ce!==r?(se=[se,ce],M=se):(B=M,M=r)):(B=M,M=r);else J=r;J===r&&(J=B,e.charCodeAt(B)===123?(M=s,B++):(M=r,te===0&&pe(Ei)),M!==r?(se=Ou(),e.charCodeAt(B)===125?(ce=c,B++):(ce=r,te===0&&pe(Ji)),ce!==r?(M=[M,se,ce],J=M):(B=J,J=r)):(B=J,J=r))}return S=e.substring(S,B),S}function ku(){var S;return At.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(R)),S}function Hh(){var S;return ir.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(O)),S}function jh(){var S;return Je.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(H)),S}function Mh(){var S;return Nr.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Q)),S}function Nu(){var S;return va.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(de)),S}function Fi(){var S;return wa.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(ve)),S}function Lu(){var S;return Aa.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(_e)),S}function yl(){var S;return Ea.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Pe)),S}function Uu(){var S;return Xi.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(_t)),S}function Sl(){var S;return ya.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(zt)),S}function bl(){var S;return Us.test(e.charAt(B))?(S=e.charAt(B),B++):(S=r,te===0&&pe(Dr)),S}function Et(){var S,k;for(S=[],k=Dn(),k===r&&(k=$u(),k===r&&(k=vl()));k!==r;)S.push(k),k=Dn(),k===r&&(k=$u(),k===r&&(k=vl()));return S}function Cl(){var S,k;for(S=[],k=Dn(),k===r&&(k=ts());k!==r;)S.push(k),k=Dn(),k===r&&(k=ts());return S}function ns(){var S,k,J,M;return S=B,k=Et(),e.charCodeAt(B)===59?(J=Ir,B++):(J=r,te===0&&pe(Br)),J!==r?(k=[k,J],S=k):(B=S,S=r),S===r&&(S=B,k=Cl(),J=ln(),J===r&&(J=null),M=$u(),M!==r?(k=[k,J,M],S=k):(B=S,S=r),S===r&&(S=B,k=Et(),J=is(),J!==r?(k=[k,J],S=k):(B=S,S=r))),S}function is(){var S,k;return S=B,te++,e.length>B?(k=e.charAt(B),B++):(k=r,te===0&&pe(Hs)),te--,k===r?S=void 0:(B=S,S=r),S}let Hu=t.reservedWords||[];if(In=a(),In!==r&&B===e.length)return In;throw In!==r&&B{"use strict";var D7=oh(),B7=xA(),$7=kA(),P7=y0(),R7=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],tl={VERSION:P7,RESERVED_WORDS:R7,GrammarError:D7,parser:$7,compiler:B7,generate(e,t){t=t!==void 0?t:{};function r(a){let s={};return Object.keys(a).forEach(c=>{s[c]=a[c].slice()}),s}let n="plugins"in t?t.plugins:[],i={parser:tl.parser,passes:r(tl.compiler.passes),reservedWords:tl.RESERVED_WORDS.slice()};return n.forEach(a=>{a.use(i,t)}),tl.compiler.compile(i.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:i.reservedWords}),i.passes,t)}};NA.exports=tl});var Xl="2.19.56";var Op="schemaVersion",yt="settings",Ut="subs",Tt="collections",gt="files",mn="modules",Ct="artifacts",Sc="rules",ti="tokens",Bg="Auto Generated Sub-Store Backup",Jl="Sub-Store",Ma="Sub-Store Artifacts Repository",qa="#sub-store-cached-resource",Ka="#sub-store-cached-headers-resource",Zl="#sub-store-chr-expiration-time";var Va="#sub-store-cached-script-resource",Ql="#sub-store-csr-expiration-time";var Js=typeof $task<"u",gs=typeof $loon<"u",Zs=typeof $httpClient<"u"&&!gs,Bi=eval('typeof process !== "undefined"'),Pg=typeof $environment<"u"&&$environment["stash-version"],Rg=typeof $rocket<"u",r5=typeof egern=="object",n5=typeof $native<"u",Qs=typeof $Plugins<"u";function $g(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var ef=class{constructor(name="untitled",debug=!1){if(this.name=name,this.debug=debug,this.http=vs(),this.env=Sr(),Bi){let dotenv=eval('require("dotenv")');dotenv.config()}this.node=(()=>{if(Bi){let fs=eval("require('fs')");return{fs}}else return null})(),this.initCache();let delay=(e,t)=>new Promise(function(r){setTimeout(r.bind(null,t),e)});Promise.prototype.delay=async function(e){let t=await this;return await delay(e,t)}}initCache(){if(Js&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(gs||Zs)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),Qs&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),Bi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}$g(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}$g(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(Js&&$prefs.setValueForKey(data,this.name),(gs||Zs)&&$persistentStore.write(data,this.name),Qs&&$Plugins.SubStoreCache.set(this.name,data),Bi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),Zs||gs)return $persistentStore.write(e,t);if(Js)return $prefs.setValueForKey(e,t);if(Bi&&(this.root[t]=e),Qs)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Zs||gs)return $persistentStore.read(e);if(Js)return $prefs.valueForKey(e);if(Bi)return this.root[e];if(Qs)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Zs||gs)return $persistentStore.write(null,e);if(Js)return $prefs.removeValueForKey(e);if(Bi&&delete this.root[e],Qs)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(Js&&$notify(title,subtitle,content,options),Zs&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),gs){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(Bi){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(r=>r).join(` +`)));vs().get({url:e}).then(r=>{console.log(`[Push Service] URL: ${e} +RES: ${r.statusCode} ${r.body}`)}).catch(r=>{console.log(`[Push Service] URL: ${e} +ERROR: ${r}`)})}}Qs&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){Js||gs||Zs||Qs?$done(e):Bi&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function Sr(){return{isQX:Js,isLoon:gs,isSurge:Zs,isNode:Bi,isStash:Pg,isShadowRocket:Rg,isEgern:r5,isLanceX:n5,isGUIforCores:Qs}}function vs(defaultOptions={baseURL:""}){let{isQX,isLoon,isSurge,isNode,isGUIforCores}=Sr(),methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],URL_REGEX=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function send(method,options){options=typeof options=="string"?{url:options}:options;let baseURL=defaultOptions.baseURL;baseURL&&!URL_REGEX.test(options.url||"")&&(options.url=baseURL?baseURL+options.url:options.url),options={...defaultOptions,...options};let timeout=options.timeout,events={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...options.events};if(events.onRequest(method,options),options.node&&isSurge){let e=$environment["surge-build"];e&&parseInt(e)>=2407&&(options["policy-descriptor"]=options.node,delete options.node)}let worker;isQX?worker=$task.fetch({method,url:options.url,headers:options.headers,body:options.body,opts:options.opts}):isLoon||isSurge||isNode?worker=new Promise(async(resolve,reject)=>{let body=options.body,opts=JSON.parse(JSON.stringify(options));if(opts.body=body,opts.timeout=opts.timeout||8e3,opts.timeout&&(opts.timeout++,isNaN(opts.timeout)&&(opts.timeout=8e3),!isNode)){let e="ms";(isSurge||Pg||Rg)&&(opts.timeout=Math.ceil(opts.timeout/1e3),e="s")}if(isNode){let undici=eval("require('undici')"),{ProxyAgent,EnvHttpProxyAgent,request,interceptors}=undici,agentOpts={connect:{rejectUnauthorized:!(opts.strictSSL===!1||opts.insecure===!0)},bodyTimeout:opts.timeout,headersTimeout:opts.timeout};try{let e=new URL(opts.url);(e.username||e.password)&&(opts.headers={...opts.headers||{},Authorization:`Basic ${Buffer.from(`${e.username||""}:${e.password||""}`).toString("base64")}`});let t=await request(opts.url,{...opts,method:method.toUpperCase(),dispatcher:(opts.proxy?new ProxyAgent({...agentOpts,uri:opts.proxy}):new EnvHttpProxyAgent(agentOpts)).compose(interceptors.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});resolve({statusCode:t.statusCode,headers:t.headers,body:opts.encoding===null?await t.body.arrayBuffer():await t.body.text()})}catch(e){reject(e)}}else $httpClient[method.toLowerCase()](opts,(e,t,r)=>{e?reject(e):resolve({statusCode:t.status||t.statusCode,headers:t.headers,body:r})})}):isGUIforCores&&(worker=new Promise(async(e,t)=>{try{let r=await $Plugins.Requests({method,url:options.url,headers:options.headers,body:options.body,options:{Proxy:options.proxy,Timeout:options.timeout?options.timeout/1e3:15}});e({statusCode:r.status,headers:r.headers,body:r.body})}catch(r){t(r)}}));let timeoutid,timer=timeout?new Promise((e,t)=>{timeoutid=setTimeout(()=>(events.onTimeout(),t(`${method} URL: ${options.url} exceeds the timeout ${timeout} ms`)),timeout)}):null;return(timer?Promise.race([timer,worker]).then(e=>(typeof clearTimeout<"u"&&clearTimeout(timeoutid),e)):worker).then(e=>events.onResponse(e))}let http={};return methods.forEach(e=>http[e.toLowerCase()]=t=>send(e,t)),http}var i5=new ef("sub-store"),x=i5;function Wu(){s5()}function s5(){let e=x.read(Op);e||a5(),e!=="2.0"&&x.write("2.0",Op)}function a5(){x.info("Start migrating...");let e=x.read(Ut)||{},t=Object.values(e).map(A=>(A.source=A.source||"remote",p(A),f(A),A));x.write(t,Ut);let r=x.read(Tt)||{},n=Object.values(r).map(A=>(delete A.ua,p(A),f(A),A));x.write(n,Tt);let i=x.read(Ct)||{},a=Object.values(i);x.write(a,Ct);let s=x.read(Sc)||{},c=Object.values(s);x.write(c,Sc);let l=x.read(gt)||{},h=Object.values(l);x.write(h,gt);let g=x.read(ti)||{},E=Object.values(g);x.write(E,ti),delete x.cache.builtin,x.info("Migration complete!");function p(A){let v=A["display-name"];v&&(A.displayName=v,delete A["display-name"])}function f(A){let v=A.process;if(!v||v.length===0)return;let b=[],w={type:"Quick Setting Operator",args:{udp:"DEFAULT",tfo:"DEFAULT",scert:"DEFAULT","vmess aead":"DEFAULT",useless:"DEFAULT"}};for(let y of v)if(y.type){if(y.type==="Useless Filter")w.args.useless="ENABLED";else if(y.type==="Set Property Operator"){let{key:F,value:D}=y.args;switch(F){case"udp":w.args.udp=D?"ENABLED":"DISABLED";break;case"tfo":w.args.tfo=D?"ENABLED":"DISABLED";break;case"skip-cert-verify":w.args.scert=D?"ENABLED":"DISABLED";break;case"aead":w.args["vmess aead"]=D?"ENABLED":"DISABLED";break}}else if(y.type.indexOf("Keyword")===-1)if(y.type==="Flag Operator"){let F=typeof y.args>"u"?!0:y.args;y.args={mode:F?"add":"remove"},b.push(y)}else b.push(y)}b.unshift(w),A.process=b}}function kp({substore:$,port,host}){let{isNode}=Sr(),DEFAULT_HEADERS={"Content-Type":"text/plain;charset=UTF-8","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST,GET,OPTIONS,PATCH,PUT,DELETE","Access-Control-Allow-Headers":"Origin, X-Requested-With, Content-Type, Accept","X-Powered-By":"Sub-Store"};if(isNode){let express_=eval('require("express")'),bodyParser=eval('require("body-parser")'),app=express_(),limit=eval("process.env.SUB_STORE_BODY_JSON_LIMIT")||"1mb";return $.info(`[BACKEND] body JSON limit: ${limit}`),app.use(bodyParser.json({verify:rawBodySaver,limit})),app.use(bodyParser.urlencoded({verify:rawBodySaver,extended:!0})),app.use(bodyParser.raw({verify:rawBodySaver,type:"*/*"})),app.use((e,t,r)=>{t.set(DEFAULT_HEADERS),r()}),app.start=()=>{let e=app.listen(port,host,()=>{let{address:t,port:r}=e.address();$.info(`[BACKEND] listening on ${t}:${r}`)})},app}let handlers=[],METHODS_NAMES=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD'","ALL"],dispatch=(e,t=0)=>{let{method:r,url:n,headers:i,body:a}=e;i=u5(i),/json/i.test(i["content-type"])&&(a=JSON.parse(a)),r=r.toUpperCase();let{path:s,query:c}=c5(n),l=null,h,g=0;for(h=t;hg&&(l=handlers[h],g=E.split("/").length)}if(l){let E=()=>{dispatch(r,n,h)},p={method:r,url:n,path:s,query:c,params:Tg(l.pattern,s),headers:i,body:a},f=Response(),A=l.callback,v=b=>{f.status(500).json({status:"failed",message:`Internal Server Error: ${b}`})};if(A.constructor.name==="AsyncFunction")A(p,f,E).catch(v);else try{A(p,f,E)}catch(b){v(b)}}else Response().status(404).json({status:"failed",message:"ERROR: 404 not found"})},app={};return METHODS_NAMES.forEach(e=>{app[e.toLowerCase()]=(t,r)=>{handlers.push({method:e,pattern:t,callback:r})}}),app.route=e=>{let t={};return METHODS_NAMES.forEach(r=>{t[r.toLowerCase()]=n=>(handlers.push({method:r,pattern:e,callback:n}),t)}),t},app.start=()=>{dispatch($request)},app;function rawBodySaver(e,t,r,n){r&&r.length&&(e.rawBody=r.toString(n||"utf8"))}function Response(){let e=200,{isQX:t,isLoon:r,isSurge:n,isGUIforCores:i}=Sr(),a=DEFAULT_HEADERS,s={200:"HTTP/1.1 200 OK",201:"HTTP/1.1 201 Created",302:"HTTP/1.1 302 Found",307:"HTTP/1.1 307 Temporary Redirect",308:"HTTP/1.1 308 Permanent Redirect",404:"HTTP/1.1 404 Not Found",500:"HTTP/1.1 500 Internal Server Error"};return new class{status(c){return e=c,this}send(c=""){let l={status:t?s[e]:e,body:c,headers:a};t||i?$done(l):(r||n)&&$done({response:l})}end(){this.send()}html(c){this.set("Content-Type","text/html;charset=UTF-8"),this.send(c)}json(c){this.set("Content-Type","application/json;charset=UTF-8"),this.send(JSON.stringify(c))}set(c,l){return a[c]=l,this}}}}function u5(e){let t={};for(let r of Object.keys(e))t[r.toLowerCase()]=e[r];return t}function o5(e,t){if(e instanceof RegExp&&e.test(t))return!0;if(e==="/")return!0;if(e.indexOf(":")===-1){let r=t.split("/"),n=e.split("/");for(let i=0;in[r]===t)}function xg(e,t,r="name"){return e.findIndex(n=>n[r]===t)}function ri(e,t,r="name"){let n=xg(e,t,r);e.splice(n,1)}function di(e,t,r,n="name"){let i=xg(e,t,n);e[i]=r}function Ne(e,t,r){e.status(r||200).json({status:"success",data:t})}function Ue(e,t,r){e.status(r||500).json({status:"failed",error:{code:t.code,type:t.type,message:t.message,details:t.details}})}var Xu=class{constructor(t,r,n){this.code=t,this.message=r,this.details=n}},Tr=class extends Xu{constructor(t,r,n){super(t,r,n),this.type="InternalServerError"}},dt=class extends Xu{constructor(t,r,n){super(t,r,n),this.type="RequestInvalidError"}},fr=class extends Xu{constructor(t,r,n){super(t,r,n),this.type="ResourceNotFoundError"}},tf=class extends Xu{constructor(t,r,n){super(t,r,n),this.type="NetworkError"}};var ff=ei(zg()),O5=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,k5=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function hr(e){return O5.test(e)}function pr(e){return k5.test(e)}function Yg(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function xi(e){return typeof e=="string"&&e.trim().length>0}function xt(e,t){return xi(e)?e:t}function eo(e){return typeof e<"u"&&e!==null}function to(e,t){return eo(e)?e:t}function As(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function N5(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function Fc(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,i]=r.split("-").map(Number);return N5(n,i)}else return Number(r)}function Wg(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function hf(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}function ea(e,t="YYYY-MM-DD_HH-mm-ss"){let r=e instanceof Date?e:new Date(e);if(isNaN(r.getTime()))return"";let n=a=>String(a).padStart(2,"0"),i={YYYY:r.getFullYear(),MM:n(r.getMonth()+1),DD:n(r.getDate()),HH:n(r.getHours()),mm:n(r.getMinutes()),ss:n(r.getSeconds())};return t.replace(/YYYY|MM|DD|HH|mm|ss/g,a=>i[a])}function Yp(e){x.read(Tt)||x.write({},Tt),e.route("/api/collection/:name").get(U5).patch(H5).delete(j5),e.route("/api/collections").get(M5).post(L5).put(q5)}function L5(e,t){let r=e.body;if(x.info(`\u6B63\u5728\u521B\u5EFA\u7EC4\u5408\u8BA2\u9605\uFF1A${r.name}`),/\//.test(r.name)){Ue(t,new dt("INVALID_NAME",`Collection ${r.name} is invalid`));return}let n=x.read(Tt);if(mt(n,r.name)){Ue(t,new dt("DUPLICATE_KEY",`Collection ${r.name} already exists.`));return}n.push(r),x.write(n,Tt),Ne(t,r,201)}function U5(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=x.read(Tt),a=mt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_collection_${r}_${ea(new Date)}.json`)}"`).send(JSON.stringify(a)):Ne(t,a):Ue(t,new fr("SUBSCRIPTION_NOT_FOUND",`Collection ${r} does not exist`,404))}function H5(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=x.read(Tt),a=mt(i,r);if(a){let s={...a,...n};if(x.info(`\u6B63\u5728\u66F4\u65B0\u7EC4\u5408\u8BA2\u9605\uFF1A${r}...`),r!==s.name){let c=x.read(Ct)||[];for(let h of c)h.type==="collection"&&h.source===a.name&&(h.source=s.name);let l=x.read(gt)||[];for(let h of l)h.sourceType==="collection"&&h.sourceName===a.name&&(h.sourceName=s.name);x.write(c,Ct),x.write(l,gt)}di(i,r,s),x.write(i,Tt),Ne(t,s)}else Ue(t,new fr("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}function j5(e,t){let{name:r}=e.params;r=decodeURIComponent(r),x.info(`\u6B63\u5728\u5220\u9664\u7EC4\u5408\u8BA2\u9605\uFF1A${r}`);let n=x.read(Tt);ri(n,r),x.write(n,Tt),Ne(t)}function M5(e,t){let r=x.read(Tt);Ne(t,r)}function q5(e,t){let r=e.body;x.write(r,Tt),Ne(t)}var Wp=0;function xn(e){return V5(K5(G5(e)))}function K5(e){return Y5(W5(z5(e),e.length*8))}function V5(e){try{}catch{Wp=0}for(var t=Wp?"0123456789ABCDEF":"0123456789abcdef",r="",n,i=0;i>>4&15)+t.charAt(n&15);return r}function G5(e){for(var t="",r=-1,n,i;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function z5(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function W5(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,i=-1732584194,a=271733878,s=0;s>16)+(t>>16)+(r>>16);return n<<16|r&65535}function X5(e,t){return e<>>32-t}var Xp=class{constructor(){this.expires=J5(),x.read(Ka)||x.write("{}",Ka);try{this.resourceCache=JSON.parse(x.read(Ka))}catch(t){x.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Ka} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},x.write("{}",Ka)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],x.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){x.write(JSON.stringify(this.resourceCache),Ka)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function J5(){x.read(Zl)||x.write("6e4",Zl);let e=6e4;if(x.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=x.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=x.read(Zl),e}var Ya=new Xp;function ro(e){let t=Object.keys(e),r="",n="";for(let i of t){let a=i.toLowerCase();a==="subscription-userinfo"?r=e[i]:a==="profile-web-page-url"&&(n=e[i])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Oi(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=Sr(),insecure=$arguments?.insecure?x.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=x.read(yt),proxy=customProxy||defaultProxy;x.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=xn(userAgent+url),cached=Ya.get(id),flowInfo;if(!$arguments?.noCache&&cached)x.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=vs();if(flowUrl){x.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},...insecure||{}});flowInfo=t}else{try{x.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},...insecure||{}});flowInfo=ro(t)}catch(t){x.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){x.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},...insecure||{}});flowInfo=ro(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&Ya.set(id,flowInfo)}return flowInfo}function Wa(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(n[1]+n[2]),a=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),s=Number(a[1]+a[2]),c=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),l=c?Number(c[1]+c[2]):void 0,h=e.match(/reset_day=([0-9]+)/),g=h?Number(h[1]):void 0,E=e.match(/app_url=(.*?)\s*?(;|$)/),p=E?decodeURIComponent(E[1]):void 0,f=e.match(/plan_name=(.*?)\s*?(;|$)/),A=f?decodeURIComponent(f[1]):void 0;return{expires:l,total:s,usage:{upload:r,download:i},remainingDays:g,appUrl:p,planName:A}}function _c(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:_c(e/1024,r[++n])}function df(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3a.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let s=new Date(r);for(s.setDate(s.getDate()+n);s31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let i=new Date,a=i.getDate(),s=i.getMonth(),c=i.getFullYear(),l;return t>a?l=0:l=new Date(c,s+1,0).getDate(),l-a+t}}catch(t){x.error(`getRmainingDays failed: ${t.message??t}`)}}function mf(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();if(!t.has(i))try{let s=decodeURIComponent(a);t.set(i,s)}catch{t.set(i,a)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return x.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}x.read(Ut)||x.write({},Ut);function Jp(e){e.get("/api/sub/flow/:name",Z5),e.route("/api/sub/:name").get(e3).patch(t3).delete(r3),e.route("/api/subs").get(n3).post(Q5).put(i3)}async function Z5(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let{url:n}=e.query;n&&(n=decodeURIComponent(n),x.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${n}`));let i=x.read(Ut),a=mt(i,r);if(!a){Ue(t,new fr("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404);return}if(a.source==="local"&&!["localFirst","remoteFirst"].includes(a.mergeSources)){if(a.subUserinfo){let s;if(/^https?:\/\//.test(a.subUserinfo))try{s=await Oi(void 0,void 0,void 0,a.proxy,a.subUserinfo)}catch(c){x.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${a.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(c)}`)}else s=a.subUserinfo;try{Ne(t,{...Wa(s)})}catch(c){x.error(`Failed to parse flow info for local subscription ${r}: ${c.message??c}`),Ue(t,new dt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}else Ue(t,new dt("NO_FLOW_INFO","N/A",`Local subscription ${r} has no flow information!`));return}try{n=`${n||a.url}`.split(/[\r\n]+/).map(h=>h.trim()).filter(h=>h.length)?.[0]||"";let s={},c=n.split("#");if(n=n.split("#")[0],c.length>1)try{s=JSON.parse(decodeURIComponent(c[1]))}catch{for(let g of c[1].split("&")){let E=g.split("=")[0],p=g.split("=")[1];s[E]=p==null||p===""?!0:decodeURIComponent(p)}}if(s.noFlow){Ue(t,new dt("NO_FLOW_INFO","N/A",`Subscription ${r}: noFlow`));return}let l=await Oi(s?.insecure?`${n}#insecure`:n,s.flowUserAgent,void 0,a.proxy,s.flowUrl);if(!l&&!a.subUserinfo){Ue(t,new Tr("NO_FLOW_INFO","No flow info","Failed to fetch flow headers"));return}try{let h=gf({resetDay:s.resetDay,startDate:s.startDate,cycleDays:s.cycleDays}),g;if(/^https?:\/\//.test(a.subUserinfo))try{g=await Oi(void 0,void 0,void 0,a.proxy,a.subUserinfo)}catch(p){x.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${a.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(p)}`)}else g=a.subUserinfo;let E={...Wa([g,l].filter(p=>p).join("; "))};h!=null&&(E.remainingDays=h),Ne(t,E)}catch(h){x.error(`Failed to parse flow info for local subscription ${r}: ${h.message??h}`),Ue(t,new dt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}catch{Ue(t,new tf("URL_NOT_ACCESSIBLE",`The URL for subscription ${r} is inaccessible.`))}}function Q5(e,t){let r=e.body;if(x.info(`\u6B63\u5728\u521B\u5EFA\u8BA2\u9605\uFF1A ${r.name}`),/\//.test(r.name)){Ue(t,new dt("INVALID_NAME",`Subscription ${r.name} is invalid`));return}let n=x.read(Ut);if(mt(n,r.name)){Ue(t,new dt("DUPLICATE_KEY",`Subscription ${r.name} already exists.`));return}n.push(r),x.write(n,Ut),Ne(t,r,201)}function e3(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=x.read(Ut),a=mt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_subscription_${r}_${ea(new Date)}.json`)}"`).send(JSON.stringify(a)):Ne(t,a):Ue(t,new fr("SUBSCRIPTION_NOT_FOUND",`Subscription ${r} does not exist`,404))}function t3(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=x.read(Ut),a=mt(i,r);if(a){let s={...a,...n};if(x.info(`\u6B63\u5728\u66F4\u65B0\u8BA2\u9605\uFF1A ${r}`),r!==n.name){let c=x.read(Tt)||[];for(let g of c){let E=g.subscriptions.indexOf(r);E!==-1&&(g.subscriptions[E]=n.name)}let l=x.read(Ct)||[];for(let g of l)g.type==="subscription"&&g.source==r&&(g.source=n.name);let h=x.read(gt)||[];for(let g of h)g.sourceType==="subscription"&&g.sourceName==r&&(g.sourceName=n.name);x.write(c,Tt),x.write(l,Ct),x.write(h,gt)}di(i,r,s),x.write(i,Ut),Ne(t,s)}else Ue(t,new fr("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}function r3(e,t){let{name:r}=e.params;r=decodeURIComponent(r),x.info(`\u5220\u9664\u8BA2\u9605\uFF1A${r}...`);let n=x.read(Ut);ri(n,r),x.write(n,Ut);let i=x.read(Tt);for(let a of i)a.subscriptions=a.subscriptions.filter(s=>s!==r);x.write(i,Tt),Ne(t)}function n3(e,t){let r=x.read(Ut);Ne(t,r)}function i3(e,t){let r=e.body;x.write(r,Ut),Ne(t)}var ni=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=Sr(),{defaultProxy,defaultTimeout:timeout}=x.read(yt),proxy=defaultProxy;x.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=vs({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=vs({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);x.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((a,s)=>(a[s.path]=s,a),{}));let n=[],i={...t.files};return Object.keys(r).map(a=>{i[a]?r[a].content==null||r[a].content===""?(delete i[a],n.push({action:"delete",file_path:a})):(i[a]=r[a],n.push({action:"update",file_path:a,content:r[a].content})):r[a].content==null||r[a].content===""?(delete i[a],delete r[a]):(i[a]=r[a],n.push({action:"create",file_path:a,content:r[a].content}))}),this.syncPlatform==="gitlab"?Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(i).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[i,a])=>(a.content!==null&&a.content!==""&&(n[i]=a),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(i=>JSON.parse(i.body)),n=r[e].raw_url;return await this.http.get(n).then(i=>i.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};function Zp(e){x.read(Ct)||x.write({},Ct),e.get("/api/artifacts/restore",s3),e.route("/api/artifacts").get(a3).post(c3).put(u3),e.route("/api/artifact/:name").get(o3).patch(l3).delete(f3)}async function s3(e,t){x.info("\u5F00\u59CB\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E...");try{let{gistToken:r,syncPlatform:n}=x.read(yt);if(!r)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=new ni({token:r,key:Ma,syncPlatform:n});try{let a=await i.locate();if(!a?.files)throw new Error("\u627E\u4E0D\u5230 Sub-Store Gist \u6587\u4EF6\u5217\u8868");let s=x.read(Ct),c=[];Object.keys(a.files).map(l=>{let h=a.files[l]?.filename;if(h)if(encodeURIComponent(h)!==h)x.error(`\u6587\u4EF6\u540D ${h} \u672A\u7F16\u7801 \u4E0D\u4FDD\u5B58`),c.push(h);else{let g=mt(s,h);g?di(s,h,{...g,url:a.files[l]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")}):s.push({name:`${h}`,url:a.files[l]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")})}}),x.write(s,Ct)}catch(a){throw x.error(`\u67E5\u627E Sub-Store Gist \u65F6\u53D1\u751F\u9519\u8BEF: ${a.message??a}`),a}Ne(t)}catch(r){x.error(`\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),Ue(t,new Tr("FAILED_TO_RESTORE_ARTIFACTS","Failed to restore artifacts",`Reason: ${r.message??r}`))}}function a3(e,t){let r=x.read(Ct);Ne(t,r)}function u3(e,t){let r=e.body;x.write(r,Ct),Ne(t)}async function o3(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=x.read(Ct),i=mt(n,r);i?Ne(t,i):Ue(t,new fr("RESOURCE_NOT_FOUND",`Artifact ${r} does not exist!`),404)}function c3(e,t){let r=e.body;if(!Xg(r.name)){Ue(t,new dt("INVALID_ARTIFACT_NAME",`Artifact name ${r.name} is invalid.`));return}x.info(`\u6B63\u5728\u521B\u5EFA\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r.name}`);let n=x.read(Ct);mt(n,r.name)?Ue(t,new dt("DUPLICATE_KEY",`Artifact ${r.name} already exists.`)):(n.push(r),x.write(n,Ct),Ne(t,r,201))}function l3(e,t){let r=x.read(Ct),n=e.params.name;n=decodeURIComponent(n);let i=mt(r,n);if(i){x.info(`\u6B63\u5728\u66F4\u65B0\u8FDC\u7A0B\u914D\u7F6E\uFF1A${i.name}`);let a={...i,...e.body};if(!Xg(a.name)){Ue(t,new dt("INVALID_ARTIFACT_NAME",`Artifact name ${a.name} is invalid.`));return}di(r,n,a),x.write(r,Ct),Ne(t,a)}else Ue(t,new dt("DUPLICATE_KEY",`Artifact ${n} already exists.`))}async function f3(e,t){let{name:r}=e.params;r=decodeURIComponent(r),x.info(`\u6B63\u5728\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}`);let n=x.read(Ct);try{let i=mt(n,r);if(!i)throw new Error(`\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\u4E0D\u5B58\u5728\uFF01`);if(i.updated){let a={};a[encodeURIComponent(i.name)]={content:""},encodeURIComponent(i.name)!==i.name&&(a[i.name]={content:""});try{await Jg(a)}catch(s){x.error(`Function syncToGist: ${r} : ${s}`)}}ri(n,r),x.write(n,Ct),Ne(t)}catch(i){x.error(`\u65E0\u6CD5\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\uFF0C\u539F\u56E0\uFF1A${i}`),Ue(t,new Tr("FAILED_TO_DELETE_ARTIFACT",`Failed to delete artifact ${r}`,`Reason: ${i}`))}}function Xg(e){return/^[a-zA-Z0-9._-]*$/.test(e)}async function Jg(e){let{gistToken:t,syncPlatform:r}=x.read(yt);if(!t)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=await new ni({token:t,key:Ma,syncPlatform:r}).upload(e),a={};try{a=JSON.parse(i.body)}catch{}let s=a?.html_url??a?.web_url,c=x.read(yt);return s?(x.log(`\u540C\u6B65 Gist \u540E, \u627E\u5230 Sub-Store Gist: ${s}`),c.artifactStore=s,c.artifactStoreStatus="VALID"):(x.error("\u540C\u6B65 Gist \u540E, \u627E\u4E0D\u5230 Sub-Store Gist"),c.artifactStoreStatus="NOT FOUND"),x.write(c,yt),i}function Qp(e){x.read(yt)||x.write({},yt),e.route("/api/settings").get(h3).patch(p3)}async function h3(e,t){try{let r=x.read(yt);r||(r={},x.write(r,yt)),r.avatarUrl||await vf(),r.artifactStore||await wf(),Ne(t,r)}catch(r){x.error(`Failed to get settings: ${r.message??r}`),Ue(t,new Tr("FAILED_TO_GET_SETTINGS","Failed to get settings",`Reason: ${r.message??r}`))}}async function p3(e,t){try{let n={...x.read(yt),...e.body};x.write(n,yt),await vf(),await wf(),Ne(t,n)}catch(r){x.error(`Failed to update settings: ${r.message??r}`),Ue(t,new Tr("FAILED_TO_UPDATE_SETTINGS","Failed to update settings",`Reason: ${r.message??r}`))}}async function vf(){let e=x.read(yt),{githubUser:t,syncPlatform:r}=e;if(t)if(r==="gitlab")try{let n=await x.http.get({url:`https://gitlab.com/api/v4/users?username=${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n[0].avatar_url.replace(/(\?|&)s=\d+(&|$)/,"$1s=160$2"),x.write(e,yt)}catch(n){x.error(`Failed to fetch GitLab avatar for User: ${t}. Reason: ${n.message??n}`)}else try{let n=await x.http.get({url:`https://api.github.com/users/${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n.avatar_url,x.write(e,yt)}catch(n){x.error(`Failed to fetch GitHub avatar for User: ${t}. Reason: ${n.message??n}`)}}async function wf(){x.log("Updating artifact store");let e=x.read(yt),{gistToken:t,syncPlatform:r}=e;if(t){let n=new ni({token:t,key:Ma,syncPlatform:r});try{let i=await n.locate(),a=i?.html_url??i?.web_url;a?(x.log(`\u627E\u5230 Sub-Store Gist: ${a}`),e.artifactStore=a,e.artifactStoreStatus="VALID"):(x.error(`\u627E\u4E0D\u5230 Sub-Store Gist (${Ma})`),e.artifactStoreStatus="NOT FOUND")}catch(i){x.error(`\u67E5\u627E Sub-Store Gist (${Ma}) \u65F6\u53D1\u751F\u9519\u8BEF: ${i.message??i}`),e.artifactStoreStatus="ERROR"}x.write(e,yt)}}var ed=class{constructor(t){this.expires=t,x.read(qa)||x.write("{}",qa);try{this.resourceCache=JSON.parse(x.read(qa))}catch(r){x.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${qa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${r?.message??r}`),this.resourceCache={},x.write("{}",qa)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],x.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){x.write(JSON.stringify(this.resourceCache),qa)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}},ur=new ed(36e5);var td=class{constructor(){this.expires=g3(),x.read(Va)||x.write("{}",Va);try{this.resourceCache=JSON.parse(x.read(Va))}catch(t){x.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Va} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},x.write("{}",Va)}this._cleanup()}_cleanup(t,r){let n=!1;Object.entries(this.resourceCache).forEach(i=>{let[a,s]=i;s.time||(delete this.resourceCache[a],x.delete(`#${a}`),n=!0),(new Date().getTime()-s.time>(r??this.expires)||t&&a.startsWith(t))&&(delete this.resourceCache[a],n=!0)}),n&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){x.write(JSON.stringify(this.resourceCache),Va)}get(t,r,n){let i=this.resourceCache[t]&&this.resourceCache[t].time;if(i){if(new Date().getTime()-i<=(r??this.expires))return this.resourceCache[t].data;n&&(delete this.resourceCache[t],this._persist())}return null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function g3(){x.read(Ql)||x.write("1728e5",Ql);let e=1728e5;if(x.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=x.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=x.read(Ql),e}var Ic=new td;var{isNode:Zg,isQX:m3,isLoon:v3,isSurge:w3,isStash:A3,isShadowRocket:E3,isLanceX:y3,isEgern:S3,isGUIforCores:b3}=Sr(),ki="Node";Zg&&(ki="Node");m3&&(ki="QX");v3&&(ki="Loon");w3&&(ki="Surge");A3&&(ki="Stash");E3&&(ki="ShadowRocket");S3&&(ki="Egern");y3&&(ki="LanceX");b3&&(ki="GUI.for.Cores");var Xa={},C3={};try{if(typeof $environment<"u"&&(Xa.env=$environment),typeof $loon<"u"&&(Xa.loon=$loon),typeof $script<"u"&&(Xa.script=$script),typeof $Plugin<"u"&&(Xa.plugin=$Plugin),Zg){Xa.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(Xa.node.env[e]=env[e])}}catch(e){}var ra={backend:ki,version:Xl,feature:C3,meta:Xa};function rd(e){e.get("/api/utils/env",Qg),e.get("/api/utils/backup",I3),e.get("/api/utils/refresh",F3),e.route("/api/storage").get((t,r)=>{r.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_data_${ea(new Date)}.json`)}"`).send(x.env.isNode?JSON.stringify(x.cache):x.read("#sub-store"))}).post((t,r)=>{let{content:n}=t.body;x.write(n,"#sub-store"),x.env.isNode&&(x.cache=JSON.parse(n),x.persistCache()),Wu(),Ne(r)}),Sr().isNode?e.get("/",Qg):e.get("/",async(t,r)=>{r.set("location","https://sub-store.vercel.app/").status(302).end()}),Sr().isQX&&e.options("/",async(t,r)=>{r.status(200).end()}),e.all("/",(t,r)=>{r.send("Hello from sub-store, made with \u2764\uFE0F by Peng-YM")})}function Qg(e,t){e.query.share&&(ra.feature.share=!0),t.set("Content-Type","application/json;charset=UTF-8").send(JSON.stringify({status:"success",data:{guide:"\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F \u60A8\u5F53\u524D\u770B\u5230\u7684\u662F\u540E\u7AEF\u7684\u54CD\u5E94. \u82E5\u60F3\u914D\u5408\u524D\u7AEF\u4F7F\u7528, \u53EF\u8BBF\u95EE\u5B98\u65B9\u524D\u7AEF https://sub-store.vercel.app \u540E\u81EA\u884C\u914D\u7F6E\u540E\u7AEF\u5730\u5740, \u6216\u4E00\u952E\u914D\u7F6E\u540E\u7AEF https://sub-store.vercel.app?api=https://a.com/xxx (\u5047\u8BBE https://a.com \u662F\u4F60\u540E\u7AEF\u7684\u57DF\u540D, /xxx \u662F\u81EA\u5B9A\u4E49\u8DEF\u5F84). \u9700\u6CE8\u610F HTTPS \u524D\u7AEF\u65E0\u6CD5\u8BF7\u6C42\u975E\u672C\u5730\u7684 HTTP \u540E\u7AEF(\u90E8\u5206\u6D4F\u89C8\u5668\u4E0A\u4E5F\u65E0\u6CD5\u8BBF\u95EE\u672C\u5730 HTTP \u540E\u7AEF). \u8BF7\u914D\u7F6E\u53CD\u4EE3\u6216\u5728\u5C40\u57DF\u7F51\u81EA\u5EFA HTTP \u524D\u7AEF. \u5982\u679C\u8FD8\u6709\u95EE\u9898, \u53EF\u67E5\u770B\u6B64\u6392\u67E5\u8BF4\u660E: https://t.me/zhetengsha/1068",...ra}},null,2))}async function F3(e,t){await vf(),await wf(),ur.revokeAll(),Ic.revokeAll(),Ya.revokeAll(),Ne(t)}async function _3(e){let{gistToken:t,syncPlatform:r}=x.read(yt);if(!t)throw new Error("GitHub Token is required for backup!");let n=new ni({token:t,key:Bg,syncPlatform:r}),i,a=x.read(yt),s=a.syncTime;switch(e){case"upload":try{if(i=x.read("#sub-store"),x.env.isNode&&(i=JSON.stringify(x.cache,null," ")),x.info("\u4E0B\u8F7D\u5907\u4EFD, \u4E0E\u672C\u5730\u5185\u5BB9\u5BF9\u6BD4..."),await n.download(Jl)===i){x.info("\u5185\u5BB9\u4E00\u81F4, \u65E0\u9700\u4E0A\u4F20\u5907\u4EFD");return}}catch(c){x.error(`${c.message??c}`)}a.syncTime=new Date().getTime(),x.write(a,yt),i=x.read("#sub-store"),x.env.isNode&&(i=JSON.stringify(x.cache,null," ")),x.info("\u4E0A\u4F20\u5907\u4EFD\u4E2D...");try{await n.upload({[Jl]:{content:i}}),x.info("\u4E0A\u4F20\u5907\u4EFD\u5B8C\u6210")}catch(c){throw a.syncTime=s,x.write(a,yt),c}break;case"download":x.info("\u8FD8\u539F\u5907\u4EFD\u4E2D..."),i=await n.download(Jl);try{if(Object.keys(JSON.parse(i).settings).length===0)throw new Error("\u5907\u4EFD\u6587\u4EF6\u5E94\u8BE5\u81F3\u5C11\u5305\u542B settings \u5B57\u6BB5")}catch(c){throw x.error(`Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F +Reason: ${c.message??c}`),new Error("Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F")}x.write(i,"#sub-store"),x.env.isNode&&(i=JSON.parse(i),x.cache=i,x.persistCache()),x.info("perform migration after restoring from gist..."),Wu(),x.info("migration completed"),x.info("\u8FD8\u539F\u5907\u4EFD\u5B8C\u6210");break}}async function I3(e,t){let{action:r}=e.query,{gistToken:n}=x.read(yt);if(!n)Ue(t,new dt("GIST_TOKEN_NOT_FOUND","GitHub Token is required for backup!"));else try{await _3(r),Ne(t)}catch(i){x.error(`Failed to ${r} gist data. +Reason: ${i.message??i}`),Ue(t,new Tr("BACKUP_FAILED",`Failed to ${r} gist data!`,`Reason: ${i.message??i}`))}}function nd(e){e.post("/api/sort/subs",D3),e.post("/api/sort/collections",B3),e.post("/api/sort/artifacts",$3),e.post("/api/sort/files",P3)}function D3(e,t){let r=e.body,n=x.read(Ut);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),x.write(n,Ut),Ne(t,n)}function B3(e,t){let r=e.body,n=x.read(Tt);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),x.write(n,Tt),Ne(t,n)}function $3(e,t){let r=e.body,n=x.read(Ct);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),x.write(n,Ct),Ne(t,n)}function P3(e,t){let r=e.body,n=x.read(gt);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),x.write(n,gt),Ne(t,n)}var Oc=ei(Vv());function zv(e,t,...r){try{return e(t,...r)}catch{return e(Yv(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function xc(e,...t){return zv(Oc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function o_(e,...t){return zv(Oc.default.load,JSON.parse(JSON.stringify(e)),...t)}function Gv(e,...t){return Oc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function Yv(e,...t){return Oc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var iu={safeLoad:xc,load:o_,safeDump:Gv,dump:Yv,parse:xc,stringify:Gv};var e2="3.7.7",c_=e2,fo=typeof Buffer=="function",Wv=typeof TextDecoder=="function"?new TextDecoder:void 0,Xv=typeof TextEncoder=="function"?new TextEncoder:void 0,l_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kc=Array.prototype.slice.call(l_),$f=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(kc),f_=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,xr=String.fromCharCode.bind(String),Jv=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),t2=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),r2=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),n2=e=>{let t,r,n,i,a="",s=e.length%3;for(let c=0;c255||(n=e.charCodeAt(c++))>255||(i=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|i,a+=kc[t>>18&63]+kc[t>>12&63]+kc[t>>6&63]+kc[t&63]}return s?a.slice(0,s-3)+"===".substring(s):a},Ad=typeof btoa=="function"?e=>btoa(e):fo?e=>Buffer.from(e,"binary").toString("base64"):n2,vd=fo?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,i=e.length;nt?t2(vd(e)):vd(e),h_=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?xr(192|t>>>6)+xr(128|t&63):xr(224|t>>>12&15)+xr(128|t>>>6&63)+xr(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return xr(240|t>>>18&7)+xr(128|t>>>12&63)+xr(128|t>>>6&63)+xr(128|t&63)}},p_=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,i2=e=>e.replace(p_,h_),Zv=fo?e=>Buffer.from(e,"utf8").toString("base64"):Xv?e=>vd(Xv.encode(e)):e=>Ad(i2(e)),lo=(e,t=!1)=>t?t2(Zv(e)):Zv(e),Qv=e=>lo(e,!0),d_=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,g_=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return xr((r>>>10)+55296)+xr((r&1023)+56320);case 3:return xr((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return xr((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},s2=e=>e.replace(d_,g_),a2=e=>{if(e=e.replace(/\s+/g,""),!f_.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,i;for(let a=0;a>16&255):i===64?xr(t>>16&255,t>>8&255):xr(t>>16&255,t>>8&255,t&255);return r},Ed=typeof atob=="function"?e=>atob(r2(e)):fo?e=>Buffer.from(e,"base64").toString("binary"):a2,u2=fo?e=>Jv(Buffer.from(e,"base64")):e=>Jv(Ed(e).split("").map(t=>t.charCodeAt(0))),o2=e=>u2(c2(e)),m_=fo?e=>Buffer.from(e,"base64").toString("utf8"):Wv?e=>Wv.decode(u2(e)):e=>s2(Ed(e)),c2=e=>r2(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),wd=e=>m_(c2(e)),v_=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},l2=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),f2=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,l2(r));e("fromBase64",function(){return wd(this)}),e("toBase64",function(t){return lo(this,t)}),e("toBase64URI",function(){return lo(this,!0)}),e("toBase64URL",function(){return lo(this,!0)}),e("toUint8Array",function(){return o2(this)})},h2=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,l2(r));e("toBase64",function(t){return Pf(this,t)}),e("toBase64URI",function(){return Pf(this,!0)}),e("toBase64URL",function(){return Pf(this,!0)})},w_=()=>{f2(),h2()},ht={version:e2,VERSION:c_,atob:Ed,atobPolyfill:a2,btoa:Ad,btoaPolyfill:n2,fromBase64:wd,toBase64:lo,encode:lo,encodeURI:Qv,encodeURL:Qv,utob:i2,btou:s2,decode:wd,isValid:v_,fromUint8Array:Pf,toUint8Array:o2,extendString:f2,extendUint8Array:h2,extendBuiltins:w_};function A_(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function E_(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(i){return!/^\w+:\/\/\w+/im.test(i)&&t.some(a=>i.indexOf(a)!==-1)},parse:function(i){let a=ht.decode(i);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(a)?a:(x.error("Base64 Pre-processor error: decoded line does not start with protocol"),i)}}}function y_(){return{name:"Fallback Base64 Pre-processor",test:function(n){return!0},parse:function(n){let i=ht.decode(n);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(i)?i:(x.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),n)}}}function S_(){return{name:"Clash Pre-processor",test:function(n){if(!/proxies/.test(n))return!1;let i=xc(n);return i.proxies&&Array.isArray(i.proxies)},parse:function(n,i){let a=n.replace(/short-id:([ \t]*[^#\n,}]*)/g,(l,h)=>{let g=h.trim();return!g||g===""?'short-id: ""':/^(['"]).*\1$/.test(g)?`short-id: ${g}`:["null"].includes(g)?`short-id: ${g}`:`short-id: "${g}"`}),{proxies:s,"global-client-fingerprint":c}=xc(a);return(i?`proxies: +`:"")+s.map(l=>(c&&!l["client-fingerprint"]&&(l["client-fingerprint"]=c),`${i?" - ":""}${JSON.stringify(l)} +`)).join("")}}}function b_(){return{name:"SSD Pre-processor",test:function(n){return n.indexOf("ssd://")===0},parse:function(n){let i=[],a=JSON.parse(ht.decode(n.split("ssd://")[1])),s=a.port,c=a.encryption,l=a.password,h=a.servers;for(let g=0;ge.name==="Clash Pre-processor"),yd=new Map;async function On(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=Sr(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=x.read(yt),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;x.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=xn(userAgent+url);$arguments?.cacheKey===!0&&(x.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=x.read(customCacheKey),t=ur.get(id);if(!noCache&&!$arguments?.noCache&&t)return x.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){x.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await On(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){x.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),x.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),ur.set(id,e)}}else x.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),On(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{x.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&yd.has(id))return yd.get(id);let http=vs({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=ur.get(id);if(!noCache&&!$arguments?.noCache&&cached)x.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(x.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),x.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;x.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?As(proxy):{},...e||{}});if(x.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let a=ro(r);a&&Ya.set(id,a)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{p2.test(t)&&(t=p2.parse(t,!0))}catch(a){x.error(`Clash Pre-processor error: ${a}`)}let i=!0;if(cacheThreshold){let a=t.length/1024;a>cacheThreshold&&(x.info(`\u8D44\u6E90\u5927\u5C0F ${a.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),i=!1)}i&&(ur.set(id,t),customCacheKey&&(x.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),x.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=x.read(customCacheKey);if(r)return x.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await df(Wa(await Oi(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||yd.set(id,result),result}async function d2(url,file){let undici=eval("require('undici')"),fs=eval("require('fs')"),{pipeline}=eval("require('stream/promises')"),{Agent,interceptors,request}=undici;x.info(`Downloading file... +URL: ${url} +File: ${file}`);let{body,statusCode}=await request(url,{dispatcher:new Agent().compose(interceptors.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(statusCode!==200)throw new Error(`Failed to download file from ${url}`);let fileStream=fs.createWriteStream(file);return await pipeline(body,fileStream),x.info(`File downloaded from ${url} to ${file}`),file}var mh=ei(kf());var Wd=ei(iw());function W9(e){let t=Wd.default.pemtohex(e);return Wd.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var sw={generateFingerprint:W9};function Xf(e,t){return[...Array(e).keys()].map(()=>t)}var Xd={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function Co(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(a=>RegExp(`${a}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(Xd))if(Xd[n].some(a=>RegExp(`(^|[^a-zA-Z])${a}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function aw(e){return Xd[Co(e)]?.[0]}function qc(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var Jf=class{constructor({country,asn}={}){if(x.env.isNode){let Reader=eval('require("@maxmind/geoip2-node")').Reader,fs=eval("require('fs')"),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}};var eh=ei(vw()),ww=ei(kf());async function _o({url:e,domain:t,type:r="A",timeout:n,edns:i}){let a=eh.default.encode({type:"query",id:0,flags:eh.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:i,sourcePrefixLength:hr(i)?24:56,scopePrefixLength:0}]}]}),s=await x.http.get({url:`${e}?dns=${a.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return eh.default.decode(ww.Buffer.from(x.env.isQX?s.bodyBytes:s.body))}var o0=ei(a0());function nD(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Gc(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function Ew(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(nD(r[n]))if(n.endsWith("!")){let i=Gc(n.slice(0,-1));e[i]=r[n]}else{let i=Gc(n);e[i]||Object.assign(e,{[i]:{}}),Ew(e[i],r[i])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let i=Gc(n.slice(1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...r[n],...e[i]]}else if(n.endsWith("+")){let i=Gc(n.slice(0,-1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...e[i],...r[n]]}else{let i=Gc(n);Object.assign(e,{[i]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function iD({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>th(e,r))}}function th(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>th(r,t));case"OR":return e.child.some(r=>th(r,t));case"NOT":return!th(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function sD(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let i=Cw().func(r);r=r.filter((a,s)=>i[s]&&a.port>0&&a.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function aD({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=qc(n.name);else{let i=Co(n.name);n.name=qc(n.name),n.name=i+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function uD(e){let{action:t,template:r,link:n,position:i}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:a=>{if(t==="delete"){let s={};return a.filter(c=>s[c.name]?!1:(s[c.name]=!0,!0))}else if(t==="rename"){let s=r.split(" "),c={},l=0;a.forEach(g=>{typeof c[g.name]>"u"?c[g.name]=1:c[g.name]++,l=Math.max(c[g.name].toString().length,l)});let h={};return a.map(g=>{if(c[g.name]>1){typeof h[g.name]>"u"&&(h[g.name]=1);let E="",p=h[g.name]++,f=0;for(;p>0;)E=s[p%10]+E,p=parseInt(p/10),f++;for(;f++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let i=r.name>n.name?1:-1;return i*=e==="desc"?-1:1,i});case"random":return AD(t);default:throw new Error("Unknown sort option: "+e)}}}}function cD(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(i=>c0(i)),n.sort((i,a)=>{let s=Aw(r,i.name),c=Aw(r,a.name);return s&&!c?-1:c&&!s?1:s&&c?st.map(r=>{for(let{expr:n,now:i}of e)r.name=r.name.replace(c0(n,"g"),i).trim();return r})}}function lD(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:yw(t).func}}function fD(e,t,r,n,i){return{name:"Script Operator",func:async a=>{let s=a;if(s?.$file?.type==="mihomoProfile")try{let c=iu.safeLoad(e),l;if(s?.$content)try{l=iu.safeLoad(s?.$content)}catch(h){x.error(h.message??h)}if(typeof c!="object")throw new Error("patch is not an object");return s.$content=rr.yaml.safeDump(Ew(l||(s?.$file?.sourceType==="none"?{}:{proxies:await la({type:s?.$file?.sourceType||"collection",name:s?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),c)),s}catch{}return await async function(){s=rh("operator",e,r,i)(a,t,{source:n,...ra})}(),s},nodeFunc:async a=>{let s=a;return await async function(){s=rh("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,i)(a,t,{source:n,...ra})}(),s}}}function hD(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let i=parseInt(n[3],16),a=parseInt(n[4],16),s=i>>8,c=i&255,l=a>>8,h=a&255;if(t=`${s}.${c}.${l}.${h}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!hr(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){x.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var Sw={Custom:async function(e,t,r,n,i,a){let s=xn(`CUSTOM:${a}:${e}:${t}`),c=ur.get(s);if(!r&&c)return c;let l=t==="IPv6"?"AAAA":"A",h=await _o({url:a,domain:e,type:l,timeout:n,edns:i}),{answers:g}=h;if(!Array.isArray(g)||g.length===0)throw new Error("No answers");let E=g.filter(p=>p?.type===l).map(p=>p?.data).filter(p=>p);if(E.length===0)throw new Error("No answers");return ur.set(s,E),E},Google:async function(e,t,r,n,i){let a=xn(`GOOGLE:${e}:${t}`),s=ur.get(a);if(!r&&s)return s;let c=t==="IPv6"?"AAAA":"A",l=await _o({url:"https://8.8.4.4/dns-query",domain:e,type:c,timeout:n,edns:i}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let g=h.filter(E=>E?.type===c).map(E=>E?.data).filter(E=>E);if(g.length===0)throw new Error("No answers");return ur.set(a,g),g},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let i=xn(`IP-API:${e}`),a=ur.get(i);if(!r&&a)return a;let s=await x.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),c=JSON.parse(s.body);if(c.status!=="success")throw new Error(`Status is ${c.status}`);if(!c.query||c.query===0)throw new Error("No answers");let l=[c.query];if(l.length===0)throw new Error("No answers");return ur.set(i,l),l},Cloudflare:async function(e,t,r,n,i){let a=xn(`CLOUDFLARE:${e}:${t}`),s=ur.get(a);if(!r&&s)return s;let c=t==="IPv6"?"AAAA":"A",l=await _o({url:"https://1.0.0.1/dns-query",domain:e,type:c,timeout:n,edns:i}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let g=h.filter(E=>E?.type===c).map(E=>E?.data).filter(E=>E);if(g.length===0)throw new Error("No answers");return ur.set(a,g),g},Ali:async function(e,t,r,n,i){let a=xn(`ALI:${e}:${t}`),s=ur.get(a);if(!r&&s)return s;let c=await x.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${i}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),l=JSON.parse(c.body);if(!Array.isArray(l)||l.length===0)throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return ur.set(a,h),h},Tencent:async function(e,t,r,n,i){let a=xn(`TENCENT:${e}:${t}`),s=ur.get(a);if(!r&&s)return s;let l=(await x.http.get({url:`http://119.28.28.28/d?ip=${i}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(g=>g.split(",")[0]);if(l.length===0||String(l)==="0")throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return ur.set(a,h),h}};function bw({provider:e,type:t,filter:r,cache:n,url:i,timeout:a,edns:s}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:c}=x.read(yt),l=a||c||8e3,h=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",g=Sw[e];if(!g)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let E=s||"223.6.6.6";if(!lu(E))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return x.info(`Domain Resolver: [${t}] ${e} ${E||""} ${i||""}`),{name:"Resolve Domain Operator",func:async p=>{p.forEach((w,y)=>{!w["_no-resolve"]&&w["no-resolve"]&&(p[y]["_no-resolve"]=w["no-resolve"])});let f={},A=15,v=[...new Set(p.filter(w=>!lu(w.server)&&!w["_no-resolve"]).map(w=>w.server))],b=Math.ceil(v.length/A);for(let w=0;w{f[F]=D,x.info(`Successfully resolved domain: ${F} \u279F ${D}`)}).catch(D=>{x.error(`Failed to resolve domain: ${F} with resolver [${e}]: ${D}`)}));await Promise.all(y)}return p.forEach(w=>{if(!w["_no-resolve"])if(f[w.server]){w._resolved_ips=f[w.server];let y=Array.isArray(f[w.server])?f[w.server][Math.floor(Math.random()*f[w.server].length)]:f[w.server];if(h==="IPv6"&&pr(y)){try{y=new ff.Address6(y).correctForm()}catch(F){x.error(`Failed to parse IPv6 address: ${y}: ${F}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(y)){w._IP4P=y;let{server:F,port:D}=hD(y);F&&D?(w._domain=w.server,w.server=F,w.port=D,w.resolved=!0,w._IPv4=w.server,lu(w._IP)||(w._IP=w.server)):w.resolved||(w.resolved=!1)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${h}`]=w.server,lu(w._IP)||(w._IP=w.server)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${h}`]=w.server,lu(w._IP)||(w._IP=w.server)}else w.resolved||(w.resolved=!1)}),p.filter(w=>r==="removeFailed"?lu(w.server)||w["_no-resolve"]||w.resolved:r==="IPOnly"?lu(w.server):r==="IPv4Only"?hr(w.server):r==="IPv6Only"?pr(w.server):!0)}}}function lu(e){return hr(e)||pr(e)}bw.resolver=Sw;function u0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function Cw(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!u0(t.cipher))return!1;if(t.password&&!u0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!u0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function pD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:i=>i.map(a=>{let s=Co(a.name),c=t.some(l=>n[l]===s);return r?c:!c})}}function dD({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let i=e.some(a=>c0(a).test(n.name));return t?i:!i})}}function c0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function gD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(i=>{let a=t.some(s=>i.type===s);return r?a:!a})}}function mD(e,t,r,n,i){return{name:"Script Filter",func:async a=>{let s=Xf(a.length,!0);return await async function(){s=rh("filter",e,r,i)(a,t,{source:n,...ra})}(),s},nodeFunc:async a=>{let s=Xf(a.length,!0);return await async function(){s=rh("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,i)(a,t,{source:n,...ra})}(),s}}}var nh={"Useless Filter":Cw,"Region Filter":pD,"Regex Filter":dD,"Type Filter":gD,"Script Filter":mD,"Conditional Filter":iD,"Quick Setting Operator":sD,"Flag Operator":aD,"Sort Operator":oD,"Regex Sort Operator":cD,"Regex Rename Operator":yw,"Regex Delete Operator":lD,"Script Operator":fD,"Handle Duplicate Operator":uD,"Resolve Domain Operator":bw};async function vD(e,t){let r=Xf(t.length,!0);try{r=await e.func(t)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")?i="":(x.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),i=`\u6267\u884C function filter \u5931\u8D25 ${a}; `);try{r=await e.nodeFunc(t)}catch(s){x.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${s}`);let c="",l=`${s.message??s}`;throw i&&l===a?(c="",i=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${i}${c}`)}}return t.filter((n,i)=>r[i])}async function wD(e,t){let r=ED(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")||a.includes("$content is not defined")||a.includes("$files is not defined")||r?.$files||r?.$content?i="":(x.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),i=`\u6267\u884C function operator \u5931\u8D25 ${a}; `);try{let s=await e.nodeFunc(r);s&&(r=s)}catch(s){x.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${s}`);let c="",l=`${s.message??s}`;throw i&&l===a?(c="",i=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u64CD\u4F5C ${i}${c}`)}}return r}async function Fw(e,t){if(e.name.indexOf("Filter")!==-1)return vD(e,t);if(e.name.indexOf("Operator")!==-1)return wD(e,t)}function AD(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function ED(e){return JSON.parse(JSON.stringify(e))}function rh(name,script,$arguments,$options){let flowUtils={getFlowField:ro,getFlowHeaders:Oi,parseFlowHeaders:Wa,flowTransfer:_c,validCheck:df,getRmainingDays:gf,normalizeFlowHeader:mf};return x.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,x,o0.default,$persistentStore,$httpClient,$notification,rr,rr.yaml,rr.Buffer,rr.Base64.decode,rr.Base64.encode,Ic,flowUtils,la,eval('typeof require !== "undefined"')?ja:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,x,o0.default,rr,rr.yaml,rr.Buffer,rr.Base64.decode,rr.Base64.encode,Ic,flowUtils,la,eval('typeof require !== "undefined"')?ja:void 0)}var _w=ei(a0()),Ze=class{constructor(t){this.proxy=t,this.output=[]}append(t){if(typeof t>"u")throw new Error("required field is missing");this.output.push(t)}appendIfPresent(t,r){ae(this.proxy,r)&&this.append(t)}toString(){return this.output.join("")}};function ae(e,t){let r=_w.default.get(e,t);return typeof r<"u"&&r!==null}var yD="Surge",ui={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function Do(){return{produce:(t,r,n={})=>{switch(t.name=t.name.replace(/=|,/g,""),t.ports&&(t.ports=String(t.ports)),t.type){case"ss":return SD(t,n["include-unsupported-proxy"]);case"trojan":return bD(t);case"vmess":return CD(t,n["include-unsupported-proxy"]);case"http":return _D(t);case"direct":return ID(t);case"socks5":return DD(t);case"snell":return BD(t);case"tuic":return $D(t);case"wireguard-surge":return RD(t);case"hysteria2":return TD(t);case"ssh":return FD(t)}if(n["include-unsupported-proxy"]&&t.type==="wireguard")return PD(t);throw new Error(`Platform ${yD} does not support proxy type: ${t.type}`)}}}function SD(e){let t=new Ze(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=ui[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function bD(e){let t=new Ze(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),Iw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function CD(e,t){let r=new Ze(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=ui[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),Iw(r,e,t),ae(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function FD(e){let t=new Ze(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function _D(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new Ze(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function ID(e){let t=new Ze(e);t.append(`${e.name}=direct`);let n=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function DD(e){let t=new Ze(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&x.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function BD(e){let t=new Ze(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function $D(e){let t=new Ze(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function PD(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ze(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=xt(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=ui[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],i=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,a=e["preshared-key"]??e["pre-shared-key"];a&&(a=`,preshared-key="${a}"`);let s={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":i,"preshared-key":a};return t.append(` +peer = (${Object.keys(s).filter(c=>s[c]!=null).map(c=>`${c} = ${s[c]}`).join(", ")})`),t.toString()}function RD(e){let t=new Ze(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function TD(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new Ze(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=ui[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function Iw(e,t,r){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,i=Object.keys(n).map(a=>{let s=n[a];return["Host"].includes(a)&&(s=`"${s}"`),`${a}:${s}`}).join("|");xi(i)&&e.append(`,ws-headers=${i}`)}}else if(r&&["http"].includes(t.network))x.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function Hn(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"||["juicity"].includes(s.type)?!1:!(["ss"].includes(s.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(s.cipher))).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let c=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(c)&&(s["http-opts"].path=[c]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let c=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(c)&&(s["h2-opts"].path=c[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal"||i["delete-underscore-fields"])for(let c in s)(s[c]==null||/^_/i.test(c))&&delete s[c];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var Dw="SurgeMac",xD=Do();function l0(){return{produce:(t,r,n={})=>{switch(t.type){case"external":return Bw(t);default:try{return xD.produce(t,r,n)}catch{if(n.useMihomoExternal)return x.log(`${t.name} is not supported on ${Dw}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),OD(t,r,n);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function Bw(e){let t=new Ze(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function OD(e,t,r){let n=Hn().produce([e],"internal")?.[0];if(n){let i=r?.localPort||e._localPort||65535,a=!["ipv4","v4-only"].includes(e["ip-version"]),s={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":i,args:["-config",ht.encode(JSON.stringify({"mixed-port":i,ipv6:a,mode:"global",dns:{enable:!0,ipv6:a,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return kD(e.server)?s.addresses.push(e.server):x.log(`Platform ${Dw}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=i-1,Bw(s)}}function kD(e){return hr(e)||pr(e)}function f0(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&(typeof s.flow<"u"||s["reality-opts"])?!1:s["underlying-proxy"]||s["dialer-proxy"]?(x.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let c=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(c)&&(s["http-opts"].path=[c]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let c=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(c)&&(s["h2-opts"].path=c[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let c in s)(s[c]==null||/^_/i.test(c))&&delete s[c];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}function ih(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&s["reality-opts"]&&!["xtls-rprx-vision"].includes(s.flow)?!1:s["underlying-proxy"]||s["dialer-proxy"]?(x.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="hysteria2"?(ae(s,"password")&&!ae(s,"auth")&&(s.auth=s.password,delete s.password),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let c=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(c)&&(s["http-opts"].path=[c]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let c=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(c)&&(s["h2-opts"].path=c[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s["server-cert-fingerprint"]=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,s["test-url"]&&(s["benchmark-url"]=s["test-url"],delete s["test-url"]),s["test-timeout"]&&(s["benchmark-timeout"]=s["test-timeout"],delete s["test-timeout"]),delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let c in s)(s[c]==null||/^_/i.test(c))&&delete s[c];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var ND="Loon",Os={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function h0(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return LD(t);case"ssr":return UD(t);case"trojan":return HD(t);case"vmess":return jD(t,n["include-unsupported-proxy"]);case"vless":return MD(t,n["include-unsupported-proxy"]);case"http":return qD(t);case"socks5":return KD(t);case"wireguard":return VD(t);case"hysteria2":return GD(t)}throw new Error(`Platform ${ND} does not support proxy type: ${t.type}`)}}}function LD(e){let t=new Ze(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function UD(e){let t=new Ze(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function HD(e){let t=new Ze(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function jD(e){let t=!!e["reality-opts"],r=new Ze(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let i=e["http-opts"]?.path,a=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(i)?i[0]:i}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(a)?a[0]:a}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),ae(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=Os[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function MD(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new Ze(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let a=e["http-opts"]?.path,s=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(a)?a[0]:a}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(s)?s[0]:s}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let i=Os[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${i}`,"ip-version"),n.toString()}function qD(e){let t=new Ze(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function KD(e){let t=new Ze(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function VD(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ze(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(c=>pr(c));let s=e.dns.find(c=>hr(c));s||(s=e.dns.find(c=>!hr(c)&&!pr(c))),e.dns=s}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let i=e["preshared-key"]??e["pre-shared-key"];i&&(i=`,preshared-key="${i}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${i??""}}]`);let a=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${a}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function GD(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new Ze(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=Os[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function Bo(){return{type:"SINGLE",produce:r=>{let n="";delete r.subName,delete r.collectionName,delete r.id,delete r.resolved,delete r["no-resolve"];for(let i in r)r[i]==null&&delete r[i];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(r.type)&&delete r.tls,!["vmess"].includes(r.type)&&r.server&&pr(r.server)&&(r.server=`[${r.server}]`),r.type){case"socks5":n=`socks://${encodeURIComponent(ht.encode(`${r.username??""}:${r.password??""}`))}@${r.server}:${r.port}#${r.name}`;break;case"ss":let i=`${r.cipher}:${r.password}`;if(n=`ss://${r.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(r.cipher)}:${encodeURIComponent(r.password)}`:ht.encode(i)}@${r.server}:${r.port}${r.plugin?"/":""}`,r.plugin){n+="?plugin=";let oe=r["plugin-opts"];switch(r.plugin){case"obfs":n+=encodeURIComponent(`simple-obfs;obfs=${oe.mode}${oe.host?";obfs-host="+oe.host:""}`);break;case"v2ray-plugin":n+=encodeURIComponent(`v2ray-plugin;obfs=${oe.mode}${oe.host?";obfs-host"+oe.host:""}${oe.tls?";tls":""}`);break;case"shadow-tls":n+=encodeURIComponent(`shadow-tls;host=${oe.host};password=${oe.password};version=${oe.version}`);break;default:throw new Error(`Unsupported plugin option: ${r.plugin}`)}}r["udp-over-tcp"]&&(n=`${n}${r.plugin?"&":"?"}uot=1`),r.tfo&&(n=`${n}${r.plugin||r["udp-over-tcp"]?"&":"?"}tfo=1`),n+=`#${encodeURIComponent(r.name)}`;break;case"ssr":n=`${r.server}:${r.port}:${r.protocol}:${r.cipher}:${r.obfs}:${ht.encode(r.password)}/`,n+=`?remarks=${ht.encode(r.name)}${r["obfs-param"]?"&obfsparam="+ht.encode(r["obfs-param"]):""}${r["protocol-param"]?"&protocolparam="+ht.encode(r["protocol-param"]):""}`,n="ssr://"+ht.encode(n);break;case"vmess":let a="",s=r.network||"tcp";if(r.network==="http"?(s="tcp",a="http"):r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(s="httpupgrade"),n={v:"2",ps:r.name,add:r.server,port:`${r.port}`,id:r.uuid,aid:`${r.alterId||0}`,scy:r.cipher,net:s,type:a,tls:r.tls?"tls":"",alpn:Array.isArray(r.alpn)?r.alpn.join(","):r.alpn,fp:r["client-fingerprint"]},r.tls&&r.sni&&(n.sni=r.sni),r.network){let oe=r[`${r.network}-opts`]?.path,Fe=r[`${r.network}-opts`]?.headers?.Host;["grpc"].includes(r.network)?(n.path=r[`${r.network}-opts`]?.["grpc-service-name"],n.type=r[`${r.network}-opts`]?.["_grpc-type"]||"gun",n.host=r[`${r.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(r.network)?(n.type=r[`${r.network}-opts`]?.[`_${r.network}-type`]||"none",n.host=r[`${r.network}-opts`]?.[`_${r.network}-host`],n.path=r[`${r.network}-opts`]?.[`_${r.network}-path`]):(oe&&(n.path=Array.isArray(oe)?oe[0]:oe),Fe&&(n.host=Array.isArray(Fe)?Fe[0]:Fe))}n="vmess://"+ht.encode(JSON.stringify(n));break;case"vless":let c="none",l=r["reality-opts"],h="",g="",E="";if(l){c="reality";let oe=r["reality-opts"]?.["public-key"];oe&&(g=`&pbk=${encodeURIComponent(oe)}`);let Fe=r["reality-opts"]?.["short-id"];Fe&&(h=`&sid=${encodeURIComponent(Fe)}`);let ke=r["reality-opts"]?.["_spider-x"];ke&&(E=`&spx=${encodeURIComponent(ke)}`)}else r.tls&&(c="tls");let p="";r.alpn&&(p=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let f="";r["skip-cert-verify"]&&(f="&allowInsecure=1");let A="";r.sni&&(A=`&sni=${encodeURIComponent(r.sni)}`);let v="";r["client-fingerprint"]&&(v=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let b="";r.flow&&(b=`&flow=${encodeURIComponent(r.flow)}`);let w="";r._extra&&(w=`&extra=${encodeURIComponent(r._extra)}`);let y="";r._mode&&(y=`&mode=${encodeURIComponent(r._mode)}`);let F=r.network;r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(F="httpupgrade");let D=`&type=${encodeURIComponent(F)}`;if(["grpc"].includes(r.network)){D+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`;let oe=r[`${r.network}-opts`]?.["_grpc-authority"];oe&&(D+=`&authority=${encodeURIComponent(oe)}`)}let I=r[`${r.network}-opts`]?.[`${r.network}-service-name`],q=r[`${r.network}-opts`]?.path,V=r[`${r.network}-opts`]?.headers?.Host;q&&(D+=`&path=${encodeURIComponent(Array.isArray(q)?q[0]:q)}`),V&&(D+=`&host=${encodeURIComponent(Array.isArray(V)?V[0]:V)}`),I&&(D+=`&serviceName=${encodeURIComponent(I)}`),r.network==="kcp"&&(r.seed&&(D+=`&seed=${encodeURIComponent(r.seed)}`),r.headerType&&(D+=`&headerType=${encodeURIComponent(r.headerType)}`)),n=`vless://${r.uuid}@${r.server}:${r.port}?security=${encodeURIComponent(c)}${D}${p}${f}${A}${v}${b}${h}${E}${g}${y}${w}#${encodeURIComponent(r.name)}`;break;case"trojan":let _="";if(r.network){let oe=r.network;if(r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(oe="httpupgrade"),_=`&type=${encodeURIComponent(oe)}`,["grpc"].includes(r.network)){let vr=r[`${r.network}-opts`]?.[`${r.network}-service-name`],Ot=r[`${r.network}-opts`]?.["_grpc-authority"];vr&&(_+=`&serviceName=${encodeURIComponent(vr)}`),Ot&&(_+=`&authority=${encodeURIComponent(Ot)}`),_+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`}let Fe=r[`${r.network}-opts`]?.path,ke=r[`${r.network}-opts`]?.headers?.Host;Fe&&(_+=`&path=${encodeURIComponent(Array.isArray(Fe)?Fe[0]:Fe)}`),ke&&(_+=`&host=${encodeURIComponent(Array.isArray(ke)?ke[0]:ke)}`)}let P="";r["client-fingerprint"]&&(P=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let L="";r.alpn&&(L=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let j=r["reality-opts"],K="",X="",G="",z="",W="",ie="";if(j){z="&security=reality";let oe=r["reality-opts"]?.["public-key"];oe&&(X=`&pbk=${encodeURIComponent(oe)}`);let Fe=r["reality-opts"]?.["short-id"];Fe&&(K=`&sid=${encodeURIComponent(Fe)}`);let ke=r["reality-opts"]?.["_spider-x"];ke&&(G=`&spx=${encodeURIComponent(ke)}`),r._extra&&(ie=`&extra=${encodeURIComponent(r._extra)}`),r._mode&&(W=`&mode=${encodeURIComponent(r._mode)}`)}n=`trojan://${r.password}@${r.server}:${r.port}?sni=${encodeURIComponent(r.sni||r.server)}${r["skip-cert-verify"]?"&allowInsecure=1":""}${_}${L}${P}${z}${K}${X}${G}${W}${ie}#${encodeURIComponent(r.name)}`;break;case"hysteria2":let ye=[];r["hop-interval"]&&ye.push(`hop-interval=${r["hop-interval"]}`),r.keepalive&&ye.push(`keepalive=${r.keepalive}`),r["skip-cert-verify"]&&ye.push("insecure=1"),r.obfs&&(ye.push(`obfs=${encodeURIComponent(r.obfs)}`),r["obfs-password"]&&ye.push(`obfs-password=${encodeURIComponent(r["obfs-password"])}`)),r.sni&&ye.push(`sni=${encodeURIComponent(r.sni)}`),r.ports&&ye.push(`mport=${r.ports}`),r["tls-fingerprint"]&&ye.push(`pinSHA256=${encodeURIComponent(r["tls-fingerprint"])}`),r.tfo&&ye.push("fastopen=1"),n=`hysteria2://${encodeURIComponent(r.password)}@${r.server}:${r.port}?${ye.join("&")}#${encodeURIComponent(r.name)}`;break;case"hysteria":let Ae=[];Object.keys(r).forEach(oe=>{if(!["name","type","server","port"].includes(oe)){let Fe=oe.replace(/-/,"_");["alpn"].includes(oe)?r[oe]&&Ae.push(`${Fe}=${encodeURIComponent(Array.isArray(r[oe])?r[oe][0]:r[oe])}`):["skip-cert-verify"].includes(oe)?r[oe]&&Ae.push("insecure=1"):["tfo","fast-open"].includes(oe)?r[oe]&&!Ae.includes("fastopen=1")&&Ae.push("fastopen=1"):["ports"].includes(oe)?Ae.push(`mport=${r[oe]}`):["auth-str"].includes(oe)?Ae.push(`auth=${r[oe]}`):["up"].includes(oe)?Ae.push(`upmbps=${r[oe]}`):["down"].includes(oe)?Ae.push(`downmbps=${r[oe]}`):["_obfs"].includes(oe)?Ae.push(`obfs=${r[oe]}`):["obfs"].includes(oe)?Ae.push(`obfsParam=${r[oe]}`):["sni"].includes(oe)?Ae.push(`peer=${r[oe]}`):r[oe]&&!/^_/i.test(oe)&&Ae.push(`${Fe}=${encodeURIComponent(r[oe])}`)}}),n=`hysteria://${r.server}:${r.port}?${Ae.join("&")}#${encodeURIComponent(r.name)}`;break;case"tuic":if(!r.token||r.token.length===0){let oe=[];Object.keys(r).forEach(Fe=>{if(!["name","type","uuid","password","server","port","tls"].includes(Fe)){let ke=Fe.replace(/-/,"_");["alpn"].includes(Fe)?r[Fe]&&oe.push(`${ke}=${encodeURIComponent(Array.isArray(r[Fe])?r[Fe][0]:r[Fe])}`):["skip-cert-verify"].includes(Fe)?r[Fe]&&oe.push("allow_insecure=1"):["tfo","fast-open"].includes(Fe)?r[Fe]&&!oe.includes("fast_open=1")&&oe.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(Fe)&&r[Fe]?oe.push(`${ke.replace(/-/g,"_")}=1`):["congestion-controller"].includes(Fe)?oe.push(`congestion_control=${r[Fe]}`):r[Fe]&&!/^_/i.test(Fe)&&oe.push(`${ke.replace(/-/g,"_")}=${encodeURIComponent(r[Fe])}`)}}),n=`tuic://${encodeURIComponent(r.uuid)}:${encodeURIComponent(r.password)}@${r.server}:${r.port}?${oe.join("&")}#${encodeURIComponent(r.name)}`}break;case"anytls":let Ie=[];Object.keys(r).forEach(oe=>{if(!["name","type","password","server","port","tls"].includes(oe)){let Fe=oe.replace(/-/,"_");["alpn"].includes(oe)?r[oe]&&Ie.push(`${Fe}=${encodeURIComponent(Array.isArray(r[oe])?r[oe][0]:r[oe])}`):["skip-cert-verify"].includes(oe)?r[oe]&&Ie.push("insecure=1"):["udp"].includes(oe)?r[oe]&&Ie.push("udp=1"):r[oe]&&!/^_/i.test(oe)&&Ie.push(`${Fe.replace(/-/g,"_")}=${encodeURIComponent(r[oe])}`)}}),n=`anytls://${encodeURIComponent(r.password)}@${r.server}:${r.port}/?${Ie.join("&")}#${encodeURIComponent(r.name)}`;break;case"wireguard":let qe=[];Object.keys(r).forEach(oe=>{["name","type","server","port","ip","ipv6","private-key"].includes(oe)||(["public-key"].includes(oe)?qe.push(`publickey=${r[oe]}`):["udp"].includes(oe)?r[oe]&&qe.push(`${oe}=1`):r[oe]&&!/^_/i.test(oe)&&qe.push(`${oe}=${encodeURIComponent(r[oe])}`))}),r.ip&&r.ipv6?qe.push(`address=${r.ip}/32,${r.ipv6}/128`):r.ip?qe.push(`address=${r.ip}/32`):r.ipv6&&qe.push(`address=${r.ipv6}/128`),n=`wireguard://${encodeURIComponent(r["private-key"])}@${r.server}:${r.port}/?${qe.join("&")}#${encodeURIComponent(r.name)}`;break}return n}}}var zD=Bo();function zc(){return{type:"ALL",produce:r=>{let n=[];return r.map(i=>{try{n.push(zD.produce(i))}catch(a){x.error(`Cannot produce proxy: ${JSON.stringify(i,null,2)} +Reason: ${a}`)}}),ht.encode(n.join(` +`))}}}var YD="QX";function Yc(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return WD(t);case"ssr":return XD(t);case"trojan":return JD(t);case"vmess":return ZD(t);case"http":return eB(t);case"socks5":return tB(t);case"vless":return QD(t)}throw new Error(`Platform ${YD} does not support proxy type: ${t.type}`)}}}function WD(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),jn(e)&&(e.tls=!0),ae(e,"plugin")){if(e.plugin==="obfs"){let i=e["plugin-opts"];r(`,obfs=${i.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function XD(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function JD(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),ae(e,"network"))if(e.network==="ws")jn(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&jn(e)&&r(",over-tls=true"),jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function ZD(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let i;if(e.cipher==="auto"?i="chacha20-ietf-poly1305":i=e.cipher,r(`,method=${i}`),r(`,password=${e.uuid}`),jn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),ae(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function QD(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),jn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function eB(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),jn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function tB(e){let t=new Ze(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),jn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),jn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function jn(e){return e.tls}function Wc(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"?!1:!["mieru"].includes(s.type)).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="hysteria2"?(s["obfs-password"]&&s.obfs=="salamander"&&(s.obfs=s["obfs-password"],delete s["obfs-password"]),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let c=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(c)&&(s["http-opts"].path=[c]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let c=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(c)&&(s["h2-opts"].path=c[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let c in s)(s[c]==null||/^_/i.test(c))&&delete s[c];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var rB="Surfboard";function sh(){return{produce:t=>{switch(t.name=t.name.replace(/=|,/g,""),t.type){case"ss":return nB(t);case"trojan":return iB(t);case"vmess":return sB(t);case"http":return aB(t);case"socks5":return uB(t);case"wireguard-surge":return oB(t)}throw new Error(`Platform ${rB} does not support proxy type: ${t.type}`)}}}function nB(e){let t=new Ze(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),ae(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function iB(e){let t=new Ze(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),$w(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function sB(e){let t=new Ze(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),$w(t,e),ae(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function aB(e){let t=new Ze(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function uB(e){let t=new Ze(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function oB(e){let t=new Ze(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function $w(e,t){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(i=>{let a=r[i];return["Host"].includes(i)&&(a=`"${a}"`),`${i}:${a}`}).join("|");xi(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var bn=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},ks=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},Mn=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},Yi=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},p0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:i={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(i).length>0){let a={};for(let c of Object.keys(i)){let l=i[c];l!==""&&(Array.isArray(l)||(l=[`${l}`]),l.length>0&&(a[c]=l))}let{Host:s}=a;if(s.length===1)for(let c of`Host:${s[0]}`.split(` +`)){let[l,h]=c.split(":");h.trim()!==""&&(a[l.trim()]=h.trim().split(","))}r.headers=a}}if(e["ws-headers"]){let n={};for(let a of Object.keys(e["ws-headers"])){let s=e["ws-headers"][a];s!==""&&(Array.isArray(s)||(s=[`${s}`]),s.length>0&&(n[a]=s))}let{Host:i}=n;if(i.length===1)for(let a of`Host:${i[0]}`.split(` +`)){let[s,c]=a.split(":");c.trim()!==""&&(n[s.trim()]=c.trim().split(","))}for(let a of Object.keys(n))r.headers[a]=n[a]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[i,a="",s=""]=n.exec(r.path);r.path=a,s!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(s,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r},cB=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:i="",headers:a={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(i)?r.path=`${i[0]}`:i!==""&&(r.path=`${i}`);for(let s of Object.keys(a)){let c=a[s];if(c!==""){if(s.toLowerCase()==="host"){let l=c;Array.isArray(l)||(l=`${l}`.split(",").map(h=>h.trim())),l.length>0&&(r.host=l);continue}Array.isArray(c)||(c=`${c}`.split(",").map(l=>l.trim())),c.length>0&&(r.headers[s]=c)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r}},lB=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:i=""}=e["h2-opts"];i!==""&&(r.path=`${i}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(a=>a.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},d0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},fa=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},fB=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),Mn(e,t),bn(e,t),t},hB=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),Mn(e,t),bn(e,t),fa(e,t),t},pB=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),ks(e,t),Mn(e,t),bn(e,t),t},dB=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),Mn(e,r),bn(e,r),Yi(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},gB=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),ks(e,t),Mn(e,t),bn(e,t),Yi(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},mB=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),Mn(e,t),bn(e,t),Yi(e.smux,t),t},vB=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&p0(e,t),e.network==="h2"&&lB(e,t),e.network==="http"&&cB(e,t),e.network==="grpc"&&d0(e,t),ks(e,t),Mn(e,t),bn(e,t),fa(e,t),Yi(e.smux,t),t},wB=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&p0(e,t),e.network==="grpc"&&d0(e,t),ks(e,t),Mn(e,t),bn(e,t),Yi(e.smux,t),fa(e,t),t},AB=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&d0(e,t),e.network==="ws"&&p0(e,t),ks(e,t),Mn(e,t),bn(e,t),fa(e,t),Yi(e.smux,t),t},EB=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),ks(e,t),fa(e,t),bn(e,t),Mn(e,t),Yi(e.smux,t),t},yB=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,ks(e,t),fa(e,t),Mn(e,t),bn(e,t),Yi(e.smux,t),t},SB=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),ks(e,t),Mn(e,t),bn(e,t),fa(e,t),Yi(e.smux,t),t},bB=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),bn(e,t),fa(e,t),t},CB=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(hr(n))return`${n}/32`;if(pr(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let i={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")i.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let a of n.reserved)i.reserved.push(a);else delete i.reserved;n["pre-shared-key"]&&(i.pre_shared_key=n["pre-shared-key"]),r.peers.push(i)}}return ks(e,r),Mn(e,r),bn(e,r),Yi(e.smux,r),r};function ah(){return{type:"ALL",produce:(r,n,i={})=>{let a=[];return Hn().produce(r,"internal",{"include-unsupported-proxy":!0}).map(s=>{try{switch(s.type){case"ssh":a.push(fB(s));break;case"http":a.push(hB(s));break;case"socks5":if(s.tls)throw new Error(`Platform sing-box does not support proxy type: ${s.type} with tls`);a.push(pB(s));break;case"ss":if(s.plugin==="shadow-tls"){let{ssPart:c,stPart:l}=dB(s);a.push(c),a.push(l)}else a.push(gB(s));break;case"ssr":if(i["include-unsupported-proxy"])a.push(mB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type}`);break;case"vmess":if(!s.network||["ws","grpc","h2","http"].includes(s.network))a.push(vB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with network ${s.network}`);break;case"vless":if(!s.flow||["xtls-rprx-vision"].includes(s.flow))a.push(wB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"trojan":if(!s.flow)a.push(AB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"hysteria":a.push(EB(s));break;case"hysteria2":a.push(yB(s,i["include-unsupported-proxy"]));break;case"tuic":if(!s.token||s.token.length===0)a.push(SB(s));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":a.push(CB(s));break;case"anytls":a.push(bB(s));break;default:throw new Error(`Platform sing-box does not support proxy type: ${s.type}`)}}catch(c){x.error(c.message??c)}}),n==="internal"?a:JSON.stringify({outbounds:a},null,2)}}}function uh(){return{type:"ALL",produce:(r,n)=>{let i=r.filter(a=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(a.type)||a.type==="ss"&&(a.plugin==="obfs"&&!["http","tls"].includes(a["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(a.cipher))||a.type==="vmess"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="trojan"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="vless"&&(typeof a.flow<"u"||a["reality-opts"]||!["http","ws","tcp"].includes(a.network)&&a.network)||a.type==="tuic"&&a.token&&a.token.length!==0)).map(a=>{let s={...a};a.tls&&!a.sni&&(a.sni=a.server);let c=a.prev_hop||a["underlying-proxy"]||a["dialer-proxy"]||a.detour;if(a.type==="http")a={type:"http",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],next_hop:a.next_hop};else if(a.type==="socks5")a={type:"socks5",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop};else if(a.type==="ss")a={type:"shadowsocks",name:a.name,method:a.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":a.cipher,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop},s.plugin==="obfs"&&(a.obfs=s["plugin-opts"].mode,a.obfs_host=s["plugin-opts"].host,a.obfs_uri=s["plugin-opts"].path);else if(a.type==="hysteria2")a={type:"hysteria2",name:a.name,server:a.server,port:a.port,auth:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]},s["obfs-password"]&&s.obfs=="salamander"&&(a.obfs="salamander",a.obfs_password=s["obfs-password"]);else if(a.type==="tuic")a={type:"tuic",name:a.name,server:a.server,port:a.port,uuid:a.uuid,password:a.password,next_hop:a.next_hop,sni:a.sni,alpn:Array.isArray(a.alpn)?a.alpn:[a.alpn||"h3"],skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]};else if(a.type==="trojan")a.network==="ws"&&(a.websocket={path:a["ws-opts"]?.path,host:a["ws-opts"]?.headers?.Host}),a={type:"trojan",name:a.name,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],websocket:a.websocket};else if(a.type==="vmess"){let l=a.cipher;l&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(l)&&(l="auto"),a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http1:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:a.network==="h2"?a.transport={http2:{method:a["h2-opts"]?.method,path:Array.isArray(a["h2-opts"]?.path)?a["h2-opts"]?.path[0]:a["h2-opts"]?.path,headers:{Host:Array.isArray(a["h2-opts"]?.headers?.Host)?a["h2-opts"]?.headers?.Host[0]:a["h2-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&a.tls&&(a.transport={tls:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vmess",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:l,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport}}else a.type==="vless"&&(a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&(a.transport={[a.tls?"tls":"tcp"]:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vless",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:a.cipher,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(s.type)){if(ae(s,"shadow-tls-password")){if(s["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${s["shadow-tls-version"]} is not supported`);a.shadow_tls={password:s["shadow-tls-password"],sni:s["shadow-tls-sni"]}}else if(["shadow-tls"].includes(s.plugin)&&s["plugin-opts"]){if(s["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${s["plugin-opts"].version} is not supported`);a.shadow_tls={password:s["plugin-opts"].password,sni:s["plugin-opts"].host}}}if(delete a.subName,delete a.collectionName,delete a.id,delete a.resolved,delete a["no-resolve"],n!=="internal")for(let l in a)(a[l]==null||/^_/i.test(l))&&delete a[l];return{[a.type]:{...a,type:void 0,prev_hop:c}}});return n==="internal"?i:`proxies: +`+i.map(a=>" - "+JSON.stringify(a)+` +`).join("")}}}function Pw(){return{type:"ALL",produce:(r,n)=>n==="internal"?r:JSON.stringify(r,null,2)}}var Rw={qx:Yc(),QX:Yc(),QuantumultX:Yc(),surge:Do(),Surge:Do(),SurgeMac:l0(),Loon:h0(),Clash:f0(),meta:Hn(),clashmeta:Hn(),"clash.meta":Hn(),"Clash.Meta":Hn(),ClashMeta:Hn(),mihomo:Hn(),Mihomo:Hn(),uri:Bo(),URI:Bo(),v2:zc(),v2ray:zc(),V2Ray:zc(),json:Pw(),JSON:Pw(),stash:ih(),Stash:ih(),shadowrocket:Wc(),Shadowrocket:Wc(),ShadowRocket:Wc(),surfboard:sh(),Surfboard:sh(),singbox:ah(),"sing-box":ah(),egern:uh(),Egern:uh()};var LA=ei(rl()),T7=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,x0;function Kn(){return x0||(x0=LA.generate(T7)),x0}var UA=ei(rl()),x7=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,O0;function Wi(){return O0||(O0=UA.generate(x7)),O0}var HA=ei(rl()),O7=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,k0;function Ls(){return k0||(k0=HA.generate(O7)),k0}var jA=ei(rl()),k7=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,N0;function L0(){return N0||(N0=jA.generate(k7)),N0}function MA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function N7(){return{name:"URI PROXY Parser",test:n=>/^(socks5\+tls|socks5|http|https):\/\//.test(n),parse:n=>{let[i,a,s,c,l,h,g,E,p]=n.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(g)g=parseInt(g,10);else{if(s)g=443;else if(a==="http")g=80;else throw x.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);x.info(`port is not present in line: ${n}, set to ${g}`)}return{name:p!=null?decodeURIComponent(p):`${a} ${h}:${g}`,type:a,tls:!!s,server:h,port:g,username:c!=null?decodeURIComponent(c):void 0,password:l!=null?decodeURIComponent(l):void 0}}}}function L7(){return{name:"URI SOCKS Parser",test:n=>/^socks:\/\//.test(n),parse:n=>{let[i,a,s,c,l,h,g]=n.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(l)l=parseInt(l,10);else throw x.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);let E,p;if(s){let A=ht.decode(decodeURIComponent(s)).split(":");E=A[0],p=A[1]}return{name:g!=null?decodeURIComponent(g):`${a} ${c}:${l}`,type:"socks5",server:c,port:l,username:E,password:p}}}}function U7(){return{name:"URI SS Parser",test:n=>/^ss:\/\//.test(n),parse:n=>{let i=n.split("ss://")[1],a=n.split("#")[1],s={type:"ss"};i=i.split("#")[0];let c=i.match(/@([^/?]*)(\/|\?|$)/),l=decodeURIComponent(i.split("@")[0]),h;l?.startsWith("2022-blake3-")?h=l:h=ht.decode(l);let g="";if(c)i.includes("?")&&(g=i.match(/(\?.*)$/)[1]);else{if(i.includes("?")){let b=i.match(/^(.*)(\?.*)$/);i=b[1],g=b[2]}if(i=ht.decode(i),g){if(/(&|\?)v2ray-plugin=/.test(g)){let w=g.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(s.plugin="v2ray-plugin",s["plugin-opts"]=JSON.parse(ht.decode(w)))}i=`${i}${g}`}h=i.match(/(^.*)@/)?.[1],c=i.match(/@([^/@]*)(\/|$)/)}let E=c[1],p=E.lastIndexOf(":");s.server=E.substring(0,p),s.port=`${E.substring(p+1)}`.match(/\d+/)?.[0];let f=h.match(/(^.*?):(.*$)/);s.cipher=f?.[1],s.password=f?.[2];let A=i.match(/[?&]plugin=([^&]+)/),v=i.match(/[?&]shadow-tls=([^&]+)/);if(A){let b=("plugin="+decodeURIComponent(A[1])).split(";"),w={};for(let y of b){let[F,D]=y.split("=");F&&(w[F]=D||!0)}switch(w.plugin){case"obfs-local":case"simple-obfs":s.plugin="obfs",s["plugin-opts"]={mode:w.obfs,host:xt(w["obfs-host"])};break;case"v2ray-plugin":s.plugin="v2ray-plugin",s["plugin-opts"]={mode:"websocket",host:xt(w["obfs-host"]),path:xt(w.path),tls:to(w.tls)};break;case"shadow-tls":{s.plugin="shadow-tls";let y=xt(w.version);s["plugin-opts"]={host:xt(w.host),password:xt(w.password),version:y?parseInt(y,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${w.plugin}`)}}if(v){let b=JSON.parse(ht.decode(v[1])),w=xt(b.version),y=xt(b.address),F=xt(b.port);s.plugin="shadow-tls",s["plugin-opts"]={host:xt(b.host),password:xt(b.password),version:w?parseInt(w,10):void 0},y&&(s.server=y),F&&(s.port=parseInt(F,10))}return/(&|\?)uot=(1|true)/i.test(g)&&(s["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(g)&&(s.tfo=!0),a!=null&&(a=decodeURIComponent(a)),s.name=a??`SS ${s.server}:${s.port}`,s}}}function H7(){return{name:"URI SSR Parser",test:n=>/^ssr:\/\//.test(n),parse:n=>{n=ht.decode(n.split("ssr://")[1]);let i=n.indexOf(":origin");i===-1&&(i=n.indexOf(":auth_"));let a=n.substring(0,i),s=a.substring(0,a.lastIndexOf(":")),c=a.substring(a.lastIndexOf(":")+1),l=n.substring(i+1).split("/?")[0].split(":"),h={type:"ssr",server:s,port:c,protocol:l[0],cipher:l[1],obfs:l[2],password:ht.decode(l[3])},g={};if(n=n.split("/?")[1].split("&"),n.length>1)for(let E of n){let[p,f]=E.split("=");f=f.trim(),f.length>0&&f!=="(null)"&&(g[p]=f)}return h={...h,name:g.remarks?ht.decode(g.remarks):h.server,"protocol-param":xt(ht.decode(g.protoparam||"").replace(/\s/g,"")),"obfs-param":xt(ht.decode(g.obfsparam||"").replace(/\s/g,""))},h}}}function j7(){return{name:"URI VMess Parser",test:n=>/^vmess:\/\//.test(n),parse:n=>{n=n.split("vmess://")[1];let i=ht.decode(n.replace(/\?.*?$/,""));if(/=\s*vmess/.test(i)){let a=i.split(",").map(l=>l.trim()),s={};for(let l of a)if(l.indexOf("=")!==-1){let[h,g]=l.split("=");s[h.trim()]=g.trim()}let c={name:a[0].split("=")[0].trim(),type:"vmess",server:a[1],port:a[2],cipher:xt(a[3],"auto"),uuid:a[4].match(/^"(.*)"$/)[1],tls:s.obfs==="wss",udp:to(s["udp-relay"]),tfo:to(s["fast-open"]),"skip-cert-verify":eo(s["tls-verification"])?!s["tls-verification"]:void 0};if(eo(s.obfs))if(s.obfs==="ws"||s.obfs==="wss"){c.network="ws",c["ws-opts"].path=(xt(s["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let l=s["obfs-header"];l&&l.indexOf("Host")!==-1&&(l=l.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),xi(l)&&(c["ws-opts"].headers={Host:l})}else throw new Error(`Unsupported obfs: ${s.obfs}`);return c}else{let a={};try{a=JSON.parse(i)}catch{let[E,p,f]=/(^[^?]+?)\/?\?(.*)$/.exec(n);i=ht.decode(p);for(let F of f.split("&")){let[D,I]=F.split("="),q=I;q=decodeURIComponent(I),q.indexOf(",")===-1?a[D]=q:a[D]=q.split(",")}let[A,v,b,w,y]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(i);a.scy=v,a.id=b,a.port=y,a.add=w}let s=a.add,c=parseInt(to(a.port),10),l={name:a.ps??a.remarks??a.remark??`VMess ${s}:${c}`,type:"vmess",server:s,port:c,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(a.scy)?a.scy:"auto",uuid:a.id,alterId:parseInt(to(a.aid??a.alterId,0),10),tls:["tls",!0,1,"1"].includes(a.tls),"skip-cert-verify":eo(a.verify_cert)?!a.verify_cert:void 0};!l["skip-cert-verify"]&&eo(a.allowInsecure)&&(l["skip-cert-verify"]=/(TRUE)|1/i.test(a.allowInsecure)),l.tls&&(a.sni&&a.sni!==""?l.sni=a.sni:a.peer&&a.peer!==""&&(l.sni=a.peer));let h=!1;if(a.net==="ws"||a.obfs==="websocket"?l.network="ws":["http"].includes(a.net)||["http"].includes(a.obfs)||["http"].includes(a.type)?l.network="http":["grpc","kcp","quic"].includes(a.net)?l.network=a.net:a.net==="httpupgrade"||l.network==="httpupgrade"?(l.network="ws",h=!0):(a.net==="h2"||l.network==="h2")&&(l.network="h2"),l.network){let g=a.host??a.obfsParam;try{let f=JSON.parse(g)?.Host;f&&(g=f)}catch{}let E=a.path;if(["ws"].includes(l.network)&&(E=E||"/"),l.network==="http"&&(g&&(g=g.split(",").map(p=>p.trim()),g=Array.isArray(g)?g[0]:g),E?E=Array.isArray(E)?E[0]:E:E="/"),E||g||["kcp","quic"].includes(l.network))if(["grpc"].includes(l.network))l[`${l.network}-opts`]={"grpc-service-name":xt(E),"_grpc-type":xt(a.type),"_grpc-authority":xt(a.authority)};else if(["kcp","quic"].includes(l.network))l[`${l.network}-opts`]={[`_${l.network}-type`]:xt(a.type),[`_${l.network}-host`]:xt(xt(g)),[`_${l.network}-path`]:xt(E)};else{let p={path:xt(E),headers:{Host:xt(g)}};h&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),l[`${l.network}-opts`]=p}else delete l.network}return l["client-fingerprint"]=a.fp,l.alpn=a.alpn?a.alpn.split(","):void 0,l}}}}function M7(){return{name:"URI VLESS Parser",test:n=>/^vless:\/\//.test(n),parse:n=>{n=n.split("vless://")[1];let i,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);if(!a){let[b,w,y]=/^(.*?)(\?.*?$)/.exec(n);n=`${ht.decode(w)}${y}`,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n),i=!0}let[s,c,l,h,g,E="",p]=a;i&&(c=c.replace(/^.*?:/g,"")),h=parseInt(`${h}`,10),c=decodeURIComponent(c),p!=null&&(p=decodeURIComponent(p));let f={type:"vless",name:p,server:l,port:h,uuid:c},A={};for(let b of E.split("&")){let[w,y]=b.split("="),F=y;F=decodeURIComponent(y),A[w]=F}if(f.name=p??A.remarks??A.remark??`VLESS ${l}:${h}`,f.tls=A.security&&A.security!=="none",i&&/TRUE|1/i.test(A.tls)&&(f.tls=!0,A.security=A.security??"reality"),f.sni=A.sni||A.peer,f.flow=A.flow,!f.flow&&i&&A.xtls){let b=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][A.xtls];b&&(f.flow=b)}if(f["client-fingerprint"]=A.fp,f.alpn=A.alpn?A.alpn.split(","):void 0,f["skip-cert-verify"]=/(TRUE)|1/i.test(A.allowInsecure),["reality"].includes(A.security)){let b={};A.pbk&&(b["public-key"]=A.pbk),A.sid&&(b["short-id"]=A.sid),A.spx&&(b["_spider-x"]=A.spx),Object.keys(b).length>0&&(f[`${A.security}-opts`]=b)}let v=!1;if(f.network=A.type,f.network==="tcp"&&A.headerType==="http"?f.network="http":f.network==="httpupgrade"&&(f.network="ws",v=!0),!f.network&&i&&A.obfs&&(f.network=A.obfs,["none"].includes(f.network)&&(f.network="tcp")),["websocket"].includes(f.network)&&(f.network="ws"),f.network&&!["tcp","none"].includes(f.network)){let b={},w=A.host??A.obfsParam;if(w)if(A.obfsParam)try{let y=JSON.parse(w);b.headers=y}catch{b.headers={Host:w}}else b.headers={Host:w};A.serviceName?(b[`${f.network}-service-name`]=A.serviceName,["grpc"].includes(f.network)&&A.authority&&(b["_grpc-authority"]=A.authority)):i&&A.path&&(["ws","http","h2"].includes(f.network)||(b[`${f.network}-service-name`]=A.path,delete A.path)),A.path&&(b.path=A.path),["grpc"].includes(f.network)&&(b["_grpc-type"]=A.mode||"gun"),v&&(b["v2ray-http-upgrade"]=!0,b["v2ray-http-upgrade-fast-open"]=!0),Object.keys(b).length>0&&(f[`${f.network}-opts`]=b),f.network==="kcp"&&(A.seed&&(f.seed=A.seed),f.headerType=A.headerType||"none"),A.mode&&(f._mode=A.mode),A.extra&&(f._extra=A.extra)}return f}}}function q7(){return{name:"URI AnyTLS Parser",test:n=>/^anytls:\/\//.test(n),parse:n=>{n=n.split(/anytls:\/\//)[1];let[i,a,s,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a),c=parseInt(`${c}`,10),isNaN(c)&&(c=443),a=decodeURIComponent(a),h!=null&&(h=decodeURIComponent(h)),h=h??`AnyTLS ${s}:${c}`;let g={type:"anytls",name:h,server:s,port:c,password:a};for(let E of l.split("&")){let[p,f]=E.split("=");p=p.replace(/_/g,"-"),f=decodeURIComponent(f),["alpn"].includes(p)?g[p]=f?f.split(","):void 0:["insecure"].includes(p)?g["skip-cert-verify"]=/(TRUE)|1/i.test(f):["udp"].includes(p)?g[p]=/(TRUE)|1/i.test(f):g[p]=f}return g}}}function K7(){return{name:"URI Hysteria2 Parser",test:n=>/^(hysteria2|hy2):\/\//.test(n),parse:n=>{n=n.split(/(hysteria2|hy2):\/\//)[2];let i,[a,s,c,l,h,g,E,p,f,A,v="",b]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);/^\d+$/.test(h)?(h=parseInt(`${h}`,10),isNaN(h)&&(h=443)):h?(i=h,h=Fc(i)):h=443,s=decodeURIComponent(s),b!=null&&(b=decodeURIComponent(b)),b=b??`Hysteria2 ${c}:${h}`;let w={type:"hysteria2",name:b,server:c,port:h,ports:i,password:s},y={};for(let I of v.split("&")){let[q,V]=I.split("="),_=V;_=decodeURIComponent(V),y[q]=_}w.sni=y.sni,!w.sni&&y.peer&&(w.sni=y.peer),y.obfs&&y.obfs!=="none"&&(w.obfs=y.obfs),y.mport&&(w.ports=y.mport),w["obfs-password"]=y["obfs-password"],w["skip-cert-verify"]=/(TRUE)|1/i.test(y.insecure),w.tfo=/(TRUE)|1/i.test(y.fastopen),w["tls-fingerprint"]=y.pinSHA256;let F=y["hop-interval"]||y.hop_interval;/^\d+$/.test(F)&&(w["hop-interval"]=parseInt(`${F}`,10));let D=y.keepalive;return/^\d+$/.test(D)&&(w.keepalive=parseInt(`${D}`,10)),w}}}function V7(){return{name:"URI Hysteria Parser",test:n=>/^(hysteria|hy):\/\//.test(n),parse:n=>{n=n.split(/(hysteria|hy):\/\//)[2];let[i,a,s,c,l,h="",g]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);c=parseInt(`${c}`,10),isNaN(c)&&(c=443),g!=null&&(g=decodeURIComponent(g)),g=g??`Hysteria ${a}:${c}`;let E={type:"hysteria",name:g,server:a,port:c},p={};for(let f of h.split("&")){let[A,v]=f.split("=");A=A.replace(/_/,"-"),v=decodeURIComponent(v),["alpn"].includes(A)?E[A]=v?v.split(","):void 0:["insecure"].includes(A)?E["skip-cert-verify"]=/(TRUE)|1/i.test(v):["auth"].includes(A)?E["auth-str"]=v:["mport"].includes(A)?E.ports=v:["obfsParam"].includes(A)?E.obfs=v:["upmbps"].includes(A)?E.up=v:["downmbps"].includes(A)?E.down=v:["obfs"].includes(A)?E._obfs=v||"":["fast-open","peer"].includes(A)?p[A]=v:E[A]=v}return!E.sni&&p.peer&&(E.sni=p.peer),!E["fast-open"]&&p.fastopen&&(E["fast-open"]=!0),E.protocol||(E.protocol="udp"),E}}}function G7(){return{name:"URI TUIC Parser",test:n=>/^tuic:\/\//.test(n),parse:n=>{n=n.split(/tuic:\/\//)[1];let[i,a,s,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a);let[g,...E]=a.split(":"),p=E.join(":");c=parseInt(`${c}`,10),isNaN(c)&&(c=443),p=decodeURIComponent(p),h!=null&&(h=decodeURIComponent(h)),h=h??`TUIC ${s}:${c}`;let f={type:"tuic",name:h,server:s,port:c,password:p,uuid:g};for(let A of l.split("&")){let[v,b]=A.split("=");v=v.replace(/_/g,"-"),b=decodeURIComponent(b),["alpn"].includes(v)?f[v]=b?b.split(","):void 0:["allow-insecure"].includes(v)?f["skip-cert-verify"]=/(TRUE)|1/i.test(b):["fast-open"].includes(v)?f.tfo=!0:["disable-sni","reduce-rtt"].includes(v)?f[v]=/(TRUE)|1/i.test(b):v==="congestion-control"?(f["congestion-controller"]=b,delete f[v]):f[v]=b}return f}}}function z7(){return{name:"URI WireGuard Parser",test:n=>/^(wireguard|wg):\/\//.test(n),parse:n=>{n=n.split(/(wireguard|wg):\/\//)[2];let[i,a,s,c,l,h,g,E="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);h=parseInt(`${h}`,10),isNaN(h)&&(h=51820),s=decodeURIComponent(s),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${c}:${h}`;let f={type:"wireguard",name:p,server:c,port:h,"private-key":s,udp:!0};for(let A of E.split("&")){let[v,b]=A.split("=");if(v=v.replace(/_/,"-"),b=decodeURIComponent(b),["reserved"].includes(v)){let w=b.split(",").map(y=>parseInt(y.trim(),10)).filter(y=>Number.isInteger(y));w.length===3&&(f[v]=w)}else if(["address","ip"].includes(v))b.split(",").map(w=>{let y=w.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");hr(y)?f.ip=y:pr(y)&&(f.ipv6=y)});else if(["mtu"].includes(v)){let w=parseInt(b.trim(),10);Number.isInteger(w)&&(f[v]=w)}else/publickey/i.test(v)?f["public-key"]=b:/privatekey/i.test(v)?f["private-key"]=b:["udp"].includes(v)?f[v]=/(TRUE)|1/i.test(b):["flag"].includes(v)||(f[v]=b)}return f}}}function Y7(){return{name:"URI Trojan Parser",test:n=>/^trojan:\/\//.test(n),parse:n=>{let i=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(n);i?.[2]||(n=n.replace(i[1],`${i[1]}:443`));let[s,c]=n.split(/#(.+)/,2),h=L0().parse(s);if(xi(c))try{h.name=decodeURIComponent(c)}catch(g){console.log(g)}return h}}}function W7(){return{name:"Clash Parser",test:n=>{try{JSON.parse(n)}catch{return!1}return!0},parse:n=>{let i=JSON.parse(n);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(i.type))throw new Error(`Clash does not support proxy with type: ${i.type}`);return["vmess","vless"].includes(i.type)&&(i.sni=i.servername,delete i.servername),i["server-cert-fingerprint"]&&(i["tls-fingerprint"]=i["server-cert-fingerprint"]),i.fingerprint&&(i["tls-fingerprint"]=i.fingerprint),i["dialer-proxy"]&&(i["underlying-proxy"]=i["dialer-proxy"]),i["benchmark-url"]&&(i["test-url"]=i["benchmark-url"]),i["benchmark-timeout"]&&(i["test-timeout"]=i["benchmark-timeout"]),i}}}function X7(){return{name:"QX SS Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")===-1,parse:n=>Ls().parse(n)}}function J7(){return{name:"QX SSR Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")!==-1,parse:n=>Ls().parse(n)}}function Z7(){return{name:"QX VMess Parser",test:n=>/^vmess\s*=/.test(n.split(",")[0].trim()),parse:n=>Ls().parse(n)}}function Q7(){return{name:"QX VLESS Parser",test:n=>/^vless\s*=/.test(n.split(",")[0].trim()),parse:n=>Ls().parse(n)}}function e$(){return{name:"QX Trojan Parser",test:n=>/^trojan\s*=/.test(n.split(",")[0].trim()),parse:n=>Ls().parse(n)}}function t$(){return{name:"QX HTTP Parser",test:n=>/^http\s*=/.test(n.split(",")[0].trim()),parse:n=>Ls().parse(n)}}function r$(){return{name:"QX Socks5 Parser",test:n=>/^socks5\s*=/.test(n.split(",")[0].trim()),parse:n=>Ls().parse(n)}}function n$(){return{name:"Loon SS Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:n=>Wi().parse(n)}}function i$(){return{name:"Loon SSR Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:n=>Wi().parse(n)}}function s$(){return{name:"Loon VMess Parser",test:n=>/^.*=\s*vmess/i.test(n.split(",")[0])&&n.indexOf("username")===-1,parse:n=>Wi().parse(n)}}function a$(){return{name:"Loon Vless Parser",test:n=>/^.*=\s*vless/i.test(n.split(",")[0]),parse:n=>Wi().parse(n)}}function u$(){return{name:"Loon Trojan Parser",test:n=>/^.*=\s*trojan/i.test(n.split(",")[0]),parse:n=>Wi().parse(n)}}function o$(){return{name:"Loon Hysteria2 Parser",test:n=>/^.*=\s*Hysteria2/i.test(n.split(",")[0]),parse:n=>Wi().parse(n)}}function c$(){return{name:"Loon HTTP Parser",test:n=>/^.*=\s*http/i.test(n.split(",")[0]),parse:n=>Wi().parse(n)}}function l$(){return{name:"Loon SOCKS5 Parser",test:n=>/^.*=\s*socks5/i.test(n.split(",")[0]),parse:n=>Wi().parse(n)}}function f$(){return{name:"Loon WireGuard Parser",test:n=>/^.*=\s*wireguard/i.test(n.split(",")[0]),parse:n=>{let i=n.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];n=n.replace(i,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let a=n.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],s=a.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),c=s?.[2],l=parseInt(s?.[3],10),h=n.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];h&&(h=parseInt(h,10));let g=n.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];g&&(g=parseInt(g,10));let E=a.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];E&&(E=JSON.parse(E));let p,f=n.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],A=n.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(f||A)&&(p=[],f&&p.push(f),A&&p.push(A));let v=a.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(I=>I.trim()),b=a.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],w=n.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],y=n.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],F=a.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],D={type:"wireguard",name:i,server:c,port:l,ip:w,ipv6:y,"private-key":n.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":F,mtu:h,keepalive:g,reserved:E,"allowed-ips":v,"preshared-key":b,dns:p,udp:!0,peers:[{server:c,port:l,ip:w,ipv6:y,"public-key":F,"pre-shared-key":b,"allowed-ips":v,reserved:E}]};return Array.isArray(D.dns)&&D.dns.length>0&&(D["remote-dns-resolve"]=!0),D}}}function h$(){return{name:"Surge Direct Parser",test:n=>/^.*=\s*direct/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function p$(){return{name:"Surge SSH Parser",test:n=>/^.*=\s*ssh/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function d$(){return{name:"Surge SS Parser",test:n=>/^.*=\s*ss/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function g$(){return{name:"Surge VMess Parser",test:n=>/^.*=\s*vmess/.test(n.split(",")[0])&&n.indexOf("username")!==-1,parse:n=>Kn().parse(n)}}function m$(){return{name:"Surge Trojan Parser",test:n=>/^.*=\s*trojan/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function v$(){return{name:"Surge HTTP Parser",test:n=>/^.*=\s*https?/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function w$(){return{name:"Surge Socks5 Parser",test:n=>/^.*=\s*socks5(-tls)?/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function A$(){return{name:"Surge External Parser",test:n=>/^.*=\s*external/.test(n.split(",")[0]),parse:n=>{let i=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(n),[a,s,c]=i;n=c;let l=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];l||(l=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let h=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];h||(h=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let g=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,E,p=[];for(;(E=g.exec(n))!==null;)E[3]!=null?p.push(E[3]):E[4]!=null&&p.push(E[4]);let f=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,v=[];for(;(A=f.exec(n))!==null;){let w;A[3]!=null?w=A[3]:A[4]!=null&&(w=A[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),C$(w)&&v.push(w)}return{type:"external",name:s,exec:l,"local-port":h,args:p,addresses:v}}}}function E$(){return{name:"Surge Snell Parser",test:n=>/^.*=\s*snell/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function y$(){return{name:"Surge Tuic Parser",test:n=>/^.*=\s*tuic(-v5)?/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=MA(n),s=Kn().parse(a);return s.ports=i,s}}}function S$(){return{name:"Surge WireGuard Parser",test:n=>/^.*=\s*wireguard/.test(n.split(",")[0]),parse:n=>Kn().parse(n)}}function b$(){return{name:"Surge Hysteria2 Parser",test:n=>/^.*=\s*hysteria2/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=MA(n),s=Kn().parse(a);return s.ports=i,s}}}function C$(e){return hr(e)||pr(e)}var qA=[N7(),L7(),U7(),H7(),j7(),M7(),G7(),z7(),V7(),K7(),Y7(),q7(),W7(),h$(),p$(),d$(),g$(),m$(),v$(),E$(),y$(),S$(),b$(),w$(),A$(),n$(),i$(),s$(),a$(),o$(),u$(),c$(),l$(),f$(),X7(),J7(),Z7(),Q7(),e$(),t$(),r$()];function F$(e){for(let t of Rf)try{if(t.test(e))return x.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){x.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function _$(e){e=F$(e);let t=e.split(` +`),r=[],n;for(let i of t){if(i=i.trim(),i.length===0)continue;let a=!1;if(n){let[s,c]=KA(n,i);c||(r.push(GA(s)),a=!0)}if(!a)for(let s of qA){let[c,l]=KA(s,i);if(!l){r.push(GA(c)),n=s,a=!0,x.info(`${s.name} is activated`);break}}a||x.error(`Failed to parse line: ${i}`)}return r.filter(i=>(["vless","vmess"].includes(i.type)&&(hf(i.uuid)||x.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0))}async function I$(e,t=[],r,n,i){for(let a of t){if(a.disabled){x.log(`Skipping disabled operator: "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);continue}let s,c={};if(a.type.indexOf("Script")!==-1){let{mode:h,content:g}=a.args;if(h==="link"){let E=g||"",p=E.split("#");if(p.length>1)try{c=JSON.parse(decodeURIComponent(p[1]))}catch{for(let v of p[1].split("&")){let b=v.split("=")[0],w=v.split("=")[1];c[b]=w==null||w===""?!0:decodeURIComponent(w)}}E=`${E.split("#")[0]}${p[2]?`#${p[2]}`:c?.noCache!=null||c?.insecure!=null?`#${p[1]}`:""}`;let f=E.match(/^\/api\/(file|module)\/(.+)/);if(f){let A="";try{A=f?.[1];let v=f?.[2];if(v==null)throw new Error(`\u672C\u5730 ${A} URL \u65E0\u6548: ${E}`);v=decodeURIComponent(v);let b=A==="module"?mn:gt,w=mt(x.read(b),v);if(!w)throw new Error(`\u627E\u4E0D\u5230 ${A}: ${v}`);A==="module"?s=w.content:s=await la({type:"file",name:v})}catch(v){throw x.error(`Error when loading ${A}: ${a.args.content}. + Reason: ${v}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${A}: ${E}`)}}else try{s=await On(E)}catch(A){throw x.error(`Error when downloading remote script: ${a.args.content}. + Reason: ${A}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${E}`)}}else s=g,c=a.args.arguments||{}}if(!nh[a.type]){x.error(`Unknown operator: "${a.type}"`);continue}x.log(`Applying "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);let l;a.type.indexOf("Script")!==-1?l=nh[a.type](s,r,c,n,i):l=nh[a.type](a.args||{}),e=await Fw(l,e)}return e}function D$(e,t,r,n={}){let i=Rw[t];if(!i)throw new Error(`Target platform: ${t} is not supported!`);let a=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(s=>s.supported&&s.supported[t]===!1?!1:(["vless","vmess"].includes(s.type)&&(hf(s.uuid)||x.error(`UUID may be invalid: ${s.name} ${s.uuid}`)),!0)),e=e.map(s=>(s._resolved=s.resolved,xi(s.name)||(s.name=`${s.type} ${s.server}:${s.port}`),s["disable-sni"]&&(a?s.sni="off":["tuic"].includes(s.type)||(x.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),s.sni="",s["skip-cert-verify"]=!0,delete s["tls-fingerprint"])),s.ports&&(s.ports=String(s.ports),["ClashMeta"].includes(t)||(s.ports=s.ports.replace(/\//g,",")),s.port||(s.port=Fc(s.ports))),s)),x.log(`Producing proxies for target: ${t}`),typeof i.type>"u"||i.type==="SINGLE"){let s=e.map(c=>{try{return i.produce(c,r,n)}catch(l){return x.error(`Cannot produce proxy: ${JSON.stringify(c,null,2)} +Reason: ${l}`),""}}).filter(c=>c.length>0);return s=r==="internal"?s:s.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(c=>c.type==="wireguard")&&(s=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${s}`),s}else if(i.type==="ALL")return i.produce(e,r,n)}var rr={parse:_$,process:I$,produce:D$,ipAddress:ff,getRandomPort:Fc,isIPv4:hr,isIPv6:pr,isIP:U0,yaml:iu,getFlag:Co,removeFlag:qc,getISO:aw,MMDB:Jf,Gist:ni,download:On,downloadFile:d2,isValidUUID:hf,doh:_o,Buffer:mh.Buffer,Base64:ht};function KA(e,t){if(!B$(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function B$(e,t){try{return e.test(t)}catch{return!1}}function VA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function GA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=Wg(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),Yg(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>VA(n)):t!=null&&(e[`${e.network}-opts`].path=VA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,i=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!i&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):i&&!n&&(e[`${e.network}-opts`].headers.Host=i,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,i=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(i)&&(e["h2-opts"].path=i[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!U0(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;i&&!Array.isArray(i)&&(e[`${e.network}-opts`].headers.Host=[i]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(U0(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=mh.Buffer.from(e.name.data).toString("utf8"):e.name=mh.Buffer.from(e.name).toString("utf8")}catch(n){x.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{x.env.isNode&&!r&&e._ca&&(r=x.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){x.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=sw.generateFingerprint(r)),["ss"].includes(e.type)&&ae(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function U0(e){return hr(e)||pr(e)}function $$(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function P$(){return{name:"Clash Provider",test:n=>/^payload:/gm.exec(n).index>=0,parse:n=>n.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var zA=[$$(),P$()];function R$(){return{type:"SINGLE",func:r=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[r.type]||r.type},${r.content},SUB-STORE`}}function YA(){return{type:"SINGLE",func:r=>{if(["GEOSITE","GEOIP"].indexOf(r.type)!==-1)return null;let i=`${r.type},${r.content}`;return["IP-CIDR","IP-CIDR6"].includes(r.type)&&(i+=r.options?.length>0?`,${r.options.join(",")}`:""),i}}}function T$(){return{type:"SINGLE",func:r=>["SRC-IP","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(r.type)&&r.options&&(r.options=r.options.filter(i=>["no-resolve"].includes(i))),YA().func(r))}}function x$(){return{type:"ALL",func:r=>{let n={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},i={payload:r.map(a=>{let s=`${n[a.type]||a.type},${a.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(a.type)&&(a.options&&(a.options=a.options.filter(c=>["no-resolve"].includes(c))),s+=a.options?.length>0?`,${a.options.join(",")}`:""),s})};return iu.dump(i)}}}var WA={QX:R$(),Surge:YA(),Loon:T$(),Clash:x$()};var O$=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function k$(){return{name:"Universal Rule Parser",test:()=>!0,parse:n=>{let i=n.split(` +`),a=[];for(let s of i)if(s=s.trim(),s.length!==0&&!/\s*#/.test(s))try{let c=s.split(",").map(g=>g.trim()),l=c[0],h=!1;for(let g of O$)if(g[0].test(l)){h=!0;let p={type:g[1],content:c[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(p.type)&&(p.options=c.slice(2)),a.push(p)}if(!h)throw new Error("Invalid rule type: "+l)}catch(c){console.log(`Failed to parse line: ${s} + Reason: ${c}`)}return a}}}var XA=[k$()];var vh=function(){function e(n){for(let i of zA)try{if(i.test(n))return x.info(`Pre-processor [${i.name}] activated`),i.parse(n)}catch(a){x.error(`Parser [${i.name}] failed + Reason: ${a}`)}return n}function t(n){n=e(n);for(let i of XA){let a;try{a=i.test(n)}catch{a=!1}if(a)return x.info(`Rule parser [${i.name}] is activated!`),i.parse(n)}}function r(n,i){let a=WA[i];if(!a)throw new Error(`Target platform: ${i} is not supported!`);if(typeof a.type>"u"||a.type==="SINGLE")return n.map(s=>{try{return a.func(s)}catch(c){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(s)} +Reason: ${c}`),""}}).filter(s=>s.length>0).join(` +`);if(a.type==="ALL")return a.func(n)}return{parse:t,produce:r}}();async function la({type:e,name:t,platform:r,url:n,ua:i,content:a,mergeSources:s,ignoreFailedRemoteSub:c,ignoreFailedRemoteFile:l,produceType:h,produceOpts:g={},subscription:E,awaitCustomCache:p,$options:f,proxy:A,noCache:v,all:b}){if(r=r||"JSON",["subscription","sub"].includes(e)){let w;if(t){let I=x.read(Ut);if(w=mt(I,t),!w)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(E)w=E;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let y;if(a&&!["localFirst","remoteFirst"].includes(s))y=a;else if(n){let I={};y=await Promise.all(n.split(/[\r\n]+/).map(V=>V.trim()).filter(V=>V.length).map(async V=>{try{return await On(V,i||w.ua,void 0,A||w.proxy,void 0,p,v||w.noCache,!0)}catch(_){return I[V]=_,x.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${V} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let q=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(q=c),Object.keys(I).length>0)if(q)q==="enabled"&&x.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?y.unshift(a):s==="remoteFirst"&&y.push(a)}else if(w.source==="local"&&!["localFirst","remoteFirst"].includes(w.mergeSources))y=w.content;else{let I={};y=await Promise.all(w.url.split(/[\r\n]+/).map(V=>V.trim()).filter(V=>V.length).map(async V=>{try{return await On(V,i||w.ua,void 0,A||w.proxy,void 0,p,v||w.noCache,!0)}catch(_){return I[V]=_,x.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${V} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let q=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(q=c),Object.keys(I).length>0)if(q)q==="enabled"&&x.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);w.mergeSources==="localFirst"?y.unshift(w.content):w.mergeSources==="remoteFirst"&&y.push(w.content)}if(h==="raw")return JSON.stringify((Array.isArray(y)?y:[y]).flat());let F=(Array.isArray(y)?y:[y]).map(I=>rr.parse(I)).flat();if(F.forEach(I=>{I._subName=w.name,I._subDisplayName=w.displayName}),F=await rr.process(F,w.process||[],r,{[w.name]:w},f),F.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let D={};for(let I of F){if(D[I.name]){x.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${I.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}D[I.name]=!0}return rr.produce(F,r,h,g)}else if(["collection","col"].includes(e)){let w=x.read(Ut),y=x.read(Tt),F=mt(y,t);if(!F)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let D=[...F.subscriptions],I=F.subscriptionTags;Array.isArray(I)&&I.length>0&&w.forEach(K=>{Array.isArray(K.tag)&&K.tag.length>0&&!D.includes(K.name)&&K.tag.some(X=>I.includes(X))&&D.push(K.name)});let q={},V={},_=0;await Promise.all(D.map(async K=>{let X=mt(w,K),G=X.passThroughUA,z=X.ua;G&&(x.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${i}`),z=i);try{x.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${X.name}...`);let W;if(X.source==="local"&&!["localFirst","remoteFirst"].includes(X.mergeSources))W=X.content;else{let ye={};if(W=await await Promise.all(X.url.split(/[\r\n]+/).map(Ae=>Ae.trim()).filter(Ae=>Ae.length).map(async Ae=>{try{return await On(Ae,z,void 0,A||X.proxy||F.proxy,void 0,void 0,v||X.noCache,!0)}catch(Ie){return ye[Ae]=Ie,x.error(`\u8BA2\u9605 ${X.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Ae} \u53D1\u751F\u9519\u8BEF: ${Ie}`),""}})),Object.keys(ye).length>0)if(X.ignoreFailedRemoteSub)X.ignoreFailedRemoteSub==="enabled"&&x.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${X.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(ye).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${X.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(ye).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);X.mergeSources==="localFirst"?W.unshift(X.content):X.mergeSources==="remoteFirst"&&W.push(X.content)}let ie=(Array.isArray(W)?W:[W]).map(ye=>rr.parse(ye)).flat();ie.forEach(ye=>{ye._subName=X.name,ye._subDisplayName=X.displayName,ye._collectionName=F.name,ye._collectionDisplayName=F.displayName}),ie=await rr.process(ie,X.process||[],r,{[X.name]:X,_collection:F,$options:f}),q[K]=ie,_++,x.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${X.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}% `)}catch(W){_++,V[K]=W,x.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${X.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${W}\uFF01\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}%`)}}));let P=F.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(P=c),Object.keys(V).length>0)if(P)P==="enabled"&&x.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${F.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(V).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${F.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(V).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let L=Array.prototype.concat.apply([],D.map(K=>q[K]||[]));if(L.forEach(K=>{K._collectionName=F.name,K._collectionDisplayName=F.displayName}),L=await rr.process(L,F.process||[],r,{_collection:F},f),L.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let j={};for(let K of L){if(j[K.name]){x.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${K.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}j[K.name]=!0}return rr.produce(L,r,h,g)}else if(e==="rule"){let w=x.read(Sc),y=mt(w,t);if(!y)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let F=[];for(let D=0;DP.trim()).filter(P=>P.length).map(async P=>{try{return await On(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,v)}catch(L){return V[P]=L,x.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${L}`),""}}));let _=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),!_&&Object.keys(V).length>0)throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(V).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?F.unshift(a):s==="remoteFirst"&&F.push(a)}else if(y.source==="local"&&!["localFirst","remoteFirst"].includes(y.mergeSources))F=y.content;else{let V={};F=await Promise.all(y.url.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length).map(async P=>{try{return await On(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,v)}catch(L){return V[P]=L,x.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${L}`),""}}));let _=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),Object.keys(V).length>0)if(_)_==="enabled"&&x.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${y.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(V).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(V).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);y.mergeSources==="localFirst"?F.unshift(y.content):y.mergeSources==="remoteFirst"&&F.push(y.content)}if(h==="raw")return JSON.stringify((Array.isArray(F)?F:[F]).flat());let D=(Array.isArray(F)?F:[F]).flat(),I=D.filter(V=>V!=null&&V!=="").join(` +`),q=Array.isArray(y.process)&&y.process.length>0?await rr.process({$files:D,$content:I,$options:f,$file:y},y.process):{$content:I,$files:D,$options:f};return(b?q:q?.$content)??""}}function H0(e){x.read(gt)||x.write([],gt),e.get("/share/file/:name",JA),e.route("/api/file/:name").get(JA).patch(U$).delete(H$),e.route("/api/wholeFile/:name").get(L$),e.route("/api/files").get(j$).post(N$).put(q$),e.route("/api/wholeFiles").get(M$)}function N$(e,t){let r=e.body;r.name=`${r.name??Date.now()}`,x.info(`\u6B63\u5728\u521B\u5EFA\u6587\u4EF6\uFF1A${r.name}`);let n=x.read(gt);if(mt(n,r.name))return Ue(t,new dt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6587\u4EF6`:"\u65E0\u6CD5\u540C\u65F6\u521B\u5EFA\u76F8\u540C\u7684\u6587\u4EF6 \u53EF\u7A0D\u540E\u91CD\u8BD5"));n.push(r),x.write(n,gt),Ne(t,r,201)}async function JA(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.headers["user-agent"]||e.headers["User-Agent"];x.info(`\u6B63\u5728\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${n}`);let{url:i,subInfoUrl:a,subInfoUserAgent:s,ua:c,content:l,mergeSources:h,ignoreFailedRemoteFile:g,proxy:E,noCache:p,produceType:f}=e.query,A={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{A=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let y of e.query.$options.split("&")){let F=y.split("=")[0],D=y.split("=")[1];A[F]=D==null||D===""?!0:decodeURIComponent(D)}}x.info(`\u4F20\u5165 $options: ${JSON.stringify(A)}`)}i&&(i=decodeURIComponent(i),x.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 URL: ${i}`)),E&&(E=decodeURIComponent(E),x.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${E}`)),c&&(c=decodeURIComponent(c),x.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 User-Agent: ${c}`)),a&&(a=decodeURIComponent(a),x.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUrl: ${a}`)),s&&(s=decodeURIComponent(s),x.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUserAgent: ${s}`)),l&&(l=decodeURIComponent(l),x.info(`\u6307\u5B9A\u672C\u5730\u6587\u4EF6: ${l}`)),h&&(h=decodeURIComponent(h),x.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${h}`)),g!=null&&g!==""&&(g=decodeURIComponent(g),x.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u6587\u4EF6: ${g}`)),p&&x.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${p}`),f&&(f=decodeURIComponent(f),x.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${f}`));let v=x.read(gt),b=mt(v,r);if(b)try{let w=await la({type:"file",name:r,url:i,ua:c,content:l,mergeSources:h,ignoreFailedRemoteFile:g,$options:A,proxy:E,noCache:p,produceType:f,all:!0});try{if(a=a||b.subInfoUrl,a){let y=await Oi(a,s||b.subInfoUserAgent,void 0,E||b.proxy);y&&t.set("subscription-userinfo",mf(y))}}catch(y){x.error(`\u6587\u4EF6 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(y)}`)}b.download&&t.set("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(b.displayName||b.name)}`),t.set("Content-Type","text/plain; charset=utf-8"),w?.$options?._res?.headers&&Object.entries(w.$options._res.headers).forEach(([y,F])=>{t.set(y,F)}),t.send(w?.$content??"")}catch(w){x.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${w.message??w}`),x.error(w.message??w),Ue(t,new Tr("INTERNAL_SERVER_ERROR",`Failed to download file: ${r}`,`Reason: ${w.message??w}`))}else x.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25 +\u274C \u672A\u627E\u5230\u6587\u4EF6\uFF1A${r}\uFF01`),Ue(t,new fr("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function L$(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=x.read(gt),a=mt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_file_${r}_${ea(new Date)}.json`)}"`).send(JSON.stringify(a)):Ne(t,a):Ue(t,new fr("FILE_NOT_FOUND",`File ${r} does not exist`,404))}function U$(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=x.read(gt),a=mt(i,r);if(a){let s={...a,...n};if(x.info(`\u6B63\u5728\u66F4\u65B0\u6587\u4EF6\uFF1A${r}...`),r!==s.name){let c=x.read(Ct)||[];for(let l of c)l.type==="file"&&l.source===a.name&&(l.source=s.name);x.write(c,Ct)}di(i,r,s),x.write(i,gt),Ne(t,s)}else Ue(t,new fr("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function H$(e,t){let{name:r}=e.params;r=decodeURIComponent(r),x.info(`\u6B63\u5728\u5220\u9664\u6587\u4EF6\uFF1A${r}`);let n=x.read(gt);ri(n,r),x.write(n,gt),Ne(t)}function j$(e,t){let r=x.read(gt);Ne(t,r.map(({content:n,...i})=>i))}function M$(e,t){let r=x.read(gt);Ne(t,r)}function q$(e,t){let r=e.body;x.write(r,gt),Ne(t)}function j0(e){x.read(ti)||x.write([],ti),e.post("/api/token",G$),e.route("/api/token/:token").delete(K$),e.route("/api/tokens").get(V$)}function K$(e,t){let{token:r}=e.params;r=decodeURIComponent(r),x.info(`\u6B63\u5728\u5220\u9664\uFF1A${r}`);let n=x.read(ti);ri(n,r,"token"),x.write(n,ti),Ne(t)}function V$(e,t){let{type:r,name:n}=e.query,i=x.read(ti)||[];Ne(t,r||n?i.filter(a=>(r?a.type===r:!0)&&(n?a.name===n:!0)):i)}async function G$(req,res){if(!Sr().isNode)return Ue(res,new dt("INVALID_ENV","This endpoint is only available in Node.js environment"));try{let{payload,options}=req.body,ms=eval('require("ms")'),token=payload?.token;if(token!=null){if(typeof token!="string"||token.length<1)return Ue(res,new dt("INVALID_CUSTOM_TOKEN",`Invalid custom token: ${token}`));if((x.read(ti)||[]).find(t=>t.token===token))return Ue(res,new dt("DUPLICATE_TOKEN",`Token ${token} already exists`))}let type=payload?.type,name=payload?.name;if(!type||!name)return Ue(res,new dt("INVALID_PAYLOAD","payload type and name are required"));if(type==="col"){if(!(x.read(Tt)||[]).find(r=>r.name===name))return Ue(res,new dt("INVALID_COLLECTION",`collection ${name} not found`))}else if(type==="file"){if(!(x.read(gt)||[]).find(r=>r.name===name))return Ue(res,new dt("INVALID_FILE",`file ${name} not found`))}else if(type==="sub"){if(!(x.read(Ut)||[]).find(r=>r.name===name))return Ue(res,new dt("INVALID_SUB",`sub ${name} not found`))}else return Ue(res,new dt("INVALID_TYPE",`type ${name} not supported`));let expiresIn=options?.expiresIn;if(options?.expiresIn!=null&&(expiresIn=ms(options.expiresIn),expiresIn==null||isNaN(expiresIn)||expiresIn<=0))return Ue(res,new dt("INVALID_EXPIRES_IN",`Invalid expiresIn option: ${options.expiresIn}`));let nanoid=eval('require("nanoid")'),tokens=x.read(ti)||[];if(!token)do token=nanoid.customAlphabet(nanoid.urlAlphabet)();while(tokens.find(e=>e.token===token));return tokens.push({...payload,token,createdAt:Date.now(),expiresIn:expiresIn>0?options?.expiresIn:void 0,exp:expiresIn>0?Date.now()+expiresIn:void 0}),x.write(tokens,ti),Ne(res,{token})}catch(e){return Ue(res,new Tr("TOKEN_SIGN_FAILED","Failed to sign token",`Reason: ${e.message??e}`))}}function M0(e){x.read(mn)||x.write([],mn),e.route("/api/module/:name").get(Y$).patch(W$).delete(X$),e.route("/api/modules").get(J$).post(z$).put(Z$)}function z$(e,t){let r=e.body;r.name=`${r.name??xn(JSON.stringify(r))}`,x.info(`\u6B63\u5728\u521B\u5EFA\u6A21\u5757\uFF1A${r.name}`);let n=x.read(mn);if(mt(n,r.name))return Ue(t,new dt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6A21\u5757`:"\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u6A21\u5757 \u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0"));n.push(r),x.write(n,mn),Ne(t,r,201)}function Y$(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=x.read(mn),i=mt(n,r);i?t.set("Content-Type","text/plain; charset=utf-8").send(i.content):Ue(t,new fr("MODULE_NOT_FOUND",`Module ${r} does not exist`,404))}function W$(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=x.read(mn),a=mt(i,r);if(a){let s={...a,...n};x.info(`\u6B63\u5728\u66F4\u65B0\u6A21\u5757\uFF1A${r}...`),di(i,r,s),x.write(i,mn),Ne(t,s)}else Ue(t,new fr("RESOURCE_NOT_FOUND",`Module ${r} does not exist!`),404)}function X$(e,t){let{name:r}=e.params;r=decodeURIComponent(r),x.info(`\u6B63\u5728\u5220\u9664\u6A21\u5757\uFF1A${r}`);let n=x.read(mn);ri(n,r),x.write(n,mn),Ne(t)}function J$(e,t){let r=x.read(mn);Ne(t,r.map(({content:n,...i})=>i))}function Z$(e,t){let r=e.body;x.write(r,mn),Ne(t)}console.log(` +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store -- v${Xl} +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 +`);Wu();Q$();function Q$(){let e=kp({substore:x});Yp(e),Jp(e),j0(e),H0(e),M0(e),Zp(e),Qp(e),nd(e),rd(e),e.start()}})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/sub-store-1.min.js b/sub-store-1.min.js new file mode 100644 index 0000000..d80fad5 --- /dev/null +++ b/sub-store-1.min.js @@ -0,0 +1,1165 @@ +(()=>{var S5=Object.create;var xg=Object.defineProperty;var b5=Object.getOwnPropertyDescriptor;var C5=Object.getOwnPropertyNames;var F5=Object.getPrototypeOf,_5=Object.prototype.hasOwnProperty;var xa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var I5=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of C5(t))!_5.call(e,i)&&i!==r&&xg(e,i,{get:()=>t[i],enumerable:!(n=b5(t,i))||n.enumerable});return e};var ln=(e,t,r)=>(r=e!=null?S5(F5(e)):{},I5(t||!e||!e.__esModule?xg(r,"default",{value:e,enumerable:!0}):r,e));var Up=ye(($7,Mg)=>{var k5=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Mg.exports=k5});var Hp=ye((B7,qg)=>{var L5="2.0.0",U5=Number.MAX_SAFE_INTEGER||9007199254740991,H5=16,j5=250,M5=["major","premajor","minor","preminor","patch","prepatch","prerelease"];qg.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:H5,MAX_SAFE_BUILD_LENGTH:j5,MAX_SAFE_INTEGER:U5,RELEASE_TYPES:M5,SEMVER_SPEC_VERSION:L5,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var qp=ye((hs,Vg)=>{var{MAX_SAFE_COMPONENT_LENGTH:jp,MAX_SAFE_BUILD_LENGTH:q5,MAX_LENGTH:V5}=Hp(),K5=Up();hs=Vg.exports={};var G5=hs.re=[],z5=hs.safeRe=[],Te=hs.src=[],Oe=hs.t={},Y5=0,Mp="[a-zA-Z0-9-]",W5=[["\\s",1],["\\d",V5],[Mp,q5]],X5=e=>{for(let[t,r]of W5)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Xe=(e,t,r)=>{let n=X5(t),i=Y5++;K5(e,i,t),Oe[e]=i,Te[i]=t,G5[i]=new RegExp(t,r?"g":void 0),z5[i]=new RegExp(n,r?"g":void 0)};Xe("NUMERICIDENTIFIER","0|[1-9]\\d*");Xe("NUMERICIDENTIFIERLOOSE","\\d+");Xe("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Mp}*`);Xe("MAINVERSION",`(${Te[Oe.NUMERICIDENTIFIER]})\\.(${Te[Oe.NUMERICIDENTIFIER]})\\.(${Te[Oe.NUMERICIDENTIFIER]})`);Xe("MAINVERSIONLOOSE",`(${Te[Oe.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Oe.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Oe.NUMERICIDENTIFIERLOOSE]})`);Xe("PRERELEASEIDENTIFIER",`(?:${Te[Oe.NUMERICIDENTIFIER]}|${Te[Oe.NONNUMERICIDENTIFIER]})`);Xe("PRERELEASEIDENTIFIERLOOSE",`(?:${Te[Oe.NUMERICIDENTIFIERLOOSE]}|${Te[Oe.NONNUMERICIDENTIFIER]})`);Xe("PRERELEASE",`(?:-(${Te[Oe.PRERELEASEIDENTIFIER]}(?:\\.${Te[Oe.PRERELEASEIDENTIFIER]})*))`);Xe("PRERELEASELOOSE",`(?:-?(${Te[Oe.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Te[Oe.PRERELEASEIDENTIFIERLOOSE]})*))`);Xe("BUILDIDENTIFIER",`${Mp}+`);Xe("BUILD",`(?:\\+(${Te[Oe.BUILDIDENTIFIER]}(?:\\.${Te[Oe.BUILDIDENTIFIER]})*))`);Xe("FULLPLAIN",`v?${Te[Oe.MAINVERSION]}${Te[Oe.PRERELEASE]}?${Te[Oe.BUILD]}?`);Xe("FULL",`^${Te[Oe.FULLPLAIN]}$`);Xe("LOOSEPLAIN",`[v=\\s]*${Te[Oe.MAINVERSIONLOOSE]}${Te[Oe.PRERELEASELOOSE]}?${Te[Oe.BUILD]}?`);Xe("LOOSE",`^${Te[Oe.LOOSEPLAIN]}$`);Xe("GTLT","((?:<|>)?=?)");Xe("XRANGEIDENTIFIERLOOSE",`${Te[Oe.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Xe("XRANGEIDENTIFIER",`${Te[Oe.NUMERICIDENTIFIER]}|x|X|\\*`);Xe("XRANGEPLAIN",`[v=\\s]*(${Te[Oe.XRANGEIDENTIFIER]})(?:\\.(${Te[Oe.XRANGEIDENTIFIER]})(?:\\.(${Te[Oe.XRANGEIDENTIFIER]})(?:${Te[Oe.PRERELEASE]})?${Te[Oe.BUILD]}?)?)?`);Xe("XRANGEPLAINLOOSE",`[v=\\s]*(${Te[Oe.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Oe.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Oe.XRANGEIDENTIFIERLOOSE]})(?:${Te[Oe.PRERELEASELOOSE]})?${Te[Oe.BUILD]}?)?)?`);Xe("XRANGE",`^${Te[Oe.GTLT]}\\s*${Te[Oe.XRANGEPLAIN]}$`);Xe("XRANGELOOSE",`^${Te[Oe.GTLT]}\\s*${Te[Oe.XRANGEPLAINLOOSE]}$`);Xe("COERCEPLAIN",`(^|[^\\d])(\\d{1,${jp}})(?:\\.(\\d{1,${jp}}))?(?:\\.(\\d{1,${jp}}))?`);Xe("COERCE",`${Te[Oe.COERCEPLAIN]}(?:$|[^\\d])`);Xe("COERCEFULL",Te[Oe.COERCEPLAIN]+`(?:${Te[Oe.PRERELEASE]})?(?:${Te[Oe.BUILD]})?(?:$|[^\\d])`);Xe("COERCERTL",Te[Oe.COERCE],!0);Xe("COERCERTLFULL",Te[Oe.COERCEFULL],!0);Xe("LONETILDE","(?:~>?)");Xe("TILDETRIM",`(\\s*)${Te[Oe.LONETILDE]}\\s+`,!0);hs.tildeTrimReplace="$1~";Xe("TILDE",`^${Te[Oe.LONETILDE]}${Te[Oe.XRANGEPLAIN]}$`);Xe("TILDELOOSE",`^${Te[Oe.LONETILDE]}${Te[Oe.XRANGEPLAINLOOSE]}$`);Xe("LONECARET","(?:\\^)");Xe("CARETTRIM",`(\\s*)${Te[Oe.LONECARET]}\\s+`,!0);hs.caretTrimReplace="$1^";Xe("CARET",`^${Te[Oe.LONECARET]}${Te[Oe.XRANGEPLAIN]}$`);Xe("CARETLOOSE",`^${Te[Oe.LONECARET]}${Te[Oe.XRANGEPLAINLOOSE]}$`);Xe("COMPARATORLOOSE",`^${Te[Oe.GTLT]}\\s*(${Te[Oe.LOOSEPLAIN]})$|^$`);Xe("COMPARATOR",`^${Te[Oe.GTLT]}\\s*(${Te[Oe.FULLPLAIN]})$|^$`);Xe("COMPARATORTRIM",`(\\s*)${Te[Oe.GTLT]}\\s*(${Te[Oe.LOOSEPLAIN]}|${Te[Oe.XRANGEPLAIN]})`,!0);hs.comparatorTrimReplace="$1$2$3";Xe("HYPHENRANGE",`^\\s*(${Te[Oe.XRANGEPLAIN]})\\s+-\\s+(${Te[Oe.XRANGEPLAIN]})\\s*$`);Xe("HYPHENRANGELOOSE",`^\\s*(${Te[Oe.XRANGEPLAINLOOSE]})\\s+-\\s+(${Te[Oe.XRANGEPLAINLOOSE]})\\s*$`);Xe("STAR","(<|>)?=?\\s*\\*");Xe("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Xe("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Gg=ye((P7,Kg)=>{var J5=Object.freeze({loose:!0}),Z5=Object.freeze({}),Q5=e=>e?typeof e!="object"?J5:e:Z5;Kg.exports=Q5});var Xg=ye((R7,Wg)=>{var zg=/^[0-9]+$/,Yg=(e,t)=>{let r=zg.test(e),n=zg.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eYg(t,e);Wg.exports={compareIdentifiers:Yg,rcompareIdentifiers:e3}});var Ql=ye((T7,em)=>{var Jl=Up(),{MAX_LENGTH:Jg,MAX_SAFE_INTEGER:Zl}=Hp(),{safeRe:Zg,t:Qg}=qp(),t3=Gg(),{compareIdentifiers:qu}=Xg(),Vp=class e{constructor(t,r){if(r=t3(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Jg)throw new TypeError(`version is longer than ${Jg} characters`);Jl("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?Zg[Qg.LOOSE]:Zg[Qg.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Zl||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Zl||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Zl||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let a=+i;if(a>=0&&a=0;)typeof this.prerelease[a]=="number"&&(this.prerelease[a]++,a=-2);if(a===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(r){let a=[r,i];n===!1&&(a=[r]),qu(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};em.exports=Vp});var nm=ye((O7,rm)=>{var tm=Ql(),r3=(e,t,r)=>new tm(e,r).compare(new tm(t,r));rm.exports=r3});var sm=ye((x7,im)=>{var n3=nm(),i3=(e,t,r)=>n3(e,t,r)>=0;im.exports=i3});var om=ye((N7,um)=>{var am=Ql(),s3=(e,t,r=!1)=>{if(e instanceof am)return e;try{return new am(e,t)}catch(n){if(!r)return null;throw n}};um.exports=s3});var lm=ye((k7,cm)=>{var a3=Ql(),u3=om(),{safeRe:ef,t:tf}=qp(),o3=(e,t)=>{if(e instanceof a3)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?ef[tf.COERCEFULL]:ef[tf.COERCE]);else{let l=t.includePrerelease?ef[tf.COERCERTLFULL]:ef[tf.COERCERTL],h;for(;(h=l.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),l.lastIndex=h.index+h[1].length+h[2].length;l.lastIndex=-1}if(r===null)return null;let n=r[2],i=r[3]||"0",a=r[4]||"0",s=t.includePrerelease&&r[5]?`-${r[5]}`:"",o=t.includePrerelease&&r[6]?`+${r[6]}`:"";return u3(`${n}.${i}.${a}${s}${o}`,t)};cm.exports=o3});var Pm=ye(sf=>{"use strict";sf.byteLength=S3;sf.toByteArray=C3;sf.fromByteArray=I3;var Fi=[],Xn=[],y3=typeof Uint8Array<"u"?Uint8Array:Array,Jp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ha=0,$m=Jp.length;Ha<$m;++Ha)Fi[Ha]=Jp[Ha],Xn[Jp.charCodeAt(Ha)]=Ha;var Ha,$m;Xn[45]=62;Xn[95]=63;function Bm(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function S3(e){var t=Bm(e),r=t[0],n=t[1];return(r+n)*3/4-n}function b3(e,t,r){return(t+r)*3/4-r}function C3(e){var t,r=Bm(e),n=r[0],i=r[1],a=new y3(b3(e,n,i)),s=0,o=i>0?n-4:n,l;for(l=0;l>16&255,a[s++]=t>>8&255,a[s++]=t&255;return i===2&&(t=Xn[e.charCodeAt(l)]<<2|Xn[e.charCodeAt(l+1)]>>4,a[s++]=t&255),i===1&&(t=Xn[e.charCodeAt(l)]<<10|Xn[e.charCodeAt(l+1)]<<4|Xn[e.charCodeAt(l+2)]>>2,a[s++]=t>>8&255,a[s++]=t&255),a}function F3(e){return Fi[e>>18&63]+Fi[e>>12&63]+Fi[e>>6&63]+Fi[e&63]}function _3(e,t,r){for(var n,i=[],a=t;ao?o:s+a));return n===1?(t=e[r-1],i.push(Fi[t>>2]+Fi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fi[t>>10]+Fi[t>>4&63]+Fi[t<<2&63]+"=")),i.join("")}});var Rm=ye(Zp=>{Zp.read=function(e,t,r,n,i){var a,s,o=i*8-n-1,l=(1<>1,d=-7,E=r?i-1:0,p=r?-1:1,f=e[t+E];for(E+=p,a=f&(1<<-d)-1,f>>=-d,d+=o;d>0;a=a*256+e[t+E],E+=p,d-=8);for(s=a&(1<<-d)-1,a>>=-d,d+=n;d>0;s=s*256+e[t+E],E+=p,d-=8);if(a===0)a=1-h;else{if(a===l)return s?NaN:(f?-1:1)*(1/0);s=s+Math.pow(2,n),a=a-h}return(f?-1:1)*s*Math.pow(2,a-n)};Zp.write=function(e,t,r,n,i,a){var s,o,l,h=a*8-i-1,d=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,A=n?1:-1,g=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+E>=1?t+=p/l:t+=p*Math.pow(2,1-E),t*l>=2&&(s++,l/=2),s+E>=d?(o=0,s=d):s+E>=1?(o=(t*l-1)*Math.pow(2,i),s=s+E):(o=t*Math.pow(2,E-1)*Math.pow(2,i),s=0));i>=8;e[r+f]=o&255,f+=A,o/=256,i-=8);for(s=s<0;e[r+f]=s&255,f+=A,s/=256,h-=8);e[r+f-A]|=g*128}});var of=ye(Wu=>{"use strict";var Qp=Pm(),zu=Rm(),Tm=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Wu.Buffer=fe;Wu.SlowBuffer=T3;Wu.INSPECT_MAX_BYTES=50;var af=2147483647;Wu.kMaxLength=af;fe.TYPED_ARRAY_SUPPORT=D3();!fe.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function D3(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(fe.prototype,"parent",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.buffer}});Object.defineProperty(fe.prototype,"offset",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.byteOffset}});function ps(e){if(e>af)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,fe.prototype),t}function fe(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return nd(e)}return km(e,t,r)}fe.poolSize=8192;function km(e,t,r){if(typeof e=="string")return B3(e,t);if(ArrayBuffer.isView(e))return P3(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(_i(e,ArrayBuffer)||e&&_i(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(_i(e,SharedArrayBuffer)||e&&_i(e.buffer,SharedArrayBuffer)))return td(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return fe.from(n,t,r);let i=R3(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return fe.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}fe.from=function(e,t,r){return km(e,t,r)};Object.setPrototypeOf(fe.prototype,Uint8Array.prototype);Object.setPrototypeOf(fe,Uint8Array);function Lm(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function $3(e,t,r){return Lm(e),e<=0?ps(e):t!==void 0?typeof r=="string"?ps(e).fill(t,r):ps(e).fill(t):ps(e)}fe.alloc=function(e,t,r){return $3(e,t,r)};function nd(e){return Lm(e),ps(e<0?0:sd(e)|0)}fe.allocUnsafe=function(e){return nd(e)};fe.allocUnsafeSlow=function(e){return nd(e)};function B3(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!fe.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Um(e,t)|0,n=ps(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function ed(e){let t=e.length<0?0:sd(e.length)|0,r=ps(t);for(let n=0;n=af)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+af.toString(16)+" bytes");return e|0}function T3(e){return+e!=e&&(e=0),fe.alloc(+e)}fe.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==fe.prototype};fe.compare=function(t,r){if(_i(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),_i(r,Uint8Array)&&(r=fe.from(r,r.offset,r.byteLength)),!fe.isBuffer(t)||!fe.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,s=Math.min(n,i);ai.length?(fe.isBuffer(s)||(s=fe.from(s)),s.copy(i,a)):Uint8Array.prototype.set.call(i,s,a);else if(fe.isBuffer(s))s.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=s.length}return i};function Um(e,t){if(fe.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||_i(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return rd(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ym(e).length;default:if(i)return n?-1:rd(e).length;t=(""+t).toLowerCase(),i=!0}}fe.byteLength=Um;function O3(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return V3(this,t,r);case"utf8":case"utf-8":return jm(this,t,r);case"ascii":return M3(this,t,r);case"latin1":case"binary":return q3(this,t,r);case"base64":return H3(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K3(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}fe.prototype._isBuffer=!0;function ja(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}fe.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};Tm&&(fe.prototype[Tm]=fe.prototype.inspect);fe.prototype.compare=function(t,r,n,i,a){if(_i(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),!fe.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let s=a-i,o=n-r,l=Math.min(s,o),h=this.slice(i,a),d=t.slice(r,n);for(let E=0;E2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,ud(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=fe.from(t,n)),fe.isBuffer(t))return t.length===0?-1:Om(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Om(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Om(e,t,r,n,i){let a=1,s=e.length,o=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,s/=2,o/=2,r/=2}function l(d,E){return a===1?d[E]:d.readUInt16BE(E*a)}let h;if(i){let d=-1;for(h=r;hs&&(r=s-o),h=r;h>=0;h--){let d=!0;for(let E=0;Ei&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let s;for(s=0;s>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return x3(this,t,r,n);case"utf8":case"utf-8":return N3(this,t,r,n);case"ascii":case"latin1":case"binary":return k3(this,t,r,n);case"base64":return L3(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U3(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};fe.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function H3(e,t,r){return t===0&&r===e.length?Qp.fromByteArray(e):Qp.fromByteArray(e.slice(t,r))}function jm(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+o<=r){let l,h,d,E;switch(o){case 1:a<128&&(s=a);break;case 2:l=e[i+1],(l&192)===128&&(E=(a&31)<<6|l&63,E>127&&(s=E));break;case 3:l=e[i+1],h=e[i+2],(l&192)===128&&(h&192)===128&&(E=(a&15)<<12|(l&63)<<6|h&63,E>2047&&(E<55296||E>57343)&&(s=E));break;case 4:l=e[i+1],h=e[i+2],d=e[i+3],(l&192)===128&&(h&192)===128&&(d&192)===128&&(E=(a&15)<<18|(l&63)<<12|(h&63)<<6|d&63,E>65535&&E<1114112&&(s=E))}}s===null?(s=65533,o=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=o}return j3(n)}var xm=4096;function j3(e){let t=e.length;if(t<=xm)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}fe.prototype.readUintLE=fe.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||gr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s>>0,r=r>>>0,n||gr(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};fe.prototype.readUint8=fe.prototype.readUInt8=function(t,r){return t=t>>>0,r||gr(t,1,this.length),this[t]};fe.prototype.readUint16LE=fe.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||gr(t,2,this.length),this[t]|this[t+1]<<8};fe.prototype.readUint16BE=fe.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||gr(t,2,this.length),this[t]<<8|this[t+1]};fe.prototype.readUint32LE=fe.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||gr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};fe.prototype.readUint32BE=fe.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||gr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};fe.prototype.readBigUInt64LE=Js(function(t){t=t>>>0,Yu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Ac(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,Yu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Ac(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||gr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s=a&&(i-=Math.pow(2,8*r)),i};fe.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||gr(t,r,this.length);let i=r,a=1,s=this[t+--i];for(;i>0&&(a*=256);)s+=this[t+--i]*a;return a*=128,s>=a&&(s-=Math.pow(2,8*r)),s};fe.prototype.readInt8=function(t,r){return t=t>>>0,r||gr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};fe.prototype.readInt16LE=function(t,r){t=t>>>0,r||gr(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt16BE=function(t,r){t=t>>>0,r||gr(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt32LE=function(t,r){return t=t>>>0,r||gr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};fe.prototype.readInt32BE=function(t,r){return t=t>>>0,r||gr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};fe.prototype.readBigInt64LE=Js(function(t){t=t>>>0,Yu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Ac(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,Yu(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&Ac(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||gr(t,4,this.length),zu.read(this,t,!0,23,4)};fe.prototype.readFloatBE=function(t,r){return t=t>>>0,r||gr(t,4,this.length),zu.read(this,t,!1,23,4)};fe.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||gr(t,8,this.length),zu.read(this,t,!0,52,8)};fe.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||gr(t,8,this.length),zu.read(this,t,!1,52,8)};function fn(e,t,r,n,i,a){if(!fe.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}fe.prototype.writeUintLE=fe.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;fn(this,t,r,n,o,0)}let a=1,s=0;for(this[r]=t&255;++s>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;fn(this,t,r,n,o,0)}let a=n-1,s=1;for(this[r+a]=t&255;--a>=0&&(s*=256);)this[r+a]=t/s&255;return r+n};fe.prototype.writeUint8=fe.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,1,255,0),this[r]=t&255,r+1};fe.prototype.writeUint16LE=fe.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeUint16BE=fe.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeUint32LE=fe.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};fe.prototype.writeUint32BE=fe.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function Mm(e,t,r,n,i){zm(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function qm(e,t,r,n,i){zm(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}fe.prototype.writeBigUInt64LE=Js(function(t,r=0){return Mm(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeBigUInt64BE=Js(function(t,r=0){return qm(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);fn(this,t,r,n,l-1,-l)}let a=0,s=1,o=0;for(this[r]=t&255;++a>0)-o&255;return r+n};fe.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);fn(this,t,r,n,l-1,-l)}let a=n-1,s=1,o=0;for(this[r+a]=t&255;--a>=0&&(s*=256);)t<0&&o===0&&this[r+a+1]!==0&&(o=1),this[r+a]=(t/s>>0)-o&255;return r+n};fe.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};fe.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};fe.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||fn(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};fe.prototype.writeBigInt64LE=Js(function(t,r=0){return Mm(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});fe.prototype.writeBigInt64BE=Js(function(t,r=0){return qm(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Vm(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Km(e,t,r,n,i){return t=+t,r=r>>>0,i||Vm(e,t,r,4,34028234663852886e22,-34028234663852886e22),zu.write(e,t,r,n,23,4),r+4}fe.prototype.writeFloatLE=function(t,r,n){return Km(this,t,r,!0,n)};fe.prototype.writeFloatBE=function(t,r,n){return Km(this,t,r,!1,n)};function Gm(e,t,r,n,i){return t=+t,r=r>>>0,i||Vm(e,t,r,8,17976931348623157e292,-17976931348623157e292),zu.write(e,t,r,n,52,8),r+8}fe.prototype.writeDoubleLE=function(t,r,n){return Gm(this,t,r,!0,n)};fe.prototype.writeDoubleBE=function(t,r,n){return Gm(this,t,r,!1,n)};fe.prototype.copy=function(t,r,n,i){if(!fe.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=Nm(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=Nm(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function Nm(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function G3(e,t,r){Yu(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Ac(t,e.length-(r+1))}function zm(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?o=`>= 0${s} and < 2${s} ** ${(a+1)*8}${s}`:o=`>= -(2${s} ** ${(a+1)*8-1}${s}) and < 2 ** ${(a+1)*8-1}${s}`:o=`>= ${t}${s} and <= ${r}${s}`,new Gu.ERR_OUT_OF_RANGE("value",o,e)}G3(n,i,a)}function Yu(e,t){if(typeof e!="number")throw new Gu.ERR_INVALID_ARG_TYPE(t,"number",e)}function Ac(e,t,r){throw Math.floor(e)!==e?(Yu(e,r),new Gu.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Gu.ERR_BUFFER_OUT_OF_BOUNDS:new Gu.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var z3=/[^+/0-9A-Za-z-_]/g;function Y3(e){if(e=e.split("=")[0],e=e.trim().replace(z3,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function rd(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function W3(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function Ym(e){return Qp.toByteArray(Y3(e))}function uf(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function _i(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ud(e){return e!==e}var J3=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Js(e){return typeof BigInt>"u"?Z3:e}function Z3(){throw new Error("BigInt not supported")}});var Ev=ye(be=>{var yc={};yc.userAgent=!1;var Xu={},Q3="11.1.0",eC="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license";var Ce=Ce||function(e,t){var r={},n=r.lib={},i=n.Base=function(){function f(){}return{extend:function(A){f.prototype=this;var g=new f;return A&&g.mixIn(A),g.hasOwnProperty("init")||(g.init=function(){g.$super.init.apply(this,arguments)}),g.init.prototype=g,g.$super=this,g},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var g in A)A.hasOwnProperty(g)&&(this[g]=A[g]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=i.extend({init:function(f,A){f=this.words=f||[],A!=t?this.sigBytes=A:this.sigBytes=f.length*4},toString:function(f){return(f||o).stringify(this)},concat:function(f){var A=this.words,g=f.words,S=this.sigBytes,w=f.sigBytes;if(this.clamp(),S%4)for(var y=0;y>>2]>>>24-y%4*8&255;A[S+y>>>2]|=F<<24-(S+y)%4*8}else for(var y=0;y>>2]=g[y>>>2];return this.sigBytes+=w,this},clamp:function(){var f=this.words,A=this.sigBytes;f[A>>>2]&=4294967295<<32-A%4*8,f.length=e.ceil(A/4)},clone:function(){var f=i.clone.call(this);return f.words=this.words.slice(0),f},random:function(f){for(var A=[],g=0;g>>2]>>>24-w%4*8&255;S.push((y>>>4).toString(16)),S.push((y&15).toString(16))}return S.join("")},parse:function(f){for(var A=f.length,g=[],S=0;S>>3]|=parseInt(f.substr(S,2),16)<<24-S%8*4;return new a.init(g,A/2)}},l=s.Latin1={stringify:function(f){for(var A=f.words,g=f.sigBytes,S=[],w=0;w>>2]>>>24-w%4*8&255;S.push(String.fromCharCode(y))}return S.join("")},parse:function(f){for(var A=f.length,g=[],S=0;S>>2]|=(f.charCodeAt(S)&255)<<24-S%4*8;return new a.init(g,A)}},h=s.Utf8={stringify:function(f){try{return decodeURIComponent(escape(l.stringify(f)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(f){return l.parse(unescape(encodeURIComponent(f)))}},d=n.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(f){typeof f=="string"&&(f=h.parse(f)),this._data.concat(f),this._nDataBytes+=f.sigBytes},_process:function(f){var A=this._data,g=A.words,S=A.sigBytes,w=this.blockSize,y=w*4,F=S/y;f?F=e.ceil(F):F=e.max((F|0)-this._minBufferSize,0);var D=F*w,I=e.min(D*4,S);if(D){for(var j=0;j>>2]&255}},t.BlockCipher=o.extend({cfg:o.cfg.extend({mode:E,padding:h}),reset:function(){o.reset.call(this);var S=this.cfg,g=S.iv,S=S.mode;if(this._xformMode==this._ENC_XFORM_MODE)var w=S.createEncryptor;else w=S.createDecryptor,this._minBufferSize=1;this._mode=w.call(S,this,g&&g.words)},_doProcessBlock:function(g,S){this._mode.processBlock(g,S)},_doFinalize:function(){var g=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){g.pad(this._data,this.blockSize);var S=this._process(!0)}else S=this._process(!0),g.unpad(S);return S},blockSize:4});var d=t.CipherParams=r.extend({init:function(g){this.mixIn(g)},toString:function(g){return(g||this.formatter).stringify(this)}}),E=(f.format={}).OpenSSL={stringify:function(g){var S=g.ciphertext;return g=g.salt,(g?n.create([1398893684,1701076831]).concat(g).concat(S):S).toString(a)},parse:function(g){g=a.parse(g);var S=g.words;if(S[0]==1398893684&&S[1]==1701076831){var w=n.create(S.slice(2,4));S.splice(0,4),g.sigBytes-=16}return d.create({ciphertext:g,salt:w})}},p=t.SerializableCipher=r.extend({cfg:r.extend({format:E}),encrypt:function(g,S,w,y){y=this.cfg.extend(y);var F=g.createEncryptor(w,y);return S=F.finalize(S),F=F.cfg,d.create({ciphertext:S,key:w,iv:F.iv,algorithm:g,mode:F.mode,padding:F.padding,blockSize:g.blockSize,formatter:y.format})},decrypt:function(g,S,w,y){return y=this.cfg.extend(y),S=this._parse(S,y.format),g.createDecryptor(w,y).finalize(S.ciphertext)},_parse:function(g,S){return typeof g=="string"?S.parse(g,this):g}}),f=(f.kdf={}).OpenSSL={execute:function(g,S,w,y){return y||(y=n.random(8)),g=s.create({keySize:S+w}).compute(g,y),w=n.create(g.words.slice(S),4*w),g.sigBytes=4*S,d.create({key:g,iv:w,salt:y})}},A=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:f}),encrypt:function(g,S,w,y){return y=this.cfg.extend(y),w=y.kdf.execute(w,g.keySize,g.ivSize),y.iv=w.iv,g=p.encrypt.call(this,g,S,w.key,y),g.mixIn(w),g},decrypt:function(g,S,w,y){return y=this.cfg.extend(y),S=this._parse(S,y.format),w=y.kdf.execute(w,g.keySize,g.ivSize,S.salt),y.iv=w.iv,p.decrypt.call(this,g,S,w.key,y)}})}();(function(){for(var e=Ce,t=e.lib.BlockCipher,j=e.algo,r=[],n=[],i=[],a=[],s=[],o=[],l=[],h=[],d=[],E=[],p=[],f=0;256>f;f++)p[f]=128>f?f<<1:f<<1^283;for(var A=0,g=0,f=0;256>f;f++){var S=g^g<<1^g<<2^g<<3^g<<4,S=S>>>8^S&255^99;r[A]=S,n[S]=A;var w=p[A],y=p[w],F=p[y],D=257*p[S]^16843008*S;i[A]=D<<24|D>>>8,a[A]=D<<16|D>>>16,s[A]=D<<8|D>>>24,o[A]=D,D=16843009*F^65537*y^257*w^16843008*A,l[S]=D<<24|D>>>8,h[S]=D<<16|D>>>16,d[S]=D<<8|D>>>24,E[S]=D,A?(A=w^p[p[p[F^w]]],g^=p[p[g]]):A=g=1}var I=[0,1,2,4,8,16,32,64,128,27,54],j=j.AES=t.extend({_doReset:function(){for(var P=this._key,M=P.words,_=P.sigBytes/4,P=4*((this._nRounds=_+6)+1),k=this._keySchedule=[],H=0;H>>24]<<24|r[K>>>16&255]<<16|r[K>>>8&255]<<8|r[K&255]):(K=K<<8|K>>>24,K=r[K>>>24]<<24|r[K>>>16&255]<<16|r[K>>>8&255]<<8|r[K&255],K^=I[H/_|0]<<24),k[H]=k[H-_]^K}for(M=this._invKeySchedule=[],_=0;__||4>=H?K:l[r[K>>>24]]^h[r[K>>>16&255]]^d[r[K>>>8&255]]^E[r[K&255]]},encryptBlock:function(M,_){this._doCryptBlock(M,_,this._keySchedule,i,a,s,o,r)},decryptBlock:function(M,_){var P=M[_+1];M[_+1]=M[_+3],M[_+3]=P,this._doCryptBlock(M,_,this._invKeySchedule,l,h,d,E,n),P=M[_+1],M[_+1]=M[_+3],M[_+3]=P},_doCryptBlock:function(M,_,P,k,H,K,W,G){for(var z=this._nRounds,oe=M[_]^P[0],Fe=M[_+1]^P[1],Le=M[_+2]^P[2],qe=M[_+3]^P[3],X=4,ie=1;ie>>24]^H[Fe>>>16&255]^K[Le>>>8&255]^W[qe&255]^P[X++],we=k[Fe>>>24]^H[Le>>>16&255]^K[qe>>>8&255]^W[oe&255]^P[X++],Ie=k[Le>>>24]^H[qe>>>16&255]^K[oe>>>8&255]^W[Fe&255]^P[X++],qe=k[qe>>>24]^H[oe>>>16&255]^K[Fe>>>8&255]^W[Le&255]^P[X++],oe=Se,Fe=we,Le=Ie;Se=(G[oe>>>24]<<24|G[Fe>>>16&255]<<16|G[Le>>>8&255]<<8|G[qe&255])^P[X++],we=(G[Fe>>>24]<<24|G[Le>>>16&255]<<16|G[qe>>>8&255]<<8|G[oe&255])^P[X++],Ie=(G[Le>>>24]<<24|G[qe>>>16&255]<<16|G[oe>>>8&255]<<8|G[Fe&255])^P[X++],qe=(G[qe>>>24]<<24|G[oe>>>16&255]<<16|G[Fe>>>8&255]<<8|G[Le&255])^P[X++],M[_]=Se,M[_+1]=we,M[_+2]=Ie,M[_+3]=qe},keySize:8});e.AES=t._createHelper(j)})();(function(){function e(p,f){var A=(this._lBlock>>>p^this._rBlock)&f;this._rBlock^=A,this._lBlock^=A<>>p^this._lBlock)&f;this._lBlock^=A,this._rBlock^=A<A;A++){var g=s[A]-1;f[A]=p[g>>>5]>>>31-g%32&1}for(p=this._subKeys=[],g=0;16>g;g++){for(var S=p[g]=[],w=l[g],A=0;24>A;A++)S[A/6|0]|=f[(o[A]-1+w)%28]<<31-A%6,S[4+(A/6|0)]|=f[28+(o[A+24]-1+w)%28]<<31-A%6;for(S[0]=S[0]<<1|S[0]>>>31,A=1;7>A;A++)S[A]>>>=4*(A-1)+3;S[7]=S[7]<<5|S[7]>>>27}for(f=this._invSubKeys=[],A=0;16>A;A++)f[A]=p[15-A]},encryptBlock:function(p,f){this._doCryptBlock(p,f,this._subKeys)},decryptBlock:function(p,f){this._doCryptBlock(p,f,this._invSubKeys)},_doCryptBlock:function(p,f,A){this._lBlock=p[f],this._rBlock=p[f+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var g=0;16>g;g++){for(var S=A[g],w=this._lBlock,y=this._rBlock,F=0,D=0;8>D;D++)F|=h[D][((y^S[D])&d[D])>>>0];this._lBlock=y,this._rBlock=w^F}A=this._lBlock,this._lBlock=this._rBlock,this._rBlock=A,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),p[f]=this._lBlock,p[f+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});r.DES=i._createHelper(E),a=a.TripleDES=i.extend({_doReset:function(){var p=this._key.words;this._des1=E.createEncryptor(n.create(p.slice(0,2))),this._des2=E.createEncryptor(n.create(p.slice(2,4))),this._des3=E.createEncryptor(n.create(p.slice(4,6)))},encryptBlock:function(p,f){this._des1.encryptBlock(p,f),this._des2.decryptBlock(p,f),this._des3.encryptBlock(p,f)},decryptBlock:function(p,f){this._des3.decryptBlock(p,f),this._des2.encryptBlock(p,f),this._des1.decryptBlock(p,f)},keySize:6,ivSize:2,blockSize:2}),r.TripleDES=i._createHelper(a)})();(function(){var e=Ce,t=e.lib.WordArray;e.enc.Base64={stringify:function(r){var n=r.words,i=r.sigBytes,a=this._map;r.clamp(),r=[];for(var s=0;s>>2]>>>24-8*(s%4)&255)<<16|(n[s+1>>>2]>>>24-8*((s+1)%4)&255)<<8|n[s+2>>>2]>>>24-8*((s+2)%4)&255,l=0;4>l&&s+.75*l>>6*(3-l)&63));if(n=a.charAt(64))for(;r.length%4;)r.push(n);return r.join("")},parse:function(r){var n=r.length,i=this._map,a=i.charAt(64);a&&(a=r.indexOf(a),a!=-1&&(n=a));for(var a=[],s=0,o=0;o>>6-2*(o%4);a[s>>>2]|=(l|h)<<24-8*(s%4),s++}return t.create(a,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();(function(e){function t(E,p,f,A,g,S,w){return E=E+(p&f|~p&A)+g+w,(E<>>32-S)+p}function r(E,p,f,A,g,S,w){return E=E+(p&A|f&~A)+g+w,(E<>>32-S)+p}function n(E,p,f,A,g,S,w){return E=E+(p^f^A)+g+w,(E<>>32-S)+p}function i(E,p,f,A,g,S,w){return E=E+(f^(p|~A))+g+w,(E<>>32-S)+p}for(var a=Ce,l=a.lib,s=l.WordArray,o=l.Hasher,l=a.algo,h=[],d=0;64>d;d++)h[d]=4294967296*e.abs(e.sin(d+1))|0;l=l.MD5=o.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(E,p){for(var f=0;16>f;f++){var A=p+f,g=E[A];E[A]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var f=this._hash.words,A=E[p+0],g=E[p+1],S=E[p+2],w=E[p+3],y=E[p+4],F=E[p+5],D=E[p+6],I=E[p+7],j=E[p+8],M=E[p+9],_=E[p+10],P=E[p+11],k=E[p+12],H=E[p+13],K=E[p+14],W=E[p+15],G=f[0],ie=f[1],X=f[2],z=f[3],G=t(G,ie,X,z,A,7,h[0]),z=t(z,G,ie,X,g,12,h[1]),X=t(X,z,G,ie,S,17,h[2]),ie=t(ie,X,z,G,w,22,h[3]),G=t(G,ie,X,z,y,7,h[4]),z=t(z,G,ie,X,F,12,h[5]),X=t(X,z,G,ie,D,17,h[6]),ie=t(ie,X,z,G,I,22,h[7]),G=t(G,ie,X,z,j,7,h[8]),z=t(z,G,ie,X,M,12,h[9]),X=t(X,z,G,ie,_,17,h[10]),ie=t(ie,X,z,G,P,22,h[11]),G=t(G,ie,X,z,k,7,h[12]),z=t(z,G,ie,X,H,12,h[13]),X=t(X,z,G,ie,K,17,h[14]),ie=t(ie,X,z,G,W,22,h[15]),G=r(G,ie,X,z,g,5,h[16]),z=r(z,G,ie,X,D,9,h[17]),X=r(X,z,G,ie,P,14,h[18]),ie=r(ie,X,z,G,A,20,h[19]),G=r(G,ie,X,z,F,5,h[20]),z=r(z,G,ie,X,_,9,h[21]),X=r(X,z,G,ie,W,14,h[22]),ie=r(ie,X,z,G,y,20,h[23]),G=r(G,ie,X,z,M,5,h[24]),z=r(z,G,ie,X,K,9,h[25]),X=r(X,z,G,ie,w,14,h[26]),ie=r(ie,X,z,G,j,20,h[27]),G=r(G,ie,X,z,H,5,h[28]),z=r(z,G,ie,X,S,9,h[29]),X=r(X,z,G,ie,I,14,h[30]),ie=r(ie,X,z,G,k,20,h[31]),G=n(G,ie,X,z,F,4,h[32]),z=n(z,G,ie,X,j,11,h[33]),X=n(X,z,G,ie,P,16,h[34]),ie=n(ie,X,z,G,K,23,h[35]),G=n(G,ie,X,z,g,4,h[36]),z=n(z,G,ie,X,y,11,h[37]),X=n(X,z,G,ie,I,16,h[38]),ie=n(ie,X,z,G,_,23,h[39]),G=n(G,ie,X,z,H,4,h[40]),z=n(z,G,ie,X,A,11,h[41]),X=n(X,z,G,ie,w,16,h[42]),ie=n(ie,X,z,G,D,23,h[43]),G=n(G,ie,X,z,M,4,h[44]),z=n(z,G,ie,X,k,11,h[45]),X=n(X,z,G,ie,W,16,h[46]),ie=n(ie,X,z,G,S,23,h[47]),G=i(G,ie,X,z,A,6,h[48]),z=i(z,G,ie,X,I,10,h[49]),X=i(X,z,G,ie,K,15,h[50]),ie=i(ie,X,z,G,F,21,h[51]),G=i(G,ie,X,z,k,6,h[52]),z=i(z,G,ie,X,w,10,h[53]),X=i(X,z,G,ie,_,15,h[54]),ie=i(ie,X,z,G,g,21,h[55]),G=i(G,ie,X,z,j,6,h[56]),z=i(z,G,ie,X,W,10,h[57]),X=i(X,z,G,ie,D,15,h[58]),ie=i(ie,X,z,G,H,21,h[59]),G=i(G,ie,X,z,y,6,h[60]),z=i(z,G,ie,X,P,10,h[61]),X=i(X,z,G,ie,S,15,h[62]),ie=i(ie,X,z,G,M,21,h[63]);f[0]=f[0]+G|0,f[1]=f[1]+ie|0,f[2]=f[2]+X|0,f[3]=f[3]+z|0},_doFinalize:function(){var E=this._data,p=E.words,f=8*this._nDataBytes,A=8*E.sigBytes;p[A>>>5]|=128<<24-A%32;var g=e.floor(f/4294967296);for(p[(A+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,p[(A+64>>>9<<4)+14]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,E.sigBytes=4*(p.length+1),this._process(),E=this._hash,p=E.words,f=0;4>f;f++)A=p[f],p[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360;return E},clone:function(){var E=o.clone.call(this);return E._hash=this._hash.clone(),E}}),a.MD5=o._createHelper(l),a.HmacMD5=o._createHmacHelper(l)})(Math);(function(){var e=Ce,i=e.lib,t=i.WordArray,r=i.Hasher,n=[],i=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,s){for(var o=this._hash.words,l=o[0],h=o[1],d=o[2],E=o[3],p=o[4],f=0;80>f;f++){if(16>f)n[f]=a[s+f]|0;else{var A=n[f-3]^n[f-8]^n[f-14]^n[f-16];n[f]=A<<1|A>>>31}A=(l<<5|l>>>27)+p+n[f],A=20>f?A+((h&d|~h&E)+1518500249):40>f?A+((h^d^E)+1859775393):60>f?A+((h&d|h&E|d&E)-1894007588):A+((h^d^E)-899497514),p=E,E=d,d=h<<30|h>>>2,h=l,l=A}o[0]=o[0]+l|0,o[1]=o[1]+h|0,o[2]=o[2]+d|0,o[3]=o[3]+E|0,o[4]=o[4]+p|0},_doFinalize:function(){var a=this._data,s=a.words,o=8*this._nDataBytes,l=8*a.sigBytes;return s[l>>>5]|=128<<24-l%32,s[(l+64>>>9<<4)+14]=Math.floor(o/4294967296),s[(l+64>>>9<<4)+15]=o,a.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)})();(function(e){for(var t=Ce,f=t.lib,r=f.WordArray,n=f.Hasher,f=t.algo,i=[],a=[],s=function(g){return 4294967296*(g-(g|0))|0},o=2,l=0;64>l;){var h;e:{h=o;for(var d=e.sqrt(h),E=2;E<=d;E++)if(!(h%E)){h=!1;break e}h=!0}h&&(8>l&&(i[l]=s(e.pow(o,.5))),a[l]=s(e.pow(o,1/3)),l++),o++}var p=[],f=f.SHA256=n.extend({_doReset:function(){this._hash=new r.init(i.slice(0))},_doProcessBlock:function(A,g){for(var S=this._hash.words,w=S[0],y=S[1],F=S[2],D=S[3],I=S[4],j=S[5],M=S[6],_=S[7],P=0;64>P;P++){if(16>P)p[P]=A[g+P]|0;else{var k=p[P-15],H=p[P-2];p[P]=((k<<25|k>>>7)^(k<<14|k>>>18)^k>>>3)+p[P-7]+((H<<15|H>>>17)^(H<<13|H>>>19)^H>>>10)+p[P-16]}k=_+((I<<26|I>>>6)^(I<<21|I>>>11)^(I<<7|I>>>25))+(I&j^~I&M)+a[P]+p[P],H=((w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22))+(w&y^w&F^y&F),_=M,M=j,j=I,I=D+k|0,D=F,F=y,y=w,w=k+H|0}S[0]=S[0]+w|0,S[1]=S[1]+y|0,S[2]=S[2]+F|0,S[3]=S[3]+D|0,S[4]=S[4]+I|0,S[5]=S[5]+j|0,S[6]=S[6]+M|0,S[7]=S[7]+_|0},_doFinalize:function(){var A=this._data,g=A.words,S=8*this._nDataBytes,w=8*A.sigBytes;return g[w>>>5]|=128<<24-w%32,g[(w+64>>>9<<4)+14]=e.floor(S/4294967296),g[(w+64>>>9<<4)+15]=S,A.sigBytes=4*g.length,this._process(),this._hash},clone:function(){var A=n.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=n._createHelper(f),t.HmacSHA256=n._createHmacHelper(f)})(Math);(function(){var e=Ce,t=e.lib.WordArray,n=e.algo,r=n.SHA256,n=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=r._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=r._createHelper(n),e.HmacSHA224=r._createHmacHelper(n)})();(function(){function e(){return n.create.apply(n,arguments)}for(var t=Ce,r=t.lib.Hasher,a=t.x64,n=a.Word,i=a.WordArray,a=t.algo,s=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],o=[],l=0;80>l;l++)o[l]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(h,d){for(var y=this._hash.words,E=y[0],p=y[1],f=y[2],A=y[3],g=y[4],S=y[5],w=y[6],y=y[7],F=E.high,D=E.low,I=p.high,j=p.low,M=f.high,_=f.low,P=A.high,k=A.low,H=g.high,K=g.low,W=S.high,G=S.low,z=w.high,X=w.low,ie=y.high,Se=y.low,we=F,Ie=D,qe=I,oe=j,Fe=M,Le=_,lr=P,Pt=k,dt=H,zt=K,xt=W,nt=G,Dt=z,tt=X,mt=ie,Yt=Se,Je=0;80>Je;Je++){var Pr=o[Je];if(16>Je)var Ht=Pr.high=h[d+2*Je]|0,Ze=Pr.low=h[d+2*Je+1]|0;else{var Ht=o[Je-15],Ze=Ht.high,Zt=Ht.low,Ht=(Ze>>>1|Zt<<31)^(Ze>>>8|Zt<<24)^Ze>>>7,Zt=(Zt>>>1|Ze<<31)^(Zt>>>8|Ze<<24)^(Zt>>>7|Ze<<25),Br=o[Je-2],Ze=Br.high,vt=Br.low,Br=(Ze>>>19|vt<<13)^(Ze<<3|vt>>>29)^Ze>>>6,vt=(vt>>>19|Ze<<13)^(vt<<3|Ze>>>29)^(vt>>>6|Ze<<26),Ze=o[Je-7],Un=Ze.high,fr=o[Je-16],Qt=fr.high,fr=fr.low,Ze=Zt+Ze.low,Ht=Ht+Un+(Ze>>>0>>0?1:0),Ze=Ze+vt,Ht=Ht+Br+(Ze>>>0>>0?1:0),Ze=Ze+fr,Ht=Ht+Qt+(Ze>>>0>>0?1:0);Pr.high=Ht,Pr.low=Ze}var Un=dt&xt^~dt&Dt,fr=zt&nt^~zt&tt,Pr=we&qe^we&Fe^qe&Fe,Ar=Ie&oe^Ie&Le^oe&Le,Zt=(we>>>28|Ie<<4)^(we<<30|Ie>>>2)^(we<<25|Ie>>>7),Br=(Ie>>>28|we<<4)^(Ie<<30|we>>>2)^(Ie<<25|we>>>7),vt=s[Je],la=vt.high,Mr=vt.low,vt=Yt+((zt>>>14|dt<<18)^(zt>>>18|dt<<14)^(zt<<23|dt>>>9)),Qt=mt+((dt>>>14|zt<<18)^(dt>>>18|zt<<14)^(dt<<23|zt>>>9))+(vt>>>0>>0?1:0),vt=vt+fr,Qt=Qt+Un+(vt>>>0>>0?1:0),vt=vt+Mr,Qt=Qt+la+(vt>>>0>>0?1:0),vt=vt+Ze,Qt=Qt+Ht+(vt>>>0>>0?1:0),Ze=Br+Ar,Pr=Zt+Pr+(Ze>>>0
>>0?1:0),mt=Dt,Yt=tt,Dt=xt,tt=nt,xt=dt,nt=zt,zt=Pt+vt|0,dt=lr+Qt+(zt>>>0>>0?1:0)|0,lr=Fe,Pt=Le,Fe=qe,Le=oe,qe=we,oe=Ie,Ie=vt+Ze|0,we=Qt+Pr+(Ie>>>0>>0?1:0)|0}D=E.low=D+Ie,E.high=F+we+(D>>>0>>0?1:0),j=p.low=j+oe,p.high=I+qe+(j>>>0>>0?1:0),_=f.low=_+Le,f.high=M+Fe+(_>>>0>>0?1:0),k=A.low=k+Pt,A.high=P+lr+(k>>>0>>0?1:0),K=g.low=K+zt,g.high=H+dt+(K>>>0>>0?1:0),G=S.low=G+nt,S.high=W+xt+(G>>>0>>0?1:0),X=w.low=X+tt,w.high=z+Dt+(X>>>0>>0?1:0),Se=y.low=Se+Yt,y.high=ie+mt+(Se>>>0>>0?1:0)},_doFinalize:function(){var h=this._data,d=h.words,E=8*this._nDataBytes,p=8*h.sigBytes;return d[p>>>5]|=128<<24-p%32,d[(p+128>>>10<<5)+30]=Math.floor(E/4294967296),d[(p+128>>>10<<5)+31]=E,h.sigBytes=4*d.length,this._process(),this._hash.toX32()},clone:function(){var h=r.clone.call(this);return h._hash=this._hash.clone(),h},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)})();(function(){var e=Ce,i=e.x64,t=i.Word,r=i.WordArray,i=e.algo,n=i.SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var a=n._doFinalize.call(this);return a.sigBytes-=16,a}});e.SHA384=n._createHelper(i),e.HmacSHA384=n._createHmacHelper(i)})();(function(){var e=Ce,h=e.lib,t=h.WordArray,r=h.Hasher,h=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),i=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),s=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),o=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]),h=h.RIPEMD160=r.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(d,E){for(var p=0;16>p;p++){var f=E+p,A=d[f];d[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}var f=this._hash.words,A=o.words,g=l.words,S=n.words,w=i.words,y=a.words,F=s.words,D,I,j,M,_,P,k,H,K,W;P=D=f[0],k=I=f[1],H=j=f[2],K=M=f[3],W=_=f[4];for(var G,p=0;80>p;p+=1)G=D+d[E+S[p]]|0,G=16>p?G+((I^j^M)+A[0]):32>p?G+((I&j|~I&M)+A[1]):48>p?G+(((I|~j)^M)+A[2]):64>p?G+((I&M|j&~M)+A[3]):G+((I^(j|~M))+A[4]),G|=0,G=G<>>32-y[p],G=G+_|0,D=_,_=M,M=j<<10|j>>>22,j=I,I=G,G=P+d[E+w[p]]|0,G=16>p?G+((k^(H|~K))+g[0]):32>p?G+((k&K|H&~K)+g[1]):48>p?G+(((k|~H)^K)+g[2]):64>p?G+((k&H|~k&K)+g[3]):G+((k^H^K)+g[4]),G|=0,G=G<>>32-F[p],G=G+W|0,P=W,W=K,K=H<<10|H>>>22,H=k,k=G;G=f[1]+j+K|0,f[1]=f[2]+M+W|0,f[2]=f[3]+_+P|0,f[3]=f[4]+D+k|0,f[4]=f[0]+I+H|0,f[0]=G},_doFinalize:function(){var d=this._data,E=d.words,p=8*this._nDataBytes,f=8*d.sigBytes;for(E[f>>>5]|=128<<24-f%32,E[(f+64>>>9<<4)+14]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,d.sigBytes=4*(E.length+1),this._process(),d=this._hash,E=d.words,p=0;5>p;p++)f=E[p],E[p]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360;return d},clone:function(){var d=r.clone.call(this);return d._hash=this._hash.clone(),d}});e.RIPEMD160=r._createHelper(h),e.HmacRIPEMD160=r._createHmacHelper(h)})(Math);(function(){var e=Ce,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(r,n){r=this._hasher=new r.init,typeof n=="string"&&(n=t.parse(n));var i=r.blockSize,a=4*i;n.sigBytes>a&&(n=r.finalize(n)),n.clamp();for(var s=this._oKey=n.clone(),o=this._iKey=n.clone(),l=s.words,h=o.words,d=0;d>6)+Ju.charAt(r&63);if(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=Ju.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=Ju.charAt(r>>2)+Ju.charAt((r&3)<<4)),fd)for(;(n.length&3)>0;)n+=fd;return n}function Qu(e){var t="",r,n=0,i,a;for(r=0;r>2),i=a&3,n=1):n==1?(t+=ds(i<<2|a>>4),i=a&15,n=2):n==2?(t+=ds(i),t+=ds(a>>2),i=a&3,n=3):(t+=ds(i<<2|a>>4),t+=ds(a&15),n=0));return n==1&&(t+=ds(i<<2)),t}function Zm(e){var t=Qu(e),r,n=new Array;for(r=0;2*r=0;){var s=t*this[e++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=s&67108863}return i}function nC(e,t,r,n,i,a){for(var s=t&32767,o=t>>15;--a>=0;){var l=this[e]&32767,h=this[e++]>>15,d=o*l+h*s;l=s*l+((d&32767)<<15)+r[n]+(i&1073741823),i=(l>>>30)+(d>>>15)+o*h+(i>>>30),r[n++]=l&1073741823}return i}function iC(e,t,r,n,i,a){for(var s=t&16383,o=t>>14;--a>=0;){var l=this[e]&16383,h=this[e++]>>14,d=o*l+h*s;l=s*l+((d&16383)<<14)+r[n]+i,i=(l>>28)+(d>>14)+o*h,r[n++]=l&268435455}return i}Wm&&yc.appName=="Microsoft Internet Explorer"?(ee.prototype.am=nC,Qs=30):Wm&&yc.appName!="Netscape"?(ee.prototype.am=rC,Qs=26):(ee.prototype.am=iC,Qs=28);ee.prototype.DB=Qs;ee.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function uC(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function Zs(e){var t=ft();return t.fromInt(e),t}function oC(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,a=0;--n>=0;){var s=r==8?e[n]&255:Qm(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,a==0?this[this.t++]=s:a+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-a):this[this.t-1]|=s<=this.DB&&(a-=this.DB)}r==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function lC(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(o>o)>0&&(i=!0,a=ds(n));s>=0;)o>(o+=this.DB-t)):(n=this[s]>>(o-=t)&r,o<=0&&(o+=this.DB,--s)),n>0&&(i=!0),i&&(a+=ds(n));return i?a:"0"}function fC(){var e=ft();return ee.ZERO.subTo(this,e),e}function hC(){return this.s<0?this.negate():this}function pC(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function df(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function dC(){return this.t<=0?0:this.DB*(this.t-1)+df(this[this.t-1]^this.s&this.DM)}function gC(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function mC(e,t){for(var r=e;r=0;--o)t[o+a+1]=this[o]>>n|s,s=(this[o]&i)<=0;--o)t[o]=0;t[a]=s,t.t=this.t+a+1,t.s=this.s,t.clamp()}function EC(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,a=(1<>n;for(var s=r+1;s>n;n>0&&(t[this.t-r-1]|=(this.s&a)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function AC(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function SC(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(l,a),i.lShiftTo(l,r)):(n.copyTo(a),i.copyTo(r));var h=a.t,d=a[h-1];if(d!=0){var E=d*(1<1?a[h-2]>>this.F2:0),p=this.FV/E,f=(1<=0&&(r[r.t++]=1,r.subTo(w,r)),ee.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t=0;){var y=r[--g]==d?this.DM:Math.floor(r[g]*p+(r[g-1]+A)*f);if((r[g]+=a.am(0,y,r,S,0,h))0&&r.rShiftTo(l,r),s<0&&ee.ZERO.subTo(r,r)}}}function bC(e){var t=ft();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ee.ZERO)>0&&e.subTo(t,t),t}function Ma(e){this.m=e}function CC(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function FC(e){return e}function _C(e){e.divRemTo(this.m,null,e)}function IC(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function DC(e,t){e.squareTo(t),this.reduce(t)}Ma.prototype.convert=CC;Ma.prototype.revert=FC;Ma.prototype.reduce=_C;Ma.prototype.mulTo=IC;Ma.prototype.sqrTo=DC;function $C(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function qa(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function PC(e){var t=ft();return e.copyTo(t),this.reduce(t),t}function RC(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function TC(e,t){e.squareTo(t),this.reduce(t)}function OC(e,t,r){e.multiplyTo(t,r),this.reduce(r)}qa.prototype.convert=BC;qa.prototype.revert=PC;qa.prototype.reduce=RC;qa.prototype.mulTo=OC;qa.prototype.sqrTo=TC;function xC(){return(this.t>0?this[0]&1:this.s)==0}function NC(e,t){if(e>4294967295||e<1)return ee.ONE;var r=ft(),n=ft(),i=t.convert(this),a=df(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function kC(e,t){var r;return e<256||t.isEven()?r=new Ma(t):r=new qa(t),this.exp(e,r)}ee.prototype.copyTo=aC;ee.prototype.fromInt=uC;ee.prototype.fromString=oC;ee.prototype.clamp=cC;ee.prototype.dlShiftTo=gC;ee.prototype.drShiftTo=mC;ee.prototype.lShiftTo=vC;ee.prototype.rShiftTo=EC;ee.prototype.subTo=wC;ee.prototype.multiplyTo=AC;ee.prototype.squareTo=yC;ee.prototype.divRemTo=SC;ee.prototype.invDigit=$C;ee.prototype.isEven=xC;ee.prototype.exp=NC;ee.prototype.toString=lC;ee.prototype.negate=fC;ee.prototype.abs=hC;ee.prototype.compareTo=pC;ee.prototype.bitLength=dC;ee.prototype.mod=bC;ee.prototype.modPowInt=kC;ee.ZERO=Zs(0);ee.ONE=Zs(1);function LC(){var e=ft();return this.copyTo(e),e}function UC(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function jC(){return this.t==0?this.s:this[0]<<16>>16}function MC(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function qC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function VC(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Zs(r),i=ft(),a=ft(),s="";for(this.divRemTo(n,i,a);i.signum()>0;)s=(r+a.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,a);return a.intValue().toString(e)+s}function KC(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,a=0,s=0,o=0;o=r&&(this.dMultiply(n),this.dAddOffset(s,0),a=0,s=0)}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(s,0)),i&&ee.ZERO.subTo(this,this)}function GC(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(ee.ONE.shiftLeft(e-1),vd,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ee.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function YC(e){return this.compareTo(e)==0}function WC(e){return this.compareTo(e)<0?this:e}function XC(e){return this.compareTo(e)>0?this:e}function JC(e,t,r){var n,i,a=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function uF(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function mF(e){var t=ft();return this.addTo(e,t),t}function vF(e){var t=ft();return this.subTo(e,t),t}function EF(e){var t=ft();return this.multiplyTo(e,t),t}function wF(){var e=ft();return this.squareTo(e),e}function AF(e){var t=ft();return this.divRemTo(e,t,null),t}function yF(e){var t=ft();return this.divRemTo(e,null,t),t}function SF(e){var t=ft(),r=ft();return this.divRemTo(e,t,r),new Array(t,r)}function bF(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function CF(e,t){if(e!=0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function bc(){}function rv(e){return e}function FF(e,t,r){e.multiplyTo(t,r)}function _F(e,t){e.squareTo(t)}bc.prototype.convert=rv;bc.prototype.revert=rv;bc.prototype.mulTo=FF;bc.prototype.sqrTo=_F;function IF(e){return this.exp(e,new bc)}function DF(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var i;for(i=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ft();return e.copyTo(t),this.reduce(t),t}function PF(e){return e}function RF(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function TF(e,t){e.squareTo(t),this.reduce(t)}function OF(e,t,r){e.multiplyTo(t,r),this.reduce(r)}to.prototype.convert=BF;to.prototype.revert=PF;to.prototype.reduce=RF;to.prototype.mulTo=OF;to.prototype.sqrTo=TF;function xF(e,t){var r=e.bitLength(),n,i=Zs(1),a;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?a=new Ma(t):t.isEven()?a=new to(t):a=new qa(t);var s=new Array,o=3,l=n-1,h=(1<1){var d=ft();for(a.sqrTo(s[1],d);o<=h;)s[o]=ft(),a.mulTo(d,s[o-2],s[o]),o+=2}var E=e.t-1,p,f=!0,A=ft(),g;for(r=df(e[E])-1;E>=0;){for(r>=l?p=e[E]>>r-l&h:(p=(e[E]&(1<0&&(p|=e[E-1]>>this.DB+r-l)),o=n;!(p&1);)p>>=1,--o;if((r-=o)<0&&(r+=this.DB,--E),f)s[p].copyTo(i),f=!1;else{for(;o>1;)a.sqrTo(i,A),a.sqrTo(A,i),o-=2;o>0?a.sqrTo(i,A):(g=i,i=A,A=g),a.mulTo(A,s[p],i)}for(;E>=0&&!(e[E]&1<0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function kF(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function LF(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return ee.ZERO;for(var r=e.clone(),n=this.clone(),i=Zs(1),a=Zs(0),s=Zs(0),o=Zs(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!a.isEven())&&(i.addTo(this,i),a.subTo(e,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!o.isEven())&&(s.addTo(this,s),o.subTo(e,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),a.subTo(o,a)):(n.subTo(r,n),t&&s.subTo(i,s),o.subTo(a,o))}if(n.compareTo(ee.ONE)!=0)return ee.ZERO;if(o.compareTo(e)>=0)return o.subtract(e);if(o.signum()<0)o.addTo(e,o);else return o;return o.signum()<0?o.add(e):o}var Xr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],UF=(1<<26)/Xr[Xr.length-1];function HF(e){var t,r=this.abs();if(r.t==1&&r[0]<=Xr[Xr.length-1]){for(t=0;t>1,e>Xr.length&&(e=Xr.length);for(var i=ft(),a=0;a>8&255,$n[mr++]^=e>>16&255,$n[mr++]^=e>>24&255,mr>=hd&&(mr-=hd)}function wd(){KF(new Date().getTime())}if($n==null){if($n=new Array,mr=0,Xu!==void 0&&(Xu.crypto!==void 0||Xu.msCrypto!==void 0)){if(od=Xu.crypto||Xu.msCrypto,od.getRandomValues)for(cd=new Uint8Array(32),od.getRandomValues(cd),Jn=0;Jn<32;++Jn)$n[mr++]=cd[Jn];else if(yc.appName=="Netscape"&&yc.appVersion<"5")for(ld=Xu.crypto.random(32),Jn=0;Jn>>8,$n[mr++]=Jn&255;mr=0,wd()}var Jn,od,cd,ld;function GF(){if(cf==null){for(wd(),cf=VF(),cf.init($n),mr=0;mr<$n.length;++mr)$n[mr]=0;mr=0}return cf.next()}function zF(e){var t;for(t=0;t0&&t.length>0)this.n=hn(e,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function WF(e){return e.modPowInt(this.e,this.n)}ze.prototype.doPublic=WF;ze.prototype.setPublic=YF;ze.prototype.type="RSA";function XF(e,t,r){if(this.isPrivate=!0,typeof e!="string")this.n=e,this.e=t,this.d=r;else if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=hn(e,16),this.e=parseInt(t,16),this.d=hn(r,16);else throw"Invalid RSA private key"}function JF(e,t,r,n,i,a,s,o){if(this.isPrivate=!0,this.isPublic=!1,e==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(e.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=hn(e,16),this.e=parseInt(t,16),this.d=hn(r,16),this.p=hn(n,16),this.q=hn(i,16),this.dmp1=hn(a,16),this.dmq1=hn(s,16),this.coeff=hn(o,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function ZF(e,t){var r=new ro,n=e>>1;this.e=parseInt(t,16);for(var i=new ee(t,16),a=e/2-100,s=ee.ONE.shiftLeft(a);;){for(;this.p=new ee(e-n,1,r),!(this.p.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new ee(n,1,r),!(this.q.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var o=this.p;this.p=this.q,this.q=o}var l=this.q.subtract(this.p).abs();if(!(l.bitLength()0;--h){i=i.twice();var d=r.testBit(h),E=t.testBit(h);d!=E&&(i=i.add(d?this:n))}for(h=s.bitLength()-2;h>0;--h){o=o.twice();var p=s.testBit(h),f=a.testBit(h);p!=f&&(o=o.add(p?o:l))}return i}function m_(e,t,r){var n;e.bitLength()>r.bitLength()?n=e.bitLength()-1:n=r.bitLength()-1;for(var i=this.curve.getInfinity(),a=this.add(t);n>=0;)i=i.twice(),e.testBit(n)?r.testBit(n)?i=i.add(a):i=i.add(this):r.testBit(n)&&(i=i.add(t)),--n;return i}gt.prototype.getX=o_;gt.prototype.getY=c_;gt.prototype.equals=l_;gt.prototype.isInfinity=f_;gt.prototype.negate=h_;gt.prototype.add=p_;gt.prototype.twice=d_;gt.prototype.multiply=g_;gt.prototype.multiplyTwo=m_;function ms(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new gt(this,null,null)}function v_(){return this.q}function E_(){return this.a}function w_(){return this.b}function A_(e){return e==this?!0:this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function y_(){return this.infinity}function S_(e){return new ar(this.q,e)}function b_(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var t=e.substr(0,2),r=e.substr(2),n=this.fromBigInteger(new ee(h,16)),i=this.getA(),a=this.getB(),s=n.square().add(i).multiply(n).add(a),o=s.sqrt();return t=="03"&&(o=o.negate()),new gt(this,n,o);case 4:case 6:case 7:var l=(e.length-2)/2,h=e.substr(2,l),d=e.substr(l+2,l);return new gt(this,this.fromBigInteger(new ee(h,16)),this.fromBigInteger(new ee(d,16)));default:return null}}ms.prototype.getQ=v_;ms.prototype.getA=E_;ms.prototype.getB=w_;ms.prototype.equals=A_;ms.prototype.getInfinity=y_;ms.prototype.fromBigInteger=S_;ms.prototype.decodePointHex=b_;ar.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};gt.prototype.getEncoded=function(e){var t=function(a,s){var o=a.toByteArrayUnsigned();if(so.length;)o.unshift(0);return o},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=t(r,32);return e?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(t(n,32))),i};gt.decodeFrom=function(e,t){var r=t[0],n=t.length-1,i=t.slice(1,1+n/2),a=t.slice(1+n/2,1+n);i.unshift(0),a.unshift(0);var s=new ee(i),o=new ee(a);return new gt(e,e.fromBigInteger(s),e.fromBigInteger(o))};gt.decodeFromHex=function(e,t){var r=t.substr(0,2),n=t.length-2,i=t.substr(2,n/2),a=t.substr(2+n/2,n/2),s=new ee(i,16),o=new ee(a,16);return new gt(e,e.fromBigInteger(s),e.fromBigInteger(o))};gt.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y),n=r.divide(t),i=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(i)).subtract(this.y);return new gt(this.curve,i,a)};gt.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var e=this.curve.fromBigInteger(ee.valueOf(2)),t=this.curve.fromBigInteger(ee.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new gt(this.curve,n,i)};gt.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(e.signum()==0)return this.curve.getInfinity();var t=e,r=t.multiply(new ee("3")),n=this.negate(),i=this,a;for(a=r.bitLength()-2;a>0;--a){i=i.twice();var s=r.testBit(a),o=t.testBit(a);s!=o&&(i=i.add2D(s?this:n))}return i};gt.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),a=t.multiply(t).mod(i),s=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(i);return a.equals(s)};gt.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};gt.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(ee.ONE)<0||t.compareTo(e.subtract(ee.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(ee.ONE)<0||r.compareTo(e.subtract(ee.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var nv=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',r='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+r+")","g"),i=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function s(E,p,f){return p?a[p]:String.fromCharCode(parseInt(f,16))}var o=new String(""),l="\\",h={"{":Object,"[":Array},d=Object.hasOwnProperty;return function(E,p){var f=E.match(n),A,g=f[0],S=!1;g==="{"?A={}:g==="["?A=[]:(A=[],S=!0);for(var w,y=[A],F=1-S,D=f.length;F=0;)delete P[k[W]]}return p.call(M,_,P)};A=j({"":A},"")}return A}}();(typeof m>"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});m.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){return Fc(e)},this.getPEMStringFromHex=function(e,t){return xr(e,t)},this.newObject=function(e){var t=m,r=t.asn1,n=r.ASN1Object,i=r.DERBoolean,a=r.DERInteger,s=r.DERBitString,o=r.DEROctetString,l=r.DERNull,h=r.DERObjectIdentifier,d=r.DEREnumerated,E=r.DERUTF8String,p=r.DERNumericString,f=r.DERPrintableString,A=r.DERTeletexString,g=r.DERIA5String,S=r.DERUTCTime,w=r.DERGeneralizedTime,y=r.DERVisibleString,F=r.DERBMPString,D=r.DERSequence,I=r.DERSet,j=r.DERTaggedObject,M=r.ASN1Util.newObject;if(e instanceof r.ASN1Object)return e;var _=Object.keys(e);if(_.length!=1)throw new Error("key of param shall be only one.");var P=_[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":")==-1)throw new Error("undefined key: "+P);if(P=="bool")return new i(e[P]);if(P=="int")return new a(e[P]);if(P=="bitstr")return new s(e[P]);if(P=="octstr")return new o(e[P]);if(P=="null")return new l(e[P]);if(P=="oid")return new h(e[P]);if(P=="enum")return new d(e[P]);if(P=="utf8str")return new E(e[P]);if(P=="numstr")return new p(e[P]);if(P=="prnstr")return new f(e[P]);if(P=="telstr")return new A(e[P]);if(P=="ia5str")return new g(e[P]);if(P=="utctime")return new S(e[P]);if(P=="gentime")return new w(e[P]);if(P=="visstr")return new y(e[P]);if(P=="bmpstr")return new F(e[P]);if(P=="asn1")return new n(e[P]);if(P=="seq"){for(var k=e[P],H=[],K=0;K"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+a.length+",v="+this.hV);var s=this.hV.length/2,o=s.toString(16);if(o.length%2==1&&(o="0"+o),s<128)return o;var l=o.length/2;if(l>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+s.toString(16));var h=128+l;return h.toString(16)+o},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(s){this.params=s},e!=null&&e.tlv!=null&&(this.hTLV=e.tlv,this.isModified=!1)};m.asn1.DERAbstractString=function(e){m.asn1.DERAbstractString.superclass.constructor.call(this);var t=null,r=null;this.getString=function(){return this.s},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.s=n,this.hV=mf(this.s).toLowerCase()},this.setStringHex=function(n){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.getFreshValueHex=function(){return this.hV},typeof e<"u"&&(typeof e=="string"?this.setString(e):typeof e.str<"u"?this.setString(e.str):typeof e.hex<"u"&&this.setStringHex(e.hex))};he(m.asn1.DERAbstractString,m.asn1.ASN1Object);m.asn1.DERAbstractTime=function(e){m.asn1.DERAbstractTime.superclass.constructor.call(this);var t=null,r=null;this.localDateToUTC=function(n){var i=n.getTime()+n.getTimezoneOffset()*6e4,a=new Date(i);return a},this.formatDate=function(n,i,a){var s=this.zeroPadding,o=this.localDateToUTC(n),l=String(o.getFullYear());i=="utc"&&(l=l.substr(2,2));var h=s(String(o.getMonth()+1),2),d=s(String(o.getDate()),2),E=s(String(o.getHours()),2),p=s(String(o.getMinutes()),2),f=s(String(o.getSeconds()),2),A=l+h+d+E+p+f;if(a===!0){var g=o.getMilliseconds();if(g!=0){var S=s(String(g),3);S=S.replace(/[0]+$/,""),A=A+"."+S}}return A+"Z"},this.zeroPadding=function(n,i){return n.length>=i?n:new Array(i-n.length+1).join("0")+n},this.setByParam=function(n){this.hV=null,this.hTLV=null,this.params=n},this.getString=function(){},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=n},this.setByDate=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=n},this.setByDateValue=function(n,i,a,s,o,l){var h=new Date(Date.UTC(n,i-1,a,s,o,l,0));this.setByDate(h)},this.getFreshValueHex=function(){return this.hV}};he(m.asn1.DERAbstractTime,m.asn1.ASN1Object);m.asn1.DERAbstractStructured=function(e){m.asn1.DERAbstractString.superclass.constructor.call(this);var t=null;this.setByASN1ObjectArray=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array=r},this.appendASN1Object=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array.push(r)},this.asn1Array=new Array,typeof e<"u"&&typeof e.array<"u"&&(this.asn1Array=e.array)};he(m.asn1.DERAbstractStructured,m.asn1.ASN1Object);m.asn1.DERBoolean=function(e){m.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",e==!1?this.hTLV="010100":this.hTLV="0101ff"};he(m.asn1.DERBoolean,m.asn1.ASN1Object);m.asn1.DERInteger=function(e){m.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var t=Fc;this.setByBigInteger=function(r){this.isModified=!0,this.params={bigint:r}},this.setByInteger=function(r){this.isModified=!0,this.params=r},this.setValueHex=function(r){this.isModified=!0,this.params={hex:r}},this.getFreshValueHex=function(){var r=this.params,n=null;if(r==null)throw new Error("value not set");if(typeof r=="object"&&r.hex!=null)return this.hV=r.hex,this.hV;if(typeof r=="number")n=new ee(String(r),10);else if(r.int!=null)n=new ee(String(r.int),10);else if(r.bigint!=null)n=r.bigint;else throw new Error("wrong parameter");return this.hV=t(n),this.hV},e!=null&&(this.params=e)};he(m.asn1.DERInteger,m.asn1.ASN1Object);m.asn1.DERBitString=function(e){if(e!==void 0&&typeof e.obj<"u"){var t=m.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.tohex()}m.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(r){this.hTLV=null,this.isModified=!0,this.hV=r},this.setUnusedBitsAndHexValue=function(r,n){if(r<0||7=a)break}return n};Ae.getNthChildIdx=function(e,t,r){var n=Ae.getChildIdx(e,t);return n[r]};Ae.getIdxbyList=function(e,t,r,n){var i=Ae,a,s;return r.length==0?n!==void 0&&e.substr(t,2)!==n?-1:t:(a=r.shift(),s=i.getChildIdx(e,t),a>=s.length?-1:i.getIdxbyList(e,s[a],r,n))};Ae.getIdxbyListEx=function(e,t,r,n){var i=Ae,a,s;if(r.length==0)return n!==void 0&&e.substr(t,2)!==n?-1:t;a=r.shift(),s=i.getChildIdx(e,t);for(var o=0,l=0;l=e.length?null:i.getTLV(e,a)};Ae.getTLVbyListEx=function(e,t,r,n){var i=Ae,a=i.getIdxbyListEx(e,t,r,n);return a==-1?null:i.getTLV(e,a)};Ae.getVbyList=function(e,t,r,n,i){var a=Ae,s,o;return s=a.getIdxbyList(e,t,r,n),s==-1||s>=e.length?null:(o=a.getV(e,s),i===!0&&(o=o.substr(2)),o)};Ae.getVbyListEx=function(e,t,r,n,i){var a=Ae,s,o,l;return s=a.getIdxbyListEx(e,t,r,n),s==-1?null:(l=a.getV(e,s),e.substr(s,2)=="03"&&i!==!1&&(l=l.substr(2)),l)};Ae.getInt=function(e,t,r){r==null&&(r=-1);try{var n=e.substr(t,2);if(n!="02"&&n!="03")return r;var i=Ae.getV(e,t);return n=="02"?parseInt(i,16):hv(i)}catch{return r}};Ae.getOID=function(e,t,r){r==null&&(r=null);try{if(e.substr(t,2)!="06")return r;var n=Ae.getV(e,t);return yf(n)}catch{return r}};Ae.getOIDName=function(e,t,r){r==null&&(r=null);try{var n=Ae.getOID(e,t,r);if(n==r)return r;var i=m.asn1.x509.OID.oid2name(n);return i==""?n:i}catch{return r}};Ae.getString=function(e,t,r){r==null&&(r=null);try{var n=Ae.getV(e,t);return dn(n)}catch{return r}};Ae.hextooidstr=function(e){var t=function(E,p){return E.length>=p?E:new Array(p-E.length+1).join("0")+E},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var a=e.substr(2),s=[],o=0;o0&&(d=d+"."+l.join(".")),d};Ae.dump=function(e,t,r,n){var i=Ae,a=i.getV,s=i.dump,o=i.getChildIdx,l=e;e instanceof m.asn1.ASN1Object&&(l=e.tohex());var h=function(M,_){if(M.length<=_*2)return M;var P=M.substr(0,_)+"..(total "+M.length/2+"bytes).."+M.substr(M.length-_,_);return P};t===void 0&&(t={ommit_long_octet:32}),r===void 0&&(r=0),n===void 0&&(n="");var d=t.ommit_long_octet,I=l.substr(r,2);if(I=="01"){var E=a(l,r);return E=="00"?n+`BOOLEAN FALSE +`:n+`BOOLEAN TRUE +`}if(I=="02"){var E=a(l,r);return n+"INTEGER "+h(E,d)+` +`}if(I=="03"){var E=a(l,r);if(i.isASN1HEX(E.substr(2))){var p=n+`BITSTRING, encapsulates +`;return p=p+s(E.substr(2),t,0,n+" "),p}else return n+"BITSTRING "+h(E,d)+` +`}if(I=="04"){var E=a(l,r);if(i.isASN1HEX(E)){var p=n+`OCTETSTRING, encapsulates +`;return p=p+s(E,t,0,n+" "),p}else return n+"OCTETSTRING "+h(E,d)+` +`}if(I=="05")return n+`NULL +`;if(I=="06"){var f=a(l,r),A=m.asn1.ASN1Util.oidHexToInt(f),g=m.asn1.x509.OID.oid2name(A),S=A.replace(/\./g," ");return g!=""?n+"ObjectIdentifier "+g+" ("+S+`) +`:n+"ObjectIdentifier ("+S+`) +`}if(I=="0a")return n+"ENUMERATED "+parseInt(a(l,r))+` +`;if(I=="0c")return n+"UTF8String '"+yt(a(l,r))+`' +`;if(I=="13")return n+"PrintableString '"+yt(a(l,r))+`' +`;if(I=="14")return n+"TeletexString '"+yt(a(l,r))+`' +`;if(I=="16")return n+"IA5String '"+yt(a(l,r))+`' +`;if(I=="17")return n+"UTCTime "+yt(a(l,r))+` +`;if(I=="18")return n+"GeneralizedTime "+yt(a(l,r))+` +`;if(I=="1a")return n+"VisualString '"+yt(a(l,r))+`' +`;if(I=="1e")return n+"BMPString '"+bd(a(l,r))+`' +`;if(I=="30"){if(l.substr(r,4)=="3000")return n+`SEQUENCE {} +`;var p=n+`SEQUENCE +`,w=o(l,r),y=t;if((w.length==2||w.length==3)&&l.substr(w[0],2)=="06"&&l.substr(w[w.length-1],2)=="04"){var g=i.oidname(a(l,w[0])),F=JSON.parse(JSON.stringify(t));F.x509ExtName=g,y=F}for(var D=0;D4?{enum:{hex:w}}:{enum:parseInt(w,16)};if(g=="30"||g=="31")return S[f[g]]=A(e),S;if(g=="14"){var j=p(w);return S[f[g]]={str:j},S}else if(g=="1e"){var j=E(w);return S[f[g]]={str:j},S}else if(":0c:12:13:16:17:18:1a:".indexOf(g)!=-1){var j=d(w);return S[f[g]]={str:j},S}else if(g.match(/^8[0-9]$/)){var j=d(w);return j==null|j==""?{tag:{tag:g,explicit:!1,hex:w}}:j.match(/[\x00-\x1F\x7F-\x9F]/)!=null||j.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:g,explicit:!1,hex:w}}:{tag:{tag:g,explicit:!1,str:j}}}else if(g.match(/^a[0-9]$/))try{if(!n(w))throw new Error("not encap");return{tag:{tag:g,explicit:!0,obj:r(w)}}}catch{return{tag:{tag:g,explicit:!0,hex:w}}}else{var M=new m.asn1.ASN1Object;M.hV=w;var _=M.getLengthHexFromValue();return{asn1:{tlv:g+_+w}}}}}};Ae.isContextTag=function(e,t){e=e.toLowerCase();var r,n;try{r=parseInt(e,16)}catch{return-1}if(t===void 0)return(r&192)==128;try{var i=t.match(/^\[[0-9]+\]$/);return i==null||(n=parseInt(t.substr(1,t.length-1),10),n>31)?!1:(r&192)==128&&(r&31)==n}catch{return!1}};Ae.isASN1HEX=function(e){var t=Ae;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0),a=e.length-n.length-i.length;return a==r*2};Ae.checkStrictDER=function(e,t,r,n,i){var a=Ae;if(r===void 0){if(typeof e!="string")throw new Error("not hex string");if(e=e.toLowerCase(),!m.lang.String.isHex(e))throw new Error("not hex string");r=e.length,n=e.length/2,n<128?i=1:i=Math.ceil(n.toString(16))+1}var s=a.getL(e,t);if(s.length>i*2)throw new Error("L of TLV too long: idx="+t);var o=a.getVblen(e,t);if(o>n)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(e,t),h=l.length-2-a.getL(e,t).length;if(h!==o*2)throw new Error("V string length and L's value not the same:"+h+"/"+o*2);if(t===0&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var d=e.substr(t,2);if(d==="02"){var E=a.getVidx(e,t);if(e.substr(E,2)=="00"&&e.charCodeAt(E+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(d,16)&32){for(var p=a.getVblen(e,t),f=0,A=a.getChildIdx(e,t),g=0;g"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.x509>"u"||!m.asn1.x509)&&(m.asn1.x509={});m.asn1.x509.Certificate=function(e){m.asn1.x509.Certificate.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.x509,s=a.TBSCertificate,o=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(l){this.params=l},this.sign=function(){var l=this.params,h=l.sigalg;l.sigalg.name!=null&&(h=l.sigalg.name);var d=l.tbsobj.tohex(),E=new m.crypto.Signature({alg:h});E.init(l.cakey),E.updateHex(d),l.sighex=E.sign()},this.getPEM=function(){return xr(this.tohex(),"CERTIFICATE")},this.tohex=function(){var l=this.params;if((l.tbsobj==null||l.tbsobj==null)&&(l.tbsobj=new s(l)),l.sighex==null&&l.cakey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or cakey parameter not defined");var h=[];h.push(l.tbsobj),h.push(new o({name:l.sigalg})),h.push(new n({hex:"00"+l.sighex}));var d=new i({array:h});return d.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&(this.params=e)};he(m.asn1.x509.Certificate,m.asn1.ASN1Object);m.asn1.x509.TBSCertificate=function(e){m.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.x509,i=r.DERTaggedObject,a=r.DERInteger,s=r.DERSequence,o=n.AlgorithmIdentifier,l=n.Time,h=n.X500Name,d=n.Extensions,E=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(p){this.params=p},this.tohex=function(){var p=[],f=this.params;if(f.version!=null||f.version!=1){var A=2;f.version!=null&&(A=f.version-1);var g=new i({obj:new a({int:A})});p.push(g)}p.push(new a(f.serial)),p.push(new o({name:f.sigalg})),p.push(new h(f.issuer)),p.push(new s({array:[new l(f.notbefore),new l(f.notafter)]})),p.push(new h(f.subject)),p.push(new E(at.getKey(f.sbjpubkey))),f.ext!==void 0&&f.ext.length>0&&p.push(new i({tag:"a3",obj:new d(f.ext)}));var S=new m.asn1.DERSequence({array:p});return S.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.TBSCertificate,m.asn1.ASN1Object);m.asn1.x509.Extensions=function(e){m.asn1.x509.Extensions.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.DERSequence,i=r.x509;this.aParam=[],this.setByParam=function(a){this.aParam=a},this.tohex=function(){for(var a=[],s=0;s-1&&o.push(new n({int:this.pathLen}));var l=new i({array:o});return this.asn1ExtnValue=l,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,e!==void 0&&(e.cA!==void 0&&(this.cA=e.cA),e.pathLen!==void 0&&(this.pathLen=e.pathLen))};he(m.asn1.x509.BasicConstraints,m.asn1.x509.Extension);m.asn1.x509.CRLDistributionPoints=function(e){m.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=m,r=t.asn1,n=r.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(i){for(var a=[],s=0;s0&&a.push(new r({array:s}))}var l=new r({array:a});return l.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.PolicyInformation,m.asn1.ASN1Object);m.asn1.x509.PolicyQualifierInfo=function(e){m.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=m.asn1,r=t.DERSequence,n=t.DERIA5String,i=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return s.tohex()}if(this.params.unotice!=null){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return s.tohex()}},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.PolicyQualifierInfo,m.asn1.ASN1Object);m.asn1.x509.UserNotice=function(e){m.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=m.asn1.DERSequence,r=m.asn1.DERInteger,n=m.asn1.x509.DisplayText,i=m.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var a=[];this.params.noticeref!==void 0&&a.push(new i(this.params.noticeref)),this.params.exptext!==void 0&&a.push(new n(this.params.exptext));var s=new t({array:a});return s.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.UserNotice,m.asn1.ASN1Object);m.asn1.x509.NoticeReference=function(e){m.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=m.asn1.DERSequence,r=m.asn1.DERInteger,n=m.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var i=[];if(this.params.org!==void 0&&i.push(new n(this.params.org)),this.params.noticenum!==void 0){for(var a=[],s=this.params.noticenum,o=0;o0)for(var s=0;s0;i++){var a=t.shift();if(r===!0){var s=n.pop(),o=(s+","+a).replace(/\\,/g,",");n.push(o),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}return n=n.map(function(l){return l.replace("/","\\/")}),n.reverse(),"/"+n.join("/")};m.asn1.x509.X500Name.ldapToOneline=function(e){return m.asn1.x509.X500Name.ldapToCompat(e)};m.asn1.x509.RDN=function(e){m.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=m.asn1.x509.AttributeTypeAndValue;this.setByParam=function(r){r.rule!==void 0&&(this.sRule=r.rule),r.str!==void 0&&this.addByMultiValuedString(r.str),r.array!==void 0&&(this.paramArray=r.array)},this.addByString=function(r){this.asn1Array.push(new m.asn1.x509.AttributeTypeAndValue({str:r,rule:this.sRule}))},this.addByMultiValuedString=function(r){for(var n=m.asn1.x509.RDN.parseString(r),i=0;i0)for(var r=0;r0;i++){var a=t.shift();if(r===!0){var s=n.pop(),o=(s+"+"+a).replace(/\\\+/g,"+");n.push(o),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}for(var l=!1,h=[],i=0;n.length>0;i++){var a=n.shift();if(l===!0){var d=h.pop();if(a.match(/"$/)){var o=(d+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");h.push(o),l=!1}else h.push(d+"+"+a)}else h.push(a);a.match(/^[^=]+="/)&&(l=!0)}return h};m.asn1.x509.AttributeTypeAndValue=function(e){m.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=m,r=t.asn1,n=r.DERSequence,i=r.DERUTF8String,a=r.DERPrintableString,s=r.DERTeletexString,o=r.DERIA5String,l=r.DERVisibleString,h=r.DERBMPString,d=t.lang.String.isMail,E=t.lang.String.isPrintable;this.setByParam=function(p){if(p.rule!==void 0&&(this.sRule=p.rule),p.ds!==void 0&&(this.dsType=p.ds),p.value===void 0&&p.str!==void 0){var f=p.str,A=f.match(/^([^=]+)=(.+)$/);if(A)this.sType=A[1],this.sValue=A[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=p.type,this.sValue=p.value},this.setByString=function(p,f){f!==void 0&&(this.sRule=f);var A=p.match(/^([^=]+)=(.+)$/);if(A)this.setByAttrTypeAndValueStr(A[1],A[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var p=this.sType,f=this.sValue,A=this.sRule;return A==="prn"?p=="CN"&&d(f)?"ia5":E(f)?"prn":"utf8":A==="utf8"?p=="CN"&&d(f)?"ia5":p=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(p,f,A){A!==void 0&&(this.sRule=A),this.sType=p,this.sValue=f},this.getValueObj=function(p,f){if(p=="utf8")return new i({str:f});if(p=="prn")return new a({str:f});if(p=="tel")return new s({str:f});if(p=="ia5")return new o({str:f});if(p=="vis")return new l({str:f});if(p=="bmp")return new h({str:f});throw new Error("unsupported directory string type: type="+p+" value="+f)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var p=m.asn1.x509.OID.atype2obj(this.sType),f=this.getValueObj(this.dsType,this.sValue),A=new n({array:[p,f]});return this.TLV=A.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.AttributeTypeAndValue,m.asn1.ASN1Object);m.asn1.x509.SubjectPublicKeyInfo=function(e){m.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERInteger,s=i.DERBitString,o=i.DERObjectIdentifier,l=i.DERSequence,h=i.ASN1Util.newObject,d=i.x509,E=d.AlgorithmIdentifier,p=n.crypto,f=p.ECDSA,A=p.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var g=new l({array:[this.asn1AlgId,this.asn1SubjPKey]});return g},this.tohex=function(){var g=this.getASN1Object();return this.hTLV=g.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(g){try{if(g instanceof ze){var S=h({seq:[{int:{bigint:g.n}},{int:{int:g.e}}]}),w=S.tohex();this.asn1AlgId=new E({name:"rsaEncryption"}),this.asn1SubjPKey=new s({hex:"00"+w})}}catch{}try{if(g instanceof m.crypto.ECDSA){var y=new o({name:g.curveName});this.asn1AlgId=new E({name:"ecPublicKey",asn1params:y}),this.asn1SubjPKey=new s({hex:"00"+g.pubKeyHex})}}catch{}try{if(g instanceof m.crypto.DSA){var y=new h({seq:[{int:{bigint:g.p}},{int:{bigint:g.q}},{int:{bigint:g.g}}]});this.asn1AlgId=new E({name:"dsa",asn1params:y});var F=new a({bigint:g.y});this.asn1SubjPKey=new s({hex:"00"+F.tohex()})}}catch{}},e!==void 0&&this.setPubKey(e)};he(m.asn1.x509.SubjectPublicKeyInfo,m.asn1.ASN1Object);m.asn1.x509.Time=function(e){m.asn1.x509.Time.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(o){this.timeParams=o},this.setByParam=function(o){this.params=o},this.getType=function(o){return o.match(/^[0-9]{12}Z$/)?"utc":o.match(/^[0-9]{14}Z$/)?"gen":o.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":o.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var o=this.params,l=null;if(typeof o=="string"&&(o={str:o}),o!=null&&o.str&&(o.type==null||o.type==null)&&(o.type=this.getType(o.str)),o!=null&&o.str?(o.type=="utc"&&(l=new a(o.str)),o.type=="gen"&&(l=new s(o.str))):this.type=="gen"?l=new s:l=new a,l==null)throw new Error("wrong setting for Time");return this.TLV=l.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};m.asn1.x509.Time_bak=function(e){m.asn1.x509.Time_bak.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.setTimeParams=function(o){this.timeParams=o},this.tohex=function(){var o=null;return this.timeParams!=null?this.type=="utc"?o=new a(this.timeParams):o=new s(this.timeParams):this.type=="utc"?o=new a:o=new s,this.TLV=o.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",e!==void 0&&(e.type!==void 0?this.type=e.type:e.str!==void 0&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)};he(m.asn1.x509.Time,m.asn1.ASN1Object);m.asn1.x509.AlgorithmIdentifier=function(e){m.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=m,r=t.asn1,n=r.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var a=null;for(var s in n)s===this.nameAlg&&(a=n[s]);if(a!==null)return this.hTLV=a,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=r.x509.OID.name2obj(this.nameAlg));var o=[this.asn1Alg];this.asn1Params!==null&&o.push(this.asn1Params);var l=new r.DERSequence({array:o});return this.hTLV=l.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(e.name!==void 0&&(this.nameAlg=e.name),e.asn1params!==void 0&&(this.asn1Params=e.asn1params),e.paramempty!==void 0&&(this.paramEmpty=e.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var i=this.nameAlg.toLowerCase();i.substr(-7,7)!=="withdsa"&&i.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new r.DERNull)}};he(m.asn1.x509.AlgorithmIdentifier,m.asn1.ASN1Object);m.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};m.asn1.x509.GeneralName=function(e){m.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},r=m,n=r.asn1,i=n.x509,a=i.X500Name,s=i.OtherName,o=n.DERIA5String,l=n.DERPrintableString,h=n.DEROctetString,d=n.DERTaggedObject,E=n.ASN1Object,p=Error;this.params=null,this.setByParam=function(f){this.params=f},this.tohex=function(){var f=this.params,A,S,g,S=!1;if(f.other!==void 0)A="a0",g=new s(f.other);else if(f.rfc822!==void 0)A="81",g=new o({str:f.rfc822});else if(f.dns!==void 0)A="82",g=new o({str:f.dns});else if(f.dn!==void 0)A="a4",S=!0,typeof f.dn=="string"?g=new a({str:f.dn}):f.dn instanceof m.asn1.x509.X500Name?g=f.dn:g=new a(f.dn);else if(f.ldapdn!==void 0)A="a4",S=!0,g=new a({ldapstr:f.ldapdn});else if(f.certissuer!==void 0||f.certsubj!==void 0){A="a4",S=!0;var w,y,F=null;if(f.certsubj!==void 0?(w=!1,y=f.certsubj):(w=!0,y=f.certissuer),y.match(/^[0-9A-Fa-f]+$/)&&F==y,y.indexOf("-----BEGIN ")!=-1&&(F=Ut(y)),F==null)throw new Error("certsubj/certissuer not cert");var D=new He;D.hex=F;var I;w?I=D.getIssuerHex():I=D.getSubjectHex(),g=new E,g.hTLV=I}else if(f.uri!==void 0)A="86",g=new o({str:f.uri});else if(f.ip!==void 0){A="87";var j,M=f.ip;try{if(M.match(/^[0-9a-f]+$/)){var _=M.length;if(_==8||_==16||_==32||_==64)j=M;else throw"err"}else j=Sd(M)}catch(k){throw new p("malformed IP address: "+f.ip+":"+k.message)}g=new h({hex:j})}else throw new p("improper params");var P=new d({tag:A,explicit:S,obj:g});return P.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.GeneralName,m.asn1.ASN1Object);m.asn1.x509.GeneralNames=function(e){m.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=null,r=m,n=r.asn1;this.setByParamArray=function(i){for(var a=0;a"u")throw"Name of ObjectIdentifier not defined: "+t;var r=this.name2oidList[t],n=new e({oid:r});return this.objCache[t]=n,n},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var r;if(t.match(/^\d+\.\d+\.[0-9.]+$/))r=t;else if(this.atype2oidList[t]!==void 0)r=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)r=this.name2oidList[t];else throw new Error("AttributeType name undefined: "+t);var n=new e({oid:r});return this.objCache[t]=n,n},this.registerOIDs=function(t){if(this.checkOIDs(t))for(var r in t)this.name2oidList[r]=t[r]},this.checkOIDs=function(t){try{var r=Object.keys(t);return r.length==0?!1:(r.map(function(n,i,a){var s=this[n];if(!s.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},t),!0)}catch{return!1}}};m.asn1.x509.OID.oid2name=function(e){var t=m.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""};m.asn1.x509.OID.oid2atype=function(e){var t=m.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e};m.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=m.asn1.x509.OID.name2oidList;return t[e]===void 0?"":t[e]};m.asn1.x509.X509Util={};m.asn1.x509.X509Util.newCertPEM=function(e){var t=m.asn1.x509,r=t.TBSCertificate,n=t.Certificate,i=new n(e);return i.getPEM()};(typeof m>"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.cms>"u"||!m.asn1.cms)&&(m.asn1.cms={});m.asn1.cms.Attribute=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERSet,s=n.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(o){this.params=o},this.getValueArray=function(){throw new t("not yet implemented abstract")},this.tohex=function(){var o=new s({oid:this.typeOid}),l=new a({array:this.getValueArray()}),h=new i({array:[o,l]});return h.tohex()},this.getEncodedHex=function(){return this.tohex()}};he(m.asn1.cms.Attribute,m.asn1.ASN1Object);m.asn1.cms.ContentType=function(e){var t=m,r=t.asn1;r.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var n=new r.DERObjectIdentifier(this.params.type);return[n]},e!=null&&this.setByParam(e)};he(m.asn1.cms.ContentType,m.asn1.cms.Attribute);m.asn1.cms.MessageDigest=function(e){var t=m,r=t.asn1,n=r.DEROctetString,i=r.cms;i.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var a=new n(this.params);return[a]},e!=null&&this.setByParam(e)};he(m.asn1.cms.MessageDigest,m.asn1.cms.Attribute);m.asn1.cms.SigningTime=function(e){var t=m,r=t.asn1;r.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var n=new r.x509.Time(this.params);return[n]},e!=null&&this.setByParam(e)};he(m.asn1.cms.SigningTime,m.asn1.cms.Attribute);m.asn1.cms.SigningCertificate=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.cms,s=a.ESSCertID,o=r.crypto;a.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new t("parameter 'array' not specified");for(var l=this.params.array,h=[],d=0;d0){for(var A=a(p.valhex,f[0]),g=E(A,0),S=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.setSignaturePolicyIdentifier=function(p){var f=E(p.valhex,0);if(f.length>0){var A=n.getOID(p.valhex,f[0]);p.oid=A}if(f.length>1){var g=new t,S=E(p.valhex,f[1]),w=a(p.valhex,S[0]),y=g.getAlgorithmIdentifierName(w);p.alg=y;var F=i(p.valhex,S[1]);p.hash=F}delete p.valhex},this.setSigningCertificateV2=function(p){var f=E(p.valhex,0);if(f.length>0){for(var A=a(p.valhex,f[0]),g=E(A,0),S=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.getESSCertID=function(p){var f={},A=E(p,0);if(A.length>0){var g=i(p,A[0]);f.hash=g}if(A.length>1){var S=a(p,A[1]),w=this.getIssuerSerial(S);w.serial!=null&&(f.serial=w.serial),w.issuer!=null&&(f.issuer=w.issuer)}return f},this.getESSCertIDv2=function(p){var f={},A=E(p,0);if(A.length<1||3g+1){var y=a(p,A[g+1]),F=this.getIssuerSerial(y);f.issuer=F.issuer,f.serial=F.serial}return f},this.getIssuerSerial=function(p){var f={},A=E(p,0),g=a(p,A[0]),S=r.getGeneralNames(g),w=S[0].dn;f.issuer=w;var y=i(p,A[1]);return f.serial={hex:y},f},this.getCertificateSet=function(p){for(var f=E(p,0),A=[],g=0;g"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.tsp>"u"||!m.asn1.tsp)&&(m.asn1.tsp={});m.asn1.tsp.TimeStampToken=function(e){var t=m,r=t.asn1,n=r.tsp;n.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var i=new n.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=i.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampToken,m.asn1.cms.SignedData);m.asn1.tsp.TSTInfo=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERInteger,s=n.DERBoolean,o=n.DERGeneralizedTime,l=n.DERObjectIdentifier,h=n.DERTaggedObject,d=n.tsp,E=d.MessageImprint,p=d.Accuracy,f=n.x509.X500Name,A=n.x509.GeneralName;if(d.TSTInfo.superclass.constructor.call(this),this.dVersion=new a({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var g=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(g.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(g.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(g.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");g.push(this.dGenTime),this.dAccuracy!=null&&g.push(this.dAccuracy),this.dOrdering!=null&&g.push(this.dOrdering),this.dNonce!=null&&g.push(this.dNonce),this.dTsa!=null&&g.push(this.dTsa);var S=new i({array:g});return this.hTLV=S.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0){if(typeof e.policy=="string"){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new l({oid:e.policy})}e.messageImprint!==void 0&&(this.dMessageImprint=new E(e.messageImprint)),e.serial!==void 0&&(this.dSerial=new a(e.serial)),e.genTime!==void 0&&(this.dGenTime=new o(e.genTime)),e.accuracy!==void 0&&(this.dAccuracy=new p(e.accuracy)),e.ordering!==void 0&&e.ordering==!0&&(this.dOrdering=new s),e.nonce!==void 0&&(this.dNonce=new a(e.nonce)),e.tsa!==void 0&&(this.dTsa=new h({tag:"a0",explicit:!0,obj:new A({dn:e.tsa})}))}};he(m.asn1.tsp.TSTInfo,m.asn1.ASN1Object);m.asn1.tsp.Accuracy=function(e){var t=m,r=t.asn1,n=r.ASN1Util.newObject;r.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var i=this.params,a=[];return i.seconds!=null&&typeof i.seconds=="number"&&a.push({int:i.seconds}),i.millis!=null&&typeof i.millis=="number"&&a.push({tag:{tagi:"80",obj:{int:i.millis}}}),i.micros!=null&&typeof i.micros=="number"&&a.push({tag:{tagi:"81",obj:{int:i.micros}}}),n({seq:a}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.Accuracy,m.asn1.ASN1Object);m.asn1.tsp.MessageImprint=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DEROctetString,a=r.x509,s=a.AlgorithmIdentifier;r.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var o=this.params,l=new s({name:o.alg}),h=new i({hex:o.hash}),d=new n({array:[l,h]});return d.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.tsp.MessageImprint,m.asn1.ASN1Object);m.asn1.tsp.TimeStampReq=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DERInteger,a=r.DERBoolean,s=r.ASN1Object,o=r.DERObjectIdentifier,l=r.tsp,h=l.MessageImprint;l.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params,E=[];E.push(new i({int:1})),d.messageImprint instanceof m.asn1.ASN1Object?E.push(d.messageImprint):E.push(new h(d.messageImprint)),d.policy!=null&&E.push(new o(d.policy)),d.nonce!=null&&E.push(new i(d.nonce)),d.certreq==!0&&E.push(new a);var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampReq,m.asn1.ASN1Object);m.asn1.tsp.TimeStampResp=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.ASN1Object,a=r.tsp,s=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var o=this.params,l=[];if(o.econtent!=null||o.tst!=null)if(o.statusinfo!=null?l.push(new s(o.statusinfo)):l.push(new s("granted")),o.econtent!=null)l.push(new a.TimeStampToken(o).getContentInfo());else if(o.tst instanceof r.ASN1Object)l.push(o.tst);else throw new Error("improper member tst value");else if(o.statusinfo!=null)l.push(new s(o.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var h=new n({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampResp,m.asn1.ASN1Object);m.asn1.tsp.PKIStatusInfo=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.tsp,s=a.PKIStatus,o=a.PKIFreeText,l=a.PKIFailureInfo;a.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var h=this.params,d=[];if(typeof h=="string")d.push(new s(h));else{if(h.status==null)throw new t("property 'status' unspecified");d.push(new s(h.status)),h.statusstr!=null&&d.push(new o(h.statusstr)),h.failinfo!=null&&d.push(new l(h.failinfo))}var E=new i({array:d});return E.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIStatusInfo,m.asn1.ASN1Object);m.asn1.tsp.PKIStatus=function(e){var t=Error,r=m,n=r.asn1,i=n.DERInteger,a=n.tsp;a.PKIStatus.superclass.constructor.call(this);var s={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var o=this.params,l,h;if(typeof o=="string")try{h=s[o]}catch{throw new t("undefined name: "+o)}else if(typeof o=="number")h=o;else throw new t("unsupported params");return new i({int:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIStatus,m.asn1.ASN1Object);m.asn1.tsp.PKIFreeText=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERUTF8String,s=n.tsp;s.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var o=this.params;if(!o instanceof Array)throw new t("wrong params: not array");for(var l=[],h=0;h=0;p--)E+=d[p];return E}else{if(typeof l=="string"&&o[l]!=null)return hf([l],o);if(typeof l=="object"&&l.length!=null)return hf(l,o);throw new t("wrong params")}},this.tohex=function(){var l=this.params,h=this.getBinValue();return new i({bin:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIFailureInfo,m.asn1.ASN1Object);m.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(t,r){throw"not implemented yet"}};m.asn1.tsp.SimpleTSAAdapter=function(e){var t=m,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(a,s){var o=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:o},this.params.econtent.content.serial={int:this.serial++};var l=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:l};var h=new n.TimeStampToken(this.params);return h.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(m.asn1.tsp.SimpleTSAAdapter,m.asn1.tsp.AbstractTSAAdapter);m.asn1.tsp.FixedTSAAdapter=function(e){var t=m,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(a,s){var o=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:o};var l=new n.TimeStampToken(this.params);return l.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(m.asn1.tsp.FixedTSAAdapter,m.asn1.tsp.AbstractTSAAdapter);m.asn1.tsp.TSPUtil=new function(){};m.asn1.tsp.TSPUtil.newTimeStampToken=function(e){return new m.asn1.tsp.TimeStampToken(e)};m.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=new m.asn1.tsp.TSPParser;return t.getTimeStampReq(e)};m.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=new m.asn1.tsp.TSPParser;return t.getMessageImprint(e)};m.asn1.tsp.TSPParser=function(){var e=Error,t=He,r=new t,n=Ae,i=n.getV,a=n.getTLV,s=n.getIdxbyList,o=n.getTLVbyListEx,l=n.getChildIdx,h=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],d={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(E){var p=l(E,0);if(p.length==1)return this.getPKIStatusInfo(a(E,p[0]));if(p.length>1){var f=this.getPKIStatusInfo(a(E,p[0])),A=a(E,p[1]),g=this.getToken(A);return g.statusinfo=f,g}},this.getToken=function(E){var p=new m.asn1.cms.CMSParser,f=p.getCMSSignedData(E);return this.setTSTInfo(f),f},this.setTSTInfo=function(E){var p=E.econtent;if(p.type=="tstinfo"){var f=p.content.hex,A=this.getTSTInfo(f);p.content=A}},this.getTSTInfo=function(E){var p={},f=l(E,0),A=i(E,f[1]);p.policy=yf(A);var g=a(E,f[2]);p.messageImprint=this.getMessageImprint(g);var S=i(E,f[3]);p.serial={hex:S};var w=i(E,f[4]);p.genTime={str:yt(w)};var y=0;if(f.length>5&&E.substr(f[5],2)=="30"){var F=a(E,f[5]);p.accuracy=this.getAccuracy(F),y++}if(f.length>5+y&&E.substr(f[5+y],2)=="01"){var D=i(E,f[5+y]);D=="ff"&&(p.ordering=!0),y++}if(f.length>5+y&&E.substr(f[5+y],2)=="02"){var I=i(E,f[5+y]);p.nonce={hex:I},y++}if(f.length>5+y&&E.substr(f[5+y],2)=="a0"){var j=a(E,f[5+y]);j="30"+j.substr(2),pGeneralNames=r.getGeneralNames(j);var M=pGeneralNames[0].dn;p.tsa=M,y++}if(f.length>5+y&&E.substr(f[5+y],2)=="a1"){var _=a(E,f[5+y]);_="30"+_.substr(2);var P=r.getExtParamArray(_);p.ext=P,y++}return p},this.getAccuracy=function(E){for(var p={},f=l(E,0),A=0;A1&&E.substr(f[1],2)=="30"){var w=a(E,f[1]);p.statusstr=this.getPKIFreeText(w),A++}if(f.length>A&&E.substr(f[1+A],2)=="03"){var y=a(E,f[1+A]);p.failinfo=this.getPKIFailureInfo(y)}return p},this.getPKIFreeText=function(E){for(var p=[],f=l(E,0),A=0;A"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.cades>"u"||!m.asn1.cades)&&(m.asn1.cades={});m.asn1.cades.SignaturePolicyIdentifier=function(e){var t=m,r=t.asn1,n=r.cades,i=n.SignaturePolicyId;n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new i(this.params)]},this.setByParam=function(a){this.params=a},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignaturePolicyIdentifier,m.asn1.cms.Attribute);m.asn1.cades.SignaturePolicyId=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DERObjectIdentifier,a=r.x509,s=a.AlgorithmIdentifier,o=r.cades,l=o.SignaturePolicyId,h=o.OtherHashAlgAndValue;l.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params,E=[];E.push(new i(d.oid)),E.push(new h(d));var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(d){this.params=d},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignaturePolicyId,m.asn1.ASN1Object);m.asn1.cades.OtherHashAlgAndValue=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DEROctetString,s=n.x509,o=s.AlgorithmIdentifier,l=n.cades,h=l.OtherHashAlgAndValue;h.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params;if(d.alg==null)throw new t("property 'alg' not specified");if(d.hash==null&&d.cert==null)throw new t("property 'hash' nor 'cert' not specified");var E=null;if(d.hash!=null)E=d.hash;else if(d.cert!=null){if(typeof d.cert!="string")throw new t("cert not string");var p=d.cert;d.cert.indexOf("-----BEGIN")!=-1&&(p=Ut(d.cert)),E=m.crypto.Util.hashHex(p,d.alg)}var f=[];f.push(new o({name:d.alg})),f.push(new a({hex:E}));var A=new i({array:f});return A.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.cades.OtherHashAlgAndValue,m.asn1.ASN1Object);m.asn1.cades.OtherHashValue=function(e){m.asn1.cades.OtherHashValue.superclass.constructor.call(this);var t=Error,r=m,n=r.lang.String.isHex,i=r.asn1,a=i.DEROctetString,s=r.crypto.Util.hashHex;this.params=null,this.tohex=function(){var o=this.params;if(o.hash==null&&o.cert==null)throw new t("hash or cert not specified");var l=null;if(o.hash!=null)l=o.hash;else if(o.cert!=null){if(typeof o.cert!="string")throw new t("cert not string");var h=o.cert;o.cert.indexOf("-----BEGIN")!=-1&&(h=Ut(o.cert)),l=m.crypto.Util.hashHex(h,"sha1")}return new a({hex:l}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.cades.OtherHashValue,m.asn1.ASN1Object);m.asn1.cades.SignatureTimeStamp=function(e){var t=Error,r=m,n=r.lang.String.isHex,i=r.asn1,a=i.ASN1Object,s=i.x509,o=i.cades;o.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var l=this.params;if(l.tst!=null)if(n(l.tst)){var h=new a;return h.hTLV=l.tst,[h]}else{if(l.tst instanceof a)return[l.tst];throw new t("params.tst has wrong value")}else if(l.res!=null){var d=l.res;if(d instanceof a&&(d=d.tohex()),typeof d!="string"||!n(d))throw new t("params.res has wrong value");var E=Ae.getTLVbyList(d,0,[1]),h=new a;return h.hTLV=l.tst,[h]}},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignatureTimeStamp,m.asn1.cms.Attribute);m.asn1.cades.CompleteCertificateRefs=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.cades,s=a.OtherCertID,o=r.lang.String.isHex;a.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var l=this.params,h=[],d=0;d"u"||!m.asn1.csr)&&(m.asn1.csr={});m.asn1.csr.CertificationRequest=function(e){var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.csr,s=r.x509,o=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(l){this.params=l},this.sign=function(){var l=new o(this.params).tohex(),h=new m.crypto.Signature({alg:this.params.sigalg});h.init(this.params.sbjprvkey),h.updateHex(l);var d=h.sign();this.params.sighex=d},this.getPEM=function(){return xr(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var l=this.params,h=new m.asn1.csr.CertificationRequestInfo(this.params),d=new m.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==null&&l.sbjprvkey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var E=new n({hex:"00"+l.sighex}),p=new i({array:[h,d,E]});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.csr.CertificationRequest,m.asn1.ASN1Object);m.asn1.csr.CertificationRequestInfo=function(e){var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.DERInteger,s=r.DERUTF8String,o=r.DERTaggedObject,l=r.ASN1Util.newObject,h=r.csr,d=r.x509,E=d.X500Name,p=d.Extensions,f=d.SubjectPublicKeyInfo,A=h.AttributeList;h.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(S){S!=null&&(this.params=S)},this.tohex=function(){var S=this.params,w=[];if(w.push(new a({int:0})),w.push(new E(S.subject)),w.push(new f(at.getKey(S.sbjpubkey))),S.attrs!=null){var y=g(S.attrs),F=l({tag:{tage:"a0",obj:y}});w.push(F)}else if(S.extreq!=null){var D=new p(S.extreq),F=l({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[D]}]}}});w.push(F)}else w.push(new o({tag:"a0",explicit:!1,obj:new s({str:""})}));var I=new i({array:w});return I.tohex()},this.getEncodedHex=function(){return this.tohex()};function g(S){for(var w=Error,y=m.asn1.x509.Extensions,F=[],D=0;D"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.ocsp>"u"||!m.asn1.ocsp)&&(m.asn1.ocsp={});m.asn1.ocsp.DEFAULT_HASH="sha1";m.asn1.ocsp.OCSPResponse=function(e){m.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var t=m.asn1.DEREnumerated,r=m.asn1.ASN1Util.newObject,n=m.asn1.ocsp.ResponseBytes,i=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var a=this.params.resstatus;return typeof a=="number"?a:typeof a!="string"?-1:i.indexOf(a)},this.setByParam=function(a){this.params=a},this.tohex=function(){var a=this.params,s=this._getStatusCode();if(s==-1)throw new Error("responseStatus not supported: "+a.resstatus);if(s!=0)return r({seq:[{enum:{int:s}}]}).tohex();var o=new n(a);return r({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:o}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.ocsp.OCSPResponse,m.asn1.ASN1Object);m.asn1.ocsp.ResponseBytes=function(e){m.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=m.asn1,r=t.DERSequence,n=t.DERObjectIdentifier,i=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(s){this.params=s},this.tohex=function(){var s=this.params;if(s.restype!="ocspBasic")throw new Error("not supported responseType: "+s.restype);var o=new a(s),l=[];l.push(new n({name:"ocspBasic"})),l.push(new i({hex:o.tohex()}));var h=new r({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.ocsp.ResponseBytes,m.asn1.ASN1Object);m.asn1.ocsp.BasicOCSPResponse=function(e){m.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,r=m.asn1,n=r.ASN1Object,i=r.DERSequence,a=r.DERGeneralizedTime,s=r.DERTaggedObject,o=r.DERBitString,l=r.x509.Extensions,h=r.x509.AlgorithmIdentifier,d=r.ocsp,E=d.ResponderID;_SingleResponseList=d.SingleResponseList,_ResponseData=d.ResponseData,this.params=null,this.setByParam=function(p){this.params=p},this.sign=function(){var p=this.params,f=p.tbsresp.tohex(),A=new m.crypto.Signature({alg:p.sigalg});A.init(p.reskey),A.updateHex(f),p.sighex=A.sign()},this.tohex=function(){var p=this.params;p.tbsresp==null&&(p.tbsresp=new _ResponseData(p)),p.sighex==null&&p.reskey!=null&&this.sign();var f=[];if(f.push(p.tbsresp),f.push(new h({name:p.sigalg})),f.push(new o({hex:"00"+p.sighex})),p.certs!=null&&p.certs.length!=null){for(var A=[],g=0;g"u"||!m)&&(m={});(typeof m.lang>"u"||!m.lang)&&(m.lang={});m.lang.String=function(){};function iv(e){for(var t=new Array,r=0;r>6,l=128|s&63;return yt(o.toString(16)+l.toString(16))}var o=224|(a&240)>>4,l=128|(a&15)<<2|(s&192)>>6,h=128|s&63;return yt(o.toString(16)+l.toString(16)+h.toString(16))}var r=e.match(/.{4}/g),n=r.map(t);return n.join("")}function Af(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}function j_(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map(function(r,n,i){var a=parseInt(r);if(a<0||255t.length&&(r=t.length);for(var n=0;n0&&(h=h+"."+o.join(".")),h}catch{return null}}function fv(e){var t=new ee(String(e),10);return Fc(t)}function Fc(e){var t=e.toString(16);if(t.substr(0,1)!="-")return t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t),t;var r=t.substr(1),n=r.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var i="",a=0;a=t?e:new Array(t-e.length+1).join(r)+e};function hv(e){if(e.length%2!=0||(e=e.toLowerCase(),e.match(/^[0-9a-f]+$/)==null))return-1;try{var t=e.substr(0,2);if(t=="00")return parseInt(e.substr(2),16);var r=parseInt(t,16);if(r>7)return-1;var n=e.substr(2),i=parseInt(n,16).toString(2);i=="0"&&(i="00000000"),i=i.slice(0,0-r);var a=parseInt(i,2);return a==NaN?-1:a}catch{return-1}}function pv(e){if(typeof e!="number"||e<0)return null;var t=Number(e).toString(2),r=8-t.length%8;r==8&&(r=0),t=t+ff("",r,"0");var n=parseInt(t,2).toString(16);n.length%2==1&&(n="0"+n);var i="0"+r;return i+n}function dv(e){if(typeof e!="string"||e.length%2!=0||!e.match(/^[0-9a-f]+$/))return null;try{var t=parseInt(e.substr(0,2),16);if(t<0||7=0;n--)a+=i[n];return a}function It(e,n,r){if(typeof e=="object"){for(var n=String(n).split("."),i=0;i"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:Ce.algo.MD5,sha1:Ce.algo.SHA1,sha224:Ce.algo.SHA224,sha256:Ce.algo.SHA256,sha384:Ce.algo.SHA384,sha512:Ce.algo.SHA512,ripemd160:Ce.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(typeof this.DIGESTINFOHEAD[t]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+t;for(var a="0001",s="00"+n,o="",l=i-a.length-s.length,h=0;h"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.ECDSA=function(e){var t="secp256r1",r=null,n=null,i=null,a=Error,s=ee,o=gt,l=m.crypto.ECDSA,h=m.crypto.ECParameterDB,d=l.getName,E=Ae,p=E.getVbyListEx,f=E.isASN1HEX,A=new ro,g=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function S(w,y,F,D){for(var I=Math.max(y.bitLength(),D.bitLength()),j=w.add2D(F),M=w.curve.getInfinity(),_=I-1;_>=0;--_)M=M.twice2D(),M.z=s.ONE,y.testBit(_)?D.testBit(_)?M=M.add2D(j):M=M.add2D(w):D.testBit(_)&&(M=M.add2D(F));return M}this.getBigRandom=function(w){return new s(w.bitLength(),A).mod(w.subtract(s.ONE)).add(s.ONE)},this.setNamedCurve=function(w){this.ecparams=h.getByName(w),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=w},this.setPrivateKeyHex=function(w){this.isPrivate=!0,this.prvKeyHex=w},this.setPublicKeyHex=function(w){this.isPublic=!0,this.pubKeyHex=w},this.getPublicKeyXYHex=function(){var w=this.pubKeyHex;if(w.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var y=this.ecparams.keycharlen;if(w.length!==2+y*2)throw"malformed public key hex length";var F={};return F.x=w.substr(2,y),F.y=w.substr(2+y),F},this.getShortNISTPCurveName=function(){var w=this.curveName;return w==="secp256r1"||w==="NIST P-256"||w==="P-256"||w==="prime256v1"?"P-256":w==="secp384r1"||w==="NIST P-384"||w==="P-384"?"P-384":w==="secp521r1"||w==="NIST P-521"||w==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var w=this.ecparams.n,y=this.getBigRandom(w),F=this.ecparams.keycharlen,D=("0000000000"+y.toString(16)).slice(-F);this.setPrivateKeyHex(D);var I=this.generatePublicKeyHex();return{ecprvhex:D,ecpubhex:I}},this.generatePublicKeyHex=function(){var w=new s(this.prvKeyHex,16),y=this.ecparams.G.multiply(w),F=y.getX().toBigInteger(),D=y.getY().toBigInteger(),I=this.ecparams.keycharlen,j=("0000000000"+F.toString(16)).slice(-I),M=("0000000000"+D.toString(16)).slice(-I),_="04"+j+M;return this.setPublicKeyHex(_),_},this.signWithMessageHash=function(w){return this.signHex(w,this.prvKeyHex)},this.signHex=function(w,y){var F=new s(y,16),D=this.ecparams.n,I=new s(w.substring(0,this.ecparams.keycharlen),16);do var j=this.getBigRandom(D),M=this.ecparams.G,_=M.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(s.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return l.biRSSigToASN1Sig(P,k)},this.sign=function(w,y){var F=y,D=this.ecparams.n,I=s.fromByteArrayUnsigned(w);do var j=this.getBigRandom(D),M=this.ecparams.G,_=M.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(ee.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return this.serializeSig(P,k)},this.verifyWithMessageHash=function(w,y){return this.verifyHex(w,y,this.pubKeyHex)},this.verifyHex=function(w,y,F){try{var D,I,j=l.parseSigHex(y);D=j.r,I=j.s;var M=o.decodeFromHex(this.ecparams.curve,F),_=new s(w.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(_,D,I,M)}catch{return!1}},this.verify=function(w,y,F){var D,I;if(Bitcoin.Util.isArray(y)){var j=this.parseSig(y);D=j.r,I=j.s}else if(typeof y=="object"&&y.r&&y.s)D=y.r,I=y.s;else throw"Invalid value for signature";var M;if(F instanceof gt)M=F;else if(Bitcoin.Util.isArray(F))M=o.decodeFrom(this.ecparams.curve,F);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var _=s.fromByteArrayUnsigned(w);return this.verifyRaw(_,D,I,M)},this.verifyRaw=function(w,y,F,D){var I=this.ecparams.n,j=this.ecparams.G;if(y.compareTo(s.ONE)<0||y.compareTo(I)>=0||F.compareTo(s.ONE)<0||F.compareTo(I)>=0)return!1;var M=F.modInverse(I),_=w.multiply(M).mod(I),P=y.multiply(M).mod(I),k=j.multiply(_).add(D.multiply(P)),H=k.getX().toBigInteger().mod(I);return H.equals(y)},this.serializeSig=function(w,y){var F=w.toByteArraySigned(),D=y.toByteArraySigned(),I=[];return I.push(2),I.push(F.length),I=I.concat(F),I.push(2),I.push(D.length),I=I.concat(D),I.unshift(I.length),I.unshift(48),I},this.parseSig=function(w){var y;if(w[0]!=48)throw new Error("Signature not a valid DERSequence");if(y=2,w[y]!=2)throw new Error("First element in signature must be a DERInteger");var F=w.slice(y+2,y+2+w[y+1]);if(y+=2+w[y+1],w[y]!=2)throw new Error("Second element in signature must be a DERInteger");var D=w.slice(y+2,y+2+w[y+1]);y+=2+w[y+1];var I=s.fromByteArrayUnsigned(F),j=s.fromByteArrayUnsigned(D);return{r:I,s:j}},this.parseSigCompact=function(w){if(w.length!==65)throw"Signature has the wrong length";var y=w[0]-27;if(y<0||y>7)throw"Invalid signature type";var F=this.ecparams.n,D=s.fromByteArrayUnsigned(w.slice(1,33)).mod(F),I=s.fromByteArrayUnsigned(w.slice(33,65)).mod(F);return{r:D,s:I,i:y}},this.readPKCS5PrvKeyHex=function(w){if(f(w)===!1)throw new Error("not ASN.1 hex string");var y,F,D;try{y=p(w,0,["[0]",0],"06"),F=p(w,0,[1],"04");try{D=p(w,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=d(y),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(D),this.setPrivateKeyHex(F),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var y,F,D,I;try{y=p(w,0,[1,0],"06"),F=p(w,0,[1,1],"06"),D=p(w,0,[2,0,1],"04");try{I=p(w,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new a("malformed PKCS#8 plain ECC private key")}if(this.curveName=d(F),this.curveName===void 0)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(I),this.setPrivateKeyHex(D),this.isPublic=!1},this.readPKCS8PubKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var y,F,D;try{y=p(w,0,[0,0],"06"),F=p(w,0,[0,1],"06"),D=p(w,0,[1],"03")}catch{throw new a("malformed PKCS#8 ECC public key")}if(this.curveName=d(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},this.readCertPubKeyHex=function(w,y){if(f(w)===!1)throw new a("not ASN.1 hex string");var F,D;try{F=p(w,0,[0,5,0,1],"06"),D=p(w,0,[0,5,1],"03")}catch{throw new a("malformed X.509 certificate ECC public key")}if(this.curveName=d(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},e!==void 0&&e.curve!==void 0&&(this.curveName=e.curve),this.curveName===void 0&&(this.curveName=t),this.setNamedCurve(this.curveName),e!==void 0&&(e.prv!==void 0&&this.setPrivateKeyHex(e.prv),e.pub!==void 0&&this.setPublicKeyHex(e.pub))};m.crypto.ECDSA.parseSigHex=function(e){var t=m.crypto.ECDSA.parseSigHexInHexRS(e),r=new ee(t.r,16),n=new ee(t.s,16);return{r,s:n}};m.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ae,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),e.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var i=r(e,0);if(i.length!=2)throw new Error("signature shall have two elements");var a=i[0],s=i[1];if(e.substr(a,2)!="02")throw new Error("1st item not ASN.1 integer");if(e.substr(s,2)!="02")throw new Error("2nd item not ASN.1 integer");var o=n(e,a),l=n(e,s);return{r:o,s:l}};m.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=m.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if(r.length>=130&&r.length<=134){if(r.length%2!=0)throw Error("unknown ECDSA sig r length error");if(n.length%2!=0)throw Error("unknown ECDSA sig s length error");r.substr(0,2)=="00"&&(r=r.substr(2)),n.substr(0,2)=="00"&&(n=n.substr(2));var i=Math.max(r.length,n.length);return r=("000000"+r).slice(-i),n=("000000"+n).slice(-i),r+n}if(r.substr(0,2)=="00"&&r.length%32==2&&(r=r.substr(2)),n.substr(0,2)=="00"&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw Error("unknown ECDSA sig r length error");if(n.length%32!=0)throw Error("unknown ECDSA sig s length error");return r+n};m.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return m.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};m.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new ee(e,16),n=new ee(t,16);return m.crypto.ECDSA.biRSSigToASN1Sig(r,n)};m.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=m.asn1,n=new r.DERInteger({bigint:e}),i=new r.DERInteger({bigint:t}),a=new r.DERSequence({array:[n,i]});return a.tohex()};m.crypto.ECDSA.getName=function(e){return e==="2b8104001f"?"secp192k1":e==="2a8648ce3d030107"?"secp256r1":e==="2b8104000a"?"secp256k1":e==="2b81040021"?"secp224r1":e==="2b81040022"?"secp384r1":e==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)!==-1?"secp256r1":"|secp256k1|".indexOf(e)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(e)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(e)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(e)!==-1?"secp521r1":null};(typeof m>"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.ECParameterDB=new function(){var e={},t={};function r(n){return new ee(n,16)}this.getByName=function(n){var i=n;if(typeof t[i]<"u"&&(i=t[n]),typeof e[i]<"u")return e[i];throw"unregistered EC curve name: "+i},this.regist=function(n,i,a,s,o,l,h,d,E,p,f,A){e[n]={};var g=r(a),S=r(s),w=r(o),y=r(l),F=r(h),D=new ms(g,S,w),I=D.decodePointHex("04"+d+E);e[n].name=n,e[n].keylen=i,e[n].keycharlen=Math.ceil(i/8)*2,e[n].curve=D,e[n].G=I,e[n].n=y,e[n].h=F,e[n].oid=f,e[n].info=A;for(var j=0;j"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.DSA=function(){var e=Ae,t=e.getVbyList,r=e.getVbyListEx,n=e.isASN1HEX,i=ee;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(a,s,o,l,h){this.isPrivate=!0,this.p=a,this.q=s,this.g=o,this.y=l,this.x=h},this.setPrivateHex=function(a,s,o,l,h){var d,E,p,f,A;d=new ee(a,16),E=new ee(s,16),p=new ee(o,16),typeof l=="string"&&l.length>1?f=new ee(l,16):f=null,A=new ee(h,16),this.setPrivate(d,E,p,f,A)},this.setPublic=function(a,s,o,l){this.isPublic=!0,this.p=a,this.q=s,this.g=o,this.y=l,this.x=null},this.setPublicHex=function(a,s,o,l){var h,d,E,p;h=new ee(a,16),d=new ee(s,16),E=new ee(o,16),p=new ee(l,16),this.setPublic(h,d,E,p)},this.signWithMessageHash=function(a){var s=this.p,o=this.q,l=this.g,h=this.y,d=this.x,E=m.crypto.Util.getRandomBigIntegerMinToMax(ee.ONE.add(ee.ONE),o.subtract(ee.ONE)),p=a.substr(0,o.bitLength()/4),f=new ee(p,16),A=l.modPow(E,s).mod(o),g=E.modInverse(o).multiply(f.add(d.multiply(A))).mod(o),S=m.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:A}},{int:{bigint:g}}]});return S},this.verifyWithMessageHash=function(a,s){var o=this.p,l=this.q,h=this.g,d=this.y,E=this.parseASN1Signature(s),p=E[0],f=E[1],A=a.substr(0,l.bitLength()/4),g=new ee(A,16);if(ee.ZERO.compareTo(p)>0||p.compareTo(l)>0||ee.ZERO.compareTo(f)>=0||f.compareTo(l)>0)throw"invalid DSA signature";var S=f.modInverse(l),w=g.multiply(S).mod(l),y=p.multiply(S).mod(l),F=h.modPow(w,o).multiply(d.modPow(y,o)).mod(o).mod(l);return F.compareTo(p)==0},this.parseASN1Signature=function(a){try{var s=new i(r(a,0,[0],"02"),16),o=new i(r(a,0,[1],"02"),16);return[s,o]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(a){var s,o,l,h,d;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1],"02"),o=r(a,0,[2],"02"),l=r(a,0,[3],"02"),h=r(a,0,[4],"02"),d=r(a,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(s,o,l,h,d)},this.readPKCS8PrvKeyHex=function(a){var s,o,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1,1,0],"02"),o=r(a,0,[1,1,1],"02"),l=r(a,0,[1,1,2],"02"),h=r(a,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(s,o,l,null,h)},this.readPKCS8PubKeyHex=function(a){var s,o,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[0,1,0],"02"),o=r(a,0,[0,1,1],"02"),l=r(a,0,[0,1,2],"02"),h=r(a,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(s,o,l,h)},this.readCertPubKeyHex=function(a,s){var o,l,h,d;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{o=r(a,0,[0,5,0,1,0],"02"),l=r(a,0,[0,5,0,1,1],"02"),h=r(a,0,[0,5,0,1,2],"02"),d=r(a,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(o,l,h,d)}};var at=function(){var e=function(g,S,w){return n(Ce.AES,g,S,w)},t=function(g,S,w){return n(Ce.TripleDES,g,S,w)},r=function(g,S,w){return n(Ce.DES,g,S,w)},n=function(g,S,w,y){var F=Ce.enc.Hex.parse(S),D=Ce.enc.Hex.parse(w),I=Ce.enc.Hex.parse(y),j={};j.key=D,j.iv=I,j.ciphertext=F;var M=g.decrypt(j,D,{iv:I});return Ce.enc.Hex.stringify(M)},i=function(g,S,w){return o(Ce.AES,g,S,w)},a=function(g,S,w){return o(Ce.TripleDES,g,S,w)},s=function(g,S,w){return o(Ce.DES,g,S,w)},o=function(g,S,w,y){var F=Ce.enc.Hex.parse(S),D=Ce.enc.Hex.parse(w),I=Ce.enc.Hex.parse(y),j=g.encrypt(F,D,{iv:I}),M=Ce.enc.Hex.parse(j.toString()),_=Ce.enc.Base64.stringify(M);return _},l={"AES-256-CBC":{proc:e,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:a,keylen:24,ivlen:8},"DES-CBC":{proc:r,eproc:s,keylen:8,ivlen:8}},h=function(g){return l[g].proc},d=function(g){var S=Ce.lib.WordArray.random(g),w=Ce.enc.Hex.stringify(S);return w},E=function(g){var S={},w=g.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));w&&(S.cipher=w[1],S.ivsalt=w[2]);var y=g.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));y&&(S.type=y[1]);var F=-1,D=0;g.indexOf(`\r +\r +`)!=-1&&(F=g.indexOf(`\r +\r +`),D=2),g.indexOf(` + +`)!=-1&&(F=g.indexOf(` + +`),D=1);var I=g.indexOf("-----END");if(F!=-1&&I!=-1){var j=g.substring(F+D*2,I-D);j=j.replace(/\s+/g,""),S.data=j}return S},p=function(g,S,w){for(var y=w.substring(0,16),F=Ce.enc.Hex.parse(y),D=Ce.enc.Utf8.parse(S),I=l[g].keylen+l[g].ivlen,j="",M=null;;){var _=Ce.algo.MD5.create();if(M!=null&&_.update(M),_.update(D),_.update(F),M=_.finalize(),j=j+Ce.enc.Hex.stringify(M),j.length>=I*2)break}var P={};return P.keyhex=j.substr(0,l[g].keylen*2),P.ivhex=j.substr(l[g].keylen*2,l[g].ivlen*2),P},f=function(g,S,w,y){var F=Ce.enc.Base64.parse(g),D=Ce.enc.Hex.stringify(F),I=l[S].proc,j=I(D,w,y);return j},A=function(g,S,w,y){var F=l[S].eproc,D=F(g,w,y);return D};return{version:"1.0.0",parsePKCS5PEM:function(g){return E(g)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(g,S,w){return p(g,S,w)},decryptKeyB64:function(g,S,w,y){return f(g,S,w,y)},getDecryptedKeyHex:function(g,S){var w=E(g),y=w.type,F=w.cipher,D=w.ivsalt,I=w.data,j=p(F,S,D),M=j.keyhex,_=f(I,F,M,D);return _},getEncryptedPKCS5PEMFromPrvKeyHex:function(g,S,w,y,F){var k="";if((typeof y>"u"||y==null)&&(y="AES-256-CBC"),typeof l[y]>"u")throw new Error("KEYUTIL unsupported algorithm: "+y);if(typeof F>"u"||F==null){var D=l[y].ivlen,I=d(D);F=I.toUpperCase()}var j=p(y,w,F),M=j.keyhex,_=A(S,y,M,F),P=_.replace(/(.{64})/g,`$1\r +`),k="-----BEGIN "+g+` PRIVATE KEY-----\r +`;return k+=`Proc-Type: 4,ENCRYPTED\r +`,k+="DEK-Info: "+y+","+F+`\r +`,k+=`\r +`,k+=P,k+=`\r +-----END `+g+` PRIVATE KEY-----\r +`,k},getEncryptedPKCS8PEM:function(g,S,w){var y=this.getEncryptedPKCS8Hex(g,S,w);return xr(y,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(g,S,w){var y;w==null||w==null?y={}:y=JSON.parse(JSON.stringify(w)),y.plain=g,this.initPBES2Param(y),this.encryptPBES2Param(y,S);var F=this.generatePBES2ASN1Param(y);return m.asn1.ASN1Util.newObject(F).tohex()},initPBES2Param:function(g){if(It(g,"encalg")==null&&(g.encalg="aes256-CBC"),It(g,"iter")==null&&(g.iter=2048),It(g,"prf")==null&&(g.prf="hmacWithSHA256"),It(g,"salt")==null&&(g.salt=Ce.enc.Hex.stringify(Ce.lib.WordArray.random(8))),It(g,"enciv")==null){var S;g.encalg=="des-EDE3-CBC"&&(S=8),g.encalg=="aes128-CBC"&&(S=16),g.encalg=="aes256-CBC"&&(S=16),g.enciv=Ce.enc.Hex.stringify(Ce.lib.WordArray.random(S))}},encryptPBES2Param:function(g,S){var w=at.getDKFromPBES2Param(g,S);try{var y=m.crypto.Cipher.encrypt(g.plain,w,g.encalg,{iv:g.enciv})}catch{throw new Error("encrypt error: "+g.plain+" "+w+" "+g.encalg+" "+g.enciv)}g.enc=y},generatePBES2ASN1Param:function(g){var S={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:g.salt}},{int:{hex:fv(g.iter)}}]}]},{seq:[{oid:g.encalg},{octstr:{hex:g.enciv}}]}]}]},{octstr:{hex:g.enc}}]};return g.prf!="hmacWithSHA1"&&S.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:g.prf},{null:""}]}),S},parseHexOfEncryptedPKCS8:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,F={},D=w(g,0);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+D.length);F.ciphertext=y(g,D[1]);var I=w(g,D[0]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+I.length);if(y(g,I[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var j=w(g,I[1]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+j.length);var M=w(g,j[1]);if(M.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+M.length);if(y(g,M[0])!="2a864886f70d0307")throw"this only supports TripleDES";F.encryptionSchemeAlg="TripleDES",F.encryptionSchemeIV=y(g,M[1]);var _=w(g,j[0]);if(_.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+_.length);if(y(g,_[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var P=w(g,_[1]);if(P.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+P.length);F.pbkdf2Salt=y(g,P[0]);var k=y(g,P[1]);try{F.pbkdf2Iter=parseInt(k,16)}catch{throw new Error("malformed format pbkdf2Iter: "+k)}return F},getPBKDF2KeyHexFromParam:function(g,S){var w=Ce.enc.Hex.parse(g.pbkdf2Salt),y=g.pbkdf2Iter,F=Ce.PBKDF2(S,w,{keySize:192/32,iterations:y}),D=Ce.enc.Hex.stringify(F);return D},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(g,S){var w=Ut(g,"ENCRYPTED PRIVATE KEY"),y=this.parseHexOfEncryptedPKCS8(w),F=at.getPBKDF2KeyHexFromParam(y,S),D={};D.ciphertext=Ce.enc.Hex.parse(y.ciphertext);var I=Ce.enc.Hex.parse(F),j=Ce.enc.Hex.parse(y.encryptionSchemeIV),M=Ce.TripleDES.decrypt(D,I,{iv:j}),_=Ce.enc.Hex.stringify(M);return _},parsePBES2:function(g){var S=Ae.parse(g);if(It(S,"seq.0.seq.0.oid")!="pkcs5PBES2"||It(S,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var w=It(S,"seq.0.seq.1.seq.0.seq.1.seq");if(w==null)throw new Error("PBKDF2 parameter not found");var y=It(w,"0.octstr.hex"),F=It(w,"1.int.hex"),D=It(w,"2.seq.0.oid","hmacWithSHA1"),I=-1;try{I=parseInt(F,16)}catch{throw new Error("iter not proper value")}var j=It(S,"seq.0.seq.1.seq.1.seq.0.oid"),M=It(S,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),_=It(S,"seq.1.octstr.hex");if(j==null||M==null||_==null)throw new Error("encalg, enciv or enc is undefined");var P={salt:y,iter:I,prf:D,encalg:j,enciv:M,enc:_};return P},getDKFromPBES2Param:function(g,S){var w={hmacWithSHA1:Ce.algo.SHA1,hmacWithSHA224:Ce.algo.SHA224,hmacWithSHA256:Ce.algo.SHA256,hmacWithSHA384:Ce.algo.SHA384,hmacWithSHA512:Ce.algo.SHA512},y={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},F=w[g.prf];if(F==null)throw new Error("unsupported prf");var D=y[g.encalg];if(D==null)throw new Error("unsupported encalg");var I=Ce.enc.Hex.parse(g.salt),j=g.iter;try{var M=Ce.PBKDF2(S,I,{keySize:D,iterations:j,hasher:F});return Ce.enc.Hex.stringify(M)}catch(_){throw new Error("PBKDF2 error: "+_+" "+JSON.stringify(g)+" "+S)}},getPlainHexFromEncryptedPKCS8PEM:function(g,S){if(g.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var w=Ut(g),y;try{y=at.parsePBES2(w)}catch(D){throw new Error("malformed PBES2 format: "+D.message)}var F=at.getDKFromPBES2Param(y,S);return m.crypto.Cipher.decrypt(y.enc,F,y.encalg,{iv:y.enciv})},getKeyFromEncryptedPKCS8PEM:function(g,S){var w=this.getPlainHexFromEncryptedPKCS8PEM(g,S),y=this.getKeyFromPlainPrivatePKCS8Hex(w);return y},parsePlainPrivatePKCS8Hex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,F={};if(F.algparam=null,g.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var D=w(g,0);if(D.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(g.substr(D[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var I=w(g,D[1]);if(I.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(g.substr(I[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(F.algoid=y(g,I[0]),g.substr(I[1],2)=="06"&&(F.algparam=y(g,I[1])),g.substr(D[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return F.keyidx=S.getVidx(g,D[2]),F},getKeyFromPlainPrivatePKCS8PEM:function(g){var S=Ut(g,"PRIVATE KEY"),w=this.getKeyFromPlainPrivatePKCS8Hex(S);return w},getKeyFromPlainPrivatePKCS8Hex:function(g){var S=this.parsePlainPrivatePKCS8Hex(g),w;if(S.algoid=="2a864886f70d010101")w=new ze;else if(S.algoid=="2a8648ce380401")w=new m.crypto.DSA;else if(S.algoid=="2a8648ce3d0201")w=new m.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return w.readPKCS8PrvKeyHex(g),w},_getKeyFromPublicPKCS8Hex:function(g){var S,w=Ae.getVbyList(g,0,[0,0],"06");if(w==="2a864886f70d010101")S=new ze;else if(w==="2a8648ce380401")S=new m.crypto.DSA;else if(w==="2a8648ce3d0201")S=new m.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return S.readPKCS8PubKeyHex(g),S},parsePublicRawRSAKeyHex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,F={};if(g.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var D=w(g,0);if(D.length!=2)throw new Error("malformed RSA key(code:002)");if(g.substr(D[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(F.n=y(g,D[0]),g.substr(D[1],2)!="02")throw new Error("malformed RSA key(code:004)");return F.e=y(g,D[1]),F},parsePublicPKCS8Hex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,F={};F.algparam=null;var D=w(g,0);if(D.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+D.length);var I=D[0];if(g.substr(I,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var j=w(g,I);if(j.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(g.substr(j[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(F.algoid=y(g,j[0]),g.substr(j[1],2)=="06"?F.algparam=y(g,j[1]):g.substr(j[1],2)=="30"&&(F.algparam={},F.algparam.p=S.getVbyList(g,j[1],[0],"02"),F.algparam.q=S.getVbyList(g,j[1],[1],"02"),F.algparam.g=S.getVbyList(g,j[1],[2],"02")),g.substr(D[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return F.key=y(g,D[1]).substr(2),F}}}();at.getKey=function(e,t,r){var n=Ae,i=n.getChildIdx,a=n.getV,s=n.getVbyList,o=m.crypto,l=o.ECDSA,h=o.DSA,d=ze,E=Ut,p=at;if(typeof d<"u"&&e instanceof d||typeof l<"u"&&e instanceof l||typeof h<"u"&&e instanceof h)return e;if(e.curve!==void 0&&e.xy!==void 0&&e.d===void 0)return new l({pub:e.xy,curve:e.curve});if(e.curve!==void 0&&e.d!==void 0)return new l({prv:e.d,curve:e.curve});if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new d;return f.setPublic(e.n,e.e),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.co!==void 0&&e.qi===void 0){var f=new d;return f.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p===void 0){var f=new d;return f.setPrivate(e.n,e.e,e.d),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x===void 0){var f=new h;return f.setPublic(e.p,e.q,e.g,e.y),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x!==void 0){var f=new h;return f.setPrivate(e.p,e.q,e.g,e.y,e.x),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new d;return f.setPublic(Tt(e.n),Tt(e.e)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.qi!==void 0){var f=new d;return f.setPrivateEx(Tt(e.n),Tt(e.e),Tt(e.d),Tt(e.p),Tt(e.q),Tt(e.dp),Tt(e.dq),Tt(e.qi)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0){var f=new d;return f.setPrivate(Tt(e.n),Tt(e.e),Tt(e.d)),f}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d===void 0){var A=new l({curve:e.crv}),g=A.ecparams.keycharlen,S=("0000000000"+Tt(e.x)).slice(-g),w=("0000000000"+Tt(e.y)).slice(-g),y="04"+S+w;return A.setPublicKeyHex(y),A}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d!==void 0){var A=new l({curve:e.crv}),g=A.ecparams.keycharlen,S=("0000000000"+Tt(e.x)).slice(-g),w=("0000000000"+Tt(e.y)).slice(-g),y="04"+S+w,F=("0000000000"+Tt(e.d)).slice(-g);return A.setPublicKeyHex(y),A.setPrivateKeyHex(F),A}if(r==="pkcs5prv"){var D=e,n=Ae,I,f;if(I=i(D,0),I.length===9)f=new d,f.readPKCS5PrvKeyHex(D);else if(I.length===6)f=new h,f.readPKCS5PrvKeyHex(D);else if(I.length>2&&D.substr(I[1],2)==="04")f=new l,f.readPKCS5PrvKeyHex(D);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return f}if(r==="pkcs8prv"){var f=p.getKeyFromPlainPrivatePKCS8Hex(e);return f}if(r==="pkcs8pub")return p._getKeyFromPublicPKCS8Hex(e);if(r==="x509pub")return He.getPublicKeyFromCertHex(e);if(e.indexOf("-END CERTIFICATE-",0)!=-1||e.indexOf("-END X509 CERTIFICATE-",0)!=-1||e.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return He.getPublicKeyFromCertPEM(e);if(e.indexOf("-END PUBLIC KEY-")!=-1){var j=Ut(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(j)}if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var M=E(e,"RSA PRIVATE KEY");return p.getKey(M,null,"pkcs5prv")}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var _=E(e,"DSA PRIVATE KEY"),P=s(_,0,[1],"02"),k=s(_,0,[2],"02"),H=s(_,0,[3],"02"),K=s(_,0,[4],"02"),W=s(_,0,[5],"02"),f=new h;return f.setPrivate(new ee(P,16),new ee(k,16),new ee(H,16),new ee(K,16),new ee(W,16)),f}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var M=E(e,"EC PRIVATE KEY");return p.getKey(M,null,"pkcs5prv")}if(e.indexOf("-END PRIVATE KEY-")!=-1)return p.getKeyFromPlainPrivatePKCS8PEM(e);if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var G=p.getDecryptedKeyHex(e,t),z=new ze;return z.readPKCS5PrvKeyHex(G),z}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),f=s(_,0,[1],"04"),X=s(_,0,[2,0],"06"),ie=s(_,0,[3,0],"03").substr(2),Se="";if(m.crypto.OID.oidhex2name[X]!==void 0)Se=m.crypto.OID.oidhex2name[X];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+X);var A=new l({curve:Se});return A.setPublicKeyHex(ie),A.setPrivateKeyHex(f),A.isPublic=!1,A}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),P=s(_,0,[1],"02"),k=s(_,0,[2],"02"),H=s(_,0,[3],"02"),K=s(_,0,[4],"02"),W=s(_,0,[5],"02"),f=new h;return f.setPrivate(new ee(P,16),new ee(k,16),new ee(H,16),new ee(K,16),new ee(W,16)),f}if(e.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")};at.generateKeypair=function(e,t){if(e=="RSA"){var r=t,n=new ze;n.generate(r,"10001"),n.isPrivate=!0,n.isPublic=!0;var i=new ze,a=n.n.toString(16),s=n.e.toString(16);i.setPublic(a,s),i.isPrivate=!1,i.isPublic=!0;var o={};return o.prvKeyObj=n,o.pubKeyObj=i,o}else if(e=="EC"){var l=t,h=new m.crypto.ECDSA({curve:l}),d=h.generateKeyPairHex(),n=new m.crypto.ECDSA({curve:l});n.setPublicKeyHex(d.ecpubhex),n.setPrivateKeyHex(d.ecprvhex),n.isPrivate=!0,n.isPublic=!1;var i=new m.crypto.ECDSA({curve:l});i.setPublicKeyHex(d.ecpubhex),i.isPrivate=!1,i.isPublic=!0;var o={};return o.prvKeyObj=n,o.pubKeyObj=i,o}else throw new Error("unknown algorithm: "+e)};at.getPEM=function(e,t,r,n,i,a){var s=m,o=s.asn1,l=o.DERObjectIdentifier,h=o.DERInteger,d=o.ASN1Util.newObject,E=o.x509,p=E.SubjectPublicKeyInfo,f=s.crypto,A=f.DSA,g=f.ECDSA,S=ze;function w(z){var X=d({seq:[{int:0},{int:{bigint:z.n}},{int:z.e},{int:{bigint:z.d}},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.dmp1}},{int:{bigint:z.dmq1}},{int:{bigint:z.coeff}}]});return X}function y(z){var X=d({seq:[{int:1},{octstr:{hex:z.prvKeyHex}},{tag:["a0",!0,{oid:{name:z.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+z.pubKeyHex}}]}]});return X}function F(z){var X=d({seq:[{int:0},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.g}},{int:{bigint:z.y}},{int:{bigint:z.x}}]});return X}if((S!==void 0&&e instanceof S||A!==void 0&&e instanceof A||g!==void 0&&e instanceof g)&&e.isPublic==!0&&(t===void 0||t=="PKCS8PUB")){var D=new p(e),I=D.tohex();return xr(I,"PUBLIC KEY")}if(t=="PKCS1PRV"&&S!==void 0&&e instanceof S&&(r===void 0||r==null)&&e.isPrivate==!0){var D=w(e),I=D.tohex();return xr(I,"RSA PRIVATE KEY")}if(t=="PKCS1PRV"&&g!==void 0&&e instanceof g&&(r===void 0||r==null)&&e.isPrivate==!0){var j=new l({name:e.curveName}),M=j.tohex(),_=y(e),P=_.tohex(),k="";return k+=xr(M,"EC PARAMETERS"),k+=xr(P,"EC PRIVATE KEY"),k}if(t=="PKCS1PRV"&&A!==void 0&&e instanceof A&&(r===void 0||r==null)&&e.isPrivate==!0){var D=F(e),I=D.tohex();return xr(I,"DSA PRIVATE KEY")}if(t=="PKCS5PRV"&&S!==void 0&&e instanceof S&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=w(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,r,n,a)}if(t=="PKCS5PRV"&&g!==void 0&&e instanceof g&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=y(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,r,n,a)}if(t=="PKCS5PRV"&&A!==void 0&&e instanceof A&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=F(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,r,n,a)}var H=function(z,X){if(typeof X=="string")return at.getEncryptedPKCS8PEM(z,X);if(typeof X=="object"&&It(X,"passcode")!=null){var ie=JSON.parse(JSON.stringify(X)),Se=ie.passcode;return delete ie.passcode,at.getEncryptedPKCS8PEM(z,Se,ie)}};if(t=="PKCS8PRV"&&S!=null&&e instanceof S&&e.isPrivate==!0){var K=w(e),W=K.tohex(),D=d({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):H(I,r)}if(t=="PKCS8PRV"&&g!==void 0&&e instanceof g&&e.isPrivate==!0){var G={seq:[{int:1},{octstr:{hex:e.prvKeyHex}}]};typeof e.pubKeyHex=="string"&&G.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]});var K=new d(G),W=K.tohex(),D=d({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):H(I,r)}if(t=="PKCS8PRV"&&A!==void 0&&e instanceof A&&e.isPrivate==!0){var K=new h({bigint:e.x}),W=K.tohex(),D=d({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?xr(I,"PRIVATE KEY"):H(I,r)}throw new Error("unsupported object nor format")};at.getKeyFromCSRPEM=function(e){var t=Ut(e,"CERTIFICATE REQUEST"),r=at.getKeyFromCSRHex(t);return r};at.getKeyFromCSRHex=function(e){var t=at.parseCSRHex(e),r=at.getKey(t.p8pubkeyhex,null,"pkcs8pub");return r};at.parseCSRHex=function(e){var t=Ae,r=t.getChildIdx,n=t.getTLV,i={},a=e;if(a.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var s=r(a,0);if(s.length<1)throw new Error("malformed CSR(code:002)");if(a.substr(s[0],2)!="30")throw new Error("malformed CSR(code:003)");var o=r(a,s[0]);if(o.length<3)throw new Error("malformed CSR(code:004)");return i.p8pubkeyhex=n(a,o[2]),i};at.getKeyID=function(e){var t=at,r=Ae;typeof e=="string"&&e.indexOf("BEGIN ")!=-1&&(e=t.getKey(e));var n=Ut(t.getPEM(e)),i=r.getIdxbyList(n,0,[1]),a=r.getV(n,i).substring(2);return m.crypto.Util.hashHex(a,"sha1")};at.getJWK=function(e,t,r,n,i){var a,s={},o,l=m.crypto.Util.hashHex;if(typeof e=="string")a=at.getKey(e),e.indexOf("CERTIFICATE")!=-1&&(o=Ut(e));else if(typeof e=="object")e instanceof He?(a=e.getPublicKey(),o=e.hex):a=e;else throw new Error("unsupported keyinfo type");if(a instanceof ze&&a.isPrivate)s.kty="RSA",s.n=sr(a.n.toString(16)),s.e=sr(a.e.toString(16)),s.d=sr(a.d.toString(16)),s.p=sr(a.p.toString(16)),s.q=sr(a.q.toString(16)),s.dp=sr(a.dmp1.toString(16)),s.dq=sr(a.dmq1.toString(16)),s.qi=sr(a.coeff.toString(16));else if(a instanceof ze&&a.isPublic)s.kty="RSA",s.n=sr(a.n.toString(16)),s.e=sr(a.e.toString(16));else if(a instanceof m.crypto.ECDSA&&a.isPrivate){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var d=a.getPublicKeyXYHex();s.kty="EC",s.crv=h,s.x=sr(d.x),s.y=sr(d.y),s.d=sr(a.prvKeyHex)}else if(a instanceof m.crypto.ECDSA&&a.isPublic){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var d=a.getPublicKeyXYHex();s.kty="EC",s.crv=h,s.x=sr(d.x),s.y=sr(d.y)}if(s.kty==null)throw new Error("unsupported keyinfo");return!a.isPrivate&&t!=!0&&(s.kid=m.jws.JWS.getJWKthumbprint(s)),o!=null&&r!=!0&&(s.x5c=[gs(o)]),o!=null&&n!=!0&&(s.x5t=Zu(gs(l(o,"sha1")))),o!=null&&i!=!0&&(s["x5t#S256"]=Zu(gs(l(o,"sha256")))),s};at.getJWKFromKey=function(e){return at.getJWK(e,!0,!0,!0,!0)};ze.getPosArrayOfChildrenFromHex=function(e){return Ae.getChildIdx(e,0)};ze.getHexValueArrayOfChildrenFromHex=function(e){var t=Ae,r=t.getV,p=ze.getPosArrayOfChildrenFromHex(e),n=r(e,p[0]),i=r(e,p[1]),a=r(e,p[2]),s=r(e,p[3]),o=r(e,p[4]),l=r(e,p[5]),h=r(e,p[6]),d=r(e,p[7]),E=r(e,p[8]),p=new Array;return p.push(n,i,a,s,o,l,h,d,E),p};ze.prototype.readPrivateKeyFromPEMString=function(e){var t=Ut(e),r=ze.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])};ze.prototype.readPKCS5PrvKeyHex=function(e){var t=ze.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};ze.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,a,s,o,l,h=Ae,d=h.getVbyListEx;if(h.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");try{t=d(e,0,[2,0,1],"02"),r=d(e,0,[2,0,2],"02"),n=d(e,0,[2,0,3],"02"),i=d(e,0,[2,0,4],"02"),a=d(e,0,[2,0,5],"02"),s=d(e,0,[2,0,6],"02"),o=d(e,0,[2,0,7],"02"),l=d(e,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,a,s,o,l)};ze.prototype.readPKCS5PubKeyHex=function(e){var t=Ae,r=t.getV;if(t.isASN1HEX(e)===!1)throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(n.length!==2||e.substr(n[0],2)!=="02"||e.substr(n[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),a=r(e,n[1]);this.setPublic(i,a)};ze.prototype.readPKCS8PubKeyHex=function(e){var t=Ae;if(t.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(e,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)};ze.prototype.readCertPubKeyHex=function(e,t){var r,n;r=new He,r.readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var X7=new RegExp("[^0-9a-f]","gi");function gv(e,t){for(var r="",n=t/4-e.length,i=0;i>24,(i&16711680)>>16,(i&65280)>>8,i&255])))),i+=1;return n}ze.prototype.signPSS=function(e,t,r){var n=function(a){return m.crypto.Util.hashHex(a,t)},i=n(Ii(e));return r===void 0&&(r=-1),this.signWithMessageHashPSS(i,t,r)};ze.prototype.signWithMessageHashPSS=function(e,t,r){var n=dn(e),i=n.length,a=this.n.bitLength()-1,s=Math.ceil(a/8),o,l=function(S){return m.crypto.Util.hashHex(S,t)};if(r===-1||r===void 0)r=i;else if(r===-2)r=s-i-2;else if(r<-2)throw new Error("invalid salt length");if(s0&&(h=new Array(r),new ro().nextBytes(h),h=String.fromCharCode.apply(String,h));var d=dn(l(Ii("\0\0\0\0\0\0\0\0"+n+h))),E=[];for(o=0;o>8*s-a&255;for(A[0]&=~g,o=0;on)return!1;var i=this.doPublic(r),a=i.toString(16);if(a.length+3!=n/4)return!1;var s=a.replace(/^1f+00/,""),o=vv(s);if(o.length==0)return!1;var l=o[0],h=o[1],d=function(p){return m.crypto.Util.hashString(p,l)},E=d(e);return h==E};ze.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=hn(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(r),i=n.toString(16).replace(/^1f+00/,""),a=vv(i);if(a.length==0)return!1;var s=a[0],o=a[1];return o==e};ze.prototype.verifyPSS=function(e,t,r,n){var i=function(s){return m.crypto.Util.hashHex(s,r)},a=i(Ii(e));return n===void 0&&(n=-1),this.verifyWithMessageHashPSS(a,t,r,n)};ze.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new ee(t,16),a=function(y){return m.crypto.Util.hashHex(y,r)},s=dn(e),o=s.length,l=this.n.bitLength()-1,h=Math.ceil(l/8),d;if(n===-1||n===void 0)n=o;else if(n===-2)n=h-o-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-l&255;if(p.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var g=mv(f,p.length,a),S=[];for(d=0;d0?P:void 0}catch{return}},this._asn1ToNoticeRef=function(_){try{for(var P={},k=It(_,"seq"),H=0;H0?P:void 0}catch{return}},this._asn1ToNoticeNum=function(_){try{for(var P=It(_,"seq"),k=[],H=0;H1){var W=s(_,K[1]),G=this.getGeneralName(W);G.uri!=null&&(H.uri=G.uri)}if(K.length>2){var z=s(_,K[2]);z=="0101ff"&&(H.reqauth=!0),z=="010100"&&(H.reqauth=!1)}return H},this.getExtSubjectDirectoryAttributes=function(_,P){if(_===void 0&&P===void 0){var k=this.getExtInfo("subjectDirectoryAttributes");if(k===void 0)return;_=s(this.hex,k.vidx),P=k.critical}var H={extname:"subjectDirectoryAttributes"};P&&(H.critical=!0);try{for(var K=a(_),W=[],G=0;G0&&(P.ext=this.getExtParamArray()),P.sighex=this.getSignatureValueHex(),_.tbshex==!0&&(P.tbshex=h(this.hex,0,[0])),_.nodnarray==!0&&(delete P.issuer.array,delete P.subject.array),P},this.getExtParamArray=function(_){if(_==null){var P=p(this.hex,0,[0,"[3]"]);P!=-1&&(_=d(this.hex,0,[0,"[3]",0],"30"))}for(var k=[],H=r(_,0),K=0;K"u"||!m)&&(m={});(typeof m.jws>"u"||!m.jws)&&(m.jws={});m.jws.JWS=function(){var e=m,t=e.jws.JWS,r=t.isSafeJSONString;this.parseJWS=function(n,i){if(!(this.parsedJWS!==void 0&&(i||this.parsedJWS.sigvalH!==void 0))){var a=n.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(a==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var s=a[1],o=a[2],l=a[3],h=s+"."+o;if(this.parsedJWS={},this.parsedJWS.headB64U=s,this.parsedJWS.payloadB64U=o,this.parsedJWS.sigvalB64U=l,this.parsedJWS.si=h,!i){var d=Tt(l),E=hn(d,16);this.parsedJWS.sigvalH=d,this.parsedJWS.sigvalBI=E}var p=ci(s),f=ci(o);if(this.parsedJWS.headS=p,this.parsedJWS.payloadS=f,!r(p,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+p}}};m.jws.JWS.sign=function(e,t,r,n,i){var a=m,s=a.jws,o=s.JWS,l=o.readSafeJSONString,h=o.isSafeJSONString,d=a.crypto,E=d.ECDSA,p=d.Mac,f=d.Signature,A=JSON,g,S,w;if(typeof t!="string"&&typeof t!="object")throw"spHeader must be JSON string or object: "+t;if(typeof t=="object"&&(S=t,g=A.stringify(S)),typeof t=="string"){if(g=t,!h(g))throw"JWS Head is not safe JSON string: "+g;S=l(g)}if(w=r,typeof r=="object"&&(w=A.stringify(r)),(e==""||e==null)&&S.alg!==void 0&&(e=S.alg),e!=""&&e!=null&&S.alg===void 0&&(S.alg=e,g=A.stringify(S)),e!==S.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+S.alg;var y=null;if(o.jwsalg2sigalg[e]===void 0)throw"unsupported alg name: "+e;y=o.jwsalg2sigalg[e];var F=Sc(g),D=Sc(w),I=F+"."+D,j="";if(y.substr(0,4)=="Hmac"){if(n===void 0)throw"mac key shall be specified for HS* alg";var M=new p({alg:y,prov:"cryptojs",pass:n});M.updateString(I),j=M.doFinal()}else if(y.indexOf("withECDSA")!=-1){var _=new f({alg:y});_.init(n,i),_.updateString(I);var P=_.sign();j=m.crypto.ECDSA.asn1SigToConcatSig(P)}else if(y!="none"){var _=new f({alg:y});_.init(n,i),_.updateString(I),j=_.sign()}var k=sr(j);return I+"."+k};m.jws.JWS.verify=function(e,t,r){var n=m,i=n.jws,a=i.JWS,s=a.readSafeJSONString,o=n.crypto,l=o.ECDSA,h=o.Mac,d=o.Signature,E;if(typeof ze!==void 0&&(E=ze),!Cd(e))return!1;var p=e.split(".");if(p.length!==3)return!1;var f=p[0],A=p[1],g=f+"."+A,S=Tt(p[2]),w=s(ci(p[0])),y=null,F=null;if(w.alg===void 0)throw"algorithm not specified in header";if(y=w.alg,F=y.substr(0,2),r!=null&&Object.prototype.toString.call(r)==="[object Array]"&&r.length>0){var D=":"+r.join(":")+":";if(D.indexOf(":"+y+":")==-1)throw"algorithm '"+y+"' not accepted in the list"}if(y!="none"&&t===null)throw"key shall be specified to verify.";if(typeof t=="string"&&t.indexOf("-----BEGIN ")!=-1&&(t=at.getKey(t)),(F=="RS"||F=="PS")&&!(t instanceof E))throw"key shall be a RSAKey obj for RS* and PS* algs";if(F=="ES"&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";y=="none";var I=null;if(a.jwsalg2sigalg[w.alg]===void 0)throw"unsupported alg name: "+y;if(I=a.jwsalg2sigalg[y],I=="none")throw"not supported";if(I.substr(0,4)=="Hmac"){var j=null;if(t===void 0)throw"hexadecimal key shall be specified for HMAC";var M=new h({alg:I,pass:t});return M.updateString(g),j=M.doFinal(),S==j}else if(I.indexOf("withECDSA")!=-1){var _=null;try{_=l.concatSigToASN1Sig(S)}catch{return!1}var P=new d({alg:I});return P.init(t),P.updateString(g),P.verify(_)}else{var P=new d({alg:I});return P.init(t),P.updateString(g),P.verify(S)}};m.jws.JWS.parse=function(e){var t=e.split("."),r={},n,i,a;if(t.length!=2&&t.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return n=t[0],i=t[1],t.length==3&&(a=t[2]),r.headerObj=m.jws.JWS.readSafeJSONString(ci(n)),r.payloadObj=m.jws.JWS.readSafeJSONString(ci(i)),r.headerPP=JSON.stringify(r.headerObj,null," "),r.payloadObj==null?r.payloadPP=ci(i):r.payloadPP=JSON.stringify(r.payloadObj,null," "),a!==void 0&&(r.sigHex=Tt(a)),r};m.jws.JWS.verifyJWT=function(e,t,r){var n=m,i=n.jws,a=i.JWS,s=a.readSafeJSONString,o=a.inArray,l=a.includedArray;if(!Cd(e))return!1;var h=e.split(".");if(h.length!=3)return!1;var d=h[0],E=h[1],p=d+"."+E,f=Tt(h[2]),A=s(ci(d)),g=s(ci(E));if(A.alg===void 0)return!1;if(r.alg===void 0)throw"acceptField.alg shall be specified";if(!o(A.alg,r.alg)||g.iss!==void 0&&typeof r.iss=="object"&&!o(g.iss,r.iss)||g.sub!==void 0&&typeof r.sub=="object"&&!o(g.sub,r.sub))return!1;if(g.aud!==void 0&&typeof r.aud=="object"){if(typeof g.aud=="string"){if(!o(g.aud,r.aud))return!1}else if(typeof g.aud=="object"&&!l(g.aud,r.aud))return!1}var S=i.IntDate.getNow();return r.verifyAt!==void 0&&typeof r.verifyAt=="number"&&(S=r.verifyAt),(r.gracePeriod===void 0||typeof r.gracePeriod!="number")&&(r.gracePeriod=0),!(g.exp!==void 0&&typeof g.exp=="number"&&g.exp+r.gracePeriod"u"||!m)&&(m={});(typeof m.jws>"u"||!m.jws)&&(m.jws={});m.jws.JWSJS=function(){var e=m,t=e.jws,r=t.JWS,n=r.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(i){this.init();var a=i.split(".");if(a.length!=3)throw"malformed input JWS";this.aHeader.push(a[0]),this.sPayload=a[1],this.aSignature.push(a[2])},this.addSignature=function(i,a,s,o){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var h=m.jws.JWS.sign(i,a,this.sPayload,s,o),d=h.split("."),E=d[0],p=d[2];this.aHeader.push(d[0]),this.aSignature.push(d[2])}catch(f){throw this.aHeader.length>l&&this.aHeader.pop(),this.aSignature.length>l&&this.aSignature.pop(),"addSignature failed: "+f}},this.verifyAll=function(i){if(this.aHeader.length!==i.length||this.aSignature.length!==i.length)return!1;for(var a=0;a0)this.aHeader=i.headers;else throw"malformed header";if(typeof i.payload=="string")this.sPayload=i.payload;else throw"malformed signatures";if(i.signatures.length>0)this.aSignature=i.signatures;else throw"malformed signatures"}catch(s){throw"malformed JWS-JS JSON object: "+s}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}};be.SecureRandom=ro;be.rng_seed_time=wd;be.BigInteger=ee;be.RSAKey=ze;be.ECDSA=m.crypto.ECDSA;be.DSA=m.crypto.DSA;be.Signature=m.crypto.Signature;be.MessageDigest=m.crypto.MessageDigest;be.Mac=m.crypto.Mac;be.KEYUTIL=at;be.ASN1HEX=Ae;be.X509=He;be.X509CRL=V_;be.CryptoJS=Ce;be.b64tohex=Qu;be.b64toBA=Zm;be.ECFieldElementFp=ar;be.ECPointFp=gt;be.ECCurveFp=ms;be.stoBA=iv;be.BAtos=sv;be.BAtohex=gf;be.stohex=pn;be.stob64=C_;be.stob64u=F_;be.b64utos=__;be.b64tob64u=Zu;be.b64utob64=Cc;be.hex2b64=gs;be.hextob64u=sr;be.b64utohex=Tt;be.utf8tob64u=Sc;be.b64utoutf8=ci;be.utf8tob64=I_;be.b64toutf8=D_;be.utf8tohex=mf;be.hextoutf8=yt;be.hextorstr=dn;be.rstrtohex=Ii;be.hextob64=Ad;be.hextob64nl=P_;be.b64nltohex=av;be.hextopem=xr;be.pemtohex=Ut;be.hextoArrayBuffer=O_;be.ArrayBuffertohex=x_;be.zulutomsec=yd;be.msectozulu=N_;be.zulutosec=uv;be.zulutodate=k_;be.datetozulu=L_;be.uricmptohex=Ef;be.hextouricmp=wf;be.ipv6tohex=pd;be.hextoipv6=dd;be.hextoip=lf;be.iptohex=Sd;be.ucs2hextoutf8=bd;be.encodeURIComponentAll=Af;be.newline_toUnix=U_;be.newline_toDos=H_;be.hextoposhex=gd;be.intarystrtohex=j_;be.strdiffidx=M_;be.oidtohex=lv;be.hextooid=yf;be.strpad=ff;be.bitstrtoint=hv;be.inttobitstr=pv;be.bitstrtobinstr=dv;be.binstrtobitstr=q_;be.isBase64URLDot=Cd;be.namearraytobinstr=hf;be.extendClass=he;be.foldnl=vf;be.b64topem=R_;be.pemtob64=T_;be.timeogen=ov;be.aryval=It;be.inttohex=fv;be.twoscompl=Fc;be.KJUR=m;be.crypto=m.crypto;be.asn1=m.asn1;be.jws=m.jws;be.lang=m.lang;be.VERSION=Q3;be.VERSION_FULL=eC});var Ka=ye((Q7,Va)=>{"use strict";function Av(e){return typeof e>"u"||e===null}function G_(e){return typeof e=="object"&&e!==null}function z_(e){return Array.isArray(e)?e:Av(e)?[]:[e]}function Y_(e,t){var r,n,i,a;if(t)for(a=Object.keys(t),r=0,n=a.length;r{"use strict";function _c(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}_c.prototype=Object.create(Error.prototype);_c.prototype.constructor=_c;_c.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};yv.exports=_c});var Cv=ye((tR,bv)=>{"use strict";var Sv=Ka();function _d(e,t,r,n,i){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=i}_d.prototype.getSnippet=function(t,r){var n,i,a,s,o;if(!this.buffer)return null;for(t=t||4,r=r||75,n="",i=this.position;i>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>r/2-1){n=" ... ",i+=5;break}for(a="",s=this.position;sr/2-1){a=" ... ",s-=5;break}return o=this.buffer.slice(i,s),Sv.repeat(" ",t)+n+o+a+` +`+Sv.repeat(" ",t+this.position-i+n.length)+"^"};_d.prototype.toString=function(t){var r,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(n+=`: +`+r)),n};bv.exports=_d});var ur=ye((rR,_v)=>{"use strict";var Fv=no(),J_=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Z_=["scalar","sequence","mapping"];function Q_(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function e8(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(J_.indexOf(r)===-1)throw new Fv('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=Q_(t.styleAliases||null),Z_.indexOf(this.kind)===-1)throw new Fv('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}_v.exports=e8});var Ga=ye((nR,Dv)=>{"use strict";var Iv=Ka(),Sf=no(),t8=ur();function Id(e,t,r){var n=[];return e.include.forEach(function(i){r=Id(i,t,r)}),e[t].forEach(function(i){r.forEach(function(a,s){a.tag===i.tag&&a.kind===i.kind&&n.push(s)}),r.push(i)}),r.filter(function(i,a){return n.indexOf(a)===-1})}function r8(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function n(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,r=arguments.length;t{"use strict";var n8=ur();$v.exports=new n8("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Rv=ye((sR,Pv)=>{"use strict";var i8=ur();Pv.exports=new i8("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Ov=ye((aR,Tv)=>{"use strict";var s8=ur();Tv.exports=new s8("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var bf=ye((uR,xv)=>{"use strict";var a8=Ga();xv.exports=new a8({explicit:[Bv(),Rv(),Ov()]})});var kv=ye((oR,Nv)=>{"use strict";var u8=ur();function o8(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function c8(){return null}function l8(e){return e===null}Nv.exports=new u8("tag:yaml.org,2002:null",{kind:"scalar",resolve:o8,construct:c8,predicate:l8,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Uv=ye((cR,Lv)=>{"use strict";var f8=ur();function h8(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function p8(e){return e==="true"||e==="True"||e==="TRUE"}function d8(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Lv.exports=new f8("tag:yaml.org,2002:bool",{kind:"scalar",resolve:h8,construct:p8,predicate:d8,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var jv=ye((lR,Hv)=>{"use strict";var g8=Ka(),m8=ur();function v8(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function E8(e){return 48<=e&&e<=55}function w8(e){return 48<=e&&e<=57}function A8(e){if(e===null)return!1;var t=e.length,r=0,n=!1,i;if(!t)return!1;if(i=e[r],(i==="-"||i==="+")&&(i=e[++r]),i==="0"){if(r+1===t)return!0;if(i=e[++r],i==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Vv=ye((fR,qv)=>{"use strict";var Mv=Ka(),b8=ur(),C8=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function F8(e){return!(e===null||!C8.test(e)||e[e.length-1]==="_")}function _8(e){var t,r,n,i;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(a){i.unshift(parseFloat(a,10))}),t=0,n=1,i.forEach(function(a){t+=a*n,n*=60}),r*t):r*parseFloat(t,10)}var I8=/^[-+]?[0-9]+e/;function D8(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Mv.isNegativeZero(e))return"-0.0";return r=e.toString(10),I8.test(r)?r.replace("e",".e"):r}function $8(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Mv.isNegativeZero(e))}qv.exports=new b8("tag:yaml.org,2002:float",{kind:"scalar",resolve:F8,construct:_8,predicate:$8,represent:D8,defaultStyle:"lowercase"})});var Dd=ye((hR,Kv)=>{"use strict";var B8=Ga();Kv.exports=new B8({include:[bf()],implicit:[kv(),Uv(),jv(),Vv()]})});var $d=ye((pR,Gv)=>{"use strict";var P8=Ga();Gv.exports=new P8({include:[Dd()]})});var Xv=ye((dR,Wv)=>{"use strict";var R8=ur(),zv=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Yv=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function T8(e){return e===null?!1:zv.exec(e)!==null||Yv.exec(e)!==null}function O8(e){var t,r,n,i,a,s,o,l=0,h=null,d,E,p;if(t=zv.exec(e),t===null&&(t=Yv.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,n,i));if(a=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=+t[10],E=+(t[11]||0),h=(d*60+E)*6e4,t[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,o,l)),h&&p.setTime(p.getTime()-h),p}function x8(e){return e.toISOString()}Wv.exports=new R8("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:T8,construct:O8,instanceOf:Date,represent:x8})});var Zv=ye((gR,Jv)=>{"use strict";var N8=ur();function k8(e){return e==="<<"||e===null}Jv.exports=new N8("tag:yaml.org,2002:merge",{kind:"scalar",resolve:k8})});var t2=ye((mR,e2)=>{"use strict";var za;try{Qv=xa,za=Qv("buffer").Buffer}catch{}var Qv,L8=ur(),Bd=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function U8(e){if(e===null)return!1;var t,r,n=0,i=e.length,a=Bd;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function H8(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,a=Bd,s=0,o=[];for(t=0;t>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(t));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),za?za.from?za.from(o):new za(o):o}function j8(e){var t="",r=0,n,i,a=e.length,s=Bd;for(n=0;n>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]),r=(r<<8)+e[n];return i=a%3,i===0?(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]):i===2?(t+=s[r>>10&63],t+=s[r>>4&63],t+=s[r<<2&63],t+=s[64]):i===1&&(t+=s[r>>2&63],t+=s[r<<4&63],t+=s[64],t+=s[64]),t}function M8(e){return za&&za.isBuffer(e)}e2.exports=new L8("tag:yaml.org,2002:binary",{kind:"scalar",resolve:U8,construct:H8,predicate:M8,represent:j8})});var n2=ye((ER,r2)=>{"use strict";var q8=ur(),V8=Object.prototype.hasOwnProperty,K8=Object.prototype.toString;function G8(e){if(e===null)return!0;var t=[],r,n,i,a,s,o=e;for(r=0,n=o.length;r{"use strict";var Y8=ur(),W8=Object.prototype.toString;function X8(e){if(e===null)return!0;var t,r,n,i,a,s=e;for(a=new Array(s.length),t=0,r=s.length;t{"use strict";var Z8=ur(),Q8=Object.prototype.hasOwnProperty;function eI(e){if(e===null)return!0;var t,r=e;for(t in r)if(Q8.call(r,t)&&r[t]!==null)return!1;return!0}function tI(e){return e!==null?e:{}}a2.exports=new Z8("tag:yaml.org,2002:set",{kind:"mapping",resolve:eI,construct:tI})});var so=ye((yR,o2)=>{"use strict";var rI=Ga();o2.exports=new rI({include:[$d()],implicit:[Xv(),Zv()],explicit:[t2(),n2(),s2(),u2()]})});var l2=ye((SR,c2)=>{"use strict";var nI=ur();function iI(){return!0}function sI(){}function aI(){return""}function uI(e){return typeof e>"u"}c2.exports=new nI("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:iI,construct:sI,predicate:uI,represent:aI})});var h2=ye((bR,f2)=>{"use strict";var oI=ur();function cI(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";return!(t[0]==="/"&&(r&&(n=r[1]),n.length>3||t[t.length-n.length-1]!=="/"))}function lI(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return t[0]==="/"&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)}function fI(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function hI(e){return Object.prototype.toString.call(e)==="[object RegExp]"}f2.exports=new oI("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:cI,construct:lI,predicate:hI,represent:fI})});var g2=ye((CR,d2)=>{"use strict";var Cf;try{p2=xa,Cf=p2("esprima")}catch{typeof window<"u"&&(Cf=window.esprima)}var p2,pI=ur();function dI(e){if(e===null)return!1;try{var t="("+e+")",r=Cf.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function gI(e){var t="("+e+")",r=Cf.parse(t,{range:!0}),n=[],i;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(a){n.push(a.name)}),i=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(n,t.slice(i[0]+1,i[1]-1)):new Function(n,"return "+t.slice(i[0],i[1]))}function mI(e){return e.toString()}function vI(e){return Object.prototype.toString.call(e)==="[object Function]"}d2.exports=new pI("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:dI,construct:gI,predicate:vI,represent:mI})});var Ic=ye((_R,v2)=>{"use strict";var m2=Ga();v2.exports=m2.DEFAULT=new m2({include:[so()],explicit:[l2(),h2(),g2()]})});var N2=ye((IR,Dc)=>{"use strict";var vs=Ka(),C2=no(),EI=Cv(),F2=so(),wI=Ic(),ta=Object.prototype.hasOwnProperty,Ff=1,_2=2,I2=3,_f=4,Pd=1,AI=2,E2=3,yI=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,SI=/[\x85\u2028\u2029]/,bI=/[,\[\]\{\}]/,D2=/^(?:!|!!|![a-z\-]+!)$/i,$2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function w2(e){return Object.prototype.toString.call(e)}function Di(e){return e===10||e===13}function Wa(e){return e===9||e===32}function gn(e){return e===9||e===32||e===10||e===13}function ao(e){return e===44||e===91||e===93||e===123||e===125}function CI(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function FI(e){return e===120?2:e===117?4:e===85?8:0}function _I(e){return 48<=e&&e<=57?e-48:-1}function A2(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function II(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var B2=new Array(256),P2=new Array(256);for(Ya=0;Ya<256;Ya++)B2[Ya]=A2(Ya)?1:0,P2[Ya]=A2(Ya);var Ya;function DI(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||wI,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function R2(e,t){return new C2(t,new EI(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Me(e,t){throw R2(e,t)}function If(e,t){e.onWarning&&e.onWarning.call(null,R2(e,t))}var y2={YAML:function(t,r,n){var i,a,s;t.version!==null&&Me(t,"duplication of %YAML directive"),n.length!==1&&Me(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Me(t,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Me(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&If(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var i,a;n.length!==2&&Me(t,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],D2.test(i)||Me(t,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(t.tagMap,i)&&Me(t,'there is a previously declared suffix for "'+i+'" tag handle'),$2.test(a)||Me(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=a}};function ea(e,t,r,n){var i,a,s,o;if(t1&&(e.result+=vs.repeat(` +`,t-1))}function $I(e,t,r){var n,i,a,s,o,l,h,d,E=e.kind,p=e.result,f;if(f=e.input.charCodeAt(e.position),gn(f)||ao(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(i=e.input.charCodeAt(e.position+1),gn(i)||r&&ao(i)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,o=!1;f!==0;){if(f===58){if(i=e.input.charCodeAt(e.position+1),gn(i)||r&&ao(i))break}else if(f===35){if(n=e.input.charCodeAt(e.position-1),gn(n))break}else{if(e.position===e.lineStart&&Df(e)||r&&ao(f))break;if(Di(f))if(l=e.line,h=e.lineStart,d=e.lineIndent,rr(e,!1,-1),e.lineIndent>=t){o=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=h,e.lineIndent=d;break}}o&&(ea(e,a,s,!1),Td(e,e.line-l),a=s=e.position,o=!1),Wa(f)||(s=e.position+1),f=e.input.charCodeAt(++e.position)}return ea(e,a,s,!1),e.result?!0:(e.kind=E,e.result=p,!1)}function BI(e,t){var r,n,i;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(ea(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,i=e.position;else return!0;else Di(r)?(ea(e,n,i,!0),Td(e,rr(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Df(e)?Me(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Me(e,"unexpected end of the stream within a single quoted scalar")}function PI(e,t){var r,n,i,a,s,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return ea(e,r,e.position,!0),e.position++,!0;if(o===92){if(ea(e,r,e.position,!0),o=e.input.charCodeAt(++e.position),Di(o))rr(e,!1,t);else if(o<256&&B2[o])e.result+=P2[o],e.position++;else if((s=FI(o))>0){for(i=s,a=0;i>0;i--)o=e.input.charCodeAt(++e.position),(s=CI(o))>=0?a=(a<<4)+s:Me(e,"expected hexadecimal character");e.result+=II(a),e.position++}else Me(e,"unknown escape sequence");r=n=e.position}else Di(o)?(ea(e,r,n,!0),Td(e,rr(e,!1,t)),r=n=e.position):e.position===e.lineStart&&Df(e)?Me(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Me(e,"unexpected end of the stream within a double quoted scalar")}function RI(e,t){var r=!0,n,i=e.tag,a,s=e.anchor,o,l,h,d,E,p={},f,A,g,S;if(S=e.input.charCodeAt(e.position),S===91)l=93,E=!1,a=[];else if(S===123)l=125,E=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),S=e.input.charCodeAt(++e.position);S!==0;){if(rr(e,!0,t),S=e.input.charCodeAt(e.position),S===l)return e.position++,e.tag=i,e.anchor=s,e.kind=E?"mapping":"sequence",e.result=a,!0;r||Me(e,"missed comma between flow collection entries"),A=f=g=null,h=d=!1,S===63&&(o=e.input.charCodeAt(e.position+1),gn(o)&&(h=d=!0,e.position++,rr(e,!0,t))),n=e.line,oo(e,t,Ff,!1,!0),A=e.tag,f=e.result,rr(e,!0,t),S=e.input.charCodeAt(e.position),(d||e.line===n)&&S===58&&(h=!0,S=e.input.charCodeAt(++e.position),rr(e,!0,t),oo(e,t,Ff,!1,!0),g=e.result),E?uo(e,a,p,A,f,g):h?a.push(uo(e,null,p,A,f,g)):a.push(f),rr(e,!0,t),S=e.input.charCodeAt(e.position),S===44?(r=!0,S=e.input.charCodeAt(++e.position)):r=!1}Me(e,"unexpected end of the stream within a flow collection")}function TI(e,t){var r,n,i=Pd,a=!1,s=!1,o=t,l=0,h=!1,d,E;if(E=e.input.charCodeAt(e.position),E===124)n=!1;else if(E===62)n=!0;else return!1;for(e.kind="scalar",e.result="";E!==0;)if(E=e.input.charCodeAt(++e.position),E===43||E===45)Pd===i?i=E===43?E2:AI:Me(e,"repeat of a chomping mode identifier");else if((d=_I(E))>=0)d===0?Me(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Me(e,"repeat of an indentation width identifier"):(o=t+d-1,s=!0);else break;if(Wa(E)){do E=e.input.charCodeAt(++e.position);while(Wa(E));if(E===35)do E=e.input.charCodeAt(++e.position);while(!Di(E)&&E!==0)}for(;E!==0;){for(Rd(e),e.lineIndent=0,E=e.input.charCodeAt(e.position);(!s||e.lineIndento&&(o=e.lineIndent),Di(E)){l++;continue}if(e.lineIndentt)&&l!==0)Me(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(oo(e,t,_f,!0,i)&&(A?p=e.result:f=e.result),A||(uo(e,h,d,E,p,f,a,s),E=p=f=null),rr(e,!0,-1),S=e.input.charCodeAt(e.position)),e.lineIndent>t&&S!==0)Me(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),E=0,p=e.implicitTypes.length;E tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result)?(e.result=f.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Me(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Me(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||d}function LI(e){var t=e.position,r,n,i,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(s=e.input.charCodeAt(e.position))!==0&&(rr(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),r=e.position;s!==0&&!gn(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),i=[],n.length<1&&Me(e,"directive name must not be less than one character in length");s!==0;){for(;Wa(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!Di(s));break}if(Di(s))break;for(r=e.position;s!==0&&!gn(s);)s=e.input.charCodeAt(++e.position);i.push(e.input.slice(r,e.position))}s!==0&&Rd(e),ta.call(y2,n)?y2[n](e,n,i):If(e,'unknown document directive "'+n+'"')}if(rr(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,rr(e,!0,-1)):a&&Me(e,"directives end mark is expected"),oo(e,e.lineIndent-1,_f,!1,!0),rr(e,!0,-1),e.checkLineBreaks&&SI.test(e.input.slice(t,e.position))&&If(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Df(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,rr(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=T2(e,r);if(typeof t!="function")return n;for(var i=0,a=n.length;i"u"&&(r=t,t=null),O2(e,t,vs.extend({schema:F2},r))}function HI(e,t){return x2(e,vs.extend({schema:F2},t))}Dc.exports.loadAll=O2;Dc.exports.load=x2;Dc.exports.safeLoadAll=UI;Dc.exports.safeLoad=HI});var sE=ye((DR,kd)=>{"use strict";var Bc=Ka(),Pc=no(),jI=Ic(),MI=so(),V2=Object.prototype.toString,K2=Object.prototype.hasOwnProperty,qI=9,$c=10,VI=13,KI=32,GI=33,zI=34,G2=35,YI=37,WI=38,XI=39,JI=42,z2=44,ZI=45,Y2=58,QI=61,e9=62,t9=63,r9=64,W2=91,X2=93,n9=96,J2=123,i9=124,Z2=125,Nr={};Nr[0]="\\0";Nr[7]="\\a";Nr[8]="\\b";Nr[9]="\\t";Nr[10]="\\n";Nr[11]="\\v";Nr[12]="\\f";Nr[13]="\\r";Nr[27]="\\e";Nr[34]='\\"';Nr[92]="\\\\";Nr[133]="\\N";Nr[160]="\\_";Nr[8232]="\\L";Nr[8233]="\\P";var s9=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function a9(e,t){var r,n,i,a,s,o,l;if(t===null)return{};for(r={},n=Object.keys(t),i=0,a=n.length;i0?e.charCodeAt(a-1):null,p=p&&U2(s,o)}else{for(a=0;an&&e[E+1]!==" ",E=a);else if(!co(s))return $f;o=a>0?e.charCodeAt(a-1):null,p=p&&U2(s,o)}h=h||d&&a-E-1>n&&e[E+1]!==" "}return!l&&!h?p&&!i(e)?eE:tE:r>9&&Q2(e)?$f:h?nE:rE}function h9(e,t,r,n){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&s9.indexOf(t)!==-1)return"'"+t+"'";var i=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=n||e.flowLevel>-1&&r>=e.flowLevel;function o(l){return o9(e,l)}switch(f9(t,s,e.indent,a,o)){case eE:return t;case tE:return"'"+t.replace(/'/g,"''")+"'";case rE:return"|"+H2(t,e.indent)+j2(L2(t,i));case nE:return">"+H2(t,e.indent)+j2(L2(p9(t,a),i));case $f:return'"'+d9(t,a)+'"';default:throw new Pc("impossible error: invalid scalar style")}}()}function H2(e,t){var r=Q2(e)?String(t):"",n=e[e.length-1]===` +`,i=n&&(e[e.length-2]===` +`||e===` +`),a=i?"+":n?"":"-";return r+a+` +`}function j2(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function p9(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=e.indexOf(` +`);return h=h!==-1?h:e.length,r.lastIndex=h,M2(e.slice(0,h),t)}(),i=e[0]===` +`||e[0]===" ",a,s;s=r.exec(e);){var o=s[1],l=s[2];a=l[0]===" ",n+=o+(!i&&!a&&l!==""?` +`:"")+M2(l,t),i=a}return n}function M2(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(e);)o=n.index,o-i>t&&(a=s>i?s:o,l+=` +`+e.slice(i,a),i=a+1),s=o;return l+=` +`,e.length-i>t&&s>i?l+=e.slice(i,s)+` +`+e.slice(s+1):l+=e.slice(i),l.slice(1)}function d9(e){for(var t="",r,n,i,a=0;a=55296&&r<=56319&&(n=e.charCodeAt(a+1),n>=56320&&n<=57343)){t+=k2((r-55296)*1024+n-56320+65536),a++;continue}i=Nr[r],t+=!i&&co(r)?e[a]:i||k2(r)}return t}function g9(e,t,r){var n="",i=e.tag,a,s;for(a=0,s=r.length;a1024&&(d+="? "),d+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Xa(e,t,h,!1,!1)&&(d+=e.dump,n+=d));e.tag=i,e.dump="{"+n+"}"}function E9(e,t,r,n){var i="",a=e.tag,s=Object.keys(r),o,l,h,d,E,p;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Pc("sortKeys must be a boolean or a function");for(o=0,l=s.length;o1024,E&&(e.dump&&$c===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,E&&(p+=Od(e,t)),Xa(e,t+1,d,!0,E)&&(e.dump&&$c===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,i+=p));e.tag=a,e.dump=i||"{}"}function q2(e,t,r){var n,i,a,s,o,l;for(i=r?e.explicitTypes:e.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function Xa(e,t,r,n,i,a){e.tag=null,e.dump=r,q2(e,r,!1)||q2(e,r,!0);var s=V2.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var o=s==="[object Object]"||s==="[object Array]",l,h;if(o&&(l=e.duplicates.indexOf(r),h=l!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(i=!1),h&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(o&&h&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),s==="[object Object]")n&&Object.keys(e.dump).length!==0?(E9(e,t,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(v9(e,t,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(s==="[object Array]"){var d=e.noArrayIndent&&t>0?t-1:t;n&&e.dump.length!==0?(m9(e,d,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(g9(e,d,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump))}else if(s==="[object String]")e.tag!=="?"&&h9(e,e.dump,t,a);else{if(e.skipInvalid)return!1;throw new Pc("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function w9(e,t){var r=[],n=[],i,a;for(xd(e,r,n),i=0,a=n.length;i{"use strict";var Bf=N2(),aE=sE();function Pf(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}Kt.exports.Type=ur();Kt.exports.Schema=Ga();Kt.exports.FAILSAFE_SCHEMA=bf();Kt.exports.JSON_SCHEMA=Dd();Kt.exports.CORE_SCHEMA=$d();Kt.exports.DEFAULT_SAFE_SCHEMA=so();Kt.exports.DEFAULT_FULL_SCHEMA=Ic();Kt.exports.load=Bf.load;Kt.exports.loadAll=Bf.loadAll;Kt.exports.safeLoad=Bf.safeLoad;Kt.exports.safeLoadAll=Bf.safeLoadAll;Kt.exports.dump=aE.dump;Kt.exports.safeDump=aE.safeDump;Kt.exports.YAMLException=no();Kt.exports.MINIMAL_SCHEMA=bf();Kt.exports.SAFE_SCHEMA=so();Kt.exports.DEFAULT_SCHEMA=Ic();Kt.exports.scan=Pf("scan");Kt.exports.parse=Pf("parse");Kt.exports.compose=Pf("compose");Kt.exports.addConstructor=Pf("addConstructor")});var cE=ye((BR,oE)=>{"use strict";var y9=uE();oE.exports=y9});var fE=ye((PR,lE)=>{"use strict";var Rf=cE();lE.exports={safeLoad:Rf.safeLoad,load:Rf.load,safeDump:Rf.safeDump,dump:Rf.dump}});var Ud=ye(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.isCorrect=lo.isInSubnet=void 0;function B9(e){return this.subnetMask{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.RE_SUBNET_STRING=$i.RE_ADDRESS=$i.GROUPS=$i.BITS=void 0;$i.BITS=32;$i.GROUPS=4;$i.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;$i.RE_SUBNET_STRING=/\/\d{1,2}$/});var xf=ye(Of=>{"use strict";Object.defineProperty(Of,"__esModule",{value:!0});Of.AddressError=void 0;var jd=class extends Error{constructor(t,r){super(t),this.name="AddressError",r!==null&&(this.parseMessage=r)}};Of.AddressError=jd});var Md=ye((Nf,gE)=>{(function(){var e,t=0xdeadbeefcafe,r=(t&16777215)==15715070;function n(R,O,U){R!=null&&(typeof R=="number"?this.fromNumber(R,O,U):O==null&&typeof R!="string"?this.fromString(R,256):this.fromString(R,O))}function i(){return new n(null)}function a(R,O,U,Q,de,ve){for(;--ve>=0;){var _e=O*this[R++]+U[Q]+de;de=Math.floor(_e/67108864),U[Q++]=_e&67108863}return de}function s(R,O,U,Q,de,ve){for(var _e=O&32767,Pe=O>>15;--ve>=0;){var bt=this[R]&32767,Mt=this[R++]>>15,yr=Pe*bt+Mt*_e;bt=_e*bt+((yr&32767)<<15)+U[Q]+(de&1073741823),de=(bt>>>30)+(yr>>>15)+Pe*Mt+(de>>>30),U[Q++]=bt&1073741823}return de}function o(R,O,U,Q,de,ve){for(var _e=O&16383,Pe=O>>14;--ve>=0;){var bt=this[R]&16383,Mt=this[R++]>>14,yr=Pe*bt+Mt*_e;bt=_e*bt+((yr&16383)<<14)+U[Q]+de,de=(bt>>28)+(yr>>14)+Pe*Mt,U[Q++]=bt&268435455}return de}var l=typeof navigator<"u";l&&r&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=s,e=30):l&&r&&navigator.appName!="Netscape"?(n.prototype.am=a,e=26):(n.prototype.am=o,e=28),n.prototype.DB=e,n.prototype.DM=(1<=0;--O)R[O]=this[O];R.t=this.t,R.s=this.s}function w(R){this.t=1,this.s=R<0?-1:0,R>0?this[0]=R:R<-1?this[0]=R+this.DV:this.t=0}function y(R){var O=i();return O.fromInt(R),O}function F(R,O){var U;if(O==16)U=4;else if(O==8)U=3;else if(O==256)U=8;else if(O==2)U=1;else if(O==32)U=5;else if(O==4)U=2;else{this.fromRadix(R,O);return}this.t=0,this.s=0;for(var Q=R.length,de=!1,ve=0;--Q>=0;){var _e=U==8?R[Q]&255:g(R,Q);if(_e<0){R.charAt(Q)=="-"&&(de=!0);continue}de=!1,ve==0?this[this.t++]=_e:ve+U>this.DB?(this[this.t-1]|=(_e&(1<>this.DB-ve):this[this.t-1]|=_e<=this.DB&&(ve-=this.DB)}U==8&&R[0]&128&&(this.s=-1,ve>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==R;)--this.t}function I(R){if(this.s<0)return"-"+this.negate().toString(R);var O;if(R==16)O=4;else if(R==8)O=3;else if(R==2)O=1;else if(R==32)O=5;else if(R==4)O=2;else return this.toRadix(R);var U=(1<0)for(Pe>Pe)>0&&(de=!0,ve=A(Q));_e>=0;)Pe>(Pe+=this.DB-O)):(Q=this[_e]>>(Pe-=O)&U,Pe<=0&&(Pe+=this.DB,--_e)),Q>0&&(de=!0),de&&(ve+=A(Q));return de?ve:"0"}function j(){var R=i();return n.ZERO.subTo(this,R),R}function M(){return this.s<0?this.negate():this}function _(R){var O=this.s-R.s;if(O!=0)return O;var U=this.t;if(O=U-R.t,O!=0)return this.s<0?-O:O;for(;--U>=0;)if((O=this[U]-R[U])!=0)return O;return 0}function P(R){var O=1,U;return(U=R>>>16)!=0&&(R=U,O+=16),(U=R>>8)!=0&&(R=U,O+=8),(U=R>>4)!=0&&(R=U,O+=4),(U=R>>2)!=0&&(R=U,O+=2),(U=R>>1)!=0&&(R=U,O+=1),O}function k(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)}function H(R,O){var U;for(U=this.t-1;U>=0;--U)O[U+R]=this[U];for(U=R-1;U>=0;--U)O[U]=0;O.t=this.t+R,O.s=this.s}function K(R,O){for(var U=R;U=0;--Pe)O[Pe+ve+1]=this[Pe]>>Q|_e,_e=(this[Pe]&de)<=0;--Pe)O[Pe]=0;O[ve]=_e,O.t=this.t+ve+1,O.s=this.s,O.clamp()}function G(R,O){O.s=this.s;var U=Math.floor(R/this.DB);if(U>=this.t){O.t=0;return}var Q=R%this.DB,de=this.DB-Q,ve=(1<>Q;for(var _e=U+1;_e>Q;Q>0&&(O[this.t-U-1]|=(this.s&ve)<>=this.DB;if(R.t>=this.DB;Q+=this.s}else{for(Q+=this.s;U>=this.DB;Q-=R.s}O.s=Q<0?-1:0,Q<-1?O[U++]=this.DV+Q:Q>0&&(O[U++]=Q),O.t=U,O.clamp()}function X(R,O){var U=this.abs(),Q=R.abs(),de=U.t;for(O.t=de+Q.t;--de>=0;)O[de]=0;for(de=0;de=0;)R[U]=0;for(U=0;U=O.DV&&(R[U+O.t]-=O.DV,R[U+O.t+1]=1)}R.t>0&&(R[R.t-1]+=O.am(U,O[U],R,2*U,0,1)),R.s=0,R.clamp()}function Se(R,O,U){var Q=R.abs();if(!(Q.t<=0)){var de=this.abs();if(de.t0?(Q.lShiftTo(bt,ve),de.lShiftTo(bt,U)):(Q.copyTo(ve),de.copyTo(U));var Mt=ve.t,yr=ve[Mt-1];if(yr!=0){var Sr=yr*(1<1?ve[Mt-2]>>this.F2:0),wn=this.FV/Sr,Us=(1<=0&&(U[U.t++]=1,U.subTo(Hn,U)),n.ONE.dlShiftTo(Mt,Hn),Hn.subTo(ve,ve);ve.t=0;){var Ca=U[--br]==yr?this.DM:Math.floor(U[br]*wn+(U[br-1]+Vr)*Us);if((U[br]+=ve.am(0,Ca,U,Hs,0,Mt))0&&U.rShiftTo(bt,U),_e<0&&n.ZERO.subTo(U,U)}}}function we(R){var O=i();return this.abs().divRemTo(R,null,O),this.s<0&&O.compareTo(n.ZERO)>0&&R.subTo(O,O),O}function Ie(R){this.m=R}function qe(R){return R.s<0||R.compareTo(this.m)>=0?R.mod(this.m):R}function oe(R){return R}function Fe(R){R.divRemTo(this.m,null,R)}function Le(R,O,U){R.multiplyTo(O,U),this.reduce(U)}function lr(R,O){R.squareTo(O),this.reduce(O)}Ie.prototype.convert=qe,Ie.prototype.revert=oe,Ie.prototype.reduce=Fe,Ie.prototype.mulTo=Le,Ie.prototype.sqrTo=lr;function Pt(){if(this.t<1)return 0;var R=this[0];if(!(R&1))return 0;var O=R&3;return O=O*(2-(R&15)*O)&15,O=O*(2-(R&255)*O)&255,O=O*(2-((R&65535)*O&65535))&65535,O=O*(2-R*O%this.DV)%this.DV,O>0?this.DV-O:-O}function dt(R){this.m=R,this.mp=R.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(O,O),O}function xt(R){var O=i();return R.copyTo(O),this.reduce(O),O}function nt(R){for(;R.t<=this.mt2;)R[R.t++]=0;for(var O=0;O>15)*this.mpl&this.um)<<15)&R.DM;for(U=O+this.m.t,R[U]+=this.m.am(0,Q,R,O,0,this.m.t);R[U]>=R.DV;)R[U]-=R.DV,R[++U]++}R.clamp(),R.drShiftTo(this.m.t,R),R.compareTo(this.m)>=0&&R.subTo(this.m,R)}function Dt(R,O){R.squareTo(O),this.reduce(O)}function tt(R,O,U){R.multiplyTo(O,U),this.reduce(U)}dt.prototype.convert=zt,dt.prototype.revert=xt,dt.prototype.reduce=nt,dt.prototype.mulTo=tt,dt.prototype.sqrTo=Dt;function mt(){return(this.t>0?this[0]&1:this.s)==0}function Yt(R,O){if(R>4294967295||R<1)return n.ONE;var U=i(),Q=i(),de=O.convert(this),ve=P(R)-1;for(de.copyTo(U);--ve>=0;)if(O.sqrTo(U,Q),(R&1<0)O.mulTo(Q,de,U);else{var _e=U;U=Q,Q=_e}return O.revert(U)}function Je(R,O){var U;return R<256||O.isEven()?U=new Ie(O):U=new dt(O),this.exp(R,U)}n.prototype.copyTo=S,n.prototype.fromInt=w,n.prototype.fromString=F,n.prototype.clamp=D,n.prototype.dlShiftTo=H,n.prototype.drShiftTo=K,n.prototype.lShiftTo=W,n.prototype.rShiftTo=G,n.prototype.subTo=z,n.prototype.multiplyTo=X,n.prototype.squareTo=ie,n.prototype.divRemTo=Se,n.prototype.invDigit=Pt,n.prototype.isEven=mt,n.prototype.exp=Yt,n.prototype.toString=I,n.prototype.negate=j,n.prototype.abs=M,n.prototype.compareTo=_,n.prototype.bitLength=k,n.prototype.mod=we,n.prototype.modPowInt=Je,n.ZERO=y(0),n.ONE=y(1);function Ht(){var R=i();return this.copyTo(R),R}function Un(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function Ar(){return this.t==0?this.s:this[0]<<16>>16}function Zt(R){return Math.floor(Math.LN2*this.DB/Math.log(R))}function Br(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function la(R){if(R==null&&(R=10),this.signum()==0||R<2||R>36)return"0";var O=this.chunkSize(R),U=Math.pow(R,O),Q=y(U),de=i(),ve=i(),_e="";for(this.divRemTo(Q,de,ve);de.signum()>0;)_e=(U+ve.intValue()).toString(R).substr(1)+_e,de.divRemTo(Q,de,ve);return ve.intValue().toString(R)+_e}function Mr(R,O){this.fromInt(0),O==null&&(O=10);for(var U=this.chunkSize(O),Q=Math.pow(O,U),de=!1,ve=0,_e=0,Pe=0;Pe=U&&(this.dMultiply(Q),this.dAddOffset(_e,0),ve=0,_e=0)}ve>0&&(this.dMultiply(Math.pow(O,ve)),this.dAddOffset(_e,0)),de&&n.ZERO.subTo(this,this)}function vt(R,O,U){if(typeof O=="number")if(R<2)this.fromInt(1);else for(this.fromNumber(R,U),this.testBit(R-1)||this.bitwiseTo(n.ONE.shiftLeft(R-1),Gi,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(O);)this.dAddOffset(2,0),this.bitLength()>R&&this.subTo(n.ONE.shiftLeft(R-1),this);else{var Q=new Array,de=R&7;Q.length=(R>>3)+1,O.nextBytes(Q),de>0?Q[0]&=(1<0)for(U>U)!=(this.s&this.DM)>>U&&(O[de++]=Q|this.s<=0;)U<8?(Q=(this[R]&(1<>(U+=this.DB-8)):(Q=this[R]>>(U-=8)&255,U<=0&&(U+=this.DB,--R)),Q&128&&(Q|=-256),de==0&&(this.s&128)!=(Q&128)&&++de,(de>0||Q!=this.s)&&(O[de++]=Q);return O}function Ze(R){return this.compareTo(R)==0}function Pr(R){return this.compareTo(R)<0?this:R}function fa(R){return this.compareTo(R)>0?this:R}function ha(R,O,U){var Q,de,ve=Math.min(R.t,this.t);for(Q=0;Q>=16,O+=16),R&255||(R>>=8,O+=8),R&15||(R>>=4,O+=4),R&3||(R>>=2,O+=2),R&1||++O,O}function fu(){for(var R=0;R=this.t?this.s!=0:(this[O]&1<>=this.DB;if(R.t>=this.DB;Q+=this.s}else{for(Q+=this.s;U>=this.DB;Q+=R.s}O.s=Q<0?-1:0,Q>0?O[U++]=Q:Q<-1&&(O[U++]=this.DV+Q),O.t=U,O.clamp()}function ma(R){var O=i();return this.addTo(R,O),O}function To(R){var O=i();return this.subTo(R,O),O}function Oo(R){var O=i();return this.multiplyTo(R,O),O}function xo(){var R=i();return this.squareTo(R),R}function No(R){var O=i();return this.divRemTo(R,O,null),O}function ko(R){var O=i();return this.divRemTo(R,null,O),O}function Lo(R){var O=i(),U=i();return this.divRemTo(R,O,U),new Array(O,U)}function Uo(R){this[this.t]=this.am(0,R-1,this,0,0,this.t),++this.t,this.clamp()}function Ho(R,O){if(R!=0){for(;this.t<=O;)this[this.t++]=0;for(this[O]+=R;this[O]>=this.DV;)this[O]-=this.DV,++O>=this.t&&(this[this.t++]=0),++this[O]}}function mi(){}function du(R){return R}function jo(R,O,U){R.multiplyTo(O,U)}function Mo(R,O){R.squareTo(O)}mi.prototype.convert=du,mi.prototype.revert=du,mi.prototype.mulTo=jo,mi.prototype.sqrTo=Mo;function qo(R){return this.exp(R,new mi)}function gu(R,O,U){var Q=Math.min(this.t+R.t,O);for(U.s=0,U.t=Q;Q>0;)U[--Q]=0;var de;for(de=U.t-this.t;Q=0;)U[Q]=0;for(Q=Math.max(O-this.t,0);Q2*this.m.t)return R.mod(this.m);if(R.compareTo(this.m)<0)return R;var O=i();return R.copyTo(O),this.reduce(O),O}function ks(R){return R}function En(R){for(R.drShiftTo(this.m.t-1,this.r2),R.t>this.m.t+1&&(R.t=this.m.t+1,R.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);R.compareTo(this.r2)<0;)R.dAddOffset(1,this.m.t+1);for(R.subTo(this.r2,R);R.compareTo(this.m)>=0;)R.subTo(this.m,R)}function Ko(R,O){R.squareTo(O),this.reduce(O)}function Go(R,O,U){R.multiplyTo(O,U),this.reduce(U)}en.prototype.convert=Vo,en.prototype.revert=ks,en.prototype.reduce=En,en.prototype.mulTo=Go,en.prototype.sqrTo=Ko;function mu(R,O){var U=R.bitLength(),Q,de=y(1),ve;if(U<=0)return de;U<18?Q=1:U<48?Q=3:U<144?Q=4:U<768?Q=5:Q=6,U<8?ve=new Ie(O):O.isEven()?ve=new en(O):ve=new dt(O);var _e=new Array,Pe=3,bt=Q-1,Mt=(1<1){var yr=i();for(ve.sqrTo(_e[1],yr);Pe<=Mt;)_e[Pe]=i(),ve.mulTo(yr,_e[Pe-2],_e[Pe]),Pe+=2}var Sr=R.t-1,wn,Us=!0,Vr=i(),br;for(U=P(R[Sr])-1;Sr>=0;){for(U>=bt?wn=R[Sr]>>U-bt&Mt:(wn=(R[Sr]&(1<0&&(wn|=R[Sr-1]>>this.DB+U-bt)),Pe=Q;!(wn&1);)wn>>=1,--Pe;if((U-=Pe)<0&&(U+=this.DB,--Sr),Us)_e[wn].copyTo(de),Us=!1;else{for(;Pe>1;)ve.sqrTo(de,Vr),ve.sqrTo(Vr,de),Pe-=2;Pe>0?ve.sqrTo(de,Vr):(br=de,de=Vr,Vr=br),ve.mulTo(Vr,_e[wn],de)}for(;Sr>=0&&!(R[Sr]&1<0&&(O.rShiftTo(ve,O),U.rShiftTo(ve,U));O.signum()>0;)(de=O.getLowestSetBit())>0&&O.rShiftTo(de,O),(de=U.getLowestSetBit())>0&&U.rShiftTo(de,U),O.compareTo(U)>=0?(O.subTo(U,O),O.rShiftTo(1,O)):(U.subTo(O,U),U.rShiftTo(1,U));return ve>0&&U.lShiftTo(ve,U),U}function vu(R){if(R<=0)return 0;var O=this.DV%R,U=this.s<0?R-1:0;if(this.t>0)if(O==0)U=this[0]%R;else for(var Q=this.t-1;Q>=0;--Q)U=(O*U+this[Q])%R;return U}function Ls(R){var O=R.isEven();if(this.isEven()&&O||R.signum()==0)return n.ZERO;for(var U=R.clone(),Q=this.clone(),de=y(1),ve=y(0),_e=y(0),Pe=y(1);U.signum()!=0;){for(;U.isEven();)U.rShiftTo(1,U),O?((!de.isEven()||!ve.isEven())&&(de.addTo(this,de),ve.subTo(R,ve)),de.rShiftTo(1,de)):ve.isEven()||ve.subTo(R,ve),ve.rShiftTo(1,ve);for(;Q.isEven();)Q.rShiftTo(1,Q),O?((!_e.isEven()||!Pe.isEven())&&(_e.addTo(this,_e),Pe.subTo(R,Pe)),_e.rShiftTo(1,_e)):Pe.isEven()||Pe.subTo(R,Pe),Pe.rShiftTo(1,Pe);U.compareTo(Q)>=0?(U.subTo(Q,U),O&&de.subTo(_e,de),ve.subTo(Pe,ve)):(Q.subTo(U,Q),O&&_e.subTo(de,_e),Pe.subTo(ve,Pe))}if(Q.compareTo(n.ONE)!=0)return n.ZERO;if(Pe.compareTo(R)>=0)return Pe.subtract(R);if(Pe.signum()<0)Pe.addTo(R,Pe);else return Pe;return Pe.signum()<0?Pe.add(R):Pe}var jt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],zo=(1<<26)/jt[jt.length-1];function Yo(R){var O,U=this.abs();if(U.t==1&&U[0]<=jt[jt.length-1]){for(O=0;O>1,R>jt.length&&(R=jt.length);for(var de=i(),ve=0;ve>8&255,hr[Ot++]^=R>>16&255,hr[Ot++]^=R>>24&255,Ot>=qr&&(Ot-=qr)}function Ea(){Wo(new Date().getTime())}if(hr==null){hr=new Array,Ot=0;var pr;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var wa=new Uint8Array(32);for(window.crypto.getRandomValues(wa),pr=0;pr<32;++pr)hr[Ot++]=wa[pr]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var wu=window.crypto.random(32);for(pr=0;pr>>8,hr[Ot++]=pr&255;Ot=0,Ea()}function Au(){if(Ei==null){for(Ea(),Ei=ba(),Ei.init(hr),Ot=0;Ot{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(s){return n(a(s),arguments)}function r(s,o){return t.apply(null,[s].concat(o||[]))}function n(s,o){var l=1,h=s.length,d,E="",p,f,A,g,S,w,y,F;for(p=0;p=0),A.type){case"b":d=parseInt(d,10).toString(2);break;case"c":d=String.fromCharCode(parseInt(d,10));break;case"d":case"i":d=parseInt(d,10);break;case"j":d=JSON.stringify(d,null,A.width?parseInt(A.width):0);break;case"e":d=A.precision?parseFloat(d).toExponential(A.precision):parseFloat(d).toExponential();break;case"f":d=A.precision?parseFloat(d).toFixed(A.precision):parseFloat(d);break;case"g":d=A.precision?String(Number(d.toPrecision(A.precision))):parseFloat(d);break;case"o":d=(parseInt(d,10)>>>0).toString(8);break;case"s":d=String(d),d=A.precision?d.substring(0,A.precision):d;break;case"t":d=String(!!d),d=A.precision?d.substring(0,A.precision):d;break;case"T":d=Object.prototype.toString.call(d).slice(8,-1).toLowerCase(),d=A.precision?d.substring(0,A.precision):d;break;case"u":d=parseInt(d,10)>>>0;break;case"v":d=d.valueOf(),d=A.precision?d.substring(0,A.precision):d;break;case"x":d=(parseInt(d,10)>>>0).toString(16);break;case"X":d=(parseInt(d,10)>>>0).toString(16).toUpperCase();break}e.json.test(A.type)?E+=d:(e.number.test(A.type)&&(!y||A.sign)?(F=y?"+":"-",d=d.toString().replace(e.sign,"")):F="",S=A.pad_char?A.pad_char==="0"?"0":A.pad_char.charAt(1):" ",w=A.width-(F+d).length,g=A.width&&w>0?S.repeat(w):"",E+=A.align?F+d+g:S==="0"?F+g+d:g+F+d)}return E}var i=Object.create(null);function a(s){if(i[s])return i[s];for(var o=s,l,h=[],d=0;o;){if((l=e.text.exec(o))!==null)h.push(l[0]);else if((l=e.modulo.exec(o))!==null)h.push("%");else if((l=e.placeholder.exec(o))!==null){if(l[2]){d|=1;var E=[],p=l[2],f=[];if((f=e.key.exec(p))!==null)for(E.push(f[1]);(p=p.substring(f[0].length))!=="";)if((f=e.key_access.exec(p))!==null)E.push(f[1]);else if((f=e.index_access.exec(p))!==null)E.push(f[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=E}else d|=2;if(d===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");h.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");o=o.substring(l[0].length)}return i[s]=h}typeof kf<"u"&&(kf.sprintf=t,kf.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var Vd=ye(Bi=>{"use strict";var R9=Bi&&Bi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),T9=Bi&&Bi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),EE=Bi&&Bi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&R9(t,e,r);return T9(t,e),t};Object.defineProperty(Bi,"__esModule",{value:!0});Bi.Address4=void 0;var mE=EE(Ud()),fi=EE(Hd()),vE=xf(),xc=Md(),fo=Oc(),qd=class e{constructor(t){this.groups=fi.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=mE.isCorrect(fi.BITS),this.isInSubnet=mE.isInSubnet,this.address=t;let r=fi.RE_SUBNET_STRING.exec(t);if(r){if(this.parsedSubnet=r[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>fi.BITS)throw new vE.AddressError("Invalid subnet mask.");t=t.replace(fi.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(t){let r=t.split(".");if(!t.match(fi.RE_ADDRESS))throw new vE.AddressError("Invalid IPv4 address.");return r}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let r=t.replace(/:/g,"").padStart(8,"0"),n=[],i;for(i=0;i<8;i+=2){let a=r.slice(i,i+2);n.push(parseInt(a,16))}return new e(n.join("."))}static fromInteger(t){return e.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new e(n)}toHex(){return this.parsedAddress.map(t=>(0,fo.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],r;for(r=0;r(0,fo.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new xc.BigInteger(this.mask()+"0".repeat(fi.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new xc.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new xc.BigInteger(this.mask()+"1".repeat(fi.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new xc.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return e.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}reverseForm(t){t||(t={});let r=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?r:(0,fo.sprintf)("%s.in-addr.arpa.",r)}isMulticast(){return this.isInSubnet(new e("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(fi.BITS,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(fi.RE_ADDRESS,(0,fo.sprintf)('%s.%s',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};Bi.Address4=qd});var Kd=ye(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.RE_URL_WITH_PORT=Gt.RE_URL=Gt.RE_ZONE_STRING=Gt.RE_SUBNET_STRING=Gt.RE_BAD_ADDRESS=Gt.RE_BAD_CHARACTERS=Gt.TYPES=Gt.SCOPES=Gt.GROUPS=Gt.BITS=void 0;Gt.BITS=128;Gt.GROUPS=8;Gt.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"};Gt.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"};Gt.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi;Gt.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;Gt.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/;Gt.RE_ZONE_STRING=/%.*$/;Gt.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);Gt.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)});var Gd=ye(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.simpleGroup=Pi.spanLeadingZeroes=Pi.spanAll=Pi.spanAllZeroes=void 0;var wE=Oc();function AE(e){return e.replace(/(0+)/g,'$1')}Pi.spanAllZeroes=AE;function O9(e,t=0){return e.split("").map((n,i)=>(0,wE.sprintf)('%s',n,i+t,AE(n))).join("")}Pi.spanAll=O9;function yE(e){return e.replace(/^(0+)/,'$1')}function x9(e){return e.split(":").map(r=>yE(r)).join(":")}Pi.spanLeadingZeroes=x9;function N9(e,t=0){return e.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,wE.sprintf)('%s',i+t,yE(n)))}Pi.simpleGroup=N9});var SE=ye(vr=>{"use strict";var k9=vr&&vr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),L9=vr&&vr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),U9=vr&&vr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&k9(t,e,r);return L9(t,e),t};Object.defineProperty(vr,"__esModule",{value:!0});vr.possibleElisions=vr.simpleRegularExpression=vr.ADDRESS_BOUNDARY=vr.padGroup=vr.groupPossibilities=void 0;var H9=U9(Kd()),ho=Oc();function Uf(e){return(0,ho.sprintf)("(%s)",e.join("|"))}vr.groupPossibilities=Uf;function Lf(e){return e.length<4?(0,ho.sprintf)("0{0,%d}%s",4-e.length,e):e}vr.padGroup=Lf;vr.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function j9(e){let t=[];e.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let r=t.map(n=>e.map((i,a)=>{if(a===n){let s=a===0||a===H9.GROUPS-1?":":"";return Uf([Lf(i),s])}return Lf(i)}).join(":"));return r.push(e.map(Lf).join(":")),Uf(r)}vr.simpleRegularExpression=j9;function M9(e,t,r){let n=t?"":":",i=r?"":":",a=[];!t&&!r&&a.push("::"),t&&r&&a.push(""),(r&&!t||!r&&t)&&a.push(":"),a.push((0,ho.sprintf)("%s(:0{1,4}){1,%d}",n,e-1)),a.push((0,ho.sprintf)("(0{1,4}:){1,%d}%s",e-1,i)),a.push((0,ho.sprintf)("(0{1,4}:){%d}0{1,4}",e-1));for(let s=1;s{"use strict";var q9=Ri&&Ri.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),V9=Ri&&Ri.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),jf=Ri&&Ri.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&q9(t,e,r);return V9(t,e),t};Object.defineProperty(Ri,"__esModule",{value:!0});Ri.Address6=void 0;var bE=jf(Ud()),zd=jf(Hd()),Rt=jf(Kd()),Yd=jf(Gd()),Za=Vd(),Qa=SE(),Es=xf(),Jr=Md(),Zr=Oc();function Hf(e){if(!e)throw new Error("Assertion failed.")}function K9(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,"$1,$2");return e}function G9(e){return e=e.replace(/^(0{1,})([1-9]+)$/,'$1$2'),e=e.replace(/^(0{1,})(0)$/,'$1$2'),e}function z9(e,t){let r=[],n=[],i;for(i=0;it[1]&&n.push(e[i]);return r.concat(["compact"]).concat(n)}function CE(e){return(0,Zr.sprintf)("%04x",parseInt(e,16))}function FE(e){return e&255}var Wd=class e{constructor(t,r){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=bE.isInSubnet,this.isCorrect=bE.isCorrect(Rt.BITS),r===void 0?this.groups=Rt.GROUPS:this.groups=r,this.address=t;let n=Rt.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>Rt.BITS)throw new Es.AddressError("Invalid subnet mask.");t=t.replace(Rt.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new Es.AddressError("Invalid subnet mask.");let i=Rt.RE_ZONE_STRING.exec(t);i&&(this.zone=i[0],t=t.replace(Rt.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInteger(t){let r=t.toString(16).padStart(32,"0"),n=[],i;for(i=0;i65536)&&(n=null)):n=null,{address:new e(r),port:n}}static fromAddress4(t){let r=new Za.Address4(t),n=Rt.BITS-(zd.BITS-r.subnetMask);return new e(`::ffff:${r.correctForm()}/${n}`)}static fromArpa(t){let r=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(r.length!==63)throw new Es.AddressError("Invalid 'ip6.arpa' form.");let i=r.split(".").reverse();for(let a=n;a>0;a--){let s=a*4;i.splice(s,0,":")}return r=i.join(""),new e(r)}microsoftTranscription(){return(0,Zr.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let r=Rt.BITS-this.subnetMask,n=Math.abs(t-Rt.BITS),i=r-n;return i<0?"0":K9(new Jr.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new Jr.BigInteger(this.mask()+"0".repeat(Rt.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Jr.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Jr.BigInteger(this.mask()+"1".repeat(Rt.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Jr.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=Rt.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(Rt.TYPES))if(this.isInSubnet(new e(t)))return Rt.TYPES[t];return"Global unicast"}getBits(t,r){return new Jr.BigInteger(this.getBitsBase2(t,r),2)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}getBitsBase16(t,r){let n=r-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,r).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,Rt.BITS)}reverseForm(t){t||(t={});let r=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,r).reverse().join(".");return r>0?t.omitSuffix?n:(0,Zr.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,r=[],n=0,i=[];for(t=0;t0&&(n>1&&i.push([t-n,t-1]),n=0)}n>1&&i.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let a=i.map(o=>o[1]-o[0]+1);if(i.length>0){let o=a.indexOf(Math.max(...a));r=z9(this.parsedAddress,i[o])}else r=this.parsedAddress;for(t=0;t1?"s":"",r.join("")),t.replace(Rt.RE_BAD_CHARACTERS,'$1'));let n=t.match(Rt.RE_BAD_ADDRESS);if(n)throw new Es.AddressError((0,Zr.sprintf)("Address failed regex: %s",n.join("")),t.replace(Rt.RE_BAD_ADDRESS,'$1'));let i=[],a=t.split("::");if(a.length===2){let s=a[0].split(":"),o=a[1].split(":");s.length===1&&s[0]===""&&(s=[]),o.length===1&&o[0]===""&&(o=[]);let l=this.groups-(s.length+o.length);if(!l)throw new Es.AddressError("Error parsing groups");this.elidedGroups=l,this.elisionBegin=s.length,this.elisionEnd=s.length+this.elidedGroups,i=i.concat(s);for(let h=0;h(0,Zr.sprintf)("%x",parseInt(s,16))),i.length!==this.groups)throw new Es.AddressError("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(CE).join(":")}decimal(){return this.parsedAddress.map(t=>(0,Zr.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new Jr.BigInteger(this.parsedAddress.map(CE).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return Za.Address4.fromHex(new Jr.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),i="";return/:$/.test(n)||(i=":"),n+i+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),r=this.getBits(80,96).xor(new Jr.BigInteger("ffff",16)).toString(),n=Za.Address4.fromHex(this.getBitsBase16(32,64)),i=Za.Address4.fromHex(this.getBits(96,128).xor(new Jr.BigInteger("ffffffff",16)).toString(16)),a=this.getBits(64,80),s=this.getBitsBase2(64,80),o=a.testBit(15),l=a.testBit(14),h=a.testBit(8),d=a.testBit(9),E=new Jr.BigInteger(s.slice(2,6)+s.slice(8,16),2).toString(10);return{prefix:(0,Zr.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:s,coneNat:o,microsoft:{reserved:l,universalLocal:d,groupIndividual:h,nonce:E},udpPort:r}}inspect6to4(){let t=this.getBitsBase16(0,16),r=Za.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,Zr.sprintf)("%s",t.slice(0,4)),gateway:r.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new e(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(FE)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(FE))}static fromUnsignedByteArray(t){let r=new Jr.BigInteger("256",10),n=new Jr.BigInteger("0",10),i=new Jr.BigInteger("1",10);for(let a=t.length-1;a>=0;a--)n=n.add(i.multiply(new Jr.BigInteger(t[a].toString(10),10))),i=i.multiply(r);return e.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new e("2001::/32"))}is6to4(){return this.isInSubnet(new e("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,Zr.sprintf)(":%s",t),(0,Zr.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let r=this.correctForm;return t.v4&&(r=this.to4in6),t.className?(0,Zr.sprintf)('%2$s',t.prefix,r.call(this),t.className):(0,Zr.sprintf)('%2$s',t.prefix,r.call(this))}group(){if(this.elidedGroups===0)return Yd.simpleGroup(this.address).join(":");Hf(typeof this.elidedGroups=="number"),Hf(typeof this.elisionBegin=="number");let t=[],[r,n]=this.address.split("::");r.length?t.push(...Yd.simpleGroup(r)):t.push("");let i=["hover-group"];for(let a=this.elisionBegin;a',i.join(" "))),n.length?t.push(...Yd.simpleGroup(n,this.elisionEnd)):t.push(""),this.is4()&&(Hf(this.address4 instanceof Za.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let r=[],n=new e(this.correctForm());if(n.elidedGroups===0)r.push((0,Qa.simpleRegularExpression)(n.parsedAddress));else if(n.elidedGroups===Rt.GROUPS)r.push((0,Qa.possibleElisions)(Rt.GROUPS));else{let i=n.address.split("::");i[0].length&&r.push((0,Qa.simpleRegularExpression)(i[0].split(":"))),Hf(typeof n.elidedGroups=="number"),r.push((0,Qa.possibleElisions)(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&r.push((0,Qa.simpleRegularExpression)(i[1].split(":"))),r=[r.join(":")]}return t||(r=["(?=^|",Qa.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...r,")(?=[^\\w\\:]|",Qa.ADDRESS_BOUNDARY,"|$)"]),r.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};Ri.Address6=Wd});var IE=ye(jr=>{"use strict";var Y9=jr&&jr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),W9=jr&&jr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),X9=jr&&jr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Y9(t,e,r);return W9(t,e),t};Object.defineProperty(jr,"__esModule",{value:!0});jr.v6=jr.AddressError=jr.Address6=jr.Address4=void 0;var J9=Vd();Object.defineProperty(jr,"Address4",{enumerable:!0,get:function(){return J9.Address4}});var Z9=_E();Object.defineProperty(jr,"Address6",{enumerable:!0,get:function(){return Z9.Address6}});var Q9=xf();Object.defineProperty(jr,"AddressError",{enumerable:!0,get:function(){return Q9.AddressError}});var eD=X9(Gd());jr.v6={helpers:eD}});var TE=ye(r0=>{"use strict";r0.toString=function(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e};r0.toType=function(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}});var OE=ye(n0=>{"use strict";n0.toString=function(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e};n0.toRcode=function(e){switch(e.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var xE=ye(i0=>{"use strict";i0.toString=function(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e};i0.toOpcode=function(e){switch(e.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var NE=ye(s0=>{"use strict";s0.toString=function(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e};s0.toClass=function(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var kE=ye(a0=>{"use strict";a0.toString=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:`OPTION_${e}`};a0.toCode=function(e){if(typeof e=="number")return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}});var HE=ye((UE,u0)=>{var LE=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=E,e.encode=d,e.familyOf=h,e.name=void 0,e.sizeOf=l,e.v6=e.v4=void 0;let t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,a={name:"v4",size:r,isFormat:p=>t.test(p),encode(p,f,A){A=~~A,f=f||new Uint8Array(A+r);let g=p.length,S=0;for(let w=0;wp.length>0&&n.test(p),encode(p,f,A){A=~~A;let g=A+i,S=-1,w=0,y=0,F=!0,D=!1;f=f||new Uint8Array(A+i);for(let I=0;I>8),A=97?j-=87:j>=65?j-=55:(j-=48,y=y*10+j),w=(w<<4)+j)}if(F===!1)D===!0?(A>8),A=S+2;I--)f[I]=f[I-2];f[S]=0,f[S+1]=0,S=A}if(S!==A&&S!==-1)for(A>g-2&&(A=g-2);g>S;)f[--g]=AS?f[--A]:0;else for(;A{"use strict";var ke=of().Buffer,$s=TE(),pD=OE(),dD=xE(),Jf=NE(),o0=kE(),eu=HE(),gD=0,jE=32768,c0=32768,mD=~c0,ME=32768,vD=~ME,$e=Ne.name={};$e.encode=function(e,t,r,{mail:n=!1}={}){t||(t=ke.alloc($e.encodingLength(e))),r||(r=0);let i=r,a=e.replace(/^\.|\.$/gm,"");if(a.length){let s=[];if(n){let o="";a.split(".").forEach(l=>{l.endsWith("\\")?o+=(o.length?".":"")+l.slice(0,-1):s.length===0&&o.length?s.push(o+"."+l):s.push(l)})}else s=a.split(".");for(let o=0;o=e.length)throw new Error("Cannot decode name (buffer overflow)");let l=e[t++];if(s+=o?0:1,l===0)break;if(l&192)if((l&192)===192){if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");let h=e.readUInt16BE(t-1)-49152;if(h>=i)throw new Error("Cannot decode name (bad pointer)");t=h,i=h,s+=o?0:1,o=!0}else throw new Error("Cannot decode name (bad label)");else{if(t+l>e.length)throw new Error("Cannot decode name (buffer overflow)");if(a+=l+1,a>254)throw new Error("Cannot decode name (name too long)");let h=e.toString("utf-8",t,t+l);r&&(h=h.replace(/\./g,"\\.")),n.push(h),t+=l,s+=o?0:l}}return $e.decode.bytes=s,n.length===0?".":n.join(".")};$e.decode.bytes=0;$e.encodingLength=function(e){return e==="."||e===".."?1:ke.byteLength(e.replace(/^\.|\.$/gm,""))+2};var st={};st.encode=function(e,t,r){t||(t=ke.alloc(st.encodingLength(e))),r||(r=0);let n=t.write(e,r+1);return t[r]=n,st.encode.bytes=n+1,t};st.encode.bytes=0;st.decode=function(e,t){t||(t=0);let r=e[t],n=e.toString("utf-8",t+1,t+1+r);return st.decode.bytes=r+1,n};st.decode.bytes=0;st.encodingLength=function(e){return ke.byteLength(e)+1};var di={};di.encode=function(e,t,r){t||(t=di.encodingLength(e)),r||(r=0);let n=(e.flags||0)&32767,i=e.type==="response"?jE:gD;return t.writeUInt16BE(e.id||0,r),t.writeUInt16BE(n|i,r+2),t.writeUInt16BE(e.questions.length,r+4),t.writeUInt16BE(e.answers.length,r+6),t.writeUInt16BE(e.authorities.length,r+8),t.writeUInt16BE(e.additionals.length,r+10),t};di.encode.bytes=12;di.decode=function(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");let r=e.readUInt16BE(t+2);return{id:e.readUInt16BE(t),type:r&jE?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:dD.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:pD.toString(r&15),questions:new Array(e.readUInt16BE(t+4)),answers:new Array(e.readUInt16BE(t+6)),authorities:new Array(e.readUInt16BE(t+8)),additionals:new Array(e.readUInt16BE(t+10))}};di.decode.bytes=12;di.encodingLength=function(){return 12};var As=Ne.unknown={};As.encode=function(e,t,r){return t||(t=ke.alloc(As.encodingLength(e))),r||(r=0),t.writeUInt16BE(e.length,r),e.copy(t,r+2),As.encode.bytes=e.length+2,t};As.encode.bytes=0;As.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=e.slice(t+2,t+2+r);return As.decode.bytes=r+2,n};As.decode.bytes=0;As.encodingLength=function(e){return e.length+2};var ys=Ne.ns={};ys.encode=function(e,t,r){return t||(t=ke.alloc(ys.encodingLength(e))),r||(r=0),$e.encode(e,t,r+2),t.writeUInt16BE($e.encode.bytes,r),ys.encode.bytes=$e.encode.bytes+2,t};ys.encode.bytes=0;ys.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=$e.decode(e,t+2);return ys.decode.bytes=r+2,n};ys.decode.bytes=0;ys.encodingLength=function(e){return $e.encodingLength(e)+2};var Ss=Ne.soa={};Ss.encode=function(e,t,r){t||(t=ke.alloc(Ss.encodingLength(e))),r||(r=0);let n=r;return r+=2,$e.encode(e.mname,t,r),r+=$e.encode.bytes,$e.encode(e.rname,t,r,{mail:!0}),r+=$e.encode.bytes,t.writeUInt32BE(e.serial||0,r),r+=4,t.writeUInt32BE(e.refresh||0,r),r+=4,t.writeUInt32BE(e.retry||0,r),r+=4,t.writeUInt32BE(e.expire||0,r),r+=4,t.writeUInt32BE(e.minimum||0,r),r+=4,t.writeUInt16BE(r-n-2,n),Ss.encode.bytes=r-n,t};Ss.encode.bytes=0;Ss.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mname=$e.decode(e,t),t+=$e.decode.bytes,n.rname=$e.decode(e,t,{mail:!0}),t+=$e.decode.bytes,n.serial=e.readUInt32BE(t),t+=4,n.refresh=e.readUInt32BE(t),t+=4,n.retry=e.readUInt32BE(t),t+=4,n.expire=e.readUInt32BE(t),t+=4,n.minimum=e.readUInt32BE(t),t+=4,Ss.decode.bytes=t-r,n};Ss.decode.bytes=0;Ss.encodingLength=function(e){return 22+$e.encodingLength(e.mname)+$e.encodingLength(e.rname)};var bs=Ne.txt={};bs.encode=function(e,t,r){Array.isArray(e)||(e=[e]);for(let i=0;i0;){let a=e[t++];if(--n,n0&&(r.timeout=e.readUInt16BE(t),t+=2);break;case 14:r.tags=[];for(let a=0;a0;)n[a++]=mn.decode(e,t),t+=mn.decode.bytes,i-=mn.decode.bytes;return Rn.decode.bytes=t-r,n};Rn.decode.bytes=0;Rn.encodingLength=function(e){return 2+wo(e||[],mn)};var Qr=Ne.dnskey={};Qr.PROTOCOL_DNSSEC=3;Qr.ZONE_KEY=128;Qr.SECURE_ENTRYPOINT=32768;Qr.encode=function(e,t,r){t||(t=ke.alloc(Qr.encodingLength(e))),r||(r=0);let n=r,i=e.key;if(!ke.isBuffer(i))throw new Error("Key must be a Buffer");return r+=2,t.writeUInt16BE(e.flags,r),r+=2,t.writeUInt8(Qr.PROTOCOL_DNSSEC,r),r+=1,t.writeUInt8(e.algorithm,r),r+=1,i.copy(t,r,0,i.length),r+=i.length,Qr.encode.bytes=r-n,t.writeUInt16BE(Qr.encode.bytes-2,n),t};Qr.encode.bytes=0;Qr.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);if(t+=2,n.flags=e.readUInt16BE(t),t+=2,e.readUInt8(t)!==Qr.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e.readUInt8(t),t+=1,n.key=e.slice(t,r+i+2),t+=n.key.length,Qr.decode.bytes=t-r,n};Qr.decode.bytes=0;Qr.encodingLength=function(e){return 6+ke.byteLength(e.key)};var xi=Ne.rrsig={};xi.encode=function(e,t,r){t||(t=ke.alloc(xi.encodingLength(e))),r||(r=0);let n=r,i=e.signature;if(!ke.isBuffer(i))throw new Error("Signature must be a Buffer");return r+=2,t.writeUInt16BE($s.toType(e.typeCovered),r),r+=2,t.writeUInt8(e.algorithm,r),r+=1,t.writeUInt8(e.labels,r),r+=1,t.writeUInt32BE(e.originalTTL,r),r+=4,t.writeUInt32BE(e.expiration,r),r+=4,t.writeUInt32BE(e.inception,r),r+=4,t.writeUInt16BE(e.keyTag,r),r+=2,$e.encode(e.signersName,t,r),r+=$e.encode.bytes,i.copy(t,r,0,i.length),r+=i.length,xi.encode.bytes=r-n,t.writeUInt16BE(xi.encode.bytes-2,n),t};xi.encode.bytes=0;xi.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);return t+=2,n.typeCovered=$s.toString(e.readUInt16BE(t)),t+=2,n.algorithm=e.readUInt8(t),t+=1,n.labels=e.readUInt8(t),t+=1,n.originalTTL=e.readUInt32BE(t),t+=4,n.expiration=e.readUInt32BE(t),t+=4,n.inception=e.readUInt32BE(t),t+=4,n.keyTag=e.readUInt16BE(t),t+=2,n.signersName=$e.decode(e,t),t+=$e.decode.bytes,n.signature=e.slice(t,r+i+2),t+=n.signature.length,xi.decode.bytes=t-r,n};xi.decode.bytes=0;xi.encodingLength=function(e){return 20+$e.encodingLength(e.signersName)+ke.byteLength(e.signature)};var Ni=Ne.rp={};Ni.encode=function(e,t,r){t||(t=ke.alloc(Ni.encodingLength(e))),r||(r=0);let n=r;return r+=2,$e.encode(e.mbox||".",t,r,{mail:!0}),r+=$e.encode.bytes,$e.encode(e.txt||".",t,r),r+=$e.encode.bytes,Ni.encode.bytes=r-n,t.writeUInt16BE(Ni.encode.bytes-2,n),t};Ni.encode.bytes=0;Ni.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mbox=$e.decode(e,t,{mail:!0})||".",t+=$e.decode.bytes,n.txt=$e.decode(e,t)||".",t+=$e.decode.bytes,Ni.decode.bytes=t-r,n};Ni.decode.bytes=0;Ni.encodingLength=function(e){return 2+$e.encodingLength(e.mbox||".")+$e.encodingLength(e.txt||".")};var wr={};wr.encode=function(e,t,r){t||(t=ke.alloc(wr.encodingLength(e))),r||(r=0);let n=r;for(var i=[],a=0;a>8]===void 0&&(i[s>>8]=[]),i[s>>8][s>>3&31]|=1<<7-(s&7)}for(a=0;a>8]=Math.max(t[n>>8]||0,n&255)}var i=0;for(r=0;r>15&1)===1,r.options=Rn.decode(e,t+8),t+=8+Rn.decode.bytes;else{let i=e.readUInt16BE(t+2);r.ttl=e.readUInt32BE(t+4),r.class=Jf.toString(i&mD),r.flush=!!(i&c0);let a=l0(r.type);r.data=a.decode(e,t+8),t+=8+a.decode.bytes}return Dr.decode.bytes=t-n,r};Dr.decode.bytes=0;Dr.encodingLength=function(e){let t=e.data!==null&&e.data!==void 0?e.data:e.options;return $e.encodingLength(e.name)+8+l0(e.type).encodingLength(t)};var pi=Ne.question={};pi.encode=function(e,t,r){t||(t=ke.alloc(pi.encodingLength(e))),r||(r=0);let n=r;return $e.encode(e.name,t,r),r+=$e.encode.bytes,t.writeUInt16BE($s.toType(e.type),r),r+=2,t.writeUInt16BE(Jf.toClass(e.class===void 0?"IN":e.class),r),r+=2,pi.encode.bytes=r-n,e};pi.encode.bytes=0;pi.decode=function(e,t){t||(t=0);let r=t,n={};return n.name=$e.decode(e,t),t+=$e.decode.bytes,n.type=$s.toString(e.readUInt16BE(t)),t+=2,n.class=Jf.toString(e.readUInt16BE(t)),t+=2,!!(n.class&ME)&&(n.class&=vD),pi.decode.bytes=t-r,n};pi.decode.bytes=0;pi.encodingLength=function(e){return $e.encodingLength(e.name)+4};Ne.AUTHORITATIVE_ANSWER=1024;Ne.TRUNCATED_RESPONSE=512;Ne.RECURSION_DESIRED=256;Ne.RECURSION_AVAILABLE=128;Ne.AUTHENTIC_DATA=32;Ne.CHECKING_DISABLED=16;Ne.DNSSEC_OK=32768;Ne.encode=function(e,t,r){let n=!t;n&&(t=ke.alloc(Ne.encodingLength(e))),r||(r=0);let i=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),di.encode(e,t,r),r+=di.encode.bytes,r=Hc(e.questions,pi,t,r),r=Hc(e.answers,Dr,t,r),r=Hc(e.authorities,Dr,t,r),r=Hc(e.additionals,Dr,t,r),Ne.encode.bytes=r-i,n&&Ne.encode.bytes!==t.length?t.slice(0,Ne.encode.bytes):t};Ne.encode.bytes=0;Ne.decode=function(e,t){t||(t=0);let r=t,n=di.decode(e,t);return t+=di.decode.bytes,t=Xf(n.questions,pi,e,t),t=Xf(n.answers,Dr,e,t),t=Xf(n.authorities,Dr,e,t),t=Xf(n.additionals,Dr,e,t),Ne.decode.bytes=t-r,n};Ne.decode.bytes=0;Ne.encodingLength=function(e){return di.encodingLength(e)+wo(e.questions||[],pi)+wo(e.answers||[],Dr)+wo(e.authorities||[],Dr)+wo(e.additionals||[],Dr)};Ne.streamEncode=function(e){let t=Ne.encode(e),r=ke.alloc(2);r.writeUInt16BE(t.byteLength);let n=ke.concat([r,t]);return Ne.streamEncode.bytes=n.byteLength,n};Ne.streamEncode.bytes=0;Ne.streamDecode=function(e){let t=e.readUInt16BE(0);if(e.byteLength{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",o=500,l="__lodash_placeholder__",h=1,d=2,E=4,p=1,f=2,A=1,g=2,S=4,w=8,y=16,F=32,D=64,I=128,j=256,M=512,_=30,P="...",k=800,H=16,K=1,W=2,G=3,z=1/0,X=9007199254740991,ie=17976931348623157e292,Se=NaN,we=4294967295,Ie=we-1,qe=we>>>1,oe=[["ary",I],["bind",A],["bindKey",g],["curry",w],["curryRight",y],["flip",M],["partial",F],["partialRight",D],["rearg",j]],Fe="[object Arguments]",Le="[object Array]",lr="[object AsyncFunction]",Pt="[object Boolean]",dt="[object Date]",zt="[object DOMException]",xt="[object Error]",nt="[object Function]",Dt="[object GeneratorFunction]",tt="[object Map]",mt="[object Number]",Yt="[object Null]",Je="[object Object]",Ht="[object Promise]",Un="[object Proxy]",fr="[object RegExp]",Ar="[object Set]",Zt="[object String]",Br="[object Symbol]",la="[object Undefined]",Mr="[object WeakMap]",vt="[object WeakSet]",Qt="[object ArrayBuffer]",Ze="[object DataView]",Pr="[object Float32Array]",fa="[object Float64Array]",ha="[object Int8Array]",pa="[object Int16Array]",da="[object Int32Array]",Gi="[object Uint8Array]",ga="[object Uint8ClampedArray]",xs="[object Uint16Array]",gi="[object Uint32Array]",zi=/\b__p \+= '';/g,au=/\b(__p \+=) '' \+/g,uu=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ou=/&(?:amp|lt|gt|quot|#39);/g,cu=/[&<>"']/g,lu=RegExp(ou.source),fu=RegExp(cu.source),hu=/<%-([\s\S]+?)%>/g,Do=/<%([\s\S]+?)%>/g,pu=/<%=([\s\S]+?)%>/g,$o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bo=/^\w*$/,Po=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ns=/[\\^$.*+?()[\]{}|]/g,Ro=RegExp(Ns.source),ma=/^\s+/,To=/\s/,Oo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,xo=/\{\n\/\* \[wrapped with (.+)\] \*/,No=/,? & /,ko=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Lo=/[()=,{}\[\]\/\s]/,Uo=/\\(\\)?/g,Ho=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,mi=/\w*$/,du=/^[-+]0x[0-9a-f]+$/i,jo=/^0b[01]+$/i,Mo=/^\[object .+?Constructor\]$/,qo=/^0o[0-7]+$/i,gu=/^(?:0|[1-9]\d*)$/,vi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,en=/($^)/,Vo=/['\n\r\u2028\u2029\\]/g,ks="\\ud800-\\udfff",En="\\u0300-\\u036f",Ko="\\ufe20-\\ufe2f",Go="\\u20d0-\\u20ff",mu=En+Ko+Go,va="\\u2700-\\u27bf",vu="a-z\\xdf-\\xf6\\xf8-\\xff",Ls="\\xac\\xb1\\xd7\\xf7",jt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",zo="\\u2000-\\u206f",Yo=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Eu="A-Z\\xc0-\\xd6\\xd8-\\xde",Ei="\\ufe0e\\ufe0f",hr=Ls+jt+zo+Yo,Ot="['\u2019]",Wo="["+ks+"]",Ea="["+hr+"]",pr="["+mu+"]",wa="\\d+",wu="["+va+"]",Au="["+vu+"]",Aa="[^"+ks+hr+wa+va+vu+Eu+"]",wi="\\ud83c[\\udffb-\\udfff]",ya="(?:"+pr+"|"+wi+")",yu="[^"+ks+"]",Sa="(?:\\ud83c[\\udde6-\\uddff]){2}",ba="[\\ud800-\\udbff][\\udc00-\\udfff]",qr="["+Eu+"]",R="\\u200d",O="(?:"+Au+"|"+Aa+")",U="(?:"+qr+"|"+Aa+")",Q="(?:"+Ot+"(?:d|ll|m|re|s|t|ve))?",de="(?:"+Ot+"(?:D|LL|M|RE|S|T|VE))?",ve=ya+"?",_e="["+Ei+"]?",Pe="(?:"+R+"(?:"+[yu,Sa,ba].join("|")+")"+_e+ve+")*",bt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",yr=_e+ve+Pe,Sr="(?:"+[wu,Sa,ba].join("|")+")"+yr,wn="(?:"+[yu+pr+"?",pr,Sa,ba,Wo].join("|")+")",Us=RegExp(Ot,"g"),Vr=RegExp(pr,"g"),br=RegExp(wi+"(?="+wi+")|"+wn+yr,"g"),Hs=RegExp([qr+"?"+Au+"+"+Q+"(?="+[Ea,qr,"$"].join("|")+")",U+"+"+de+"(?="+[Ea,qr+O,"$"].join("|")+")",qr+"?"+O+"+"+Q,qr+"+"+de,Mt,bt,wa,Sr].join("|"),"g"),Hn=RegExp("["+R+ks+mu+Ei+"]"),Ca=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Eh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wh=-1,$t={};$t[Pr]=$t[fa]=$t[ha]=$t[pa]=$t[da]=$t[Gi]=$t[ga]=$t[xs]=$t[gi]=!0,$t[Fe]=$t[Le]=$t[Qt]=$t[Pt]=$t[Ze]=$t[dt]=$t[xt]=$t[nt]=$t[tt]=$t[mt]=$t[Je]=$t[fr]=$t[Ar]=$t[Zt]=$t[Mr]=!1;var _t={};_t[Fe]=_t[Le]=_t[Qt]=_t[Ze]=_t[Pt]=_t[dt]=_t[Pr]=_t[fa]=_t[ha]=_t[pa]=_t[da]=_t[tt]=_t[mt]=_t[Je]=_t[fr]=_t[Ar]=_t[Zt]=_t[Br]=_t[Gi]=_t[ga]=_t[xs]=_t[gi]=!0,_t[xt]=_t[nt]=_t[Mr]=!1;var Ah={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},yh={"&":"&","<":"<",">":">",'"':""","'":"'"},Sh={"&":"&","<":"<",">":">",""":'"',"'":"'"},bh={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ch=parseFloat,Fh=parseInt,el=typeof global=="object"&&global&&global.Object===Object&&global,_h=typeof self=="object"&&self&&self.Object===Object&&self,er=el||_h||Function("return this")(),Xo=typeof yo=="object"&&yo&&!yo.nodeType&&yo,Yi=Xo&&typeof jc=="object"&&jc&&!jc.nodeType&&jc,tl=Yi&&Yi.exports===Xo,Jo=tl&&el.process,tn=function(){try{var re=Yi&&Yi.require&&Yi.require("util").types;return re||Jo&&Jo.binding&&Jo.binding("util")}catch{}}(),rl=tn&&tn.isArrayBuffer,nl=tn&&tn.isDate,il=tn&&tn.isMap,sl=tn&&tn.isRegExp,al=tn&&tn.isSet,ul=tn&&tn.isTypedArray;function Kr(re,le,ue){switch(ue.length){case 0:return re.call(le);case 1:return re.call(le,ue[0]);case 2:return re.call(le,ue[0],ue[1]);case 3:return re.call(le,ue[0],ue[1],ue[2])}return re.apply(le,ue)}function Ih(re,le,ue,Re){for(var Ge=-1,ct=re==null?0:re.length;++Ge-1}function Fa(re,le,ue){for(var Re=-1,Ge=re==null?0:re.length;++Re-1;);return ue}function fl(re,le){for(var ue=re.length;ue--&&js(le,re[ue],0)>-1;);return ue}function hl(re,le){for(var ue=re.length,Re=0;ue--;)re[ue]===le&&++Re;return Re}var nc=pe(Ah),Bh=pe(yh);function pl(re){return"\\"+bh[re]}function Ph(re,le){return re==null?e:re[le]}function Xi(re){return Hn.test(re)}function Rh(re){return Ca.test(re)}function Th(re){for(var le,ue=[];!(le=re.next()).done;)ue.push(le.value);return ue}function ic(re){var le=-1,ue=Array(re.size);return re.forEach(function(Re,Ge){ue[++le]=[Ge,Re]}),ue}function Cr(re,le){return function(ue){return re(le(ue))}}function Sn(re,le){for(var ue=-1,Re=re.length,Ge=0,ct=[];++ue-1}function zA(u,c){var v=this.__data__,C=Fl(v,u);return C<0?(++this.size,v.push([u,c])):v[C][1]=c,this}ts.prototype.clear=qA,ts.prototype.delete=VA,ts.prototype.get=KA,ts.prototype.has=GA,ts.prototype.set=zA;function rs(u){var c=-1,v=u==null?0:u.length;for(this.clear();++c=c?u:c)),u}function Vn(u,c,v,C,T,L){var Y,Z=c&h,ne=c&d,ge=c&E;if(v&&(Y=T?v(u,C,T,L):v(u)),Y!==e)return Y;if(!Lt(u))return u;var me=We(u);if(me){if(Y=Jy(u),!Z)return an(u,Y)}else{var Ee=Or(u),De=Ee==nt||Ee==Dt;if(Gs(u))return _1(u,Z);if(Ee==Je||Ee==Fe||De&&!T){if(Y=ne||De?{}:K1(u),!Z)return ne?Hy(u,cy(Y,u)):Uy(u,r1(Y,u))}else{if(!_t[Ee])return T?u:{};Y=Zy(u,Ee,Z)}}L||(L=new ii);var xe=L.get(u);if(xe)return xe;L.set(u,Y),Ag(u)?u.forEach(function(Ke){Y.add(Vn(Ke,c,v,Ke,u,L))}):Eg(u)&&u.forEach(function(Ke,ut){Y.set(ut,Vn(Ke,c,v,ut,u,L))});var Ve=ge?ne?hp:fp:ne?on:dr,rt=me?e:Ve(u);return rn(rt||u,function(Ke,ut){rt&&(ut=Ke,Ke=u[ut]),cc(Y,ut,Vn(Ke,c,v,ut,u,L))}),Y}function ly(u){var c=dr(u);return function(v){return n1(v,u,c)}}function n1(u,c,v){var C=v.length;if(u==null)return!C;for(u=Ct(u);C--;){var T=v[C],L=c[T],Y=u[T];if(Y===e&&!(T in u)||!L(Y))return!1}return!0}function i1(u,c,v){if(typeof u!="function")throw new sn(i);return mc(function(){u.apply(e,v)},c)}function lc(u,c,v,C){var T=-1,L=Gr,Y=!0,Z=u.length,ne=[],ge=c.length;if(!Z)return ne;v&&(c=te(c,Rr(v))),C?(L=Fa,Y=!1):c.length>=r&&(L=Ia,Y=!1,c=new $a(c));e:for(;++TT?0:T+v),C=C===e||C>T?T:et(C),C<0&&(C+=T),C=v>C?0:Sg(C);v0&&v(Z)?c>1?Fr(Z,c-1,v,C,T):yn(T,Z):C||(T[T.length]=Z)}return T}var zh=R1(),u1=R1(!0);function yi(u,c){return u&&zh(u,c,dr)}function Yh(u,c){return u&&u1(u,c,dr)}function Il(u,c){return An(c,function(v){return us(u[v])})}function Pa(u,c){c=Vs(c,u);for(var v=0,C=c.length;u!=null&&vc}function py(u,c){return u!=null&&ht.call(u,c)}function dy(u,c){return u!=null&&c in Ct(u)}function gy(u,c,v){return u>=Tr(c,v)&&u=120&&me.length>=120)?new $a(Y&&me):e}me=u[0];var Ee=-1,De=Z[0];e:for(;++Ee-1;)Z!==u&&Et.call(Z,ne,1),Et.call(u,ne,1);return u}function E1(u,c){for(var v=u?c.length:0,C=v-1;v--;){var T=c[v];if(v==C||T!==L){var L=T;as(T)?Et.call(u,T,1):ip(u,T)}}return u}function tp(u,c){return u+se(Z0()*(c-u+1))}function Dy(u,c,v,C){for(var T=-1,L=ir(q((c-u)/(v||1)),0),Y=ue(L);L--;)Y[C?L:++T]=u,u+=v;return Y}function rp(u,c){var v="";if(!u||c<1||c>X)return v;do c%2&&(v+=u),c=se(c/2),c&&(u+=u);while(c);return v}function it(u,c){return wp(Y1(u,c,cn),u+"")}function $y(u){return t1(Mu(u))}function By(u,c){var v=Mu(u);return Ll(v,Ba(c,0,v.length))}function pc(u,c,v,C){if(!Lt(u))return u;c=Vs(c,u);for(var T=-1,L=c.length,Y=L-1,Z=u;Z!=null&&++TT?0:T+c),v=v>T?T:v,v<0&&(v+=T),T=c>v?0:v-c>>>0,c>>>=0;for(var L=ue(T);++C>>1,Y=u[L];Y!==null&&!Fn(Y)&&(v?Y<=c:Y=r){var ge=c?null:Vy(u);if(ge)return bn(ge);Y=!1,T=Ia,ne=new $a}else ne=c?[]:Z;e:for(;++C=C?u:Kn(u,c,v)}var F1=b||function(u){return er.clearTimeout(u)};function _1(u,c){if(c)return u.slice();var v=u.length,C=El?El(v):new u.constructor(v);return u.copy(C),C}function op(u){var c=new u.constructor(u.byteLength);return new Ru(c).set(new Ru(u)),c}function xy(u,c){var v=c?op(u.buffer):u.buffer;return new u.constructor(v,u.byteOffset,u.byteLength)}function Ny(u){var c=new u.constructor(u.source,mi.exec(u));return c.lastIndex=u.lastIndex,c}function ky(u){return oc?Ct(oc.call(u)):{}}function I1(u,c){var v=c?op(u.buffer):u.buffer;return new u.constructor(v,u.byteOffset,u.length)}function D1(u,c){if(u!==c){var v=u!==e,C=u===null,T=u===u,L=Fn(u),Y=c!==e,Z=c===null,ne=c===c,ge=Fn(c);if(!Z&&!ge&&!L&&u>c||L&&Y&&ne&&!Z&&!ge||C&&Y&&ne||!v&&ne||!T)return 1;if(!C&&!L&&!ge&&u=Z)return ne;var ge=v[C];return ne*(ge=="desc"?-1:1)}}return u.index-c.index}function $1(u,c,v,C){for(var T=-1,L=u.length,Y=v.length,Z=-1,ne=c.length,ge=ir(L-Y,0),me=ue(ne+ge),Ee=!C;++Z1?v[T-1]:e,Y=T>2?v[2]:e;for(L=u.length>3&&typeof L=="function"?(T--,L):e,Y&&Yr(v[0],v[1],Y)&&(L=T<3?e:L,T=1),c=Ct(c);++C-1?T[L?c[Y]:Y]:e}}function x1(u){return ss(function(c){var v=c.length,C=v,T=qn.prototype.thru;for(u&&c.reverse();C--;){var L=c[C];if(typeof L!="function")throw new sn(i);if(T&&!Y&&Nl(L)=="wrapper")var Y=new qn([],!0)}for(C=Y?C:v;++C1&<.reverse(),me&&neZ))return!1;var ge=L.get(u),me=L.get(c);if(ge&&me)return ge==c&&me==u;var Ee=-1,De=!0,xe=v&f?new $a:e;for(L.set(u,c),L.set(c,u);++Ee1?"& ":"")+c[C],c=c.join(v>2?", ":" "),u.replace(Oo,`{ +/* [wrapped with `+c+`] */ +`)}function e4(u){return We(u)||Oa(u)||!!(yl&&u&&u[yl])}function as(u,c){var v=typeof u;return c=c??X,!!c&&(v=="number"||v!="symbol"&&gu.test(u))&&u>-1&&u%1==0&&u0){if(++c>=k)return arguments[0]}else c=0;return u.apply(e,arguments)}}function Ll(u,c){var v=-1,C=u.length,T=C-1;for(c=c===e?C:c;++v1?u[c-1]:e;return v=typeof v=="function"?(u.pop(),v):e,ag(u,v)});function ug(u){var c=N(u);return c.__chain__=!0,c}function fS(u,c){return c(u),u}function Ul(u,c){return c(u)}var hS=ss(function(u){var c=u.length,v=c?u[0]:0,C=this.__wrapped__,T=function(L){return Gh(L,u)};return c>1||this.__actions__.length||!(C instanceof ot)||!as(v)?this.thru(T):(C=C.slice(v,+v+(c?1:0)),C.__actions__.push({func:Ul,args:[T],thisArg:e}),new qn(C,this.__chain__).thru(function(L){return c&&!L.length&&L.push(e),L}))});function pS(){return ug(this)}function dS(){return new qn(this.value(),this.__chain__)}function gS(){this.__values__===e&&(this.__values__=yg(this.value()));var u=this.__index__>=this.__values__.length,c=u?e:this.__values__[this.__index__++];return{done:u,value:c}}function mS(){return this}function vS(u){for(var c,v=this;v instanceof Cl;){var C=eg(v);C.__index__=0,C.__values__=e,c?T.__wrapped__=C:c=C;var T=C;v=v.__wrapped__}return T.__wrapped__=u,c}function ES(){var u=this.__wrapped__;if(u instanceof ot){var c=u;return this.__actions__.length&&(c=new ot(this)),c=c.reverse(),c.__actions__.push({func:Ul,args:[Ap],thisArg:e}),new qn(c,this.__chain__)}return this.thru(Ap)}function wS(){return b1(this.__wrapped__,this.__actions__)}var AS=Pl(function(u,c,v){ht.call(u,v)?++u[v]:ns(u,v,1)});function yS(u,c,v){var C=We(u)?Ye:fy;return v&&Yr(u,c,v)&&(c=e),C(u,je(c,3))}function SS(u,c){var v=We(u)?An:a1;return v(u,je(c,3))}var bS=O1(tg),CS=O1(rg);function FS(u,c){return Fr(Hl(u,c),1)}function _S(u,c){return Fr(Hl(u,c),z)}function IS(u,c,v){return v=v===e?1:et(v),Fr(Hl(u,c),v)}function og(u,c){var v=We(u)?rn:Ms;return v(u,je(c,3))}function cg(u,c){var v=We(u)?B:s1;return v(u,je(c,3))}var DS=Pl(function(u,c,v){ht.call(u,v)?u[v].push(c):ns(u,v,[c])});function $S(u,c,v,C){u=un(u)?u:Mu(u),v=v&&!C?et(v):0;var T=u.length;return v<0&&(v=ir(T+v,0)),Kl(u)?v<=T&&u.indexOf(c,v)>-1:!!T&&js(u,c,v)>-1}var BS=it(function(u,c,v){var C=-1,T=typeof c=="function",L=un(u)?ue(u.length):[];return Ms(u,function(Y){L[++C]=T?Kr(c,Y,v):fc(Y,c,v)}),L}),PS=Pl(function(u,c,v){ns(u,v,c)});function Hl(u,c){var v=We(u)?te:h1;return v(u,je(c,3))}function RS(u,c,v,C){return u==null?[]:(We(c)||(c=c==null?[]:[c]),v=C?e:v,We(v)||(v=v==null?[]:[v]),m1(u,c,v))}var TS=Pl(function(u,c,v){u[v?0:1].push(c)},function(){return[[],[]]});function OS(u,c,v){var C=We(u)?Zo:cl,T=arguments.length<3;return C(u,je(c,4),v,T,Ms)}function xS(u,c,v){var C=We(u)?X0:cl,T=arguments.length<3;return C(u,je(c,4),v,T,s1)}function NS(u,c){var v=We(u)?An:a1;return v(u,ql(je(c,3)))}function kS(u){var c=We(u)?t1:$y;return c(u)}function LS(u,c,v){(v?Yr(u,c,v):c===e)?c=1:c=et(c);var C=We(u)?ay:By;return C(u,c)}function US(u){var c=We(u)?uy:Ry;return c(u)}function HS(u){if(u==null)return 0;if(un(u))return Kl(u)?Ji(u):u.length;var c=Or(u);return c==tt||c==Ar?u.size:Zh(u).length}function jS(u,c,v){var C=We(u)?ol:Ty;return v&&Yr(u,c,v)&&(c=e),C(u,je(c,3))}var MS=it(function(u,c){if(u==null)return[];var v=c.length;return v>1&&Yr(u,c[0],c[1])?c=[]:v>2&&Yr(c[0],c[1],c[2])&&(c=[c[0]]),m1(u,Fr(c,1),[])}),jl=x||function(){return er.Date.now()};function qS(u,c){if(typeof c!="function")throw new sn(i);return u=et(u),function(){if(--u<1)return c.apply(this,arguments)}}function lg(u,c,v){return c=v?e:c,c=u&&c==null?u.length:c,is(u,I,e,e,e,e,c)}function fg(u,c){var v;if(typeof c!="function")throw new sn(i);return u=et(u),function(){return--u>0&&(v=c.apply(this,arguments)),u<=1&&(c=e),v}}var Sp=it(function(u,c,v){var C=A;if(v.length){var T=Sn(v,Hu(Sp));C|=F}return is(u,C,c,v,T)}),hg=it(function(u,c,v){var C=A|g;if(v.length){var T=Sn(v,Hu(hg));C|=F}return is(c,C,u,v,T)});function pg(u,c,v){c=v?e:c;var C=is(u,w,e,e,e,e,e,c);return C.placeholder=pg.placeholder,C}function dg(u,c,v){c=v?e:c;var C=is(u,y,e,e,e,e,e,c);return C.placeholder=dg.placeholder,C}function gg(u,c,v){var C,T,L,Y,Z,ne,ge=0,me=!1,Ee=!1,De=!0;if(typeof u!="function")throw new sn(i);c=zn(c)||0,Lt(v)&&(me=!!v.leading,Ee="maxWait"in v,L=Ee?ir(zn(v.maxWait)||0,c):L,De="trailing"in v?!!v.trailing:De);function xe(Xt){var ai=C,cs=T;return C=T=e,ge=Xt,Y=u.apply(cs,ai),Y}function Ve(Xt){return ge=Xt,Z=mc(ut,c),me?xe(Xt):Y}function rt(Xt){var ai=Xt-ne,cs=Xt-ge,Og=c-ai;return Ee?Tr(Og,L-cs):Og}function Ke(Xt){var ai=Xt-ne,cs=Xt-ge;return ne===e||ai>=c||ai<0||Ee&&cs>=L}function ut(){var Xt=jl();if(Ke(Xt))return lt(Xt);Z=mc(ut,rt(Xt))}function lt(Xt){return Z=e,De&&C?xe(Xt):(C=T=e,Y)}function _n(){Z!==e&&F1(Z),ge=0,C=ne=T=Z=e}function Wr(){return Z===e?Y:lt(jl())}function In(){var Xt=jl(),ai=Ke(Xt);if(C=arguments,T=this,ne=Xt,ai){if(Z===e)return Ve(ne);if(Ee)return F1(Z),Z=mc(ut,c),xe(ne)}return Z===e&&(Z=mc(ut,c)),Y}return In.cancel=_n,In.flush=Wr,In}var VS=it(function(u,c){return i1(u,1,c)}),KS=it(function(u,c,v){return i1(u,zn(c)||0,v)});function GS(u){return is(u,M)}function Ml(u,c){if(typeof u!="function"||c!=null&&typeof c!="function")throw new sn(i);var v=function(){var C=arguments,T=c?c.apply(this,C):C[0],L=v.cache;if(L.has(T))return L.get(T);var Y=u.apply(this,C);return v.cache=L.set(T,Y)||L,Y};return v.cache=new(Ml.Cache||rs),v}Ml.Cache=rs;function ql(u){if(typeof u!="function")throw new sn(i);return function(){var c=arguments;switch(c.length){case 0:return!u.call(this);case 1:return!u.call(this,c[0]);case 2:return!u.call(this,c[0],c[1]);case 3:return!u.call(this,c[0],c[1],c[2])}return!u.apply(this,c)}}function zS(u){return fg(2,u)}var YS=Oy(function(u,c){c=c.length==1&&We(c[0])?te(c[0],Rr(je())):te(Fr(c,1),Rr(je()));var v=c.length;return it(function(C){for(var T=-1,L=Tr(C.length,v);++T=c}),Oa=c1(function(){return arguments}())?c1:function(u){return Vt(u)&&ht.call(u,"callee")&&!Al.call(u,"callee")},We=ue.isArray,c6=rl?Rr(rl):vy;function un(u){return u!=null&&Vl(u.length)&&!us(u)}function Wt(u){return Vt(u)&&un(u)}function l6(u){return u===!0||u===!1||Vt(u)&&zr(u)==Pt}var Gs=Ft||Op,f6=nl?Rr(nl):Ey;function h6(u){return Vt(u)&&u.nodeType===1&&!vc(u)}function p6(u){if(u==null)return!0;if(un(u)&&(We(u)||typeof u=="string"||typeof u.splice=="function"||Gs(u)||ju(u)||Oa(u)))return!u.length;var c=Or(u);if(c==tt||c==Ar)return!u.size;if(gc(u))return!Zh(u).length;for(var v in u)if(ht.call(u,v))return!1;return!0}function d6(u,c){return hc(u,c)}function g6(u,c,v){v=typeof v=="function"?v:e;var C=v?v(u,c):e;return C===e?hc(u,c,e,v):!!C}function Cp(u){if(!Vt(u))return!1;var c=zr(u);return c==xt||c==zt||typeof u.message=="string"&&typeof u.name=="string"&&!vc(u)}function m6(u){return typeof u=="number"&&qt(u)}function us(u){if(!Lt(u))return!1;var c=zr(u);return c==nt||c==Dt||c==lr||c==Un}function vg(u){return typeof u=="number"&&u==et(u)}function Vl(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=X}function Lt(u){var c=typeof u;return u!=null&&(c=="object"||c=="function")}function Vt(u){return u!=null&&typeof u=="object"}var Eg=il?Rr(il):Ay;function v6(u,c){return u===c||Jh(u,c,dp(c))}function E6(u,c,v){return v=typeof v=="function"?v:e,Jh(u,c,dp(c),v)}function w6(u){return wg(u)&&u!=+u}function A6(u){if(n4(u))throw new Ge(n);return l1(u)}function y6(u){return u===null}function S6(u){return u==null}function wg(u){return typeof u=="number"||Vt(u)&&zr(u)==mt}function vc(u){if(!Vt(u)||zr(u)!=Je)return!1;var c=Tu(u);if(c===null)return!0;var v=ht.call(c,"constructor")&&c.constructor;return typeof v=="function"&&v instanceof v&&Du.call(v)==Hh}var Fp=sl?Rr(sl):yy;function b6(u){return vg(u)&&u>=-X&&u<=X}var Ag=al?Rr(al):Sy;function Kl(u){return typeof u=="string"||!We(u)&&Vt(u)&&zr(u)==Zt}function Fn(u){return typeof u=="symbol"||Vt(u)&&zr(u)==Br}var ju=ul?Rr(ul):by;function C6(u){return u===e}function F6(u){return Vt(u)&&Or(u)==Mr}function _6(u){return Vt(u)&&zr(u)==vt}var I6=xl(Qh),D6=xl(function(u,c){return u<=c});function yg(u){if(!u)return[];if(un(u))return Kl(u)?nn(u):an(u);if(Qi&&u[Qi])return Th(u[Qi]());var c=Or(u),v=c==tt?ic:c==Ar?bn:Mu;return v(u)}function os(u){if(!u)return u===0?u:0;if(u=zn(u),u===z||u===-z){var c=u<0?-1:1;return c*ie}return u===u?u:0}function et(u){var c=os(u),v=c%1;return c===c?v?c-v:c:0}function Sg(u){return u?Ba(et(u),0,we):0}function zn(u){if(typeof u=="number")return u;if(Fn(u))return Se;if(Lt(u)){var c=typeof u.valueOf=="function"?u.valueOf():u;u=Lt(c)?c+"":c}if(typeof u!="string")return u===0?u:+u;u=rc(u);var v=jo.test(u);return v||qo.test(u)?Fh(u.slice(2),v?2:8):du.test(u)?Se:+u}function bg(u){return Si(u,on(u))}function $6(u){return u?Ba(et(u),-X,X):u===0?u:0}function At(u){return u==null?"":Cn(u)}var B6=Lu(function(u,c){if(gc(c)||un(c)){Si(c,dr(c),u);return}for(var v in c)ht.call(c,v)&&cc(u,v,c[v])}),Cg=Lu(function(u,c){Si(c,on(c),u)}),Gl=Lu(function(u,c,v,C){Si(c,on(c),u,C)}),P6=Lu(function(u,c,v,C){Si(c,dr(c),u,C)}),R6=ss(Gh);function T6(u,c){var v=ku(u);return c==null?v:r1(v,c)}var O6=it(function(u,c){u=Ct(u);var v=-1,C=c.length,T=C>2?c[2]:e;for(T&&Yr(c[0],c[1],T)&&(C=1);++v1),L}),Si(u,hp(u),v),C&&(v=Vn(v,h|d|E,Ky));for(var T=c.length;T--;)ip(v,c[T]);return v});function Z6(u,c){return _g(u,ql(je(c)))}var Q6=ss(function(u,c){return u==null?{}:_y(u,c)});function _g(u,c){if(u==null)return{};var v=te(hp(u),function(C){return[C]});return c=je(c),v1(u,v,function(C,T){return c(C,T[0])})}function eb(u,c,v){c=Vs(c,u);var C=-1,T=c.length;for(T||(T=1,u=e);++Cc){var C=u;u=c,c=C}if(v||u%1||c%1){var T=Z0();return Tr(u+T*(c-u+Ch("1e-"+((T+"").length-1))),c)}return tp(u,c)}var fb=Uu(function(u,c,v){return c=c.toLowerCase(),u+(v?$g(c):c)});function $g(u){return Dp(At(u).toLowerCase())}function Bg(u){return u=At(u),u&&u.replace(vi,nc).replace(Vr,"")}function hb(u,c,v){u=At(u),c=Cn(c);var C=u.length;v=v===e?C:Ba(et(v),0,C);var T=v;return v-=c.length,v>=0&&u.slice(v,T)==c}function pb(u){return u=At(u),u&&fu.test(u)?u.replace(cu,Bh):u}function db(u){return u=At(u),u&&Ro.test(u)?u.replace(Ns,"\\$&"):u}var gb=Uu(function(u,c,v){return u+(v?"-":"")+c.toLowerCase()}),mb=Uu(function(u,c,v){return u+(v?" ":"")+c.toLowerCase()}),vb=T1("toLowerCase");function Eb(u,c,v){u=At(u),c=et(c);var C=c?Ji(u):0;if(!c||C>=c)return u;var T=(c-C)/2;return Ol(se(T),v)+u+Ol(q(T),v)}function wb(u,c,v){u=At(u),c=et(c);var C=c?Ji(u):0;return c&&C>>0,v?(u=At(u),u&&(typeof c=="string"||c!=null&&!Fp(c))&&(c=Cn(c),!c&&Xi(u))?Ks(nn(u),0,v):u.split(c,v)):[]}var _b=Uu(function(u,c,v){return u+(v?" ":"")+Dp(c)});function Ib(u,c,v){return u=At(u),v=v==null?0:Ba(et(v),0,u.length),c=Cn(c),u.slice(v,v+c.length)==c}function Db(u,c,v){var C=N.templateSettings;v&&Yr(u,c,v)&&(c=e),u=At(u),c=Gl({},c,C,H1);var T=Gl({},c.imports,C.imports,H1),L=dr(T),Y=_a(T,L),Z,ne,ge=0,me=c.interpolate||en,Ee="__p += '",De=_u((c.escape||en).source+"|"+me.source+"|"+(me===pu?Ho:en).source+"|"+(c.evaluate||en).source+"|$","g"),xe="//# sourceURL="+(ht.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++wh+"]")+` +`;u.replace(De,function(Ke,ut,lt,_n,Wr,In){return lt||(lt=_n),Ee+=u.slice(ge,In).replace(Vo,pl),ut&&(Z=!0,Ee+=`' + +__e(`+ut+`) + +'`),Wr&&(ne=!0,Ee+=`'; +`+Wr+`; +__p += '`),lt&&(Ee+=`' + +((__t = (`+lt+`)) == null ? '' : __t) + +'`),ge=In+Ke.length,Ke}),Ee+=`'; +`;var Ve=ht.call(c,"variable")&&c.variable;if(!Ve)Ee=`with (obj) { +`+Ee+` +} +`;else if(Lo.test(Ve))throw new Ge(a);Ee=(ne?Ee.replace(zi,""):Ee).replace(au,"$1").replace(uu,"$1;"),Ee="function("+(Ve||"obj")+`) { +`+(Ve?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(Z?", __e = _.escape":"")+(ne?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Ee+`return __p +}`;var rt=Rg(function(){return ct(L,xe+"return "+Ee).apply(e,Y)});if(rt.source=Ee,Cp(rt))throw rt;return rt}function $b(u){return At(u).toLowerCase()}function Bb(u){return At(u).toUpperCase()}function Pb(u,c,v){if(u=At(u),u&&(v||c===e))return rc(u);if(!u||!(c=Cn(c)))return u;var C=nn(u),T=nn(c),L=bu(C,T),Y=fl(C,T)+1;return Ks(C,L,Y).join("")}function Rb(u,c,v){if(u=At(u),u&&(v||c===e))return u.slice(0,Fu(u)+1);if(!u||!(c=Cn(c)))return u;var C=nn(u),T=fl(C,nn(c))+1;return Ks(C,0,T).join("")}function Tb(u,c,v){if(u=At(u),u&&(v||c===e))return u.replace(ma,"");if(!u||!(c=Cn(c)))return u;var C=nn(u),T=bu(C,nn(c));return Ks(C,T).join("")}function Ob(u,c){var v=_,C=P;if(Lt(c)){var T="separator"in c?c.separator:T;v="length"in c?et(c.length):v,C="omission"in c?Cn(c.omission):C}u=At(u);var L=u.length;if(Xi(u)){var Y=nn(u);L=Y.length}if(v>=L)return u;var Z=v-Ji(C);if(Z<1)return C;var ne=Y?Ks(Y,0,Z).join(""):u.slice(0,Z);if(T===e)return ne+C;if(Y&&(Z+=ne.length-Z),Fp(T)){if(u.slice(Z).search(T)){var ge,me=ne;for(T.global||(T=_u(T.source,At(mi.exec(T))+"g")),T.lastIndex=0;ge=T.exec(me);)var Ee=ge.index;ne=ne.slice(0,Ee===e?Z:Ee)}}else if(u.indexOf(Cn(T),Z)!=Z){var De=ne.lastIndexOf(T);De>-1&&(ne=ne.slice(0,De))}return ne+C}function xb(u){return u=At(u),u&&lu.test(u)?u.replace(ou,gl):u}var Nb=Uu(function(u,c,v){return u+(v?" ":"")+c.toUpperCase()}),Dp=T1("toUpperCase");function Pg(u,c,v){return u=At(u),c=v?e:c,c===e?Rh(u)?Nh(u):Qo(u):u.match(c)||[]}var Rg=it(function(u,c){try{return Kr(u,e,c)}catch(v){return Cp(v)?v:new Ge(v)}}),kb=ss(function(u,c){return rn(c,function(v){v=bi(v),ns(u,v,Sp(u[v],u))}),u});function Lb(u){var c=u==null?0:u.length,v=je();return u=c?te(u,function(C){if(typeof C[1]!="function")throw new sn(i);return[v(C[0]),C[1]]}):[],it(function(C){for(var T=-1;++TX)return[];var v=we,C=Tr(u,we);c=je(c),u-=we;for(var T=tc(C,c);++v0||c<0)?new ot(v):(u<0?v=v.takeRight(-u):u&&(v=v.drop(u)),c!==e&&(c=et(c),v=c<0?v.dropRight(-c):v.take(c-u)),v)},ot.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},ot.prototype.toArray=function(){return this.take(we)},yi(ot.prototype,function(u,c){var v=/^(?:filter|find|map|reject)|While$/.test(c),C=/^(?:head|last)$/.test(c),T=N[C?"take"+(c=="last"?"Right":""):c],L=C||/^find/.test(c);T&&(N.prototype[c]=function(){var Y=this.__wrapped__,Z=C?[1]:arguments,ne=Y instanceof ot,ge=Z[0],me=ne||We(Y),Ee=function(ut){var lt=T.apply(N,yn([ut],Z));return C&&De?lt[0]:lt};me&&v&&typeof ge=="function"&&ge.length!=1&&(ne=me=!1);var De=this.__chain__,xe=!!this.__actions__.length,Ve=L&&!De,rt=ne&&!xe;if(!L&&me){Y=rt?Y:new ot(this);var Ke=u.apply(Y,Z);return Ke.__actions__.push({func:Ul,args:[Ee],thisArg:e}),new qn(Ke,De)}return Ve&&rt?u.apply(this,Z):(Ke=this.thru(Ee),Ve?C?Ke.value()[0]:Ke.value():Ke)})}),rn(["pop","push","shift","sort","splice","unshift"],function(u){var c=Iu[u],v=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",C=/^(?:pop|shift)$/.test(u);N.prototype[u]=function(){var T=arguments;if(C&&!this.__chain__){var L=this.value();return c.apply(We(L)?L:[],T)}return this[v](function(Y){return c.apply(We(Y)?Y:[],T)})}}),yi(ot.prototype,function(u,c){var v=N[c];if(v){var C=v.name+"";ht.call(Nu,C)||(Nu[C]=[]),Nu[C].push({name:c,func:v})}}),Nu[Rl(e,g).name]=[{name:"wrapper",func:e}],ot.prototype.clone=xA,ot.prototype.reverse=NA,ot.prototype.value=kA,N.prototype.at=hS,N.prototype.chain=pS,N.prototype.commit=dS,N.prototype.next=gS,N.prototype.plant=vS,N.prototype.reverse=ES,N.prototype.toJSON=N.prototype.valueOf=N.prototype.value=wS,N.prototype.first=N.prototype.head,Qi&&(N.prototype[Qi]=mS),N},Mn=kh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(er._=Mn,define(function(){return Mn})):Yi?((Yi.exports=Mn)._=Mn,Xo._=Mn):er._=Mn}).call(yo)});var ch=ye((Hx,cw)=>{"use strict";var uB=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},S0=class e extends Error{constructor(t,r,n){super(t),uB(this,e.prototype),this.name="GrammarError",this.location=r,n===void 0&&(n=[]),this.diagnostics=n,this.stage=null,this.problems=[["error",t,r,n]]}toString(){let t=super.toString();this.location&&(t+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(t+=`${this.location.source}:`),t+=`${this.location.start.line}:${this.location.start.column}`);for(let r of this.diagnostics)t+=` + from `,r.location.source!==void 0&&r.location.source!==null&&(t+=`${r.location.source}:`),t+=`${r.location.start.line}:${r.location.start.column}: ${r.message}`;return t}format(t){let r=t.map(({source:a,text:s})=>({source:a,text:s.split(/\r\n|\n|\r/g)}));function n(a,s,o=""){let l="",h=r.find(({source:E})=>E===a.source),d=a.start;if(h){let E=a.end,p=h.text[d.line-1],A=(d.line===E.line?E.column:p.length+1)-d.column||1;o&&(l+=` +note: ${o}`),l+=` + --> ${a.source}:${d.line}:${d.column} +${"".padEnd(s)} | +${d.line.toString().padStart(s)} | ${p} +${"".padEnd(s)} | ${"".padEnd(d.column-1)}${"".padEnd(A,"^")}`}else l+=` + at ${a.source}:${d.line}:${d.column}`,o&&(l+=`: ${o}`);return l}function i(a,s,o,l=[]){let h;o?h=l.reduce((E,{location:p})=>Math.max(E,p.start.line),o.start.line):h=Math.max.apply(null,l.map(E=>E.location.start.line)),h=h.toString().length;let d=`${a}: ${s}`;o&&(d+=n(o,h));for(let E of l)d+=n(E.location,h,E.message);return d}return this.problems.filter(a=>a[0]!=="info").map(a=>i(...a)).join(` + +`)}};cw.exports=S0});var ti=ye((jx,lw)=>{"use strict";var oB={build(e){function t(s,...o){return e[s.type](s,...o)}function r(){}function n(s,...o){return t(s.expression,...o)}function i(s){return function(o,...l){o[s].forEach(h=>t(h,...l))}}let a={grammar(s,...o){s.topLevelInitializer&&t(s.topLevelInitializer,...o),s.initializer&&t(s.initializer,...o),s.rules.forEach(l=>t(l,...o))},top_level_initializer:r,initializer:r,rule:n,named:n,choice:i("alternatives"),action:n,sequence:i("elements"),labeled:n,text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,group:n,semantic_and:r,semantic_not:r,rule_ref:r,literal:r,class:r,any:r};return Object.keys(a).forEach(s=>{Object.prototype.hasOwnProperty.call(e,s)||(e[s]=a[s])}),t}};lw.exports=oB});var sa=ye((Mx,hw)=>{"use strict";var cB=ti(),fw={findRule(e,t){for(let r=0;r{"use strict";var lB={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};pw.exports=lB});var C0=ye((Vx,dw)=>{"use strict";var fB=ti(),hB=sa(),pB=ch(),zc=1,su=0,Yc=-1;function lh(e){function t(s){return s.match=su}function r(s){return a(s.expression),s.match=zc}function n(s){return s.match=a(s.expression)}function i(s,o){let l=s.length,h=0,d=0;for(let E=0;E0?Yc:su}let a=fB.build({rule(s){let o,l=0;if(typeof s.match>"u"){s.match=su;do if(o=s.match,s.match=a(s.expression),++l>6)throw new pB("Infinity cycle detected when trying to evaluate node match result",s.location);while(o!==s.match)}return s.match},named:n,choice(s){return s.match=i(s.alternatives,!0)},action:n,sequence(s){return s.match=i(s.elements,!1)},labeled:n,text:n,simple_and:n,simple_not(s){return s.match=-a(s.expression)},optional:r,zero_or_more:r,one_or_more:n,group:n,semantic_and:t,semantic_not:t,rule_ref(s){let o=hB.findRule(e,s.name);return s.match=a(o)},literal(s){let o=s.value.length===0?zc:su;return s.match=o},class(s){let o=s.parts.length===0?Yc:su;return s.match=o},any:t});a(e)}lh.ALWAYS_MATCH=zc;lh.SOMETIMES_MATCH=su;lh.NEVER_MATCH=Yc;dw.exports=lh});var mw=ye((Kx,gw)=>{"use strict";var dB=sa(),Be=b0(),gB=ti(),{ALWAYS_MATCH:Co,SOMETIMES_MATCH:F0,NEVER_MATCH:_0}=C0();function mB(e){let t=[],r=[],n=[],i=[];function a(y){let F=t.indexOf(y);return F===-1?t.push(y)-1:F}function s(y){let F={value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase},D=JSON.stringify(F),I=r.findIndex(j=>JSON.stringify(j)===D);return I===-1?r.push(F)-1:I}function o(y){let F=JSON.stringify(y),D=n.findIndex(I=>JSON.stringify(I)===F);return D===-1?n.push(y)-1:D}function l(y,F,D){let I={predicate:y,params:F,body:D.code,location:D.codeLocation},j=JSON.stringify(I),M=i.findIndex(_=>JSON.stringify(_)===j);return M===-1?i.push(I)-1:M}function h(y){let F={};return Object.keys(y).forEach(D=>{F[D]=y[D]}),F}function d(y,...F){return y.concat(...F)}function E(y,F,D,I){return y===Co?D:y===_0?I:F.concat([D.length,I.length],D,I)}function p(y,F){return y.concat([F.length],F)}function f(y,F,D,I){let j=Object.keys(D).map(M=>I-D[M]);return[Be.CALL,y,F,j.length].concat(j)}function A(y,F,D){let I=y.match|0;return d([Be.PUSH_CURR_POS],[Be.SILENT_FAILS_ON],w(y,{sp:D.sp+1,env:h(D.env),action:null}),[Be.SILENT_FAILS_OFF],E(F?-I:I,[F?Be.IF_ERROR:Be.IF_NOT_ERROR],d([Be.POP],[F?Be.POP:Be.POP_CURR_POS],[Be.PUSH_UNDEFINED]),d([Be.POP],[F?Be.POP_CURR_POS:Be.POP],[Be.PUSH_FAILED])))}function g(y,F,D){let I=l(!0,Object.keys(D.env),y);return d([Be.UPDATE_SAVED_POS],f(I,0,D.env,D.sp),E(y.match|0,[Be.IF],d([Be.POP],F?[Be.PUSH_FAILED]:[Be.PUSH_UNDEFINED]),d([Be.POP],F?[Be.PUSH_UNDEFINED]:[Be.PUSH_FAILED])))}function S(y){return p([Be.WHILE_NOT_ERROR],d([Be.APPEND],y))}let w=gB.build({grammar(y){y.rules.forEach(w),y.literals=t,y.classes=r,y.expectations=n,y.functions=i},rule(y){y.bytecode=w(y.expression,{sp:-1,env:{},pluck:[],action:null})},named(y,F){let D=y.match|0,I=D===_0?null:o({type:"rule",value:y.name});return d([Be.SILENT_FAILS_ON],w(y.expression,F),[Be.SILENT_FAILS_OFF],E(D,[Be.IF_ERROR],[Be.FAIL,I],[]))},choice(y,F){function D(I,j){let M=I[0].match|0,_=w(I[0],{sp:j.sp,env:h(j.env),action:null});return M===Co?_:d(_,I.length>1?E(F0,[Be.IF_ERROR],d([Be.POP],D(I.slice(1),j)),[]):[])}return D(y.alternatives,F)},action(y,F){let D=h(F.env),I=y.expression.type!=="sequence"||y.expression.elements.length===0,j=w(y.expression,{sp:F.sp+(I?1:0),env:D,action:y}),M=y.expression.match|0,_=I&&M!==_0?l(!1,Object.keys(D),y):null;return I?d([Be.PUSH_CURR_POS],j,E(M,[Be.IF_NOT_ERROR],d([Be.LOAD_SAVED_POS,1],f(_,1,D,F.sp+2)),[]),[Be.NIP]):j},sequence(y,F){function D(I,j){if(I.length>0){let M=y.elements.length-I.length+1;return d(w(I[0],{sp:j.sp,env:j.env,pluck:j.pluck,action:null}),E(I[0].match|0,[Be.IF_NOT_ERROR],D(I.slice(1),{sp:j.sp+1,env:j.env,pluck:j.pluck,action:j.action}),d(M>1?[Be.POP_N,M]:[Be.POP],[Be.POP_CURR_POS],[Be.PUSH_FAILED])))}else{if(j.pluck.length>0)return d([Be.PLUCK,y.elements.length+1,j.pluck.length],j.pluck.map(M=>j.sp-M));if(j.action){let M=l(!1,Object.keys(j.env),j.action);return d([Be.LOAD_SAVED_POS,y.elements.length],f(M,y.elements.length+1,j.env,j.sp))}else return d([Be.WRAP,y.elements.length],[Be.NIP])}}return d([Be.PUSH_CURR_POS],D(y.elements,{sp:F.sp+1,env:F.env,pluck:[],action:F.action}))},labeled(y,F){let D=F.env,I=y.label,j=F.sp+1;return I&&(D=h(F.env),F.env[y.label]=j),y.pick&&F.pluck.push(j),w(y.expression,{sp:F.sp,env:D,action:null})},text(y,F){return d([Be.PUSH_CURR_POS],w(y.expression,{sp:F.sp+1,env:h(F.env),action:null}),E(y.match|0,[Be.IF_NOT_ERROR],d([Be.POP],[Be.TEXT]),[Be.NIP]))},simple_and(y,F){return A(y.expression,!1,F)},simple_not(y,F){return A(y.expression,!0,F)},optional(y,F){return d(w(y.expression,{sp:F.sp,env:h(F.env),action:null}),E(-(y.expression.match|0),[Be.IF_ERROR],d([Be.POP],[Be.PUSH_NULL]),[]))},zero_or_more(y,F){let D=w(y.expression,{sp:F.sp+1,env:h(F.env),action:null});return d([Be.PUSH_EMPTY_ARRAY],D,S(D),[Be.POP])},one_or_more(y,F){let D=w(y.expression,{sp:F.sp+1,env:h(F.env),action:null});return d([Be.PUSH_EMPTY_ARRAY],D,E(y.expression.match|0,[Be.IF_NOT_ERROR],d(S(D),[Be.POP]),d([Be.POP],[Be.POP],[Be.PUSH_FAILED])))},group(y,F){return w(y.expression,{sp:F.sp,env:h(F.env),action:null})},semantic_and(y,F){return g(y,!1,F)},semantic_not(y,F){return g(y,!0,F)},rule_ref(y){return[Be.RULE,dB.indexOfRule(e,y.name)]},literal(y){if(y.value.length>0){let F=y.match|0,I=F===F0||F===Co&&!y.ignoreCase?a(y.ignoreCase?y.value.toLowerCase():y.value):null,j=F!==Co?o({type:"literal",value:y.value,ignoreCase:y.ignoreCase}):null;return E(F,y.ignoreCase?[Be.MATCH_STRING_IC,I]:[Be.MATCH_STRING,I],y.ignoreCase?[Be.ACCEPT_N,y.value.length]:[Be.ACCEPT_STRING,I],[Be.FAIL,j])}return[Be.PUSH_EMPTY_STRING]},class(y){let F=y.match|0,D=F===F0?s(y):null,I=F!==Co?o({type:"class",value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase}):null;return E(F,[Be.MATCH_CHAR_CLASS,D],[Be.ACCEPT_N,1],[Be.FAIL,I])},any(y){let F=y.match|0,D=F!==Co?o({type:"any"}):null;return E(F,[Be.MATCH_ANY],[Be.ACCEPT_N,1],[Be.FAIL,D])}});w(e)}gw.exports=mB});var Ew=ye((Gx,vw)=>{"use strict";var I0=class{constructor(t,r,n){this.sp=-1,this.maxSp=-1,this.varName=r,this.ruleName=t,this.type=n}name(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${t}`);return this.varName+t}push(t){let r=this.name(++this.sp)+" = "+t+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),r}pop(t){return t!==void 0?(this.sp-=t,Array.from({length:t},(r,n)=>this.name(this.sp+1+n))):this.name(this.sp--)}top(){return this.name(this.sp)}index(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${t}`);return this.name(this.sp-t)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(t,r)=>this.name(r)).join(", ")+";"}checkedIf(t,r,n){let i=this.sp;if(r(),n){let a=this.sp;if(this.sp=i,n(),a!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Branches of a condition can't move the stack pointer differently (before: "+i+", after then: "+a+", after else: "+this.sp+").")}}checkedLoop(t,r){let n=this.sp;if(r(),n!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Body of a loop can't move the stack pointer (before: "+n+", after: "+this.sp+").")}};vw.exports=I0});var D0=ye((zx,ww)=>{"use strict";ww.exports="2.0.1"});var Aw=ye(fh=>{"use strict";function Ts(e){return e.charCodeAt(0).toString(16).toUpperCase()}fh.hex=Ts;function vB(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ts(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ts(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ts(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ts(t))}fh.stringEscape=vB;function EB(e){return e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ts(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ts(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ts(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ts(t))}fh.regexpClassEscape=EB});var bw=ye(Sw=>{var yw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Sw.encode=function(e){if(0<=e&&e{var wB=bw(),Cw=5,Fw=1<>>=Cw,i>0&&(n|=yB),r+=wB.encode(n);while(i>0);return r}});var ph=ye(oa=>{function bB(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}oa.getArg=bB;var $w=function(){return!("__proto__"in Object.create(null))}();function Bw(e){return e}function CB(e){return Pw(e)?"$"+e:e}oa.toSetString=$w?Bw:CB;function FB(e){return Pw(e)?e.slice(1):e}oa.fromSetString=$w?Bw:FB;function Pw(e){if(!e)return!1;let t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(let r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Dw(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function _B(e,t){let r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Dw(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Dw(e.name,t.name)}oa.compareByGeneratedPositionsInflated=_B;var $0="http:",Wc=`${$0}//host`;function Rw(e){return t=>{let r=Xc(t),n=B0(t),i=new URL(t,n);e(i);let a=i.toString();return r==="absolute"?a:r==="scheme-relative"?a.slice($0.length):r==="path-absolute"?a.slice(Wc.length):P0(n,a)}}function aa(e,t){return new URL(e,t).toString()}function IB(e,t){let r=0;do{let n=e+r++;if(t.indexOf(n)===-1)return n}while(!0)}function B0(e){let t=e.split("..").length-1,r=IB("p",e),n=`${Wc}/`;for(let i=0;i0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map(()=>"..").concat(r).join("/")+t.search+t.hash}var $B=Rw(e=>{e.pathname=e.pathname.replace(/\/?$/,"/")}),hh=Rw(e=>{});oa.normalize=hh;function BB(e,t){let r=Xc(t),n=Xc(e);if(e=$B(e),r==="absolute")return aa(t,void 0);if(n==="absolute")return aa(t,e);if(r==="scheme-relative")return hh(t);if(n==="scheme-relative")return aa(t,aa(e,Wc)).slice($0.length);if(r==="path-absolute")return hh(t);if(n==="path-absolute")return aa(t,aa(e,Wc)).slice(Wc.length);let i=B0(t+e),a=aa(t,aa(e,i));return P0(i,a)}oa.join=BB;function PB(e,t){let r=RB(e,t);return typeof r=="string"?r:hh(t)}oa.relative=PB;function RB(e,t){if(Xc(e)!==Xc(t))return null;let n=B0(e+t),i=new URL(e,n),a=new URL(t,n);try{new URL("",a.toString())}catch{return null}return a.protocol!==i.protocol||a.user!==i.user||a.password!==i.password||a.hostname!==i.hostname||a.port!==i.port?null:P0(i,a)}});var Ow=ye(Tw=>{var R0=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){let n=new e;for(let i=0,a=t.length;i=0)return r;throw new Error('"'+t+'" is not in the set.')}at(t){if(t>=0&&t{var xw=ph();function TB(e,t){let r=e.generatedLine,n=t.generatedLine,i=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=i||xw.compareByGeneratedPositionsInflated(e,t)<=0}var T0=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(t,r){this._array.forEach(t,r)}add(t){TB(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))}toArray(){return this._sorted||(this._array.sort(xw.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};Nw.MappingList=T0});var O0=ye(Lw=>{var Jc=Iw(),nr=ph(),dh=Ow().ArraySet,OB=kw().MappingList,gh=class e{constructor(t){t||(t={}),this._file=nr.getArg(t,"file",null),this._sourceRoot=nr.getArg(t,"sourceRoot",null),this._skipValidation=nr.getArg(t,"skipValidation",!1),this._sources=new dh,this._names=new dh,this._mappings=new OB,this._sourcesContents=null}static fromSourceMap(t){let r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping(function(i){let a={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(a.source=i.source,r!=null&&(a.source=nr.relative(r,a.source)),a.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(a.name=i.name)),n.addMapping(a)}),t.sources.forEach(function(i){let a=i;r!=null&&(a=nr.relative(r,i)),n._sources.has(a)||n._sources.add(a);let s=t.sourceContentFor(i);s!=null&&n.setSourceContent(i,s)}),n}addMapping(t){let r=nr.getArg(t,"generated"),n=nr.getArg(t,"original",null),i=nr.getArg(t,"source",null),a=nr.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,i,a),i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:i,name:a})}setSourceContent(t,r){let n=t;this._sourceRoot!=null&&(n=nr.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[nr.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[nr.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(t,r,n){let i=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);i=t.file}let a=this._sourceRoot;a!=null&&(i=nr.relative(a,i));let s=this._mappings.toArray().length>0?new dh:this._sources,o=new dh;this._mappings.unsortedForEach(function(l){if(l.source===i&&l.originalLine!=null){let E=t.originalPositionFor({line:l.originalLine,column:l.originalColumn});E.source!=null&&(l.source=E.source,n!=null&&(l.source=nr.join(n,l.source)),a!=null&&(l.source=nr.relative(a,l.source)),l.originalLine=E.line,l.originalColumn=E.column,E.name!=null&&(l.name=E.name))}let h=l.source;h!=null&&!s.has(h)&&s.add(h);let d=l.name;d!=null&&!o.has(d)&&o.add(d)},this),this._sources=s,this._names=o,t.sources.forEach(function(l){let h=t.sourceContentFor(l);h!=null&&(n!=null&&(l=nr.join(n,l)),a!=null&&(l=nr.relative(a,l)),this.setSourceContent(l,h))},this)}_validateMapping(t,r,n,i){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!i)){if(!(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:i}))}}_serializeMappings(){let t=0,r=1,n=0,i=0,a=0,s=0,o="",l,h,d,E,p=this._mappings.toArray();for(let f=0,A=p.length;f0){if(!nr.compareByGeneratedPositionsInflated(h,p[f-1]))continue;l+=","}l+=Jc.encode(h.generatedColumn-t),t=h.generatedColumn,h.source!=null&&(E=this._sources.indexOf(h.source),l+=Jc.encode(E-s),s=E,l+=Jc.encode(h.originalLine-1-i),i=h.originalLine-1,l+=Jc.encode(h.originalColumn-n),n=h.originalColumn,h.name!=null&&(d=this._names.indexOf(h.name),l+=Jc.encode(d-a),a=d)),o+=l}return o}_generateSourcesContent(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=nr.relative(r,n));let i=nr.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)}toJSON(){let t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t}toString(){return JSON.stringify(this.toJSON())}};gh.prototype._version=3;Lw.SourceMapGenerator=gh});var Hw=ye(Uw=>{var xB=O0().SourceMapGenerator,mh=ph(),NB=/(\r?\n)/,kB=10,Fo="$$$isSourceNode$$$",x0=class e{constructor(t,r,n,i,a){this.children=[],this.sourceContents={},this.line=t??null,this.column=r??null,this.source=n??null,this.name=a??null,this[Fo]=!0,i!=null&&this.add(i)}static fromStringWithSourceMap(t,r,n){let i=new e,a=t.split(NB),s=0,o=function(){let f=g(),A=g()||"";return f+A;function g(){return s=0;r--)this.prepend(t[r]);else if(t[Fo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this}walk(t){let r;for(let n=0,i=this.children.length;n0){for(r=[],n=0;n{N0.SourceMapGenerator=O0().SourceMapGenerator;N0.SourceNode=Hw().SourceNode});var Kw=ye((nN,Vw)=>{"use strict";var LB=sa(),wt=b0(),UB=Ew(),HB=D0(),{stringEscape:kn,regexpClassEscape:k0}=Aw(),{SourceNode:ri}=jw();function qw(e,t,r){let n=t.start.line,i=t.start.column-1,a=e.split(` +`);return a.length===1?new ri(n,i,t.source,e,r):new ri(null,null,t.source,a.map((s,o)=>new ri(n+o,o===0?i:0,t.source,o===a.length-1?s:[s,` +`],r)))}function Mw(e,t,r,n,i){return r?new ri(null,null,r.source,[e,qw(t,r,i),new ri(r.end.line,r.end.column-1,r.source,n)]):new ri(null,null,null,[e,t,n])}function jB(e,t){function r(g){return g instanceof ri?g:g.replace(/^(.+)$/gm," $1")}function n(g){return"peg$c"+g}function i(g){return"peg$r"+g}function a(g){return"peg$e"+g}function s(g){return"peg$f"+g}function o(g){return"peg$parse"+g}function l(){function g(F){return'"'+kn(F)+'"'}function S(F){return"/^["+(F.inverted?"^":"")+F.value.map(D=>Array.isArray(D)?k0(D[0])+"-"+k0(D[1]):k0(D)).join("")+"]/"+(F.ignoreCase?"i":"")}function w(F){switch(F.type){case"rule":return'peg$otherExpectation("'+kn(F.value)+'")';case"literal":return'peg$literalExpectation("'+kn(F.value)+'", '+F.ignoreCase+")";case"class":return"peg$classExpectation(["+F.value.map(I=>Array.isArray(I)?'["'+kn(I[0])+'", "'+kn(I[1])+'"]':'"'+kn(I)+'"').join(", ")+"], "+F.inverted+", "+F.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(F)+")")}}function y(F,D){return Mw(` + var ${s(D)} = function(${F.params.join(", ")}) {`,F.body,F.location,"};")}return new ri(null,null,t.grammarSource,[e.literals.map((F,D)=>" var "+n(D)+" = "+g(F)+";").concat("",e.classes.map((F,D)=>" var "+i(D)+" = "+S(F)+";")).concat("",e.expectations.map((F,D)=>" var "+a(D)+" = "+w(F)+";")).concat("").join(` +`),e.functions.map(y)])}function h(g,S){let w=[];return w.push(""),t.trace&&w.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)","});",""),t.cache&&(w.push("var key = peg$currPos * "+e.rules.length+" + "+S+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&w.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+g+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),w.push(" return cached.result;","}","")),w}function d(g,S){let w=[];return t.cache&&w.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+S+" };"),t.trace&&w.push("","if ("+S+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+g+","," result: "+S+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)"," });","}"),w.push("","return "+S+";"),w}function E(g){let S=[],w=new UB(g.name,"s","var");function y(D){let I=0,j=D.length,M=[],_;function P(K,W){let G=W+3,z=D[I+G-2],X=D[I+G-1],ie,Se;w.checkedIf(I,()=>{I+=G,ie=y(D.slice(I,I+z)),I+=z},X>0?()=>{Se=y(D.slice(I,I+X)),I+=X}:null),M.push("if ("+K+") {"),M.push(...ie.map(r)),X>0&&(M.push("} else {"),M.push(...Se.map(r))),M.push("}")}function k(K){let G=D[I+2-1],z;w.checkedLoop(I,()=>{I+=2,z=y(D.slice(I,I+G)),I+=G}),M.push("while ("+K+") {"),M.push(...z.map(r)),M.push("}")}function H(){let W=D[I+4-1],G=s(D[I+1])+"("+D.slice(I+4,I+4+W).map(z=>w.index(z)).join(", ")+")";w.pop(D[I+2]),M.push(w.push(G)),I+=4+W}for(;Iw.index(z)).join(", ")} ]`,w.pop(D[I+1]),M.push(w.push(_)),I+=G;break}case wt.IF:P(w.top(),0);break;case wt.IF_ERROR:P(w.top()+" === peg$FAILED",0);break;case wt.IF_NOT_ERROR:P(w.top()+" !== peg$FAILED",0);break;case wt.WHILE_NOT_ERROR:k(w.top()+" !== peg$FAILED");break;case wt.MATCH_ANY:P("input.length > peg$currPos",0);break;case wt.MATCH_STRING:P(e.literals[D[I+1]].length>1?"input.substr(peg$currPos, "+e.literals[D[I+1]].length+") === "+n(D[I+1]):"input.charCodeAt(peg$currPos) === "+e.literals[D[I+1]].charCodeAt(0),1);break;case wt.MATCH_STRING_IC:P("input.substr(peg$currPos, "+e.literals[D[I+1]].length+").toLowerCase() === "+n(D[I+1]),1);break;case wt.MATCH_CHAR_CLASS:P(i(D[I+1])+".test(input.charAt(peg$currPos))",1);break;case wt.ACCEPT_N:M.push(w.push(D[I+1]>1?"input.substr(peg$currPos, "+D[I+1]+")":"input.charAt(peg$currPos)")),M.push(D[I+1]>1?"peg$currPos += "+D[I+1]+";":"peg$currPos++;"),I+=2;break;case wt.ACCEPT_STRING:M.push(w.push(n(D[I+1]))),M.push(e.literals[D[I+1]].length>1?"peg$currPos += "+e.literals[D[I+1]].length+";":"peg$currPos++;"),I+=2;break;case wt.FAIL:M.push(w.push("peg$FAILED")),M.push("if (peg$silentFails === 0) { peg$fail("+a(D[I+1])+"); }"),I+=2;break;case wt.LOAD_SAVED_POS:M.push("peg$savedPos = "+w.index(D[I+1])+";"),I+=2;break;case wt.UPDATE_SAVED_POS:M.push("peg$savedPos = peg$currPos;"),I++;break;case wt.CALL:H();break;case wt.RULE:M.push(w.push(o(e.rules[D[I+1]].name)+"()")),I+=2;break;case wt.SILENT_FAILS_ON:M.push("peg$silentFails++;"),I++;break;case wt.SILENT_FAILS_OFF:M.push("peg$silentFails--;"),I++;break;default:throw new Error("Invalid opcode: "+D[I]+".")}return M}let F=y(g.bytecode);return S.push(Mw(" function ",o(g.name),g.nameLocation,`() { +`,g.name)),t.trace&&S.push(" var startPos = peg$currPos;"),S.push(r(w.defines())),S.push(...h('"'+kn(g.name)+'"',LB.indexOfRule(e,g.name)).map(r)),S.push(...F.map(r)),S.push(...d('"'+kn(g.name)+'"',w.result()).map(r)),S.push("}"),S}function p(g){return g.codeLocation?qw(g.code,g.codeLocation,"$"+g.type):g.code}function f(){let g=[];e.topLevelInitializer&&(g.push(p(e.topLevelInitializer)),g.push("")),g.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&g.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let S="{ "+t.allowedStartRules.map(y=>y+": "+o(y)).join(", ")+" }",w=o(t.allowedStartRules[0]);return g.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+S+";"," var peg$startRuleFunction = "+w+";","",l(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&g.push(" var peg$resultsCache = {};",""),t.trace&&g.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),g.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach(y=>{g.push(...E(y).map(r)),g.push("")}),e.initializer&&(g.push(p(e.initializer)),g.push("")),g.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new ri(null,null,t.grammarSource,g.map(y=>y instanceof ri?y:y+` +`))}function A(g){function S(){return[`// Generated by Peggy ${HB}.`,"//","// https://peggyjs.org/"]}function w(){return t.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let F={bare(){return[...S(),"(function() {",' "use strict";',"",g,"",r("return "+w()+";"),"})()"]},commonjs(){let D=Object.keys(t.dependencies),I=S();return I.push("",'"use strict";',""),D.length>0&&(D.forEach(j=>{I.push("var "+j+' = require("'+kn(t.dependencies[j])+'");')}),I.push("")),I.push(g,"","module.exports = "+w()+";"),I},es(){let D=Object.keys(t.dependencies),I=S();return I.push(""),D.length>0&&(D.forEach(j=>{I.push("import "+j+' from "'+kn(t.dependencies[j])+'";')}),I.push("")),I.push(g,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),I},amd(){let D=Object.keys(t.dependencies),j="["+D.map(_=>t.dependencies[_]).map(_=>'"'+kn(_)+'"').join(", ")+"]",M=D.join(", ");return[...S(),"define("+j+", function("+M+") {",' "use strict";',"",g,"",r("return "+w()+";"),"});"]},globals(){return[...S(),"(function(root) {",' "use strict";',"",g,"",r("root."+t.exportVar+" = "+w()+";"),"})(this);"]},umd(){let D=Object.keys(t.dependencies),I=D.map(k=>t.dependencies[k]),j="["+I.map(k=>'"'+kn(k)+'"').join(", ")+"]",M=I.map(k=>'require("'+kn(k)+'")').join(", "),_=D.join(", "),P=S();return P.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+j+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+M+");"),t.exportVar!==null&&P.push(" } else {"," root."+t.exportVar+" = factory();"),P.push(" }","})(this, function("+_+") {",' "use strict";',"",g,"",r("return "+w()+";"),"});"),P}}[t.format]();return new ri(null,null,t.grammarSource,F.map(D=>D instanceof ri?D:D+` +`))}e.code=A(f())}Vw.exports=jB});var zw=ye((iN,Gw)=>{"use strict";var MB=sa(),qB=ti();function VB(e,t,r){function n(s){return s.type==="rule"&&s.expression.type==="rule_ref"}function i(s,o,l){qB.build({rule_ref(d){d.name===o&&(d.name=l,r.info(`Proxy rule "${o}" replaced by the rule "${l}"`,d.location,[{message:"This rule will be used",location:MB.findRule(s,l).nameLocation}]))}})(s)}let a=[];e.rules.forEach((s,o)=>{n(s)&&(i(e,s.name,s.expression.name),t.allowedStartRules.indexOf(s.name)===-1&&a.push(o))}),a.reverse(),a.forEach(s=>{e.rules.splice(s,1)})}Gw.exports=VB});var Ww=ye((sN,Yw)=>{"use strict";var KB=ti();function GB(e,t,r){function n(s){let o={};return Object.keys(s).forEach(l=>{o[l]=s[l]}),o}function i(s,o){a(s.expression,n(o))}let a=KB.build({rule(s){a(s.expression,{})},choice(s,o){s.alternatives.forEach(l=>{a(l,n(o))})},action:i,labeled(s,o){let l=s.label;l&&Object.prototype.hasOwnProperty.call(o,l)&&r.error(`Label "${s.label}" is already defined`,s.labelLocation,[{message:"Original label location",location:o[l]}]),a(s.expression,o),o[s.label]=s.labelLocation},text:i,simple_and:i,simple_not:i,optional:i,zero_or_more:i,one_or_more:i,group:i});a(e)}Yw.exports=GB});var Jw=ye((aN,Xw)=>{"use strict";var zB=ti();function YB(e,t,r){let n={};zB.build({rule(a){if(Object.prototype.hasOwnProperty.call(n,a.name)){r.error(`Rule "${a.name}" is already defined`,a.nameLocation,[{message:"Original rule location",location:n[a.name]}]);return}n[a.name]=a.nameLocation}})(e)}Xw.exports=YB});var eA=ye((uN,Qw)=>{"use strict";var Zw=sa(),WB=ti();function XB(e,t,r){let n=[],i=[],a=WB.build({rule(s){n.push(s.name),a(s.expression),n.pop()},sequence(s){s.elements.every(o=>(a(o),!Zw.alwaysConsumesOnSuccess(e,o)))},rule_ref(s){i.push(s);let o=Zw.findRule(e,s.name);if(n.indexOf(s.name)!==-1){n.push(s.name),r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",o.nameLocation,i.map((l,h,d)=>({message:h+1!==d.length?`Step ${h+1}: call of the rule "${l.name}" without input consumption`:`Step ${h+1}: call itself without input consumption - left recursion`,location:l.location})));return}o&&a(o),i.pop()}});a(e)}Qw.exports=XB});var nA=ye((oN,rA)=>{"use strict";var tA=sa(),JB=ti();function ZB(e,t,r){JB.build({zero_or_more(i){tA.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)},one_or_more(i){tA.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)}})(e)}rA.exports=ZB});var sA=ye((cN,iA)=>{"use strict";var QB=sa(),eP=ti();function tP(e,t,r){eP.build({rule_ref(i){QB.findRule(e,i.name)||r.error(`Rule "${i.name}" is not defined`,i.location)}})(e)}iA.exports=tP});var uA=ye((lN,aA)=>{"use strict";var rP=ti();function nP(e,t,r){let n=rP.build({action(i){n(i.expression,i)},labeled(i,a){i.pick&&a&&r.error('"@" cannot be used with an action block',i.labelLocation,[{message:"Action block location",location:a.codeLocation}]),n(i.expression)}});n(e)}aA.exports=nP});var cA=ye((fN,oA)=>{"use strict";var iP=ch(),L0=class{constructor(t){t=typeof t<"u"?t:{},typeof t.error=="function"&&(this.error=t.error),typeof t.warning=="function"&&(this.warning=t.warning),typeof t.info=="function"&&(this.info=t.info)}error(){}warning(){}info(){}},U0=class{constructor(t){this._callbacks=new L0(t),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...t){++this.errors,this._firstError===null&&(this._firstError=new iP(...t),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...t]),this._callbacks.error(this.stage,...t)}warning(...t){this.problems.push(["warning",...t]),this._callbacks.warning(this.stage,...t)}info(...t){this.problems.push(["info",...t]),this._callbacks.info(this.stage,...t)}checkErrors(){if(this.errors!==0)throw this._firstError}};oA.exports=U0});var lA=ye((exports,module)=>{"use strict";var generateBytecode=mw(),generateJS=Kw(),inferenceMatchResult=C0(),removeProxyRules=zw(),reportDuplicateLabels=Ww(),reportDuplicateRules=Jw(),reportInfiniteRecursion=eA(),reportInfiniteRepetition=nA(),reportUndefinedRules=sA(),reportIncorrectPlucking=uA(),Session=cA(),visitor=ti();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler});var hA=ye((hN,fA)=>{"use strict";var sP={$:"text","&":"simple_and","!":"simple_not"},aP={"?":"optional","*":"zero_or_more","+":"one_or_more"},uP={"&":"semantic_and","!":"semantic_not"};function oP(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function ca(e,t,r,n){var i=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(i,ca.prototype),i.expected=t,i.found=r,i.location=n,i.name="SyntaxError",i}oP(ca,Error);function H0(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,r+=r.repeat(t),e+r.slice(0,t))}ca.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r=null,n;for(n=0;n `+a+` +`+o+` | +`+i.line+" | "+l+` +`+o+" | "+H0("",i.column-1," ")+H0("",d,"^")}else t+=` + at `+a}return t};ca.buildMessage=function(e,t){var r={literal:function(h){return'"'+i(h.text)+'"'},class:function(h){var d=h.parts.map(function(E){return Array.isArray(E)?a(E[0])+"-"+a(E[1]):a(E)});return"["+(h.inverted?"^":"")+d.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(h){return h.description}};function n(h){return h.charCodeAt(0).toString(16).toUpperCase()}function i(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+n(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+n(d)})}function a(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+n(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+n(d)})}function s(h){return r[h.type](h)}function o(h){var d=h.map(s),E,p;if(d.sort(),d.length>0){for(E=1,p=1;E0?{type:"choice",alternatives:[b].concat(x),location:Nt()}:b},Hn=function(b,x){return x!==null?{type:"action",expression:b,code:x[0],codeLocation:x[1],location:Nt()}:b},Ca=function(b,x){return x.length>0||b.type==="labeled"&&b.pick?{type:"sequence",elements:[b].concat(x),location:Nt()}:b},Eh=function(b,x,J){return J.type.startsWith("semantic_")&&Qo('"@" cannot be used on a semantic predicate',b),{type:"labeled",label:x!==null?x[0]:null,labelLocation:x!==null?x[1]:b,pick:!0,expression:J,location:Nt()}},wh=function(b,x){return{type:"labeled",label:b[0],labelLocation:b[1],expression:x,location:Nt()}},$t=function(){return Nt()},_t=function(b){return Ou.indexOf(b[0])>=0&&Qo(`Label can't be a reserved word "${b[0]}"`,b[1]),b},Ah=function(b,x){return{type:sP[b],expression:x,location:Nt()}},yh=function(b,x){return{type:aP[x],expression:b,location:Nt()}},Sh=function(b){return b.type==="labeled"||b.type==="sequence"?{type:"group",expression:b,location:Nt()}:b},bh=function(b){return{type:"rule_ref",name:b[0],location:Nt()}},Ch=function(b,x){return{type:uP[b],code:x[0],codeLocation:x[1],location:Nt()}},Fh=function(b,x){return[b+x.join(""),Nt()]},el=function(b,x){return{type:"literal",value:b,ignoreCase:x!==null,location:Nt()}},_h=function(b){return b.join("")},er=function(b){return b.join("")},Xo=function(b,x,J){return{type:"class",parts:x.filter(q=>q!==""),inverted:b!==null,ignoreCase:J!==null,location:Nt()}},Yi=function(b,x){return b.charCodeAt(0)>x.charCodeAt(0)&&Qo("Invalid character range: "+Zo()+"."),[b,x]},tl=function(){return""},Jo=function(){return"\0"},tn=function(){return"\b"},rl=function(){return"\f"},nl=function(){return` +`},il=function(){return"\r"},sl=function(){return" "},al=function(){return"\v"},ul=function(b){return String.fromCharCode(parseInt(b,16))},Kr=function(b){return String.fromCharCode(parseInt(b,16))},Ih=function(){return{type:"any",location:Nt()}},rn=function(b){return[b,Nt()]},B=0,Ye=0,An=[{line:1,column:1}],Gr=0,Fa=[],te=0,yn;if("startRule"in t){if(!(t.startRule in i))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=i[t.startRule]}function Zo(){return e.substring(Ye,B)}function X0(){return Ye}function ol(){return{source:n,start:Ye,end:B}}function Nt(){return Wi(Ye,B)}function J0(b,x){throw x=x!==void 0?x:Wi(Ye,B),ll([jn(b)],e.substring(Ye,B),x)}function Qo(b,x){throw x=x!==void 0?x:Wi(Ye,B),cl(b,x)}function Ue(b,x){return{type:"literal",text:b,ignoreCase:x}}function tr(b,x,J){return{type:"class",parts:b,inverted:x,ignoreCase:J}}function js(){return{type:"any"}}function Dh(){return{type:"end"}}function jn(b){return{type:"other",description:b}}function ec(b){var x=An[b],J;if(x)return x;for(J=b-1;!An[J];)J--;for(x=An[J],x={line:x.line,column:x.column};JGr&&(Gr=B,Fa=[]),Fa.push(b))}function cl(b,x){return new ca(b,null,null,x)}function ll(b,x,J){return new ca(ca.buildMessage(b,x),b,x,J)}function Su(){var b,x,J,q,se,ce,Ft,qt;if(b=B,x=Et(),J=B,q=tc(),q!==r?(se=Et(),J=q):(B=J,J=r),J===r&&(J=null),q=B,se=$h(),se!==r?(ce=Et(),q=se):(B=q,q=r),q===r&&(q=null),se=[],ce=B,Ft=rc(),Ft!==r?(qt=Et(),ce=Ft):(B=ce,ce=r),ce!==r)for(;ce!==r;)se.push(ce),ce=B,Ft=rc(),Ft!==r?(qt=Et(),ce=Ft):(B=ce,ce=r);else se=r;return se!==r?(Ye=b,b=wn(J,q,se)):(B=b,b=r),b}function tc(){var b,x,J,q,se;return b=B,e.charCodeAt(B)===123?(x=s,B++):(x=r,te===0&&pe(gi)),x!==r?(J=ht(),J!==r?(e.charCodeAt(B)===125?(q=o,B++):(q=r,te===0&&pe(zi)),q!==r?(se=Qi(),se!==r?(Ye=b,b=Us(J)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r),b}function $h(){var b,x,J;return b=B,x=ht(),x!==r?(J=Qi(),J!==r?(Ye=b,b=Vr(x)):(B=b,b=r)):(B=b,b=r),b}function rc(){var b,x,J,q,se,ce,Ft,qt;return b=B,x=Fu(),x!==r?(J=Et(),q=B,se=Mn(),se!==r?(ce=Et(),q=se):(B=q,q=r),q===r&&(q=null),e.charCodeAt(B)===61?(se=l,B++):(se=r,te===0&&pe(au)),se!==r?(ce=Et(),Ft=Rr(),Ft!==r?(qt=Qi(),qt!==r?(Ye=b,b=br(x,q,Ft)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r),b}function Rr(){var b,x,J,q,se,ce,Ft,qt;if(b=B,x=_a(),x!==r){for(J=[],q=B,se=Et(),e.charCodeAt(B)===47?(ce=h,B++):(ce=r,te===0&&pe(uu)),ce!==r?(Ft=Et(),qt=_a(),qt!==r?q=qt:(B=q,q=r)):(B=q,q=r);q!==r;)J.push(q),q=B,se=Et(),e.charCodeAt(B)===47?(ce=h,B++):(ce=r,te===0&&pe(uu)),ce!==r?(Ft=Et(),qt=_a(),qt!==r?q=qt:(B=q,q=r)):(B=q,q=r);Ye=b,b=Hs(x,J)}else B=b,b=r;return b}function _a(){var b,x,J,q,se;return b=B,x=Ia(),x!==r?(J=B,q=Et(),se=ht(),se!==r?J=se:(B=J,J=r),J===r&&(J=null),Ye=b,b=Hn(x,J)):(B=b,b=r),b}function Ia(){var b,x,J,q,se,ce;if(b=B,x=bu(),x!==r){for(J=[],q=B,se=Et(),ce=bu(),ce!==r?q=ce:(B=q,q=r);q!==r;)J.push(q),q=B,se=Et(),ce=bu(),ce!==r?q=ce:(B=q,q=r);Ye=b,b=Ca(x,J)}else B=b,b=r;return b}function bu(){var b,x,J,q;return b=B,x=fl(),x!==r?(J=hl(),J===r&&(J=null),q=nc(),q!==r?(Ye=b,b=Eh(x,J,q)):(B=b,b=r)):(B=b,b=r),b===r&&(b=B,x=hl(),x!==r?(J=Et(),q=nc(),q!==r?(Ye=b,b=wh(x,q)):(B=b,b=r)):(B=b,b=r),b===r&&(b=nc())),b}function fl(){var b,x;return b=B,e.charCodeAt(B)===64?(x=d,B++):(x=r,te===0&&pe(ou)),x!==r&&(Ye=b,x=$t()),b=x,b}function hl(){var b,x,J,q;return b=B,x=Fu(),x!==r?(J=Et(),e.charCodeAt(B)===58?(q=E,B++):(q=r,te===0&&pe(cu)),q!==r?(Ye=b,b=_t(x)):(B=b,b=r)):(B=b,b=r),b}function nc(){var b,x,J,q;return b=B,x=Bh(),x!==r?(J=Et(),q=pl(),q!==r?(Ye=b,b=Ah(x,q)):(B=b,b=r)):(B=b,b=r),b===r&&(b=pl()),b}function Bh(){var b;return e.charCodeAt(B)===36?(b=p,B++):(b=r,te===0&&pe(lu)),b===r&&(e.charCodeAt(B)===38?(b=f,B++):(b=r,te===0&&pe(fu)),b===r&&(e.charCodeAt(B)===33?(b=A,B++):(b=r,te===0&&pe(hu)))),b}function pl(){var b,x,J,q;return b=B,x=Xi(),x!==r?(J=Et(),q=Ph(),q!==r?(Ye=b,b=yh(x,q)):(B=b,b=r)):(B=b,b=r),b===r&&(b=Xi()),b}function Ph(){var b;return e.charCodeAt(B)===63?(b=g,B++):(b=r,te===0&&pe(Do)),b===r&&(e.charCodeAt(B)===42?(b=S,B++):(b=r,te===0&&pe(pu)),b===r&&(e.charCodeAt(B)===43?(b=w,B++):(b=r,te===0&&pe($o)))),b}function Xi(){var b,x,J,q,se,ce;return b=kh(),b===r&&(b=ue(),b===r&&(b=Du(),b===r&&(b=Rh(),b===r&&(b=Th(),b===r&&(b=B,e.charCodeAt(B)===40?(x=y,B++):(x=r,te===0&&pe(Bo)),x!==r?(J=Et(),q=Rr(),q!==r?(se=Et(),e.charCodeAt(B)===41?(ce=F,B++):(ce=r,te===0&&pe(Po)),ce!==r?(Ye=b,b=Sh(q)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r)))))),b}function Rh(){var b,x,J,q,se,ce,Ft,qt;return b=B,x=Fu(),x!==r?(J=B,te++,q=B,se=Et(),ce=B,Ft=Mn(),Ft!==r?(qt=Et(),Ft=[Ft,qt],ce=Ft):(B=ce,ce=r),ce===r&&(ce=null),e.charCodeAt(B)===61?(Ft=l,B++):(Ft=r,te===0&&pe(au)),Ft!==r?(se=[se,ce,Ft],q=se):(B=q,q=r),te--,q===r?J=void 0:(B=J,J=r),J!==r?(Ye=b,b=bh(x)):(B=b,b=r)):(B=b,b=r),b}function Th(){var b,x,J,q;return b=B,x=ic(),x!==r?(J=Et(),q=ht(),q!==r?(Ye=b,b=Ch(x,q)):(B=b,b=r)):(B=b,b=r),b}function ic(){var b;return e.charCodeAt(B)===38?(b=f,B++):(b=r,te===0&&pe(fu)),b===r&&(e.charCodeAt(B)===33?(b=A,B++):(b=r,te===0&&pe(hu))),b}function Cr(){var b;return e.length>B?(b=e.charAt(B),B++):(b=r,te===0&&pe(Ns)),b}function Sn(){var b,x;return te++,e.charCodeAt(B)===9?(b=D,B++):(b=r,te===0&&pe(ma)),b===r&&(e.charCodeAt(B)===11?(b=I,B++):(b=r,te===0&&pe(To)),b===r&&(e.charCodeAt(B)===12?(b=j,B++):(b=r,te===0&&pe(Oo)),b===r&&(e.charCodeAt(B)===32?(b=M,B++):(b=r,te===0&&pe(xo)),b===r&&(e.charCodeAt(B)===160?(b=_,B++):(b=r,te===0&&pe(No)),b===r&&(e.charCodeAt(B)===65279?(b=P,B++):(b=r,te===0&&pe(ko)),b===r&&(b=Al())))))),te--,b===r&&(x=r,te===0&&pe(Ro)),b}function bn(){var b;return Zt.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(Lo)),b}function Cu(){var b,x;return te++,e.charCodeAt(B)===10?(b=k,B++):(b=r,te===0&&pe(Ho)),b===r&&(e.substr(B,2)===H?(b=H,B+=2):(b=r,te===0&&pe(mi)),b===r&&(e.charCodeAt(B)===13?(b=K,B++):(b=r,te===0&&pe(du)),b===r&&(e.charCodeAt(B)===8232?(b=W,B++):(b=r,te===0&&pe(jo)),b===r&&(e.charCodeAt(B)===8233?(b=G,B++):(b=r,te===0&&pe(Mo)))))),te--,b===r&&(x=r,te===0&&pe(Uo)),b}function dl(){var b,x;return te++,b=Oh(),b===r&&(b=nn()),te--,b===r&&(x=r,te===0&&pe(qo)),b}function Oh(){var b,x,J,q,se,ce;if(b=B,e.substr(B,2)===z?(x=z,B+=2):(x=r,te===0&&pe(gu)),x!==r){for(J=[],q=B,se=B,te++,e.substr(B,2)===X?(ce=X,B+=2):(ce=r,te===0&&pe(vi)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);q!==r;)J.push(q),q=B,se=B,te++,e.substr(B,2)===X?(ce=X,B+=2):(ce=r,te===0&&pe(vi)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);e.substr(B,2)===X?(q=X,B+=2):(q=r,te===0&&pe(vi)),q!==r?(x=[x,J,q],b=x):(B=b,b=r)}else B=b,b=r;return b}function Ji(){var b,x,J,q,se,ce;if(b=B,e.substr(B,2)===z?(x=z,B+=2):(x=r,te===0&&pe(gu)),x!==r){for(J=[],q=B,se=B,te++,e.substr(B,2)===X?(ce=X,B+=2):(ce=r,te===0&&pe(vi)),ce===r&&(ce=bn()),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);q!==r;)J.push(q),q=B,se=B,te++,e.substr(B,2)===X?(ce=X,B+=2):(ce=r,te===0&&pe(vi)),ce===r&&(ce=bn()),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);e.substr(B,2)===X?(q=X,B+=2):(q=r,te===0&&pe(vi)),q!==r?(x=[x,J,q],b=x):(B=b,b=r)}else B=b,b=r;return b}function nn(){var b,x,J,q,se,ce;if(b=B,e.substr(B,2)===ie?(x=ie,B+=2):(x=r,te===0&&pe(en)),x!==r){for(J=[],q=B,se=B,te++,ce=bn(),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);q!==r;)J.push(q),q=B,se=B,te++,ce=bn(),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);x=[x,J],b=x}else B=b,b=r;return b}function Fu(){var b,x,J,q;if(te++,b=B,x=gl(),x!==r){for(J=[],q=ml();q!==r;)J.push(q),q=ml();Ye=b,b=Fh(x,J)}else B=b,b=r;return te--,b===r&&(x=r,te===0&&pe(Vo)),b}function gl(){var b,x,J;return b=xh(),b===r&&(e.charCodeAt(B)===36?(b=p,B++):(b=r,te===0&&pe(lu)),b===r&&(e.charCodeAt(B)===95?(b=Se,B++):(b=r,te===0&&pe(ks)),b===r&&(b=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,te===0&&pe(En)),x!==r?(J=vl(),J!==r?b=J:(B=b,b=r)):(B=b,b=r)))),b}function ml(){var b;return b=gl(),b===r&&(b=Nh(),b===r&&(b=El(),b===r&&(b=wl(),b===r&&(e.charCodeAt(B)===8204?(b=Ie,B++):(b=r,te===0&&pe(Ko)),b===r&&(e.charCodeAt(B)===8205?(b=qe,B++):(b=r,te===0&&pe(Go))))))),b}function xh(){var b;return b=Pu(),b===r&&(b=Bu(),b===r&&(b=Mh(),b===r&&(b=Hh(),b===r&&(b=jh(),b===r&&(b=Tu()))))),b}function Nh(){var b;return b=Ru(),b===r&&(b=Ai()),b}function kh(){var b,x,J;return te++,b=B,x=Mn(),x!==r?(e.charCodeAt(B)===105?(J=oe,B++):(J=r,te===0&&pe(va)),J===r&&(J=null),Ye=b,b=el(x,J)):(B=b,b=r),te--,b===r&&(x=r,te===0&&pe(mu)),b}function Mn(){var b,x,J,q;if(te++,b=B,e.charCodeAt(B)===34?(x=Fe,B++):(x=r,te===0&&pe(Ls)),x!==r){for(J=[],q=re();q!==r;)J.push(q),q=re();e.charCodeAt(B)===34?(q=Fe,B++):(q=r,te===0&&pe(Ls)),q!==r?(Ye=b,b=_h(J)):(B=b,b=r)}else B=b,b=r;if(b===r)if(b=B,e.charCodeAt(B)===39?(x=Le,B++):(x=r,te===0&&pe(jt)),x!==r){for(J=[],q=le();q!==r;)J.push(q),q=le();e.charCodeAt(B)===39?(q=Le,B++):(q=r,te===0&&pe(jt)),q!==r?(Ye=b,b=er(J)):(B=b,b=r)}else B=b,b=r;return te--,b===r&&(x=r,te===0&&pe(vu)),b}function re(){var b,x,J,q;return b=B,x=B,J=B,te++,e.charCodeAt(B)===34?(q=Fe,B++):(q=r,te===0&&pe(Ls)),q===r&&(e.charCodeAt(B)===92?(q=we,B++):(q=r,te===0&&pe(En)),q===r&&(q=bn())),te--,q===r?J=void 0:(B=J,J=r),J!==r?(q=Cr(),q!==r?(J=[J,q],x=J):(B=x,x=r)):(B=x,x=r),x!==r?b=e.substring(b,B):b=x,b===r&&(b=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,te===0&&pe(En)),x!==r?(J=kt(),J!==r?b=J:(B=b,b=r)):(B=b,b=r),b===r&&(b=ct())),b}function le(){var b,x,J,q;return b=B,x=B,J=B,te++,e.charCodeAt(B)===39?(q=Le,B++):(q=r,te===0&&pe(jt)),q===r&&(e.charCodeAt(B)===92?(q=we,B++):(q=r,te===0&&pe(En)),q===r&&(q=bn())),te--,q===r?J=void 0:(B=J,J=r),J!==r?(q=Cr(),q!==r?(J=[J,q],x=J):(B=x,x=r)):(B=x,x=r),x!==r?b=e.substring(b,B):b=x,b===r&&(b=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,te===0&&pe(En)),x!==r?(J=kt(),J!==r?b=J:(B=b,b=r)):(B=b,b=r),b===r&&(b=ct())),b}function ue(){var b,x,J,q,se,ce;if(te++,b=B,e.charCodeAt(B)===91?(x=lr,B++):(x=r,te===0&&pe(Yo)),x!==r){for(e.charCodeAt(B)===94?(J=Pt,B++):(J=r,te===0&&pe(Eu)),J===r&&(J=null),q=[],se=Re(),se===r&&(se=Ge());se!==r;)q.push(se),se=Re(),se===r&&(se=Ge());e.charCodeAt(B)===93?(se=dt,B++):(se=r,te===0&&pe(Ei)),se!==r?(e.charCodeAt(B)===105?(ce=oe,B++):(ce=r,te===0&&pe(va)),ce===r&&(ce=null),Ye=b,b=Xo(J,q,ce)):(B=b,b=r)}else B=b,b=r;return te--,b===r&&(x=r,te===0&&pe(zo)),b}function Re(){var b,x,J,q;return b=B,x=Ge(),x!==r?(e.charCodeAt(B)===45?(J=zt,B++):(J=r,te===0&&pe(hr)),J!==r?(q=Ge(),q!==r?(Ye=b,b=Yi(x,q)):(B=b,b=r)):(B=b,b=r)):(B=b,b=r),b}function Ge(){var b,x,J,q;return b=B,x=B,J=B,te++,e.charCodeAt(B)===93?(q=dt,B++):(q=r,te===0&&pe(Ei)),q===r&&(e.charCodeAt(B)===92?(q=we,B++):(q=r,te===0&&pe(En)),q===r&&(q=bn())),te--,q===r?J=void 0:(B=J,J=r),J!==r?(q=Cr(),q!==r?(J=[J,q],x=J):(B=x,x=r)):(B=x,x=r),x!==r?b=e.substring(b,B):b=x,b===r&&(b=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,te===0&&pe(En)),x!==r?(J=kt(),J!==r?b=J:(B=b,b=r)):(B=b,b=r),b===r&&(b=ct())),b}function ct(){var b,x,J;return b=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,te===0&&pe(En)),x!==r?(J=Cu(),J!==r?(Ye=b,b=tl()):(B=b,b=r)):(B=b,b=r),b}function kt(){var b,x,J,q;return b=Ct(),b===r&&(b=B,e.charCodeAt(B)===48?(x=xt,B++):(x=r,te===0&&pe(Ot)),x!==r?(J=B,te++,q=Zi(),te--,q===r?J=void 0:(B=J,J=r),J!==r?(Ye=b,b=Jo()):(B=b,b=r)):(B=b,b=r),b===r&&(b=Iu(),b===r&&(b=vl()))),b}function Ct(){var b;return b=_u(),b===r&&(b=Lh()),b}function _u(){var b,x;return e.charCodeAt(B)===39?(b=Le,B++):(b=r,te===0&&pe(jt)),b===r&&(e.charCodeAt(B)===34?(b=Fe,B++):(b=r,te===0&&pe(Ls)),b===r&&(e.charCodeAt(B)===92?(b=we,B++):(b=r,te===0&&pe(En)),b===r&&(b=B,e.charCodeAt(B)===98?(x=nt,B++):(x=r,te===0&&pe(Wo)),x!==r&&(Ye=b,x=tn()),b=x,b===r&&(b=B,e.charCodeAt(B)===102?(x=Dt,B++):(x=r,te===0&&pe(Ea)),x!==r&&(Ye=b,x=rl()),b=x,b===r&&(b=B,e.charCodeAt(B)===110?(x=tt,B++):(x=r,te===0&&pe(pr)),x!==r&&(Ye=b,x=nl()),b=x,b===r&&(b=B,e.charCodeAt(B)===114?(x=mt,B++):(x=r,te===0&&pe(wa)),x!==r&&(Ye=b,x=il()),b=x,b===r&&(b=B,e.charCodeAt(B)===116?(x=Yt,B++):(x=r,te===0&&pe(wu)),x!==r&&(Ye=b,x=sl()),b=x,b===r&&(b=B,e.charCodeAt(B)===118?(x=Je,B++):(x=r,te===0&&pe(Au)),x!==r&&(Ye=b,x=al()),b=x)))))))),b}function Lh(){var b,x,J,q;return b=B,x=B,J=B,te++,q=sn(),q===r&&(q=bn()),te--,q===r?J=void 0:(B=J,J=r),J!==r?(q=Cr(),q!==r?(J=[J,q],x=J):(B=x,x=r)):(B=x,x=r),x!==r?b=e.substring(b,B):b=x,b}function sn(){var b;return b=_u(),b===r&&(b=Zi(),b===r&&(e.charCodeAt(B)===120?(b=Ht,B++):(b=r,te===0&&pe(Aa)),b===r&&(e.charCodeAt(B)===117?(b=Un,B++):(b=r,te===0&&pe(wi))))),b}function Iu(){var b,x,J,q,se,ce;return b=B,e.charCodeAt(B)===120?(x=Ht,B++):(x=r,te===0&&pe(Aa)),x!==r?(J=B,q=B,se=ni(),se!==r?(ce=ni(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r),q!==r?J=e.substring(J,B):J=q,J!==r?(Ye=b,b=ul(J)):(B=b,b=r)):(B=b,b=r),b}function vl(){var b,x,J,q,se,ce,Ft,qt;return b=B,e.charCodeAt(B)===117?(x=Un,B++):(x=r,te===0&&pe(wi)),x!==r?(J=B,q=B,se=ni(),se!==r?(ce=ni(),ce!==r?(Ft=ni(),Ft!==r?(qt=ni(),qt!==r?(se=[se,ce,Ft,qt],q=se):(B=q,q=r)):(B=q,q=r)):(B=q,q=r)):(B=q,q=r),q!==r?J=e.substring(J,B):J=q,J!==r?(Ye=b,b=Kr(J)):(B=b,b=r)):(B=b,b=r),b}function Zi(){var b;return Br.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(ya)),b}function ni(){var b;return la.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(yu)),b}function Du(){var b,x;return b=B,e.charCodeAt(B)===46?(x=fr,B++):(x=r,te===0&&pe(Sa)),x!==r&&(Ye=b,x=Ih()),b=x,b}function ht(){var b,x,J,q;return te++,b=B,e.charCodeAt(B)===123?(x=s,B++):(x=r,te===0&&pe(gi)),x!==r?(J=Uh(),e.charCodeAt(B)===125?(q=o,B++):(q=r,te===0&&pe(zi)),q!==r?b=J:(B=b,b=r)):(B=b,b=r),te--,b===r&&(x=r,te===0&&pe(ba)),b}function Uh(){var b,x;return b=B,x=$u(),Ye=b,x=rn(x),b=x,b}function $u(){var b,x,J,q,se,ce;if(b=B,x=[],J=[],q=B,se=B,te++,Mr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(qr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r),q!==r)for(;q!==r;)J.push(q),q=B,se=B,te++,Mr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(qr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);else J=r;for(J===r&&(J=B,e.charCodeAt(B)===123?(q=s,B++):(q=r,te===0&&pe(gi)),q!==r?(se=$u(),e.charCodeAt(B)===125?(ce=o,B++):(ce=r,te===0&&pe(zi)),ce!==r?(q=[q,se,ce],J=q):(B=J,J=r)):(B=J,J=r));J!==r;){if(x.push(J),J=[],q=B,se=B,te++,Mr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(qr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r),q!==r)for(;q!==r;)J.push(q),q=B,se=B,te++,Mr.test(e.charAt(B))?(ce=e.charAt(B),B++):(ce=r,te===0&&pe(qr)),te--,ce===r?se=void 0:(B=se,se=r),se!==r?(ce=Cr(),ce!==r?(se=[se,ce],q=se):(B=q,q=r)):(B=q,q=r);else J=r;J===r&&(J=B,e.charCodeAt(B)===123?(q=s,B++):(q=r,te===0&&pe(gi)),q!==r?(se=$u(),e.charCodeAt(B)===125?(ce=o,B++):(ce=r,te===0&&pe(zi)),ce!==r?(q=[q,se,ce],J=q):(B=J,J=r)):(B=J,J=r))}return b=e.substring(b,B),b}function Bu(){var b;return vt.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(R)),b}function Hh(){var b;return Qt.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(O)),b}function jh(){var b;return Ze.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(U)),b}function Mh(){var b;return Pr.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(Q)),b}function Pu(){var b;return fa.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(de)),b}function Ai(){var b;return ha.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(ve)),b}function Ru(){var b;return pa.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(_e)),b}function El(){var b;return da.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(Pe)),b}function Tu(){var b;return Gi.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(bt)),b}function wl(){var b;return ga.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(Mt)),b}function Al(){var b;return xs.test(e.charAt(B))?(b=e.charAt(B),B++):(b=r,te===0&&pe(yr)),b}function Et(){var b,x;for(b=[],x=Sn(),x===r&&(x=Cu(),x===r&&(x=dl()));x!==r;)b.push(x),x=Sn(),x===r&&(x=Cu(),x===r&&(x=dl()));return b}function yl(){var b,x;for(b=[],x=Sn(),x===r&&(x=Ji());x!==r;)b.push(x),x=Sn(),x===r&&(x=Ji());return b}function Qi(){var b,x,J,q;return b=B,x=Et(),e.charCodeAt(B)===59?(J=Ar,B++):(J=r,te===0&&pe(Sr)),J!==r?(x=[x,J],b=x):(B=b,b=r),b===r&&(b=B,x=yl(),J=nn(),J===r&&(J=null),q=Cu(),q!==r?(x=[x,J,q],b=x):(B=b,b=r),b===r&&(b=B,x=Et(),J=es(),J!==r?(x=[x,J],b=x):(B=b,b=r))),b}function es(){var b,x;return b=B,te++,e.length>B?(x=e.charAt(B),B++):(x=r,te===0&&pe(Ns)),te--,x===r?b=void 0:(B=b,b=r),b}let Ou=t.reservedWords||[];if(yn=a(),yn!==r&&B===e.length)return yn;throw yn!==r&&B{"use strict";var lP=ch(),fP=lA(),hP=hA(),pP=D0(),dP=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],Zc={VERSION:pP,RESERVED_WORDS:dP,GrammarError:lP,parser:hP,compiler:fP,generate(e,t){t=t!==void 0?t:{};function r(a){let s={};return Object.keys(a).forEach(o=>{s[o]=a[o].slice()}),s}let n="plugins"in t?t.plugins:[],i={parser:Zc.parser,passes:r(Zc.compiler.passes),reservedWords:Zc.RESERVED_WORDS.slice()};return n.forEach(a=>{a.use(i,t)}),Zc.compiler.compile(i.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:i.reservedWords}),i.passes,t)}};pA.exports=Zc});var zl="2.19.56";var xp="schemaVersion",Yn="settings",Wn="subs",zs="collections",Na="files",Ng="modules",ui="artifacts",Ec="rules",Np="tokens";var kg="Sub-Store Artifacts Repository",ka="#sub-store-cached-resource",La="#sub-store-cached-headers-resource",Yl="#sub-store-chr-expiration-time";var Ua="#sub-store-cached-script-resource",Wl="#sub-store-csr-expiration-time";var Ys=typeof $task<"u",ls=typeof $loon<"u",Ws=typeof $httpClient<"u"&&!ls,Ci=eval('typeof process !== "undefined"'),Ug=typeof $environment<"u"&&$environment["stash-version"],Hg=typeof $rocket<"u",$5=typeof egern=="object",B5=typeof $native<"u",Xs=typeof $Plugins<"u";function Lg(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var Xl=class{constructor(name="untitled",debug=!1){if(this.name=name,this.debug=debug,this.http=oi(),this.env=Dn(),Ci){let dotenv=eval('require("dotenv")');dotenv.config()}this.node=(()=>{if(Ci){let fs=eval("require('fs')");return{fs}}else return null})(),this.initCache();let delay=(e,t)=>new Promise(function(r){setTimeout(r.bind(null,t),e)});Promise.prototype.delay=async function(e){let t=await this;return await delay(e,t)}}initCache(){if(Ys&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(ls||Ws)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),Xs&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),Ci){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}Lg(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}Lg(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(Ys&&$prefs.setValueForKey(data,this.name),(ls||Ws)&&$persistentStore.write(data,this.name),Xs&&$Plugins.SubStoreCache.set(this.name,data),Ci){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),Ws||ls)return $persistentStore.write(e,t);if(Ys)return $prefs.setValueForKey(e,t);if(Ci&&(this.root[t]=e),Xs)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Ws||ls)return $persistentStore.read(e);if(Ys)return $prefs.valueForKey(e);if(Ci)return this.root[e];if(Xs)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Ws||ls)return $persistentStore.write(null,e);if(Ys)return $prefs.removeValueForKey(e);if(Ci&&delete this.root[e],Xs)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(Ys&&$notify(title,subtitle,content,options),Ws&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),ls){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(Ci){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(r=>r).join(` +`)));oi().get({url:e}).then(r=>{console.log(`[Push Service] URL: ${e} +RES: ${r.statusCode} ${r.body}`)}).catch(r=>{console.log(`[Push Service] URL: ${e} +ERROR: ${r}`)})}}Xs&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){Ys||ls||Ws||Xs?$done(e):Ci&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function Dn(){return{isQX:Ys,isLoon:ls,isSurge:Ws,isNode:Ci,isStash:Ug,isShadowRocket:Hg,isEgern:$5,isLanceX:B5,isGUIforCores:Xs}}function oi(defaultOptions={baseURL:""}){let{isQX,isLoon,isSurge,isNode,isGUIforCores}=Dn(),methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],URL_REGEX=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function send(method,options){options=typeof options=="string"?{url:options}:options;let baseURL=defaultOptions.baseURL;baseURL&&!URL_REGEX.test(options.url||"")&&(options.url=baseURL?baseURL+options.url:options.url),options={...defaultOptions,...options};let timeout=options.timeout,events={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...options.events};if(events.onRequest(method,options),options.node&&isSurge){let e=$environment["surge-build"];e&&parseInt(e)>=2407&&(options["policy-descriptor"]=options.node,delete options.node)}let worker;isQX?worker=$task.fetch({method,url:options.url,headers:options.headers,body:options.body,opts:options.opts}):isLoon||isSurge||isNode?worker=new Promise(async(resolve,reject)=>{let body=options.body,opts=JSON.parse(JSON.stringify(options));if(opts.body=body,opts.timeout=opts.timeout||8e3,opts.timeout&&(opts.timeout++,isNaN(opts.timeout)&&(opts.timeout=8e3),!isNode)){let e="ms";(isSurge||Ug||Hg)&&(opts.timeout=Math.ceil(opts.timeout/1e3),e="s")}if(isNode){let undici=eval("require('undici')"),{ProxyAgent,EnvHttpProxyAgent,request,interceptors}=undici,agentOpts={connect:{rejectUnauthorized:!(opts.strictSSL===!1||opts.insecure===!0)},bodyTimeout:opts.timeout,headersTimeout:opts.timeout};try{let e=new URL(opts.url);(e.username||e.password)&&(opts.headers={...opts.headers||{},Authorization:`Basic ${Buffer.from(`${e.username||""}:${e.password||""}`).toString("base64")}`});let t=await request(opts.url,{...opts,method:method.toUpperCase(),dispatcher:(opts.proxy?new ProxyAgent({...agentOpts,uri:opts.proxy}):new EnvHttpProxyAgent(agentOpts)).compose(interceptors.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});resolve({statusCode:t.statusCode,headers:t.headers,body:opts.encoding===null?await t.body.arrayBuffer():await t.body.text()})}catch(e){reject(e)}}else $httpClient[method.toLowerCase()](opts,(e,t,r)=>{e?reject(e):resolve({statusCode:t.status||t.statusCode,headers:t.headers,body:r})})}):isGUIforCores&&(worker=new Promise(async(e,t)=>{try{let r=await $Plugins.Requests({method,url:options.url,headers:options.headers,body:options.body,options:{Proxy:options.proxy,Timeout:options.timeout?options.timeout/1e3:15}});e({statusCode:r.status,headers:r.headers,body:r.body})}catch(r){t(r)}}));let timeoutid,timer=timeout?new Promise((e,t)=>{timeoutid=setTimeout(()=>(events.onTimeout(),t(`${method} URL: ${options.url} exceeds the timeout ${timeout} ms`)),timeout)}):null;return(timer?Promise.race([timer,worker]).then(e=>(typeof clearTimeout<"u"&&clearTimeout(timeoutid),e)):worker).then(e=>events.onResponse(e))}let http={};return methods.forEach(e=>http[e.toLowerCase()]=t=>send(e,t)),http}var P5=new Xl("sub-store"),V=P5;function kp(){R5()}function R5(){let e=V.read(xp);e||T5(),e!=="2.0"&&V.write("2.0",xp)}function T5(){V.info("Start migrating...");let e=V.read(Wn)||{},t=Object.values(e).map(A=>(A.source=A.source||"remote",p(A),f(A),A));V.write(t,Wn);let r=V.read(zs)||{},n=Object.values(r).map(A=>(delete A.ua,p(A),f(A),A));V.write(n,zs);let i=V.read(ui)||{},a=Object.values(i);V.write(a,ui);let s=V.read(Ec)||{},o=Object.values(s);V.write(o,Ec);let l=V.read(Na)||{},h=Object.values(l);V.write(h,Na);let d=V.read(Np)||{},E=Object.values(d);V.write(E,Np),delete V.cache.builtin,V.info("Migration complete!");function p(A){let g=A["display-name"];g&&(A.displayName=g,delete A["display-name"])}function f(A){let g=A.process;if(!g||g.length===0)return;let S=[],w={type:"Quick Setting Operator",args:{udp:"DEFAULT",tfo:"DEFAULT",scert:"DEFAULT","vmess aead":"DEFAULT",useless:"DEFAULT"}};for(let y of g)if(y.type){if(y.type==="Useless Filter")w.args.useless="ENABLED";else if(y.type==="Set Property Operator"){let{key:F,value:D}=y.args;switch(F){case"udp":w.args.udp=D?"ENABLED":"DISABLED";break;case"tfo":w.args.tfo=D?"ENABLED":"DISABLED";break;case"skip-cert-verify":w.args.scert=D?"ENABLED":"DISABLED";break;case"aead":w.args["vmess aead"]=D?"ENABLED":"DISABLED";break}}else if(y.type.indexOf("Keyword")===-1)if(y.type==="Flag Operator"){let F=typeof y.args>"u"?!0:y.args;y.args={mode:F?"add":"remove"},S.push(y)}else S.push(y)}S.unshift(w),A.process=S}}function Lp({substore:$,port,host}){let{isNode}=Dn(),DEFAULT_HEADERS={"Content-Type":"text/plain;charset=UTF-8","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST,GET,OPTIONS,PATCH,PUT,DELETE","Access-Control-Allow-Headers":"Origin, X-Requested-With, Content-Type, Accept","X-Powered-By":"Sub-Store"};if(isNode){let express_=eval('require("express")'),bodyParser=eval('require("body-parser")'),app=express_(),limit=eval("process.env.SUB_STORE_BODY_JSON_LIMIT")||"1mb";return $.info(`[BACKEND] body JSON limit: ${limit}`),app.use(bodyParser.json({verify:rawBodySaver,limit})),app.use(bodyParser.urlencoded({verify:rawBodySaver,extended:!0})),app.use(bodyParser.raw({verify:rawBodySaver,type:"*/*"})),app.use((e,t,r)=>{t.set(DEFAULT_HEADERS),r()}),app.start=()=>{let e=app.listen(port,host,()=>{let{address:t,port:r}=e.address();$.info(`[BACKEND] listening on ${t}:${r}`)})},app}let handlers=[],METHODS_NAMES=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD'","ALL"],dispatch=(e,t=0)=>{let{method:r,url:n,headers:i,body:a}=e;i=O5(i),/json/i.test(i["content-type"])&&(a=JSON.parse(a)),r=r.toUpperCase();let{path:s,query:o}=N5(n),l=null,h,d=0;for(h=t;hd&&(l=handlers[h],d=E.split("/").length)}if(l){let E=()=>{dispatch(r,n,h)},p={method:r,url:n,path:s,query:o,params:jg(l.pattern,s),headers:i,body:a},f=Response(),A=l.callback,g=S=>{f.status(500).json({status:"failed",message:`Internal Server Error: ${S}`})};if(A.constructor.name==="AsyncFunction")A(p,f,E).catch(g);else try{A(p,f,E)}catch(S){g(S)}}else Response().status(404).json({status:"failed",message:"ERROR: 404 not found"})},app={};return METHODS_NAMES.forEach(e=>{app[e.toLowerCase()]=(t,r)=>{handlers.push({method:e,pattern:t,callback:r})}}),app.route=e=>{let t={};return METHODS_NAMES.forEach(r=>{t[r.toLowerCase()]=n=>(handlers.push({method:r,pattern:e,callback:n}),t)}),t},app.start=()=>{dispatch($request)},app;function rawBodySaver(e,t,r,n){r&&r.length&&(e.rawBody=r.toString(n||"utf8"))}function Response(){let e=200,{isQX:t,isLoon:r,isSurge:n,isGUIforCores:i}=Dn(),a=DEFAULT_HEADERS,s={200:"HTTP/1.1 200 OK",201:"HTTP/1.1 201 Created",302:"HTTP/1.1 302 Found",307:"HTTP/1.1 307 Temporary Redirect",308:"HTTP/1.1 308 Permanent Redirect",404:"HTTP/1.1 404 Not Found",500:"HTTP/1.1 500 Internal Server Error"};return new class{status(o){return e=o,this}send(o=""){let l={status:t?s[e]:e,body:o,headers:a};t||i?$done(l):(r||n)&&$done({response:l})}end(){this.send()}html(o){this.set("Content-Type","text/html;charset=UTF-8"),this.send(o)}json(o){this.set("Content-Type","application/json;charset=UTF-8"),this.send(JSON.stringify(o))}set(o,l){return a[o]=l,this}}}}function O5(e){let t={};for(let r of Object.keys(e))t[r.toLowerCase()]=e[r];return t}function x5(e,t){if(e instanceof RegExp&&e.test(t))return!0;if(e==="/")return!0;if(e.indexOf(":")===-1){let r=t.split("/"),n=e.split("/");for(let i=0;i{let t={};return e.forEach((r,n)=>t[r]=n),t})(wc),p3=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,_r=String.fromCharCode.bind(String),pm=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),vm=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Em=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),wm=e=>{let t,r,n,i,a="",s=e.length%3;for(let o=0;o255||(n=e.charCodeAt(o++))>255||(i=e.charCodeAt(o++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|i,a+=wc[t>>18&63]+wc[t>>12&63]+wc[t>>6&63]+wc[t&63]}return s?a.slice(0,s-3)+"===".substring(s):a},Wp=typeof btoa=="function"?e=>btoa(e):Ku?e=>Buffer.from(e,"binary").toString("base64"):wm,zp=Ku?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,i=e.length;nt?vm(zp(e)):zp(e),d3=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?_r(192|t>>>6)+_r(128|t&63):_r(224|t>>>12&15)+_r(128|t>>>6&63)+_r(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return _r(240|t>>>18&7)+_r(128|t>>>12&63)+_r(128|t>>>6&63)+_r(128|t&63)}},g3=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Am=e=>e.replace(g3,d3),dm=Ku?e=>Buffer.from(e,"utf8").toString("base64"):hm?e=>zp(hm.encode(e)):e=>Wp(Am(e)),Vu=(e,t=!1)=>t?vm(dm(e)):dm(e),gm=e=>Vu(e,!0),m3=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,v3=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return _r((r>>>10)+55296)+_r((r&1023)+56320);case 3:return _r((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return _r((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},ym=e=>e.replace(m3,v3),Sm=e=>{if(e=e.replace(/\s+/g,""),!p3.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,i;for(let a=0;a>16&255):i===64?_r(t>>16&255,t>>8&255):_r(t>>16&255,t>>8&255,t&255);return r},Xp=typeof atob=="function"?e=>atob(Em(e)):Ku?e=>Buffer.from(e,"base64").toString("binary"):Sm,bm=Ku?e=>pm(Buffer.from(e,"base64")):e=>pm(Xp(e).split("").map(t=>t.charCodeAt(0))),Cm=e=>bm(Fm(e)),E3=Ku?e=>Buffer.from(e,"base64").toString("utf8"):fm?e=>fm.decode(bm(e)):e=>ym(Xp(e)),Fm=e=>Em(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),Yp=e=>E3(Fm(e)),w3=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},_m=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Im=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,_m(r));e("fromBase64",function(){return Yp(this)}),e("toBase64",function(t){return Vu(this,t)}),e("toBase64URI",function(){return Vu(this,!0)}),e("toBase64URL",function(){return Vu(this,!0)}),e("toUint8Array",function(){return Cm(this)})},Dm=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,_m(r));e("toBase64",function(t){return nf(this,t)}),e("toBase64URI",function(){return nf(this,!0)}),e("toBase64URL",function(){return nf(this,!0)})},A3=()=>{Im(),Dm()},pt={version:mm,VERSION:f3,atob:Xp,atobPolyfill:Sm,btoa:Wp,btoaPolyfill:wm,fromBase64:Yp,toBase64:Vu,encode:Vu,encodeURI:gm,encodeURL:gm,utob:Am,btou:ym,decode:Yp,isValid:w3,fromUint8Array:nf,toUint8Array:Cm,extendString:Im,extendUint8Array:Dm,extendBuiltins:A3};var vh=ln(of());var Fd=ln(Ev());function K_(e){let t=Fd.default.pemtohex(e);return Fd.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var wv={generateFingerprint:K_};var Tc=ln(fE());function pE(e,t,...r){try{return e(t,...r)}catch{return e(dE(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function Rc(e,...t){return pE(Tc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function S9(e,...t){return pE(Tc.default.load,JSON.parse(JSON.stringify(e)),...t)}function hE(e,...t){return Tc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function dE(e,...t){return Tc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var Ja={safeLoad:Rc,load:S9,safeDump:hE,dump:dE,parse:Rc,stringify:hE};var Ld=0;function li(e){return C9(b9(F9(e)))}function b9(e){return I9(D9(_9(e),e.length*8))}function C9(e){try{}catch{Ld=0}for(var t=Ld?"0123456789ABCDEF":"0123456789abcdef",r="",n,i=0;i>>4&15)+t.charAt(n&15);return r}function F9(e){for(var t="",r=-1,n,i;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function _9(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function D9(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,i=-1732584194,a=271733878,s=0;s>16)+(t>>16)+(r>>16);return n<<16|r&65535}function $9(e,t){return e<>>32-t}var Mf=ln(IE()),tD=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,rD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function or(e){return tD.test(e)}function Jt(e){return rD.test(e)}function DE(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function Ti(e){return typeof e=="string"&&e.trim().length>0}function Bt(e,t){return Ti(e)?e:t}function po(e){return typeof e<"u"&&e!==null}function go(e,t){return po(e)?e:t}function ws(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function nD(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function Nc(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,i]=r.split("-").map(Number);return nD(n,i)}else return Number(r)}function $E(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function qf(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}var Xd=class{constructor(t){this.expires=t,V.read(ka)||V.write("{}",ka);try{this.resourceCache=JSON.parse(V.read(ka))}catch(r){V.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${ka} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${r?.message??r}`),this.resourceCache={},V.write("{}",ka)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],V.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){V.write(JSON.stringify(this.resourceCache),ka)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}},Er=new Xd(36e5);var Jd=class{constructor(){this.expires=sD(),V.read(La)||V.write("{}",La);try{this.resourceCache=JSON.parse(V.read(La))}catch(t){V.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${La} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},V.write("{}",La)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],V.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){V.write(JSON.stringify(this.resourceCache),La)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function sD(){V.read(Yl)||V.write("6e4",Yl);let e=6e4;if(V.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=V.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=V.read(Yl),e}var kc=new Jd;function mo(e){let t=Object.keys(e),r="",n="";for(let i of t){let a=i.toLowerCase();a==="subscription-userinfo"?r=e[i]:a==="profile-web-page-url"&&(n=e[i])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Oi(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=Dn(),insecure=$arguments?.insecure?V.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=V.read(Yn),proxy=customProxy||defaultProxy;V.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=li(userAgent+url),cached=kc.get(id),flowInfo;if(!$arguments?.noCache&&cached)V.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=oi();if(flowUrl){V.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},...insecure||{}});flowInfo=t}else{try{V.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},...insecure||{}});flowInfo=mo(t)}catch(t){V.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){V.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},...insecure||{}});flowInfo=mo(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&kc.set(id,flowInfo)}return flowInfo}function Vf(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(n[1]+n[2]),a=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),s=Number(a[1]+a[2]),o=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),l=o?Number(o[1]+o[2]):void 0,h=e.match(/reset_day=([0-9]+)/),d=h?Number(h[1]):void 0,E=e.match(/app_url=(.*?)\s*?(;|$)/),p=E?decodeURIComponent(E[1]):void 0,f=e.match(/plan_name=(.*?)\s*?(;|$)/),A=f?decodeURIComponent(f[1]):void 0;return{expires:l,total:s,usage:{upload:r,download:i},remainingDays:d,appUrl:p,planName:A}}function Lc(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:Lc(e/1024,r[++n])}function Kf(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3a.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let s=new Date(r);for(s.setDate(s.getDate()+n);s31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let i=new Date,a=i.getDate(),s=i.getMonth(),o=i.getFullYear(),l;return t>a?l=0:l=new Date(o,s+1,0).getDate(),l-a+t}}catch(t){V.error(`getRmainingDays failed: ${t.message??t}`)}}function vo(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();if(!t.has(i))try{let s=decodeURIComponent(a);t.set(i,s)}catch{t.set(i,a)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return V.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}function aD(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function uD(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(i){return!/^\w+:\/\/\w+/im.test(i)&&t.some(a=>i.indexOf(a)!==-1)},parse:function(i){let a=pt.decode(i);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(a)?a:(V.error("Base64 Pre-processor error: decoded line does not start with protocol"),i)}}}function oD(){return{name:"Fallback Base64 Pre-processor",test:function(n){return!0},parse:function(n){let i=pt.decode(n);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(i)?i:(V.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),n)}}}function cD(){return{name:"Clash Pre-processor",test:function(n){if(!/proxies/.test(n))return!1;let i=Rc(n);return i.proxies&&Array.isArray(i.proxies)},parse:function(n,i){let a=n.replace(/short-id:([ \t]*[^#\n,}]*)/g,(l,h)=>{let d=h.trim();return!d||d===""?'short-id: ""':/^(['"]).*\1$/.test(d)?`short-id: ${d}`:["null"].includes(d)?`short-id: ${d}`:`short-id: "${d}"`}),{proxies:s,"global-client-fingerprint":o}=Rc(a);return(i?`proxies: +`:"")+s.map(l=>(o&&!l["client-fingerprint"]&&(l["client-fingerprint"]=o),`${i?" - ":""}${JSON.stringify(l)} +`)).join("")}}}function lD(){return{name:"SSD Pre-processor",test:function(n){return n.indexOf("ssd://")===0},parse:function(n){let i=[],a=JSON.parse(pt.decode(n.split("ssd://")[1])),s=a.port,o=a.encryption,l=a.password,h=a.servers;for(let d=0;de.name==="Clash Pre-processor"),Zd=new Map;async function Ir(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=Dn(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=V.read(Yn),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;V.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=li(userAgent+url);$arguments?.cacheKey===!0&&(V.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=V.read(customCacheKey),t=Er.get(id);if(!noCache&&!$arguments?.noCache&&t)return V.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){V.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await Ir(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){V.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),V.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),Er.set(id,e)}}else V.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),Ir(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{V.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&Zd.has(id))return Zd.get(id);let http=oi({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=Er.get(id);if(!noCache&&!$arguments?.noCache&&cached)V.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(V.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),V.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;V.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},...e||{}});if(V.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let a=mo(r);a&&kc.set(id,a)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{PE.test(t)&&(t=PE.parse(t,!0))}catch(a){V.error(`Clash Pre-processor error: ${a}`)}let i=!0;if(cacheThreshold){let a=t.length/1024;a>cacheThreshold&&(V.info(`\u8D44\u6E90\u5927\u5C0F ${a.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),i=!1)}i&&(Er.set(id,t),customCacheKey&&(V.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),V.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=V.read(customCacheKey);if(r)return V.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await Kf(Vf(await Oi(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||Zd.set(id,result),result}async function RE(url,file){let undici=eval("require('undici')"),fs=eval("require('fs')"),{pipeline}=eval("require('stream/promises')"),{Agent,interceptors,request}=undici;V.info(`Downloading file... +URL: ${url} +File: ${file}`);let{body,statusCode}=await request(url,{dispatcher:new Agent().compose(interceptors.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(statusCode!==200)throw new Error(`Failed to download file from ${url}`);let fileStream=fs.createWriteStream(file);return await pipeline(body,fileStream),V.info(`File downloaded from ${url} to ${file}`),file}var Qd=class{constructor(){this.expires=hD(),V.read(Ua)||V.write("{}",Ua);try{this.resourceCache=JSON.parse(V.read(Ua))}catch(t){V.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Ua} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},V.write("{}",Ua)}this._cleanup()}_cleanup(t,r){let n=!1;Object.entries(this.resourceCache).forEach(i=>{let[a,s]=i;s.time||(delete this.resourceCache[a],V.delete(`#${a}`),n=!0),(new Date().getTime()-s.time>(r??this.expires)||t&&a.startsWith(t))&&(delete this.resourceCache[a],n=!0)}),n&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){V.write(JSON.stringify(this.resourceCache),Ua)}get(t,r,n){let i=this.resourceCache[t]&&this.resourceCache[t].time;if(i){if(new Date().getTime()-i<=(r??this.expires))return this.resourceCache[t].data;n&&(delete this.resourceCache[t],this._persist())}return null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function hD(){V.read(Wl)||V.write("1728e5",Wl);let e=1728e5;if(V.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=V.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=V.read(Wl),e}var e0=new Qd;function zf(e,t){return[...Array(e).keys()].map(()=>t)}var t0={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function Eo(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(a=>RegExp(`${a}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(t0))if(t0[n].some(a=>RegExp(`(^|[^a-zA-Z])${a}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function Wf(e){return t0[Eo(e)]?.[0]}function Uc(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var Yf=class{constructor({country,asn}={}){if(V.env.isNode){let Reader=eval('require("@maxmind/geoip2-node")').Reader,fs=eval("require('fs')"),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}};var Zf=ln(qE()),VE=ln(of());async function Ao({url:e,domain:t,type:r="A",timeout:n,edns:i}){let a=Zf.default.encode({type:"query",id:0,flags:Zf.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:i,sourcePrefixLength:or(i)?24:56,scopePrefixLength:0}]}]}),s=await V.http.get({url:`${e}?dns=${a.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return Zf.default.decode(VE.Buffer.from(V.env.isQX?s.bodyBytes:s.body))}var g0=ln(f0());function Mi(e,t,r){e.status(r||200).json({status:"success",data:t})}function $r(e,t,r){e.status(r||500).json({status:"failed",error:{code:t.code,type:t.type,message:t.message,details:t.details}})}var Mc=class{constructor(t,r,n){this.code=t,this.message=r,this.details=n}},Tn=class extends Mc{constructor(t,r,n){super(t,r,n),this.type="InternalServerError"}};var Bs=class extends Mc{constructor(t,r,n){super(t,r,n),this.type="ResourceNotFoundError"}},Qf=class extends Mc{constructor(t,r,n){super(t,r,n),this.type="NetworkError"}};function cr(e,t,r="name"){return e.find(n=>n[r]===t)}function AD(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function yD(){return{name:"Clash Provider",test:n=>/^payload:/gm.exec(n).index>=0,parse:n=>n.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var KE=[AD(),yD()];function SD(){return{type:"SINGLE",func:r=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[r.type]||r.type},${r.content},SUB-STORE`}}function GE(){return{type:"SINGLE",func:r=>{if(["GEOSITE","GEOIP"].indexOf(r.type)!==-1)return null;let i=`${r.type},${r.content}`;return["IP-CIDR","IP-CIDR6"].includes(r.type)&&(i+=r.options?.length>0?`,${r.options.join(",")}`:""),i}}}function bD(){return{type:"SINGLE",func:r=>["SRC-IP","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(r.type)&&r.options&&(r.options=r.options.filter(i=>["no-resolve"].includes(i))),GE().func(r))}}function CD(){return{type:"ALL",func:r=>{let n={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},i={payload:r.map(a=>{let s=`${n[a.type]||a.type},${a.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(a.type)&&(a.options&&(a.options=a.options.filter(o=>["no-resolve"].includes(o))),s+=a.options?.length>0?`,${a.options.join(",")}`:""),s})};return Ja.dump(i)}}}var zE={QX:SD(),Surge:GE(),Loon:bD(),Clash:CD()};var FD=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function _D(){return{name:"Universal Rule Parser",test:()=>!0,parse:n=>{let i=n.split(` +`),a=[];for(let s of i)if(s=s.trim(),s.length!==0&&!/\s*#/.test(s))try{let o=s.split(",").map(d=>d.trim()),l=o[0],h=!1;for(let d of FD)if(d[0].test(l)){h=!0;let p={type:d[1],content:o[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(p.type)&&(p.options=o.slice(2)),a.push(p)}if(!h)throw new Error("Invalid rule type: "+l)}catch(o){console.log(`Failed to parse line: ${s} + Reason: ${o}`)}return a}}}var YE=[_D()];var eh=function(){function e(n){for(let i of KE)try{if(i.test(n))return V.info(`Pre-processor [${i.name}] activated`),i.parse(n)}catch(a){V.error(`Parser [${i.name}] failed + Reason: ${a}`)}return n}function t(n){n=e(n);for(let i of YE){let a;try{a=i.test(n)}catch{a=!1}if(a)return V.info(`Rule parser [${i.name}] is activated!`),i.parse(n)}}function r(n,i){let a=zE[i];if(!a)throw new Error(`Target platform: ${i} is not supported!`);if(typeof a.type>"u"||a.type==="SINGLE")return n.map(s=>{try{return a.func(s)}catch(o){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(s)} +Reason: ${o}`),""}}).filter(s=>s.length>0).join(` +`);if(a.type==="ALL")return a.func(n)}return{parse:t,produce:r}}();var tu=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=Dn(),{defaultProxy,defaultTimeout:timeout}=V.read(Yn),proxy=defaultProxy;V.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=oi({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=oi({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?ws(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);V.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((a,s)=>(a[s.path]=s,a),{}));let n=[],i={...t.files};return Object.keys(r).map(a=>{i[a]?r[a].content==null||r[a].content===""?(delete i[a],n.push({action:"delete",file_path:a})):(i[a]=r[a],n.push({action:"update",file_path:a,content:r[a].content})):r[a].content==null||r[a].content===""?(delete i[a],delete r[a]):(i[a]=r[a],n.push({action:"create",file_path:a,content:r[a].content}))}),this.syncPlatform==="gitlab"?Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(i).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[i,a])=>(a.content!==null&&a.content!==""&&(n[i]=a),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(i=>JSON.parse(i.body)),n=r[e].raw_url;return await this.http.get(n).then(i=>i.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};async function h0(e){let{gistToken:t,syncPlatform:r}=V.read(Yn);if(!t)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=await new tu({token:t,key:kg,syncPlatform:r}).upload(e),a={};try{a=JSON.parse(i.body)}catch{}let s=a?.html_url??a?.web_url,o=V.read(Yn);return s?(V.log(`\u540C\u6B65 Gist \u540E, \u627E\u5230 Sub-Store Gist: ${s}`),o.artifactStore=s,o.artifactStoreStatus="VALID"):(V.error("\u540C\u6B65 Gist \u540E, \u627E\u4E0D\u5230 Sub-Store Gist"),o.artifactStoreStatus="NOT FOUND"),V.write(o,Yn),i}function p0(e){V.read(ui)||V.write({},ui),e.get("/api/sync/artifacts",DD),e.get("/api/sync/artifact/:name",$D)}async function Qn({type:e,name:t,platform:r,url:n,ua:i,content:a,mergeSources:s,ignoreFailedRemoteSub:o,ignoreFailedRemoteFile:l,produceType:h,produceOpts:d={},subscription:E,awaitCustomCache:p,$options:f,proxy:A,noCache:g,all:S}){if(r=r||"JSON",["subscription","sub"].includes(e)){let w;if(t){let I=V.read(Wn);if(w=cr(I,t),!w)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(E)w=E;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let y;if(a&&!["localFirst","remoteFirst"].includes(s))y=a;else if(n){let I={};y=await Promise.all(n.split(/[\r\n]+/).map(M=>M.trim()).filter(M=>M.length).map(async M=>{try{return await Ir(M,i||w.ua,void 0,A||w.proxy,void 0,p,g||w.noCache,!0)}catch(_){return I[M]=_,V.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${M} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(o!=null&&o!==""&&(j=o),Object.keys(I).length>0)if(j)j==="enabled"&&V.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?y.unshift(a):s==="remoteFirst"&&y.push(a)}else if(w.source==="local"&&!["localFirst","remoteFirst"].includes(w.mergeSources))y=w.content;else{let I={};y=await Promise.all(w.url.split(/[\r\n]+/).map(M=>M.trim()).filter(M=>M.length).map(async M=>{try{return await Ir(M,i||w.ua,void 0,A||w.proxy,void 0,p,g||w.noCache,!0)}catch(_){return I[M]=_,V.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${M} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(o!=null&&o!==""&&(j=o),Object.keys(I).length>0)if(j)j==="enabled"&&V.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);w.mergeSources==="localFirst"?y.unshift(w.content):w.mergeSources==="remoteFirst"&&y.push(w.content)}if(h==="raw")return JSON.stringify((Array.isArray(y)?y:[y]).flat());let F=(Array.isArray(y)?y:[y]).map(I=>St.parse(I)).flat();if(F.forEach(I=>{I._subName=w.name,I._subDisplayName=w.displayName}),F=await St.process(F,w.process||[],r,{[w.name]:w},f),F.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let D={};for(let I of F){if(D[I.name]){V.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${I.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}D[I.name]=!0}return St.produce(F,r,h,d)}else if(["collection","col"].includes(e)){let w=V.read(Wn),y=V.read(zs),F=cr(y,t);if(!F)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let D=[...F.subscriptions],I=F.subscriptionTags;Array.isArray(I)&&I.length>0&&w.forEach(K=>{Array.isArray(K.tag)&&K.tag.length>0&&!D.includes(K.name)&&K.tag.some(W=>I.includes(W))&&D.push(K.name)});let j={},M={},_=0;await Promise.all(D.map(async K=>{let W=cr(w,K),G=W.passThroughUA,z=W.ua;G&&(V.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${i}`),z=i);try{V.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${W.name}...`);let X;if(W.source==="local"&&!["localFirst","remoteFirst"].includes(W.mergeSources))X=W.content;else{let Se={};if(X=await await Promise.all(W.url.split(/[\r\n]+/).map(we=>we.trim()).filter(we=>we.length).map(async we=>{try{return await Ir(we,z,void 0,A||W.proxy||F.proxy,void 0,void 0,g||W.noCache,!0)}catch(Ie){return Se[we]=Ie,V.error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${we} \u53D1\u751F\u9519\u8BEF: ${Ie}`),""}})),Object.keys(Se).length>0)if(W.ignoreFailedRemoteSub)W.ignoreFailedRemoteSub==="enabled"&&V.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${W.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Se).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Se).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);W.mergeSources==="localFirst"?X.unshift(W.content):W.mergeSources==="remoteFirst"&&X.push(W.content)}let ie=(Array.isArray(X)?X:[X]).map(Se=>St.parse(Se)).flat();ie.forEach(Se=>{Se._subName=W.name,Se._subDisplayName=W.displayName,Se._collectionName=F.name,Se._collectionDisplayName=F.displayName}),ie=await St.process(ie,W.process||[],r,{[W.name]:W,_collection:F,$options:f}),j[K]=ie,_++,V.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${W.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}% `)}catch(X){_++,M[K]=X,V.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${W.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${X}\uFF01\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}%`)}}));let P=F.ignoreFailedRemoteSub;if(o!=null&&o!==""&&(P=o),Object.keys(M).length>0)if(P)P==="enabled"&&V.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${F.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(M).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${F.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(M).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let k=Array.prototype.concat.apply([],D.map(K=>j[K]||[]));if(k.forEach(K=>{K._collectionName=F.name,K._collectionDisplayName=F.displayName}),k=await St.process(k,F.process||[],r,{_collection:F},f),k.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let H={};for(let K of k){if(H[K.name]){V.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${K.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}H[K.name]=!0}return St.produce(k,r,h,d)}else if(e==="rule"){let w=V.read(Ec),y=cr(w,t);if(!y)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let F=[];for(let D=0;DP.trim()).filter(P=>P.length).map(async P=>{try{return await Ir(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,g)}catch(k){return M[P]=k,V.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),!_&&Object.keys(M).length>0)throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(M).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?F.unshift(a):s==="remoteFirst"&&F.push(a)}else if(y.source==="local"&&!["localFirst","remoteFirst"].includes(y.mergeSources))F=y.content;else{let M={};F=await Promise.all(y.url.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length).map(async P=>{try{return await Ir(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,g)}catch(k){return M[P]=k,V.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),Object.keys(M).length>0)if(_)_==="enabled"&&V.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${y.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(M).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(M).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);y.mergeSources==="localFirst"?F.unshift(y.content):y.mergeSources==="remoteFirst"&&F.push(y.content)}if(h==="raw")return JSON.stringify((Array.isArray(F)?F:[F]).flat());let D=(Array.isArray(F)?F:[F]).flat(),I=D.filter(M=>M!=null&&M!=="").join(` +`),j=Array.isArray(y.process)&&y.process.length>0?await St.process({$files:D,$content:I,$options:f,$file:y},y.process):{$content:I,$files:D,$options:f};return(S?j:j?.$content)??""}}async function ID(){V.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");let e=V.read(ui),t={};try{let r=[],n=[],i=V.read(Wn),a=V.read(zs),s=[],o=0;if(e.map(d=>{if(d.sync&&d.source){if(o++,d.type==="subscription"){let E=d.source,p=cr(i,E);p&&p.url&&!s.includes(E)&&s.push(E)}else if(d.type==="collection"){let E=cr(a,d.source);E&&Array.isArray(E.subscriptions)&&E.subscriptions.map(p=>{let f=cr(i,p);f&&f.url&&!s.includes(p)&&s.push(p)})}}}),o===0){V.info(`\u9700\u540C\u6B65\u7684\u914D\u7F6E: ${o}, \u603B\u6570: ${e.length}`);return}if(s.length>0&&await Promise.all(s.map(async d=>{try{await Qn({type:"subscription",name:d,awaitCustomCache:!0})}catch{}})),await Promise.all(e.map(async d=>{try{if(d.sync&&d.source){V.info(`\u6B63\u5728\u540C\u6B65\u4E91\u914D\u7F6E\uFF1A${d.name}...`);let E=d.platform==="SurgeMac";E&&V.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let p=await Qn({type:d.type,name:d.source,platform:d.platform,produceOpts:{"include-unsupported-proxy":d.includeUnsupportedProxy,useMihomoExternal:E}});t[encodeURIComponent(d.name)]={content:p},r.push(d.name)}}catch(E){V.error(`\u751F\u6210\u540C\u6B65\u914D\u7F6E ${d.name} \u53D1\u751F\u9519\u8BEF: ${E.message??E}`),n.push(d.name)}})),V.info(`${r.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u6210\u529F: ${r.join(", ")}`),V.info(`${n.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u5931\u8D25: ${n.join(", ")}`),r.length===0)throw new Error(`\u540C\u6B65\u914D\u7F6E ${n.join(", ")} \u751F\u6210\u5931\u8D25 \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);let l=await h0(t),h=JSON.parse(l.body);delete h.history,delete h.forks,delete h.owner,Object.values(h.files).forEach(d=>{delete d.content}),V.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),V.info(JSON.stringify(h,null,2));for(let d of e)if(d.sync&&d.source&&r.includes(d.name)){d.updated=new Date().getTime();let E=h.files,p;Array.isArray(E)&&(p=!0,E=Object.fromEntries(E.map(g=>[g.path,g])));let f=E[encodeURIComponent(d.name)]?.raw_url,A=p?f:f?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");V.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(E).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(d.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${f} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${A}`),d.url=A}if(V.write(e,ui),V.info("\u4E0A\u4F20\u914D\u7F6E\u6210\u529F"),n.length>0)throw new Error(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A, \u5931\u8D25 ${n.length} \u4E2A, \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);V.info(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A`)}catch(r){throw V.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),r}}async function DD(e,t){V.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");try{await ID(),Mi(t)}catch(r){V.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),$r(t,new Tn("FAILED_TO_SYNC_ARTIFACTS","Failed to sync all artifacts",`Reason: ${r.message??r}`))}}async function $D(e,t){let{name:r}=e.params;r=decodeURIComponent(r),V.info(`\u5F00\u59CB\u540C\u6B65\u8FDC\u7A0B\u914D\u7F6E ${r}...`);let n=V.read(ui),i=cr(n,r);if(!i){V.error(`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),$r(t,new Bs("RESOURCE_NOT_FOUND",`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),404);return}if(!i.source){V.error(`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),$r(t,new Bs("RESOURCE_HAS_NO_SOURCE",`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),404);return}try{let a=i.platform==="SurgeMac";a&&V.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let s=await Qn({type:i.type,name:i.source,platform:i.platform,produceOpts:{"include-unsupported-proxy":i.includeUnsupportedProxy,useMihomoExternal:a}});V.info(`\u6B63\u5728\u4E0A\u4F20\u914D\u7F6E\uFF1A${i.name} +>>>${JSON.stringify(i,null,2)}`);let o=await h0({[encodeURIComponent(i.name)]:{content:s}});i.updated=new Date().getTime();let l=JSON.parse(o.body);delete l.history,delete l.forks,delete l.owner,Object.values(l.files).forEach(f=>{delete f.content}),V.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),V.info(JSON.stringify(l,null,2));let h=l.files,d;Array.isArray(h)&&(d=!0,h=Object.fromEntries(h.map(f=>[f.path,f])));let E=h[encodeURIComponent(i.name)]?.raw_url,p=d?E:E?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");V.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(h).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(i.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${E} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${p}`),i.url=p,V.write(n,ui),Mi(t,i)}catch(a){V.error(`\u8FDC\u7A0B\u914D\u7F6E ${i.name} \u53D1\u751F\u9519\u8BEF: ${a.message??a}`),$r(t,new Tn("FAILED_TO_SYNC_ARTIFACT",`Failed to sync artifact ${r}`,`Reason: ${a}`))}}var{isNode:WE,isQX:BD,isLoon:PD,isSurge:RD,isStash:TD,isShadowRocket:OD,isLanceX:xD,isEgern:ND,isGUIforCores:kD}=Dn(),qi="Node";WE&&(qi="Node");BD&&(qi="QX");PD&&(qi="Loon");RD&&(qi="Surge");TD&&(qi="Stash");OD&&(qi="ShadowRocket");ND&&(qi="Egern");xD&&(qi="LanceX");kD&&(qi="GUI.for.Cores");var ru={},LD={};try{if(typeof $environment<"u"&&(ru.env=$environment),typeof $loon<"u"&&(ru.loon=$loon),typeof $script<"u"&&(ru.script=$script),typeof $Plugin<"u"&&(ru.plugin=$Plugin),WE){ru.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(ru.node.env[e]=env[e])}}catch(e){}var nu={backend:qi,version:zl,feature:LD,meta:ru};function UD(e){return e&&typeof e=="object"&&!Array.isArray(e)}function qc(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function JE(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(UD(r[n]))if(n.endsWith("!")){let i=qc(n.slice(0,-1));e[i]=r[n]}else{let i=qc(n);e[i]||Object.assign(e,{[i]:{}}),JE(e[i],r[i])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let i=qc(n.slice(1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...r[n],...e[i]]}else if(n.endsWith("+")){let i=qc(n.slice(0,-1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...e[i],...r[n]]}else{let i=qc(n);Object.assign(e,{[i]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function HD({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>th(e,r))}}function th(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>th(r,t));case"OR":return e.child.some(r=>th(r,t));case"NOT":return!th(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function jD(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let i=tw().func(r);r=r.filter((a,s)=>i[s]&&a.port>0&&a.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function MD({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=Uc(n.name);else{let i=Eo(n.name);n.name=Uc(n.name),n.name=i+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function qD(e){let{action:t,template:r,link:n,position:i}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:a=>{if(t==="delete"){let s={};return a.filter(o=>s[o.name]?!1:(s[o.name]=!0,!0))}else if(t==="rename"){let s=r.split(" "),o={},l=0;a.forEach(d=>{typeof o[d.name]>"u"?o[d.name]=1:o[d.name]++,l=Math.max(o[d.name].toString().length,l)});let h={};return a.map(d=>{if(o[d.name]>1){typeof h[d.name]>"u"&&(h[d.name]=1);let E="",p=h[d.name]++,f=0;for(;p>0;)E=s[p%10]+E,p=parseInt(p/10),f++;for(;f++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let i=r.name>n.name?1:-1;return i*=e==="desc"?-1:1,i});case"random":return t$(t);default:throw new Error("Unknown sort option: "+e)}}}}function KD(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(i=>m0(i)),n.sort((i,a)=>{let s=XE(r,i.name),o=XE(r,a.name);return s&&!o?-1:o&&!s?1:s&&o?st.map(r=>{for(let{expr:n,now:i}of e)r.name=r.name.replace(m0(n,"g"),i).trim();return r})}}function GD(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:ZE(t).func}}function zD(e,t,r,n,i){return{name:"Script Operator",func:async a=>{let s=a;if(s?.$file?.type==="mihomoProfile")try{let o=Ja.safeLoad(e),l;if(s?.$content)try{l=Ja.safeLoad(s?.$content)}catch(h){V.error(h.message??h)}if(typeof o!="object")throw new Error("patch is not an object");return s.$content=St.yaml.safeDump(JE(l||(s?.$file?.sourceType==="none"?{}:{proxies:await Qn({type:s?.$file?.sourceType||"collection",name:s?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),o)),s}catch{}return await async function(){s=rh("operator",e,r,i)(a,t,{source:n,...nu})}(),s},nodeFunc:async a=>{let s=a;return await async function(){s=rh("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,i)(a,t,{source:n,...nu})}(),s}}}function YD(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let i=parseInt(n[3],16),a=parseInt(n[4],16),s=i>>8,o=i&255,l=a>>8,h=a&255;if(t=`${s}.${o}.${l}.${h}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!or(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){V.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var QE={Custom:async function(e,t,r,n,i,a){let s=li(`CUSTOM:${a}:${e}:${t}`),o=Er.get(s);if(!r&&o)return o;let l=t==="IPv6"?"AAAA":"A",h=await Ao({url:a,domain:e,type:l,timeout:n,edns:i}),{answers:d}=h;if(!Array.isArray(d)||d.length===0)throw new Error("No answers");let E=d.filter(p=>p?.type===l).map(p=>p?.data).filter(p=>p);if(E.length===0)throw new Error("No answers");return Er.set(s,E),E},Google:async function(e,t,r,n,i){let a=li(`GOOGLE:${e}:${t}`),s=Er.get(a);if(!r&&s)return s;let o=t==="IPv6"?"AAAA":"A",l=await Ao({url:"https://8.8.4.4/dns-query",domain:e,type:o,timeout:n,edns:i}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let d=h.filter(E=>E?.type===o).map(E=>E?.data).filter(E=>E);if(d.length===0)throw new Error("No answers");return Er.set(a,d),d},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let i=li(`IP-API:${e}`),a=Er.get(i);if(!r&&a)return a;let s=await V.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),o=JSON.parse(s.body);if(o.status!=="success")throw new Error(`Status is ${o.status}`);if(!o.query||o.query===0)throw new Error("No answers");let l=[o.query];if(l.length===0)throw new Error("No answers");return Er.set(i,l),l},Cloudflare:async function(e,t,r,n,i){let a=li(`CLOUDFLARE:${e}:${t}`),s=Er.get(a);if(!r&&s)return s;let o=t==="IPv6"?"AAAA":"A",l=await Ao({url:"https://1.0.0.1/dns-query",domain:e,type:o,timeout:n,edns:i}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let d=h.filter(E=>E?.type===o).map(E=>E?.data).filter(E=>E);if(d.length===0)throw new Error("No answers");return Er.set(a,d),d},Ali:async function(e,t,r,n,i){let a=li(`ALI:${e}:${t}`),s=Er.get(a);if(!r&&s)return s;let o=await V.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${i}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),l=JSON.parse(o.body);if(!Array.isArray(l)||l.length===0)throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return Er.set(a,h),h},Tencent:async function(e,t,r,n,i){let a=li(`TENCENT:${e}:${t}`),s=Er.get(a);if(!r&&s)return s;let l=(await V.http.get({url:`http://119.28.28.28/d?ip=${i}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(d=>d.split(",")[0]);if(l.length===0||String(l)==="0")throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return Er.set(a,h),h}};function ew({provider:e,type:t,filter:r,cache:n,url:i,timeout:a,edns:s}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:o}=V.read(Yn),l=a||o||8e3,h=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",d=QE[e];if(!d)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let E=s||"223.6.6.6";if(!iu(E))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return V.info(`Domain Resolver: [${t}] ${e} ${E||""} ${i||""}`),{name:"Resolve Domain Operator",func:async p=>{p.forEach((w,y)=>{!w["_no-resolve"]&&w["no-resolve"]&&(p[y]["_no-resolve"]=w["no-resolve"])});let f={},A=15,g=[...new Set(p.filter(w=>!iu(w.server)&&!w["_no-resolve"]).map(w=>w.server))],S=Math.ceil(g.length/A);for(let w=0;w{f[F]=D,V.info(`Successfully resolved domain: ${F} \u279F ${D}`)}).catch(D=>{V.error(`Failed to resolve domain: ${F} with resolver [${e}]: ${D}`)}));await Promise.all(y)}return p.forEach(w=>{if(!w["_no-resolve"])if(f[w.server]){w._resolved_ips=f[w.server];let y=Array.isArray(f[w.server])?f[w.server][Math.floor(Math.random()*f[w.server].length)]:f[w.server];if(h==="IPv6"&&Jt(y)){try{y=new Mf.Address6(y).correctForm()}catch(F){V.error(`Failed to parse IPv6 address: ${y}: ${F}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(y)){w._IP4P=y;let{server:F,port:D}=YD(y);F&&D?(w._domain=w.server,w.server=F,w.port=D,w.resolved=!0,w._IPv4=w.server,iu(w._IP)||(w._IP=w.server)):w.resolved||(w.resolved=!1)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${h}`]=w.server,iu(w._IP)||(w._IP=w.server)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${h}`]=w.server,iu(w._IP)||(w._IP=w.server)}else w.resolved||(w.resolved=!1)}),p.filter(w=>r==="removeFailed"?iu(w.server)||w["_no-resolve"]||w.resolved:r==="IPOnly"?iu(w.server):r==="IPv4Only"?or(w.server):r==="IPv6Only"?Jt(w.server):!0)}}}function iu(e){return or(e)||Jt(e)}ew.resolver=QE;function d0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function tw(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!d0(t.cipher))return!1;if(t.password&&!d0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!d0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function WD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:i=>i.map(a=>{let s=Eo(a.name),o=t.some(l=>n[l]===s);return r?o:!o})}}function XD({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let i=e.some(a=>m0(a).test(n.name));return t?i:!i})}}function m0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function JD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(i=>{let a=t.some(s=>i.type===s);return r?a:!a})}}function ZD(e,t,r,n,i){return{name:"Script Filter",func:async a=>{let s=zf(a.length,!0);return await async function(){s=rh("filter",e,r,i)(a,t,{source:n,...nu})}(),s},nodeFunc:async a=>{let s=zf(a.length,!0);return await async function(){s=rh("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,i)(a,t,{source:n,...nu})}(),s}}}var nh={"Useless Filter":tw,"Region Filter":WD,"Regex Filter":XD,"Type Filter":JD,"Script Filter":ZD,"Conditional Filter":HD,"Quick Setting Operator":jD,"Flag Operator":MD,"Sort Operator":VD,"Regex Sort Operator":KD,"Regex Rename Operator":ZE,"Regex Delete Operator":GD,"Script Operator":zD,"Handle Duplicate Operator":qD,"Resolve Domain Operator":ew};async function QD(e,t){let r=zf(t.length,!0);try{r=await e.func(t)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")?i="":(V.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),i=`\u6267\u884C function filter \u5931\u8D25 ${a}; `);try{r=await e.nodeFunc(t)}catch(s){V.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${s}`);let o="",l=`${s.message??s}`;throw i&&l===a?(o="",i=`\u6267\u884C\u5931\u8D25 ${a}`):o=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${i}${o}`)}}return t.filter((n,i)=>r[i])}async function e$(e,t){let r=r$(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")||a.includes("$content is not defined")||a.includes("$files is not defined")||r?.$files||r?.$content?i="":(V.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),i=`\u6267\u884C function operator \u5931\u8D25 ${a}; `);try{let s=await e.nodeFunc(r);s&&(r=s)}catch(s){V.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${s}`);let o="",l=`${s.message??s}`;throw i&&l===a?(o="",i=`\u6267\u884C\u5931\u8D25 ${a}`):o=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u64CD\u4F5C ${i}${o}`)}}return r}async function rw(e,t){if(e.name.indexOf("Filter")!==-1)return QD(e,t);if(e.name.indexOf("Operator")!==-1)return e$(e,t)}function t$(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function r$(e){return JSON.parse(JSON.stringify(e))}function rh(name,script,$arguments,$options){let flowUtils={getFlowField:mo,getFlowHeaders:Oi,parseFlowHeaders:Vf,flowTransfer:Lc,validCheck:Kf,getRmainingDays:BE,normalizeFlowHeader:vo};return V.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,V,g0.default,$persistentStore,$httpClient,$notification,St,St.yaml,St.Buffer,St.Base64.decode,St.Base64.encode,e0,flowUtils,Qn,eval('typeof require !== "undefined"')?xa:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,V,g0.default,St,St.yaml,St.Buffer,St.Base64.decode,St.Base64.encode,e0,flowUtils,Qn,eval('typeof require !== "undefined"')?xa:void 0)}var nw=ln(f0()),Qe=class{constructor(t){this.proxy=t,this.output=[]}append(t){if(typeof t>"u")throw new Error("required field is missing");this.output.push(t)}appendIfPresent(t,r){ae(this.proxy,r)&&this.append(t)}toString(){return this.output.join("")}};function ae(e,t){let r=nw.default.get(e,t);return typeof r<"u"&&r!==null}var n$="Surge",ei={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function So(){return{produce:(t,r,n={})=>{switch(t.name=t.name.replace(/=|,/g,""),t.ports&&(t.ports=String(t.ports)),t.type){case"ss":return i$(t,n["include-unsupported-proxy"]);case"trojan":return s$(t);case"vmess":return a$(t,n["include-unsupported-proxy"]);case"http":return o$(t);case"direct":return c$(t);case"socks5":return l$(t);case"snell":return f$(t);case"tuic":return h$(t);case"wireguard-surge":return d$(t);case"hysteria2":return g$(t);case"ssh":return u$(t)}if(n["include-unsupported-proxy"]&&t.type==="wireguard")return p$(t);throw new Error(`Platform ${n$} does not support proxy type: ${t.type}`)}}}function i$(e){let t=new Qe(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=ei[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function s$(e){let t=new Qe(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),iw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function a$(e,t){let r=new Qe(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=ei[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),iw(r,e,t),ae(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function u$(e){let t=new Qe(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function o$(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new Qe(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function c$(e){let t=new Qe(e);t.append(`${e.name}=direct`);let n=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function l$(e){let t=new Qe(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&V.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function f$(e){let t=new Qe(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function h$(e){let t=new Qe(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function p$(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Qe(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=Bt(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=ei[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],i=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,a=e["preshared-key"]??e["pre-shared-key"];a&&(a=`,preshared-key="${a}"`);let s={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":i,"preshared-key":a};return t.append(` +peer = (${Object.keys(s).filter(o=>s[o]!=null).map(o=>`${o} = ${s[o]}`).join(", ")})`),t.toString()}function d$(e){let t=new Qe(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function g$(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new Qe(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=ei[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function iw(e,t,r){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,i=Object.keys(n).map(a=>{let s=n[a];return["Host"].includes(a)&&(s=`"${s}"`),`${a}:${s}`}).join("|");Ti(i)&&e.append(`,ws-headers=${i}`)}}else if(r&&["http"].includes(t.network))V.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function On(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"||["juicity"].includes(s.type)?!1:!(["ss"].includes(s.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(s.cipher))).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let o=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(o)&&(s["http-opts"].path=[o]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let o=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(o)&&(s["h2-opts"].path=o[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal"||i["delete-underscore-fields"])for(let o in s)(s[o]==null||/^_/i.test(o))&&delete s[o];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var sw="SurgeMac",m$=So();function v0(){return{produce:(t,r,n={})=>{switch(t.type){case"external":return aw(t);default:try{return m$.produce(t,r,n)}catch{if(n.useMihomoExternal)return V.log(`${t.name} is not supported on ${sw}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),v$(t,r,n);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function aw(e){let t=new Qe(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function v$(e,t,r){let n=On().produce([e],"internal")?.[0];if(n){let i=r?.localPort||e._localPort||65535,a=!["ipv4","v4-only"].includes(e["ip-version"]),s={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":i,args:["-config",pt.encode(JSON.stringify({"mixed-port":i,ipv6:a,mode:"global",dns:{enable:!0,ipv6:a,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return E$(e.server)?s.addresses.push(e.server):V.log(`Platform ${sw}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=i-1,aw(s)}}function E$(e){return or(e)||Jt(e)}function E0(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&(typeof s.flow<"u"||s["reality-opts"])?!1:s["underlying-proxy"]||s["dialer-proxy"]?(V.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let o=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(o)&&(s["http-opts"].path=[o]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let o=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(o)&&(s["h2-opts"].path=o[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let o in s)(s[o]==null||/^_/i.test(o))&&delete s[o];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}function ih(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&s["reality-opts"]&&!["xtls-rprx-vision"].includes(s.flow)?!1:s["underlying-proxy"]||s["dialer-proxy"]?(V.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="hysteria2"?(ae(s,"password")&&!ae(s,"auth")&&(s.auth=s.password,delete s.password),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let o=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(o)&&(s["http-opts"].path=[o]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let o=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(o)&&(s["h2-opts"].path=o[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s["server-cert-fingerprint"]=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,s["test-url"]&&(s["benchmark-url"]=s["test-url"],delete s["test-url"]),s["test-timeout"]&&(s["benchmark-timeout"]=s["test-timeout"],delete s["test-timeout"]),delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let o in s)(s[o]==null||/^_/i.test(o))&&delete s[o];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var w$="Loon",Ps={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function w0(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return A$(t);case"ssr":return y$(t);case"trojan":return S$(t);case"vmess":return b$(t,n["include-unsupported-proxy"]);case"vless":return C$(t,n["include-unsupported-proxy"]);case"http":return F$(t);case"socks5":return _$(t);case"wireguard":return I$(t);case"hysteria2":return D$(t)}throw new Error(`Platform ${w$} does not support proxy type: ${t.type}`)}}}function A$(e){let t=new Qe(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function y$(e){let t=new Qe(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function S$(e){let t=new Qe(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function b$(e){let t=!!e["reality-opts"],r=new Qe(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let i=e["http-opts"]?.path,a=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(i)?i[0]:i}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(a)?a[0]:a}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),ae(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=Ps[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function C$(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new Qe(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let a=e["http-opts"]?.path,s=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(a)?a[0]:a}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(s)?s[0]:s}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let i=Ps[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${i}`,"ip-version"),n.toString()}function F$(e){let t=new Qe(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function _$(e){let t=new Qe(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function I$(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Qe(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(o=>Jt(o));let s=e.dns.find(o=>or(o));s||(s=e.dns.find(o=>!or(o)&&!Jt(o))),e.dns=s}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let i=e["preshared-key"]??e["pre-shared-key"];i&&(i=`,preshared-key="${i}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${i??""}}]`);let a=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${a}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function D$(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new Qe(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=Ps[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function bo(){return{type:"SINGLE",produce:r=>{let n="";delete r.subName,delete r.collectionName,delete r.id,delete r.resolved,delete r["no-resolve"];for(let i in r)r[i]==null&&delete r[i];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(r.type)&&delete r.tls,!["vmess"].includes(r.type)&&r.server&&Jt(r.server)&&(r.server=`[${r.server}]`),r.type){case"socks5":n=`socks://${encodeURIComponent(pt.encode(`${r.username??""}:${r.password??""}`))}@${r.server}:${r.port}#${r.name}`;break;case"ss":let i=`${r.cipher}:${r.password}`;if(n=`ss://${r.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(r.cipher)}:${encodeURIComponent(r.password)}`:pt.encode(i)}@${r.server}:${r.port}${r.plugin?"/":""}`,r.plugin){n+="?plugin=";let oe=r["plugin-opts"];switch(r.plugin){case"obfs":n+=encodeURIComponent(`simple-obfs;obfs=${oe.mode}${oe.host?";obfs-host="+oe.host:""}`);break;case"v2ray-plugin":n+=encodeURIComponent(`v2ray-plugin;obfs=${oe.mode}${oe.host?";obfs-host"+oe.host:""}${oe.tls?";tls":""}`);break;case"shadow-tls":n+=encodeURIComponent(`shadow-tls;host=${oe.host};password=${oe.password};version=${oe.version}`);break;default:throw new Error(`Unsupported plugin option: ${r.plugin}`)}}r["udp-over-tcp"]&&(n=`${n}${r.plugin?"&":"?"}uot=1`),r.tfo&&(n=`${n}${r.plugin||r["udp-over-tcp"]?"&":"?"}tfo=1`),n+=`#${encodeURIComponent(r.name)}`;break;case"ssr":n=`${r.server}:${r.port}:${r.protocol}:${r.cipher}:${r.obfs}:${pt.encode(r.password)}/`,n+=`?remarks=${pt.encode(r.name)}${r["obfs-param"]?"&obfsparam="+pt.encode(r["obfs-param"]):""}${r["protocol-param"]?"&protocolparam="+pt.encode(r["protocol-param"]):""}`,n="ssr://"+pt.encode(n);break;case"vmess":let a="",s=r.network||"tcp";if(r.network==="http"?(s="tcp",a="http"):r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(s="httpupgrade"),n={v:"2",ps:r.name,add:r.server,port:`${r.port}`,id:r.uuid,aid:`${r.alterId||0}`,scy:r.cipher,net:s,type:a,tls:r.tls?"tls":"",alpn:Array.isArray(r.alpn)?r.alpn.join(","):r.alpn,fp:r["client-fingerprint"]},r.tls&&r.sni&&(n.sni=r.sni),r.network){let oe=r[`${r.network}-opts`]?.path,Fe=r[`${r.network}-opts`]?.headers?.Host;["grpc"].includes(r.network)?(n.path=r[`${r.network}-opts`]?.["grpc-service-name"],n.type=r[`${r.network}-opts`]?.["_grpc-type"]||"gun",n.host=r[`${r.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(r.network)?(n.type=r[`${r.network}-opts`]?.[`_${r.network}-type`]||"none",n.host=r[`${r.network}-opts`]?.[`_${r.network}-host`],n.path=r[`${r.network}-opts`]?.[`_${r.network}-path`]):(oe&&(n.path=Array.isArray(oe)?oe[0]:oe),Fe&&(n.host=Array.isArray(Fe)?Fe[0]:Fe))}n="vmess://"+pt.encode(JSON.stringify(n));break;case"vless":let o="none",l=r["reality-opts"],h="",d="",E="";if(l){o="reality";let oe=r["reality-opts"]?.["public-key"];oe&&(d=`&pbk=${encodeURIComponent(oe)}`);let Fe=r["reality-opts"]?.["short-id"];Fe&&(h=`&sid=${encodeURIComponent(Fe)}`);let Le=r["reality-opts"]?.["_spider-x"];Le&&(E=`&spx=${encodeURIComponent(Le)}`)}else r.tls&&(o="tls");let p="";r.alpn&&(p=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let f="";r["skip-cert-verify"]&&(f="&allowInsecure=1");let A="";r.sni&&(A=`&sni=${encodeURIComponent(r.sni)}`);let g="";r["client-fingerprint"]&&(g=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let S="";r.flow&&(S=`&flow=${encodeURIComponent(r.flow)}`);let w="";r._extra&&(w=`&extra=${encodeURIComponent(r._extra)}`);let y="";r._mode&&(y=`&mode=${encodeURIComponent(r._mode)}`);let F=r.network;r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(F="httpupgrade");let D=`&type=${encodeURIComponent(F)}`;if(["grpc"].includes(r.network)){D+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`;let oe=r[`${r.network}-opts`]?.["_grpc-authority"];oe&&(D+=`&authority=${encodeURIComponent(oe)}`)}let I=r[`${r.network}-opts`]?.[`${r.network}-service-name`],j=r[`${r.network}-opts`]?.path,M=r[`${r.network}-opts`]?.headers?.Host;j&&(D+=`&path=${encodeURIComponent(Array.isArray(j)?j[0]:j)}`),M&&(D+=`&host=${encodeURIComponent(Array.isArray(M)?M[0]:M)}`),I&&(D+=`&serviceName=${encodeURIComponent(I)}`),r.network==="kcp"&&(r.seed&&(D+=`&seed=${encodeURIComponent(r.seed)}`),r.headerType&&(D+=`&headerType=${encodeURIComponent(r.headerType)}`)),n=`vless://${r.uuid}@${r.server}:${r.port}?security=${encodeURIComponent(o)}${D}${p}${f}${A}${g}${S}${h}${E}${d}${y}${w}#${encodeURIComponent(r.name)}`;break;case"trojan":let _="";if(r.network){let oe=r.network;if(r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(oe="httpupgrade"),_=`&type=${encodeURIComponent(oe)}`,["grpc"].includes(r.network)){let lr=r[`${r.network}-opts`]?.[`${r.network}-service-name`],Pt=r[`${r.network}-opts`]?.["_grpc-authority"];lr&&(_+=`&serviceName=${encodeURIComponent(lr)}`),Pt&&(_+=`&authority=${encodeURIComponent(Pt)}`),_+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`}let Fe=r[`${r.network}-opts`]?.path,Le=r[`${r.network}-opts`]?.headers?.Host;Fe&&(_+=`&path=${encodeURIComponent(Array.isArray(Fe)?Fe[0]:Fe)}`),Le&&(_+=`&host=${encodeURIComponent(Array.isArray(Le)?Le[0]:Le)}`)}let P="";r["client-fingerprint"]&&(P=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let k="";r.alpn&&(k=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let H=r["reality-opts"],K="",W="",G="",z="",X="",ie="";if(H){z="&security=reality";let oe=r["reality-opts"]?.["public-key"];oe&&(W=`&pbk=${encodeURIComponent(oe)}`);let Fe=r["reality-opts"]?.["short-id"];Fe&&(K=`&sid=${encodeURIComponent(Fe)}`);let Le=r["reality-opts"]?.["_spider-x"];Le&&(G=`&spx=${encodeURIComponent(Le)}`),r._extra&&(ie=`&extra=${encodeURIComponent(r._extra)}`),r._mode&&(X=`&mode=${encodeURIComponent(r._mode)}`)}n=`trojan://${r.password}@${r.server}:${r.port}?sni=${encodeURIComponent(r.sni||r.server)}${r["skip-cert-verify"]?"&allowInsecure=1":""}${_}${k}${P}${z}${K}${W}${G}${X}${ie}#${encodeURIComponent(r.name)}`;break;case"hysteria2":let Se=[];r["hop-interval"]&&Se.push(`hop-interval=${r["hop-interval"]}`),r.keepalive&&Se.push(`keepalive=${r.keepalive}`),r["skip-cert-verify"]&&Se.push("insecure=1"),r.obfs&&(Se.push(`obfs=${encodeURIComponent(r.obfs)}`),r["obfs-password"]&&Se.push(`obfs-password=${encodeURIComponent(r["obfs-password"])}`)),r.sni&&Se.push(`sni=${encodeURIComponent(r.sni)}`),r.ports&&Se.push(`mport=${r.ports}`),r["tls-fingerprint"]&&Se.push(`pinSHA256=${encodeURIComponent(r["tls-fingerprint"])}`),r.tfo&&Se.push("fastopen=1"),n=`hysteria2://${encodeURIComponent(r.password)}@${r.server}:${r.port}?${Se.join("&")}#${encodeURIComponent(r.name)}`;break;case"hysteria":let we=[];Object.keys(r).forEach(oe=>{if(!["name","type","server","port"].includes(oe)){let Fe=oe.replace(/-/,"_");["alpn"].includes(oe)?r[oe]&&we.push(`${Fe}=${encodeURIComponent(Array.isArray(r[oe])?r[oe][0]:r[oe])}`):["skip-cert-verify"].includes(oe)?r[oe]&&we.push("insecure=1"):["tfo","fast-open"].includes(oe)?r[oe]&&!we.includes("fastopen=1")&&we.push("fastopen=1"):["ports"].includes(oe)?we.push(`mport=${r[oe]}`):["auth-str"].includes(oe)?we.push(`auth=${r[oe]}`):["up"].includes(oe)?we.push(`upmbps=${r[oe]}`):["down"].includes(oe)?we.push(`downmbps=${r[oe]}`):["_obfs"].includes(oe)?we.push(`obfs=${r[oe]}`):["obfs"].includes(oe)?we.push(`obfsParam=${r[oe]}`):["sni"].includes(oe)?we.push(`peer=${r[oe]}`):r[oe]&&!/^_/i.test(oe)&&we.push(`${Fe}=${encodeURIComponent(r[oe])}`)}}),n=`hysteria://${r.server}:${r.port}?${we.join("&")}#${encodeURIComponent(r.name)}`;break;case"tuic":if(!r.token||r.token.length===0){let oe=[];Object.keys(r).forEach(Fe=>{if(!["name","type","uuid","password","server","port","tls"].includes(Fe)){let Le=Fe.replace(/-/,"_");["alpn"].includes(Fe)?r[Fe]&&oe.push(`${Le}=${encodeURIComponent(Array.isArray(r[Fe])?r[Fe][0]:r[Fe])}`):["skip-cert-verify"].includes(Fe)?r[Fe]&&oe.push("allow_insecure=1"):["tfo","fast-open"].includes(Fe)?r[Fe]&&!oe.includes("fast_open=1")&&oe.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(Fe)&&r[Fe]?oe.push(`${Le.replace(/-/g,"_")}=1`):["congestion-controller"].includes(Fe)?oe.push(`congestion_control=${r[Fe]}`):r[Fe]&&!/^_/i.test(Fe)&&oe.push(`${Le.replace(/-/g,"_")}=${encodeURIComponent(r[Fe])}`)}}),n=`tuic://${encodeURIComponent(r.uuid)}:${encodeURIComponent(r.password)}@${r.server}:${r.port}?${oe.join("&")}#${encodeURIComponent(r.name)}`}break;case"anytls":let Ie=[];Object.keys(r).forEach(oe=>{if(!["name","type","password","server","port","tls"].includes(oe)){let Fe=oe.replace(/-/,"_");["alpn"].includes(oe)?r[oe]&&Ie.push(`${Fe}=${encodeURIComponent(Array.isArray(r[oe])?r[oe][0]:r[oe])}`):["skip-cert-verify"].includes(oe)?r[oe]&&Ie.push("insecure=1"):["udp"].includes(oe)?r[oe]&&Ie.push("udp=1"):r[oe]&&!/^_/i.test(oe)&&Ie.push(`${Fe.replace(/-/g,"_")}=${encodeURIComponent(r[oe])}`)}}),n=`anytls://${encodeURIComponent(r.password)}@${r.server}:${r.port}/?${Ie.join("&")}#${encodeURIComponent(r.name)}`;break;case"wireguard":let qe=[];Object.keys(r).forEach(oe=>{["name","type","server","port","ip","ipv6","private-key"].includes(oe)||(["public-key"].includes(oe)?qe.push(`publickey=${r[oe]}`):["udp"].includes(oe)?r[oe]&&qe.push(`${oe}=1`):r[oe]&&!/^_/i.test(oe)&&qe.push(`${oe}=${encodeURIComponent(r[oe])}`))}),r.ip&&r.ipv6?qe.push(`address=${r.ip}/32,${r.ipv6}/128`):r.ip?qe.push(`address=${r.ip}/32`):r.ipv6&&qe.push(`address=${r.ipv6}/128`),n=`wireguard://${encodeURIComponent(r["private-key"])}@${r.server}:${r.port}/?${qe.join("&")}#${encodeURIComponent(r.name)}`;break}return n}}}var $$=bo();function Vc(){return{type:"ALL",produce:r=>{let n=[];return r.map(i=>{try{n.push($$.produce(i))}catch(a){V.error(`Cannot produce proxy: ${JSON.stringify(i,null,2)} +Reason: ${a}`)}}),pt.encode(n.join(` +`))}}}var B$="QX";function Kc(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return P$(t);case"ssr":return R$(t);case"trojan":return T$(t);case"vmess":return O$(t);case"http":return N$(t);case"socks5":return k$(t);case"vless":return x$(t)}throw new Error(`Platform ${B$} does not support proxy type: ${t.type}`)}}}function P$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),xn(e)&&(e.tls=!0),ae(e,"plugin")){if(e.plugin==="obfs"){let i=e["plugin-opts"];r(`,obfs=${i.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function R$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function T$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),ae(e,"network"))if(e.network==="ws")xn(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&xn(e)&&r(",over-tls=true"),xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function O$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let i;if(e.cipher==="auto"?i="chacha20-ietf-poly1305":i=e.cipher,r(`,method=${i}`),r(`,password=${e.uuid}`),xn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),ae(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function x$(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),xn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function N$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),xn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function k$(e){let t=new Qe(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),xn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),xn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function xn(e){return e.tls}function Gc(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"?!1:!["mieru"].includes(s.type)).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="hysteria2"?(s["obfs-password"]&&s.obfs=="salamander"&&(s.obfs=s["obfs-password"],delete s["obfs-password"]),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let o=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(o)&&(s["http-opts"].path=[o]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let o=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(o)&&(s["h2-opts"].path=o[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let o in s)(s[o]==null||/^_/i.test(o))&&delete s[o];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var L$="Surfboard";function sh(){return{produce:t=>{switch(t.name=t.name.replace(/=|,/g,""),t.type){case"ss":return U$(t);case"trojan":return H$(t);case"vmess":return j$(t);case"http":return M$(t);case"socks5":return q$(t);case"wireguard-surge":return V$(t)}throw new Error(`Platform ${L$} does not support proxy type: ${t.type}`)}}}function U$(e){let t=new Qe(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),ae(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function H$(e){let t=new Qe(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),uw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function j$(e){let t=new Qe(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),uw(t,e),ae(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function M$(e){let t=new Qe(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function q$(e){let t=new Qe(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function V$(e){let t=new Qe(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function uw(e,t){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(i=>{let a=r[i];return["Host"].includes(i)&&(a=`"${a}"`),`${i}:${a}`}).join("|");Ti(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var vn=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},Rs=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},Nn=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},Vi=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},A0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:i={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(i).length>0){let a={};for(let o of Object.keys(i)){let l=i[o];l!==""&&(Array.isArray(l)||(l=[`${l}`]),l.length>0&&(a[o]=l))}let{Host:s}=a;if(s.length===1)for(let o of`Host:${s[0]}`.split(` +`)){let[l,h]=o.split(":");h.trim()!==""&&(a[l.trim()]=h.trim().split(","))}r.headers=a}}if(e["ws-headers"]){let n={};for(let a of Object.keys(e["ws-headers"])){let s=e["ws-headers"][a];s!==""&&(Array.isArray(s)||(s=[`${s}`]),s.length>0&&(n[a]=s))}let{Host:i}=n;if(i.length===1)for(let a of`Host:${i[0]}`.split(` +`)){let[s,o]=a.split(":");o.trim()!==""&&(n[s.trim()]=o.trim().split(","))}for(let a of Object.keys(n))r.headers[a]=n[a]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[i,a="",s=""]=n.exec(r.path);r.path=a,s!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(s,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r},K$=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:i="",headers:a={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(i)?r.path=`${i[0]}`:i!==""&&(r.path=`${i}`);for(let s of Object.keys(a)){let o=a[s];if(o!==""){if(s.toLowerCase()==="host"){let l=o;Array.isArray(l)||(l=`${l}`.split(",").map(h=>h.trim())),l.length>0&&(r.host=l);continue}Array.isArray(o)||(o=`${o}`.split(",").map(l=>l.trim())),o.length>0&&(r.headers[s]=o)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r}},G$=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:i=""}=e["h2-opts"];i!==""&&(r.path=`${i}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(a=>a.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},y0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},ia=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},z$=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),Nn(e,t),vn(e,t),t},Y$=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),Nn(e,t),vn(e,t),ia(e,t),t},W$=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),Rs(e,t),Nn(e,t),vn(e,t),t},X$=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),Nn(e,r),vn(e,r),Vi(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},J$=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),Rs(e,t),Nn(e,t),vn(e,t),Vi(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},Z$=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),Nn(e,t),vn(e,t),Vi(e.smux,t),t},Q$=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&A0(e,t),e.network==="h2"&&G$(e,t),e.network==="http"&&K$(e,t),e.network==="grpc"&&y0(e,t),Rs(e,t),Nn(e,t),vn(e,t),ia(e,t),Vi(e.smux,t),t},eB=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&A0(e,t),e.network==="grpc"&&y0(e,t),Rs(e,t),Nn(e,t),vn(e,t),Vi(e.smux,t),ia(e,t),t},tB=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&y0(e,t),e.network==="ws"&&A0(e,t),Rs(e,t),Nn(e,t),vn(e,t),ia(e,t),Vi(e.smux,t),t},rB=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),Rs(e,t),ia(e,t),vn(e,t),Nn(e,t),Vi(e.smux,t),t},nB=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,Rs(e,t),ia(e,t),Nn(e,t),vn(e,t),Vi(e.smux,t),t},iB=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),Rs(e,t),Nn(e,t),vn(e,t),ia(e,t),Vi(e.smux,t),t},sB=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),vn(e,t),ia(e,t),t},aB=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(or(n))return`${n}/32`;if(Jt(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let i={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")i.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let a of n.reserved)i.reserved.push(a);else delete i.reserved;n["pre-shared-key"]&&(i.pre_shared_key=n["pre-shared-key"]),r.peers.push(i)}}return Rs(e,r),Nn(e,r),vn(e,r),Vi(e.smux,r),r};function ah(){return{type:"ALL",produce:(r,n,i={})=>{let a=[];return On().produce(r,"internal",{"include-unsupported-proxy":!0}).map(s=>{try{switch(s.type){case"ssh":a.push(z$(s));break;case"http":a.push(Y$(s));break;case"socks5":if(s.tls)throw new Error(`Platform sing-box does not support proxy type: ${s.type} with tls`);a.push(W$(s));break;case"ss":if(s.plugin==="shadow-tls"){let{ssPart:o,stPart:l}=X$(s);a.push(o),a.push(l)}else a.push(J$(s));break;case"ssr":if(i["include-unsupported-proxy"])a.push(Z$(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type}`);break;case"vmess":if(!s.network||["ws","grpc","h2","http"].includes(s.network))a.push(Q$(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with network ${s.network}`);break;case"vless":if(!s.flow||["xtls-rprx-vision"].includes(s.flow))a.push(eB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"trojan":if(!s.flow)a.push(tB(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"hysteria":a.push(rB(s));break;case"hysteria2":a.push(nB(s,i["include-unsupported-proxy"]));break;case"tuic":if(!s.token||s.token.length===0)a.push(iB(s));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":a.push(aB(s));break;case"anytls":a.push(sB(s));break;default:throw new Error(`Platform sing-box does not support proxy type: ${s.type}`)}}catch(o){V.error(o.message??o)}}),n==="internal"?a:JSON.stringify({outbounds:a},null,2)}}}function uh(){return{type:"ALL",produce:(r,n)=>{let i=r.filter(a=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(a.type)||a.type==="ss"&&(a.plugin==="obfs"&&!["http","tls"].includes(a["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(a.cipher))||a.type==="vmess"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="trojan"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="vless"&&(typeof a.flow<"u"||a["reality-opts"]||!["http","ws","tcp"].includes(a.network)&&a.network)||a.type==="tuic"&&a.token&&a.token.length!==0)).map(a=>{let s={...a};a.tls&&!a.sni&&(a.sni=a.server);let o=a.prev_hop||a["underlying-proxy"]||a["dialer-proxy"]||a.detour;if(a.type==="http")a={type:"http",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],next_hop:a.next_hop};else if(a.type==="socks5")a={type:"socks5",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop};else if(a.type==="ss")a={type:"shadowsocks",name:a.name,method:a.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":a.cipher,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop},s.plugin==="obfs"&&(a.obfs=s["plugin-opts"].mode,a.obfs_host=s["plugin-opts"].host,a.obfs_uri=s["plugin-opts"].path);else if(a.type==="hysteria2")a={type:"hysteria2",name:a.name,server:a.server,port:a.port,auth:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]},s["obfs-password"]&&s.obfs=="salamander"&&(a.obfs="salamander",a.obfs_password=s["obfs-password"]);else if(a.type==="tuic")a={type:"tuic",name:a.name,server:a.server,port:a.port,uuid:a.uuid,password:a.password,next_hop:a.next_hop,sni:a.sni,alpn:Array.isArray(a.alpn)?a.alpn:[a.alpn||"h3"],skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]};else if(a.type==="trojan")a.network==="ws"&&(a.websocket={path:a["ws-opts"]?.path,host:a["ws-opts"]?.headers?.Host}),a={type:"trojan",name:a.name,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],websocket:a.websocket};else if(a.type==="vmess"){let l=a.cipher;l&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(l)&&(l="auto"),a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http1:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:a.network==="h2"?a.transport={http2:{method:a["h2-opts"]?.method,path:Array.isArray(a["h2-opts"]?.path)?a["h2-opts"]?.path[0]:a["h2-opts"]?.path,headers:{Host:Array.isArray(a["h2-opts"]?.headers?.Host)?a["h2-opts"]?.headers?.Host[0]:a["h2-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&a.tls&&(a.transport={tls:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vmess",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:l,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport}}else a.type==="vless"&&(a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&(a.transport={[a.tls?"tls":"tcp"]:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vless",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:a.cipher,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(s.type)){if(ae(s,"shadow-tls-password")){if(s["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${s["shadow-tls-version"]} is not supported`);a.shadow_tls={password:s["shadow-tls-password"],sni:s["shadow-tls-sni"]}}else if(["shadow-tls"].includes(s.plugin)&&s["plugin-opts"]){if(s["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${s["plugin-opts"].version} is not supported`);a.shadow_tls={password:s["plugin-opts"].password,sni:s["plugin-opts"].host}}}if(delete a.subName,delete a.collectionName,delete a.id,delete a.resolved,delete a["no-resolve"],n!=="internal")for(let l in a)(a[l]==null||/^_/i.test(l))&&delete a[l];return{[a.type]:{...a,type:void 0,prev_hop:o}}});return n==="internal"?i:`proxies: +`+i.map(a=>" - "+JSON.stringify(a)+` +`).join("")}}}function ow(){return{type:"ALL",produce:(r,n)=>n==="internal"?r:JSON.stringify(r,null,2)}}var oh={qx:Kc(),QX:Kc(),QuantumultX:Kc(),surge:So(),Surge:So(),SurgeMac:v0(),Loon:w0(),Clash:E0(),meta:On(),clashmeta:On(),"clash.meta":On(),"Clash.Meta":On(),ClashMeta:On(),mihomo:On(),Mihomo:On(),uri:bo(),URI:bo(),v2:Vc(),v2ray:Vc(),V2Ray:Vc(),json:ow(),JSON:ow(),stash:ih(),Stash:ih(),shadowrocket:Gc(),Shadowrocket:Gc(),ShadowRocket:Gc(),surfboard:sh(),Surfboard:sh(),singbox:ah(),"sing-box":ah(),egern:uh(),Egern:uh()};var dA=ln(Qc()),gP=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,j0;function Ln(){return j0||(j0=dA.generate(gP)),j0}var gA=ln(Qc()),mP=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,M0;function Ki(){return M0||(M0=gA.generate(mP)),M0}var mA=ln(Qc()),vP=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,q0;function Os(){return q0||(q0=mA.generate(vP)),q0}var vA=ln(Qc()),EP=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,V0;function K0(){return V0||(V0=vA.generate(EP)),V0}function EA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function wP(){return{name:"URI PROXY Parser",test:n=>/^(socks5\+tls|socks5|http|https):\/\//.test(n),parse:n=>{let[i,a,s,o,l,h,d,E,p]=n.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(d)d=parseInt(d,10);else{if(s)d=443;else if(a==="http")d=80;else throw V.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);V.info(`port is not present in line: ${n}, set to ${d}`)}return{name:p!=null?decodeURIComponent(p):`${a} ${h}:${d}`,type:a,tls:!!s,server:h,port:d,username:o!=null?decodeURIComponent(o):void 0,password:l!=null?decodeURIComponent(l):void 0}}}}function AP(){return{name:"URI SOCKS Parser",test:n=>/^socks:\/\//.test(n),parse:n=>{let[i,a,s,o,l,h,d]=n.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(l)l=parseInt(l,10);else throw V.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);let E,p;if(s){let A=pt.decode(decodeURIComponent(s)).split(":");E=A[0],p=A[1]}return{name:d!=null?decodeURIComponent(d):`${a} ${o}:${l}`,type:"socks5",server:o,port:l,username:E,password:p}}}}function yP(){return{name:"URI SS Parser",test:n=>/^ss:\/\//.test(n),parse:n=>{let i=n.split("ss://")[1],a=n.split("#")[1],s={type:"ss"};i=i.split("#")[0];let o=i.match(/@([^/?]*)(\/|\?|$)/),l=decodeURIComponent(i.split("@")[0]),h;l?.startsWith("2022-blake3-")?h=l:h=pt.decode(l);let d="";if(o)i.includes("?")&&(d=i.match(/(\?.*)$/)[1]);else{if(i.includes("?")){let S=i.match(/^(.*)(\?.*)$/);i=S[1],d=S[2]}if(i=pt.decode(i),d){if(/(&|\?)v2ray-plugin=/.test(d)){let w=d.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(s.plugin="v2ray-plugin",s["plugin-opts"]=JSON.parse(pt.decode(w)))}i=`${i}${d}`}h=i.match(/(^.*)@/)?.[1],o=i.match(/@([^/@]*)(\/|$)/)}let E=o[1],p=E.lastIndexOf(":");s.server=E.substring(0,p),s.port=`${E.substring(p+1)}`.match(/\d+/)?.[0];let f=h.match(/(^.*?):(.*$)/);s.cipher=f?.[1],s.password=f?.[2];let A=i.match(/[?&]plugin=([^&]+)/),g=i.match(/[?&]shadow-tls=([^&]+)/);if(A){let S=("plugin="+decodeURIComponent(A[1])).split(";"),w={};for(let y of S){let[F,D]=y.split("=");F&&(w[F]=D||!0)}switch(w.plugin){case"obfs-local":case"simple-obfs":s.plugin="obfs",s["plugin-opts"]={mode:w.obfs,host:Bt(w["obfs-host"])};break;case"v2ray-plugin":s.plugin="v2ray-plugin",s["plugin-opts"]={mode:"websocket",host:Bt(w["obfs-host"]),path:Bt(w.path),tls:go(w.tls)};break;case"shadow-tls":{s.plugin="shadow-tls";let y=Bt(w.version);s["plugin-opts"]={host:Bt(w.host),password:Bt(w.password),version:y?parseInt(y,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${w.plugin}`)}}if(g){let S=JSON.parse(pt.decode(g[1])),w=Bt(S.version),y=Bt(S.address),F=Bt(S.port);s.plugin="shadow-tls",s["plugin-opts"]={host:Bt(S.host),password:Bt(S.password),version:w?parseInt(w,10):void 0},y&&(s.server=y),F&&(s.port=parseInt(F,10))}return/(&|\?)uot=(1|true)/i.test(d)&&(s["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(d)&&(s.tfo=!0),a!=null&&(a=decodeURIComponent(a)),s.name=a??`SS ${s.server}:${s.port}`,s}}}function SP(){return{name:"URI SSR Parser",test:n=>/^ssr:\/\//.test(n),parse:n=>{n=pt.decode(n.split("ssr://")[1]);let i=n.indexOf(":origin");i===-1&&(i=n.indexOf(":auth_"));let a=n.substring(0,i),s=a.substring(0,a.lastIndexOf(":")),o=a.substring(a.lastIndexOf(":")+1),l=n.substring(i+1).split("/?")[0].split(":"),h={type:"ssr",server:s,port:o,protocol:l[0],cipher:l[1],obfs:l[2],password:pt.decode(l[3])},d={};if(n=n.split("/?")[1].split("&"),n.length>1)for(let E of n){let[p,f]=E.split("=");f=f.trim(),f.length>0&&f!=="(null)"&&(d[p]=f)}return h={...h,name:d.remarks?pt.decode(d.remarks):h.server,"protocol-param":Bt(pt.decode(d.protoparam||"").replace(/\s/g,"")),"obfs-param":Bt(pt.decode(d.obfsparam||"").replace(/\s/g,""))},h}}}function bP(){return{name:"URI VMess Parser",test:n=>/^vmess:\/\//.test(n),parse:n=>{n=n.split("vmess://")[1];let i=pt.decode(n.replace(/\?.*?$/,""));if(/=\s*vmess/.test(i)){let a=i.split(",").map(l=>l.trim()),s={};for(let l of a)if(l.indexOf("=")!==-1){let[h,d]=l.split("=");s[h.trim()]=d.trim()}let o={name:a[0].split("=")[0].trim(),type:"vmess",server:a[1],port:a[2],cipher:Bt(a[3],"auto"),uuid:a[4].match(/^"(.*)"$/)[1],tls:s.obfs==="wss",udp:go(s["udp-relay"]),tfo:go(s["fast-open"]),"skip-cert-verify":po(s["tls-verification"])?!s["tls-verification"]:void 0};if(po(s.obfs))if(s.obfs==="ws"||s.obfs==="wss"){o.network="ws",o["ws-opts"].path=(Bt(s["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let l=s["obfs-header"];l&&l.indexOf("Host")!==-1&&(l=l.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),Ti(l)&&(o["ws-opts"].headers={Host:l})}else throw new Error(`Unsupported obfs: ${s.obfs}`);return o}else{let a={};try{a=JSON.parse(i)}catch{let[E,p,f]=/(^[^?]+?)\/?\?(.*)$/.exec(n);i=pt.decode(p);for(let F of f.split("&")){let[D,I]=F.split("="),j=I;j=decodeURIComponent(I),j.indexOf(",")===-1?a[D]=j:a[D]=j.split(",")}let[A,g,S,w,y]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(i);a.scy=g,a.id=S,a.port=y,a.add=w}let s=a.add,o=parseInt(go(a.port),10),l={name:a.ps??a.remarks??a.remark??`VMess ${s}:${o}`,type:"vmess",server:s,port:o,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(a.scy)?a.scy:"auto",uuid:a.id,alterId:parseInt(go(a.aid??a.alterId,0),10),tls:["tls",!0,1,"1"].includes(a.tls),"skip-cert-verify":po(a.verify_cert)?!a.verify_cert:void 0};!l["skip-cert-verify"]&&po(a.allowInsecure)&&(l["skip-cert-verify"]=/(TRUE)|1/i.test(a.allowInsecure)),l.tls&&(a.sni&&a.sni!==""?l.sni=a.sni:a.peer&&a.peer!==""&&(l.sni=a.peer));let h=!1;if(a.net==="ws"||a.obfs==="websocket"?l.network="ws":["http"].includes(a.net)||["http"].includes(a.obfs)||["http"].includes(a.type)?l.network="http":["grpc","kcp","quic"].includes(a.net)?l.network=a.net:a.net==="httpupgrade"||l.network==="httpupgrade"?(l.network="ws",h=!0):(a.net==="h2"||l.network==="h2")&&(l.network="h2"),l.network){let d=a.host??a.obfsParam;try{let f=JSON.parse(d)?.Host;f&&(d=f)}catch{}let E=a.path;if(["ws"].includes(l.network)&&(E=E||"/"),l.network==="http"&&(d&&(d=d.split(",").map(p=>p.trim()),d=Array.isArray(d)?d[0]:d),E?E=Array.isArray(E)?E[0]:E:E="/"),E||d||["kcp","quic"].includes(l.network))if(["grpc"].includes(l.network))l[`${l.network}-opts`]={"grpc-service-name":Bt(E),"_grpc-type":Bt(a.type),"_grpc-authority":Bt(a.authority)};else if(["kcp","quic"].includes(l.network))l[`${l.network}-opts`]={[`_${l.network}-type`]:Bt(a.type),[`_${l.network}-host`]:Bt(Bt(d)),[`_${l.network}-path`]:Bt(E)};else{let p={path:Bt(E),headers:{Host:Bt(d)}};h&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),l[`${l.network}-opts`]=p}else delete l.network}return l["client-fingerprint"]=a.fp,l.alpn=a.alpn?a.alpn.split(","):void 0,l}}}}function CP(){return{name:"URI VLESS Parser",test:n=>/^vless:\/\//.test(n),parse:n=>{n=n.split("vless://")[1];let i,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);if(!a){let[S,w,y]=/^(.*?)(\?.*?$)/.exec(n);n=`${pt.decode(w)}${y}`,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n),i=!0}let[s,o,l,h,d,E="",p]=a;i&&(o=o.replace(/^.*?:/g,"")),h=parseInt(`${h}`,10),o=decodeURIComponent(o),p!=null&&(p=decodeURIComponent(p));let f={type:"vless",name:p,server:l,port:h,uuid:o},A={};for(let S of E.split("&")){let[w,y]=S.split("="),F=y;F=decodeURIComponent(y),A[w]=F}if(f.name=p??A.remarks??A.remark??`VLESS ${l}:${h}`,f.tls=A.security&&A.security!=="none",i&&/TRUE|1/i.test(A.tls)&&(f.tls=!0,A.security=A.security??"reality"),f.sni=A.sni||A.peer,f.flow=A.flow,!f.flow&&i&&A.xtls){let S=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][A.xtls];S&&(f.flow=S)}if(f["client-fingerprint"]=A.fp,f.alpn=A.alpn?A.alpn.split(","):void 0,f["skip-cert-verify"]=/(TRUE)|1/i.test(A.allowInsecure),["reality"].includes(A.security)){let S={};A.pbk&&(S["public-key"]=A.pbk),A.sid&&(S["short-id"]=A.sid),A.spx&&(S["_spider-x"]=A.spx),Object.keys(S).length>0&&(f[`${A.security}-opts`]=S)}let g=!1;if(f.network=A.type,f.network==="tcp"&&A.headerType==="http"?f.network="http":f.network==="httpupgrade"&&(f.network="ws",g=!0),!f.network&&i&&A.obfs&&(f.network=A.obfs,["none"].includes(f.network)&&(f.network="tcp")),["websocket"].includes(f.network)&&(f.network="ws"),f.network&&!["tcp","none"].includes(f.network)){let S={},w=A.host??A.obfsParam;if(w)if(A.obfsParam)try{let y=JSON.parse(w);S.headers=y}catch{S.headers={Host:w}}else S.headers={Host:w};A.serviceName?(S[`${f.network}-service-name`]=A.serviceName,["grpc"].includes(f.network)&&A.authority&&(S["_grpc-authority"]=A.authority)):i&&A.path&&(["ws","http","h2"].includes(f.network)||(S[`${f.network}-service-name`]=A.path,delete A.path)),A.path&&(S.path=A.path),["grpc"].includes(f.network)&&(S["_grpc-type"]=A.mode||"gun"),g&&(S["v2ray-http-upgrade"]=!0,S["v2ray-http-upgrade-fast-open"]=!0),Object.keys(S).length>0&&(f[`${f.network}-opts`]=S),f.network==="kcp"&&(A.seed&&(f.seed=A.seed),f.headerType=A.headerType||"none"),A.mode&&(f._mode=A.mode),A.extra&&(f._extra=A.extra)}return f}}}function FP(){return{name:"URI AnyTLS Parser",test:n=>/^anytls:\/\//.test(n),parse:n=>{n=n.split(/anytls:\/\//)[1];let[i,a,s,o,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a),o=parseInt(`${o}`,10),isNaN(o)&&(o=443),a=decodeURIComponent(a),h!=null&&(h=decodeURIComponent(h)),h=h??`AnyTLS ${s}:${o}`;let d={type:"anytls",name:h,server:s,port:o,password:a};for(let E of l.split("&")){let[p,f]=E.split("=");p=p.replace(/_/g,"-"),f=decodeURIComponent(f),["alpn"].includes(p)?d[p]=f?f.split(","):void 0:["insecure"].includes(p)?d["skip-cert-verify"]=/(TRUE)|1/i.test(f):["udp"].includes(p)?d[p]=/(TRUE)|1/i.test(f):d[p]=f}return d}}}function _P(){return{name:"URI Hysteria2 Parser",test:n=>/^(hysteria2|hy2):\/\//.test(n),parse:n=>{n=n.split(/(hysteria2|hy2):\/\//)[2];let i,[a,s,o,l,h,d,E,p,f,A,g="",S]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);/^\d+$/.test(h)?(h=parseInt(`${h}`,10),isNaN(h)&&(h=443)):h?(i=h,h=Nc(i)):h=443,s=decodeURIComponent(s),S!=null&&(S=decodeURIComponent(S)),S=S??`Hysteria2 ${o}:${h}`;let w={type:"hysteria2",name:S,server:o,port:h,ports:i,password:s},y={};for(let I of g.split("&")){let[j,M]=I.split("="),_=M;_=decodeURIComponent(M),y[j]=_}w.sni=y.sni,!w.sni&&y.peer&&(w.sni=y.peer),y.obfs&&y.obfs!=="none"&&(w.obfs=y.obfs),y.mport&&(w.ports=y.mport),w["obfs-password"]=y["obfs-password"],w["skip-cert-verify"]=/(TRUE)|1/i.test(y.insecure),w.tfo=/(TRUE)|1/i.test(y.fastopen),w["tls-fingerprint"]=y.pinSHA256;let F=y["hop-interval"]||y.hop_interval;/^\d+$/.test(F)&&(w["hop-interval"]=parseInt(`${F}`,10));let D=y.keepalive;return/^\d+$/.test(D)&&(w.keepalive=parseInt(`${D}`,10)),w}}}function IP(){return{name:"URI Hysteria Parser",test:n=>/^(hysteria|hy):\/\//.test(n),parse:n=>{n=n.split(/(hysteria|hy):\/\//)[2];let[i,a,s,o,l,h="",d]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);o=parseInt(`${o}`,10),isNaN(o)&&(o=443),d!=null&&(d=decodeURIComponent(d)),d=d??`Hysteria ${a}:${o}`;let E={type:"hysteria",name:d,server:a,port:o},p={};for(let f of h.split("&")){let[A,g]=f.split("=");A=A.replace(/_/,"-"),g=decodeURIComponent(g),["alpn"].includes(A)?E[A]=g?g.split(","):void 0:["insecure"].includes(A)?E["skip-cert-verify"]=/(TRUE)|1/i.test(g):["auth"].includes(A)?E["auth-str"]=g:["mport"].includes(A)?E.ports=g:["obfsParam"].includes(A)?E.obfs=g:["upmbps"].includes(A)?E.up=g:["downmbps"].includes(A)?E.down=g:["obfs"].includes(A)?E._obfs=g||"":["fast-open","peer"].includes(A)?p[A]=g:E[A]=g}return!E.sni&&p.peer&&(E.sni=p.peer),!E["fast-open"]&&p.fastopen&&(E["fast-open"]=!0),E.protocol||(E.protocol="udp"),E}}}function DP(){return{name:"URI TUIC Parser",test:n=>/^tuic:\/\//.test(n),parse:n=>{n=n.split(/tuic:\/\//)[1];let[i,a,s,o,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a);let[d,...E]=a.split(":"),p=E.join(":");o=parseInt(`${o}`,10),isNaN(o)&&(o=443),p=decodeURIComponent(p),h!=null&&(h=decodeURIComponent(h)),h=h??`TUIC ${s}:${o}`;let f={type:"tuic",name:h,server:s,port:o,password:p,uuid:d};for(let A of l.split("&")){let[g,S]=A.split("=");g=g.replace(/_/g,"-"),S=decodeURIComponent(S),["alpn"].includes(g)?f[g]=S?S.split(","):void 0:["allow-insecure"].includes(g)?f["skip-cert-verify"]=/(TRUE)|1/i.test(S):["fast-open"].includes(g)?f.tfo=!0:["disable-sni","reduce-rtt"].includes(g)?f[g]=/(TRUE)|1/i.test(S):g==="congestion-control"?(f["congestion-controller"]=S,delete f[g]):f[g]=S}return f}}}function $P(){return{name:"URI WireGuard Parser",test:n=>/^(wireguard|wg):\/\//.test(n),parse:n=>{n=n.split(/(wireguard|wg):\/\//)[2];let[i,a,s,o,l,h,d,E="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);h=parseInt(`${h}`,10),isNaN(h)&&(h=51820),s=decodeURIComponent(s),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${o}:${h}`;let f={type:"wireguard",name:p,server:o,port:h,"private-key":s,udp:!0};for(let A of E.split("&")){let[g,S]=A.split("=");if(g=g.replace(/_/,"-"),S=decodeURIComponent(S),["reserved"].includes(g)){let w=S.split(",").map(y=>parseInt(y.trim(),10)).filter(y=>Number.isInteger(y));w.length===3&&(f[g]=w)}else if(["address","ip"].includes(g))S.split(",").map(w=>{let y=w.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");or(y)?f.ip=y:Jt(y)&&(f.ipv6=y)});else if(["mtu"].includes(g)){let w=parseInt(S.trim(),10);Number.isInteger(w)&&(f[g]=w)}else/publickey/i.test(g)?f["public-key"]=S:/privatekey/i.test(g)?f["private-key"]=S:["udp"].includes(g)?f[g]=/(TRUE)|1/i.test(S):["flag"].includes(g)||(f[g]=S)}return f}}}function BP(){return{name:"URI Trojan Parser",test:n=>/^trojan:\/\//.test(n),parse:n=>{let i=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(n);i?.[2]||(n=n.replace(i[1],`${i[1]}:443`));let[s,o]=n.split(/#(.+)/,2),h=K0().parse(s);if(Ti(o))try{h.name=decodeURIComponent(o)}catch(d){console.log(d)}return h}}}function PP(){return{name:"Clash Parser",test:n=>{try{JSON.parse(n)}catch{return!1}return!0},parse:n=>{let i=JSON.parse(n);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(i.type))throw new Error(`Clash does not support proxy with type: ${i.type}`);return["vmess","vless"].includes(i.type)&&(i.sni=i.servername,delete i.servername),i["server-cert-fingerprint"]&&(i["tls-fingerprint"]=i["server-cert-fingerprint"]),i.fingerprint&&(i["tls-fingerprint"]=i.fingerprint),i["dialer-proxy"]&&(i["underlying-proxy"]=i["dialer-proxy"]),i["benchmark-url"]&&(i["test-url"]=i["benchmark-url"]),i["benchmark-timeout"]&&(i["test-timeout"]=i["benchmark-timeout"]),i}}}function RP(){return{name:"QX SS Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")===-1,parse:n=>Os().parse(n)}}function TP(){return{name:"QX SSR Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")!==-1,parse:n=>Os().parse(n)}}function OP(){return{name:"QX VMess Parser",test:n=>/^vmess\s*=/.test(n.split(",")[0].trim()),parse:n=>Os().parse(n)}}function xP(){return{name:"QX VLESS Parser",test:n=>/^vless\s*=/.test(n.split(",")[0].trim()),parse:n=>Os().parse(n)}}function NP(){return{name:"QX Trojan Parser",test:n=>/^trojan\s*=/.test(n.split(",")[0].trim()),parse:n=>Os().parse(n)}}function kP(){return{name:"QX HTTP Parser",test:n=>/^http\s*=/.test(n.split(",")[0].trim()),parse:n=>Os().parse(n)}}function LP(){return{name:"QX Socks5 Parser",test:n=>/^socks5\s*=/.test(n.split(",")[0].trim()),parse:n=>Os().parse(n)}}function UP(){return{name:"Loon SS Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:n=>Ki().parse(n)}}function HP(){return{name:"Loon SSR Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:n=>Ki().parse(n)}}function jP(){return{name:"Loon VMess Parser",test:n=>/^.*=\s*vmess/i.test(n.split(",")[0])&&n.indexOf("username")===-1,parse:n=>Ki().parse(n)}}function MP(){return{name:"Loon Vless Parser",test:n=>/^.*=\s*vless/i.test(n.split(",")[0]),parse:n=>Ki().parse(n)}}function qP(){return{name:"Loon Trojan Parser",test:n=>/^.*=\s*trojan/i.test(n.split(",")[0]),parse:n=>Ki().parse(n)}}function VP(){return{name:"Loon Hysteria2 Parser",test:n=>/^.*=\s*Hysteria2/i.test(n.split(",")[0]),parse:n=>Ki().parse(n)}}function KP(){return{name:"Loon HTTP Parser",test:n=>/^.*=\s*http/i.test(n.split(",")[0]),parse:n=>Ki().parse(n)}}function GP(){return{name:"Loon SOCKS5 Parser",test:n=>/^.*=\s*socks5/i.test(n.split(",")[0]),parse:n=>Ki().parse(n)}}function zP(){return{name:"Loon WireGuard Parser",test:n=>/^.*=\s*wireguard/i.test(n.split(",")[0]),parse:n=>{let i=n.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];n=n.replace(i,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let a=n.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],s=a.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),o=s?.[2],l=parseInt(s?.[3],10),h=n.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];h&&(h=parseInt(h,10));let d=n.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];d&&(d=parseInt(d,10));let E=a.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];E&&(E=JSON.parse(E));let p,f=n.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],A=n.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(f||A)&&(p=[],f&&p.push(f),A&&p.push(A));let g=a.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(I=>I.trim()),S=a.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],w=n.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],y=n.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],F=a.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],D={type:"wireguard",name:i,server:o,port:l,ip:w,ipv6:y,"private-key":n.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":F,mtu:h,keepalive:d,reserved:E,"allowed-ips":g,"preshared-key":S,dns:p,udp:!0,peers:[{server:o,port:l,ip:w,ipv6:y,"public-key":F,"pre-shared-key":S,"allowed-ips":g,reserved:E}]};return Array.isArray(D.dns)&&D.dns.length>0&&(D["remote-dns-resolve"]=!0),D}}}function YP(){return{name:"Surge Direct Parser",test:n=>/^.*=\s*direct/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function WP(){return{name:"Surge SSH Parser",test:n=>/^.*=\s*ssh/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function XP(){return{name:"Surge SS Parser",test:n=>/^.*=\s*ss/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function JP(){return{name:"Surge VMess Parser",test:n=>/^.*=\s*vmess/.test(n.split(",")[0])&&n.indexOf("username")!==-1,parse:n=>Ln().parse(n)}}function ZP(){return{name:"Surge Trojan Parser",test:n=>/^.*=\s*trojan/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function QP(){return{name:"Surge HTTP Parser",test:n=>/^.*=\s*https?/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function e7(){return{name:"Surge Socks5 Parser",test:n=>/^.*=\s*socks5(-tls)?/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function t7(){return{name:"Surge External Parser",test:n=>/^.*=\s*external/.test(n.split(",")[0]),parse:n=>{let i=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(n),[a,s,o]=i;n=o;let l=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];l||(l=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let h=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];h||(h=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let d=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,E,p=[];for(;(E=d.exec(n))!==null;)E[3]!=null?p.push(E[3]):E[4]!=null&&p.push(E[4]);let f=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,g=[];for(;(A=f.exec(n))!==null;){let w;A[3]!=null?w=A[3]:A[4]!=null&&(w=A[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),a7(w)&&g.push(w)}return{type:"external",name:s,exec:l,"local-port":h,args:p,addresses:g}}}}function r7(){return{name:"Surge Snell Parser",test:n=>/^.*=\s*snell/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function n7(){return{name:"Surge Tuic Parser",test:n=>/^.*=\s*tuic(-v5)?/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=EA(n),s=Ln().parse(a);return s.ports=i,s}}}function i7(){return{name:"Surge WireGuard Parser",test:n=>/^.*=\s*wireguard/.test(n.split(",")[0]),parse:n=>Ln().parse(n)}}function s7(){return{name:"Surge Hysteria2 Parser",test:n=>/^.*=\s*hysteria2/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=EA(n),s=Ln().parse(a);return s.ports=i,s}}}function a7(e){return or(e)||Jt(e)}var wA=[wP(),AP(),yP(),SP(),bP(),CP(),DP(),$P(),IP(),_P(),BP(),FP(),PP(),YP(),WP(),XP(),JP(),ZP(),QP(),r7(),n7(),i7(),s7(),e7(),t7(),UP(),HP(),jP(),MP(),VP(),qP(),KP(),GP(),zP(),RP(),TP(),OP(),xP(),NP(),kP(),LP()];function u7(e){for(let t of Gf)try{if(t.test(e))return V.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){V.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function o7(e){e=u7(e);let t=e.split(` +`),r=[],n;for(let i of t){if(i=i.trim(),i.length===0)continue;let a=!1;if(n){let[s,o]=AA(n,i);o||(r.push(SA(s)),a=!0)}if(!a)for(let s of wA){let[o,l]=AA(s,i);if(!l){r.push(SA(o)),n=s,a=!0,V.info(`${s.name} is activated`);break}}a||V.error(`Failed to parse line: ${i}`)}return r.filter(i=>(["vless","vmess"].includes(i.type)&&(qf(i.uuid)||V.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0))}async function c7(e,t=[],r,n,i){for(let a of t){if(a.disabled){V.log(`Skipping disabled operator: "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);continue}let s,o={};if(a.type.indexOf("Script")!==-1){let{mode:h,content:d}=a.args;if(h==="link"){let E=d||"",p=E.split("#");if(p.length>1)try{o=JSON.parse(decodeURIComponent(p[1]))}catch{for(let g of p[1].split("&")){let S=g.split("=")[0],w=g.split("=")[1];o[S]=w==null||w===""?!0:decodeURIComponent(w)}}E=`${E.split("#")[0]}${p[2]?`#${p[2]}`:o?.noCache!=null||o?.insecure!=null?`#${p[1]}`:""}`;let f=E.match(/^\/api\/(file|module)\/(.+)/);if(f){let A="";try{A=f?.[1];let g=f?.[2];if(g==null)throw new Error(`\u672C\u5730 ${A} URL \u65E0\u6548: ${E}`);g=decodeURIComponent(g);let S=A==="module"?Ng:Na,w=cr(V.read(S),g);if(!w)throw new Error(`\u627E\u4E0D\u5230 ${A}: ${g}`);A==="module"?s=w.content:s=await Qn({type:"file",name:g})}catch(g){throw V.error(`Error when loading ${A}: ${a.args.content}. + Reason: ${g}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${A}: ${E}`)}}else try{s=await Ir(E)}catch(A){throw V.error(`Error when downloading remote script: ${a.args.content}. + Reason: ${A}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${E}`)}}else s=d,o=a.args.arguments||{}}if(!nh[a.type]){V.error(`Unknown operator: "${a.type}"`);continue}V.log(`Applying "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);let l;a.type.indexOf("Script")!==-1?l=nh[a.type](s,r,o,n,i):l=nh[a.type](a.args||{}),e=await rw(l,e)}return e}function l7(e,t,r,n={}){let i=oh[t];if(!i)throw new Error(`Target platform: ${t} is not supported!`);let a=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(s=>s.supported&&s.supported[t]===!1?!1:(["vless","vmess"].includes(s.type)&&(qf(s.uuid)||V.error(`UUID may be invalid: ${s.name} ${s.uuid}`)),!0)),e=e.map(s=>(s._resolved=s.resolved,Ti(s.name)||(s.name=`${s.type} ${s.server}:${s.port}`),s["disable-sni"]&&(a?s.sni="off":["tuic"].includes(s.type)||(V.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),s.sni="",s["skip-cert-verify"]=!0,delete s["tls-fingerprint"])),s.ports&&(s.ports=String(s.ports),["ClashMeta"].includes(t)||(s.ports=s.ports.replace(/\//g,",")),s.port||(s.port=Nc(s.ports))),s)),V.log(`Producing proxies for target: ${t}`),typeof i.type>"u"||i.type==="SINGLE"){let s=e.map(o=>{try{return i.produce(o,r,n)}catch(l){return V.error(`Cannot produce proxy: ${JSON.stringify(o,null,2)} +Reason: ${l}`),""}}).filter(o=>o.length>0);return s=r==="internal"?s:s.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(o=>o.type==="wireguard")&&(s=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${s}`),s}else if(i.type==="ALL")return i.produce(e,r,n)}var St={parse:o7,process:c7,produce:l7,ipAddress:Mf,getRandomPort:Nc,isIPv4:or,isIPv6:Jt,isIP:G0,yaml:Ja,getFlag:Eo,removeFlag:Uc,getISO:Wf,MMDB:Yf,Gist:tu,download:Ir,downloadFile:RE,isValidUUID:qf,doh:Ao,Buffer:vh.Buffer,Base64:pt};function AA(e,t){if(!f7(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function f7(e,t){try{return e.test(t)}catch{return!1}}function yA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function SA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=$E(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),DE(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>yA(n)):t!=null&&(e[`${e.network}-opts`].path=yA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,i=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!i&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):i&&!n&&(e[`${e.network}-opts`].headers.Host=i,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,i=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(i)&&(e["h2-opts"].path=i[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!G0(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;i&&!Array.isArray(i)&&(e[`${e.network}-opts`].headers.Host=[i]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(G0(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=vh.Buffer.from(e.name.data).toString("utf8"):e.name=vh.Buffer.from(e.name).toString("utf8")}catch(n){V.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{V.env.isNode&&!r&&e._ca&&(r=V.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){V.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=wv.generateFingerprint(r)),["ss"].includes(e.type)&&ae(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function G0(e){return or(e)||Jt(e)}function z0(e){e.get("/share/col/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,V.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Io(t,r)}),e.get("/share/col/:name",Io),e.get("/share/sub/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,V.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await _o(t,r)}),e.get("/share/sub/:name",_o),e.get("/download/collection/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,V.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Io(t,r)}),e.get("/download/collection/:name",Io),e.get("/download/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,V.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await _o(t,r)}),e.get("/download/:name",_o),e.get("/download/collection/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await Io(t,r)}),e.get("/download/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await _o(t,r)}),e.get("/download/collection/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await Io(t,r)}),e.get("/download/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await _o(t,r)})}async function _o(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",a=e.query.target||Kp(e.headers)||"JSON",s=e.headers["user-agent"]||e.headers["User-Agent"];V.info(`\u6B63\u5728\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${s} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${a}`);let{url:o,ua:l,content:h,mergeSources:d,ignoreFailedRemoteSub:E,produceType:p,includeUnsupportedProxy:f,resultFormat:A,proxy:g,noCache:S}=e.query,w={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{w=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let I of e.query.$options.split("&")){let j=I.split("=")[0],M=I.split("=")[1];w[j]=M==null||M===""?!0:decodeURIComponent(M)}}V.info(`\u4F20\u5165 $options: ${JSON.stringify(w)}`)}o&&(o=decodeURIComponent(o),V.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${o}`),/^https?:\/\//.test(o)||(h=o,V.info("URL \u4E0D\u662F\u94FE\u63A5\uFF0C\u89C6\u4E3A\u672C\u5730\u8BA2\u9605"))),h&&(h=decodeURIComponent(h),V.info(`\u6307\u5B9A\u672C\u5730\u8BA2\u9605: ${h}`)),g&&(g=decodeURIComponent(g),V.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${g}`)),l&&(l=decodeURIComponent(l),V.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 User-Agent: ${l}`)),d&&(d=decodeURIComponent(d),V.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${d}`)),E!=null&&E!==""&&(E=decodeURIComponent(E),V.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${E}`)),p&&(p=decodeURIComponent(p),V.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${p}`)),f&&(f=decodeURIComponent(f),V.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${f}`)),!f&&Gp(a,s)&&(f=!0,V.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${f}`)),i&&V.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),S&&V.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${S}`);let y=V.read(Wn),F=cr(y,r);if(F)try{F.passThroughUA&&(V.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${s}`),l=s);let I=await Qn({type:"subscription",name:r,platform:a,url:o,ua:l,content:h,mergeSources:d,ignoreFailedRemoteSub:E,produceType:p,produceOpts:{"include-unsupported-proxy":f,useMihomoExternal:i},$options:w,proxy:g,noCache:S}),j;if(F.source!=="local"||["localFirst","remoteFirst"].includes(F.mergeSources))try{o=`${o||F.url}`.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length)?.[0]||"";let M={},_=o.split("#");if(o=o.split("#")[0],_.length>1)try{M=JSON.parse(decodeURIComponent(_[1]))}catch{for(let k of _[1].split("&")){let H=k.split("=")[0],K=k.split("=")[1];M[H]=K==null||K===""?!0:decodeURIComponent(K)}}M.noFlow||(j=await Oi(M?.insecure?`${o}#insecure`:o,M.flowUserAgent,void 0,g||F.proxy,M.flowUrl),j&&t.set("subscription-userinfo",vo(j)))}catch(M){V.error(`\u8BA2\u9605 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(M)}`)}if(F.subUserinfo){let M;if(/^https?:\/\//.test(F.subUserinfo))try{M=await Oi(void 0,void 0,void 0,g||F.proxy,F.subUserinfo)}catch(_){V.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${F.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(_)}`)}else M=F.subUserinfo;t.set("subscription-userinfo",vo([M,j].filter(_=>_).join(";")))}a==="JSON"?(A==="nezha"?I=CA(I):A==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):I.findIndex(M=>M.name===n),I=await bA(I[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(I)):t.send(I)}catch(D){V.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${D.message??D}`),V.error(D.message??D),$r(t,new Tn("INTERNAL_SERVER_ERROR",`Failed to download subscription: ${r}`,`Reason: ${D.message??D}`))}else V.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25 +\u274C \u672A\u627E\u5230\u8BA2\u9605\uFF1A${r}\uFF01`),$r(t,new Bs("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}async function Io(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",a=e.query.target||Kp(e.headers)||"JSON",s=V.read(zs),o=cr(s,r),l=e.headers["user-agent"]||e.headers["User-Agent"];V.info(`\u6B63\u5728\u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${l} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${a}`);let{ignoreFailedRemoteSub:h,produceType:d,includeUnsupportedProxy:E,resultFormat:p,proxy:f,noCache:A}=e.query,g={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{g=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let w of e.query.$options.split("&")){let y=w.split("=")[0],F=w.split("=")[1];g[y]=F==null||F===""?!0:decodeURIComponent(F)}}V.info(`\u4F20\u5165 $options: ${JSON.stringify(g)}`)}if(f&&(f=decodeURIComponent(f),V.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${f}`)),h!=null&&h!==""&&(h=decodeURIComponent(h),V.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${h}`)),d&&(d=decodeURIComponent(d),V.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${d}`)),E&&(E=decodeURIComponent(E),V.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${E}`)),!E&&Gp(a,l)&&(E=!0,V.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${E}`)),i&&V.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),A&&V.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${A}`),o)try{let S=await Qn({type:"collection",name:r,platform:a,ignoreFailedRemoteSub:h,produceType:d,produceOpts:{"include-unsupported-proxy":E,useMihomoExternal:i},$options:g,proxy:f,noCache:A,ua:l}),w,y=V.read(Wn),F=o.subscriptions;if(F.length>0){let j=cr(y,F[0]);if(j.source!=="local"||["localFirst","remoteFirst"].includes(j.mergeSources))try{let M=`${j.url}`.split(/[\r\n]+/).map(k=>k.trim()).filter(k=>k.length)?.[0]||"",_={},P=M.split("#");if(M=M.split("#")[0],P.length>1)try{_=JSON.parse(decodeURIComponent(P[1]))}catch{for(let H of P[1].split("&")){let K=H.split("=")[0],W=H.split("=")[1];_[K]=W==null||W===""?!0:decodeURIComponent(W)}}_.noFlow||(w=await Oi(_?.insecure?`${M}#insecure`:M,_.flowUserAgent,void 0,f||j.proxy||o.proxy,_.flowUrl))}catch(M){V.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4E2D\u7684\u5B50\u8BA2\u9605 ${j.name} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${M.message??M}`)}if(j.subUserinfo){let M;if(/^https?:\/\//.test(j.subUserinfo))try{M=await Oi(void 0,void 0,void 0,f||j.proxy,j.subUserinfo)}catch(_){V.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${j.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(_)}`)}else M=j.subUserinfo;w=[M,w].filter(_=>_).join("; ")}}V.info(`\u7EC4\u5408\u8BA2\u9605 ${r} \u900F\u4F20\u7684\u7684\u6D41\u91CF\u4FE1\u606F: ${w}`);let D;if(/^https?:\/\//.test(o.subUserinfo))try{D=await Oi(void 0,void 0,void 0,f||o.proxy,o.subUserinfo)}catch(j){V.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${o.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(j)}`)}else D=o.subUserinfo;let I=[D,w].filter(j=>j).join("; ");I&&t.set("subscription-userinfo",vo(I)),a==="JSON"?(p==="nezha"?S=CA(S):p==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):S.findIndex(j=>j.name===n),S=await bA(S[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(S)):t.send(S)}catch(S){V.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u9519\u8BEF\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${S}`),$r(t,new Tn("INTERNAL_SERVER_ERROR",`Failed to download collection: ${r}`,`Reason: ${S.message??S}`))}else V.error("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u672A\u627E\u5230\u7EC4\u5408\u8BA2\u9605\uFF1A${r}\uFF01`),$r(t,new Bs("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}async function bA(e,t,r){let n={code:0,message:"success",result:[]};try{let{isLoon:i,isSurge:a}=V.env;if(!i&&!a)throw new Error("\u4EC5\u652F\u6301 Loon \u548C Surge(ability=http-client-policy)");let s=St.produce([e],i?"Loon":"Surge");if(!s)throw new Error("\u5F53\u524D\u5BA2\u6237\u7AEF\u4E0D\u517C\u5BB9\u6B64\u8282\u70B9");let o=e._monitors||[{name:"Cloudflare",url:"http://cp.cloudflare.com/generate_204",method:"HEAD",number:3,timeout:2e3},{name:"Google",url:"http://www.google.com/generate_204",method:"HEAD",number:3,timeout:2e3}],l=r.number||Math.max(...o.map(h=>h.number))||3;for(let h of o){let E={monitor_id:o.indexOf(h),server_id:t,monitor_name:h.name,server_name:e.name,created_at:[],avg_delay:[]};for(let p=0;p{let i=r._geo?.countryCode||r._geo?.country;if(/^[a-z]{2}$/i.test(i)||(i=Wf(r.name)),/^[a-z]{2}$/i.test(i)){let a=Math.round(new Date().getTime()/1e3),s=r._unavailable?0:a,o=parseInt(r._uptime||0,10);t.result.push({id:n,name:r.name,tag:`${r._tag??""}`,last_active:s,valid_ip:r._IP||r.server,ipv4:r._IPv4||r.server,ipv6:r._IPv6||(Jt(r.server)?r.server:""),host:{Platform:"Sub-Store",PlatformVersion:nu.version,CPU:[],MemTotal:1024,DiskTotal:1024,SwapTotal:1024,Arch:"",Virtualization:"",BootTime:a-o,CountryCode:i,Version:"0.0.1"},status:{CPU:0,MemUsed:0,SwapUsed:0,DiskUsed:0,NetInTransfer:0,NetOutTransfer:0,NetInSpeed:0,NetOutSpeed:0,Uptime:o,Load1:0,Load5:0,Load15:0,TcpConnCount:0,UdpConnCount:0,ProcessCount:0}})}}),JSON.stringify(t,null,2)}function Y0(e){e.post("/api/preview/sub",p7),e.post("/api/preview/collection",d7),e.post("/api/preview/file",h7)}async function h7(e,t){try{let r=e.body,n="";if(r.type!=="mihomoProfile")if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))n=r.content;else{let o={};if(n=await Promise.all(r.url.split(/[\r\n]+/).map(l=>l.trim()).filter(l=>l.length).map(async l=>{try{return await Ir(l,r.ua,void 0,r.proxy)}catch(h){return o[l]=h,V.error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${l} \u53D1\u751F\u9519\u8BEF: ${h}`),""}})),Object.keys(o).length>0)if(r.ignoreFailedRemoteFile)r.ignoreFailedRemoteFile==="enabled"&&V.notify("\u{1F30D} Sub-Store \u9884\u89C8\u6587\u4EF6\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?n.unshift(r.content):r.mergeSources==="remoteFirst"&&n.push(r.content)}let i=(Array.isArray(n)?n:[n]).flat(),a=i.filter(o=>o!=null&&o!=="").join(` +`),s=Array.isArray(r.process)&&r.process.length>0?await St.process({$files:i,$content:a,$file:r},r.process):{$content:a,$files:i};Mi(t,{original:a,processed:s?.$content??""})}catch(r){V.error(r.message??r),$r(t,new Tn("INTERNAL_SERVER_ERROR","Failed to preview file",`Reason: ${r.message??r}`))}}async function p7(e,t){try{let r=e.body,n=e.query.target||"JSON",i;if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))i=r.content;else{let o={};if(i=await Promise.all(r.url.split(/[\r\n]+/).map(l=>l.trim()).filter(l=>l.length).map(async l=>{try{return await Ir(l,r.ua,void 0,r.proxy,void 0,void 0,void 0,!0)}catch(h){return o[l]=h,V.error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${l} \u53D1\u751F\u9519\u8BEF: ${h}`),""}})),Object.keys(o).length>0)if(r.ignoreFailedRemoteSub)r.ignoreFailedRemoteSub==="enabled"&&V.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?i.unshift(r.content):r.mergeSources==="remoteFirst"&&i.push(r.content)}let a=(Array.isArray(i)?i:[i]).map(o=>St.parse(o)).flat();a.forEach((o,l)=>{o.id=l,o._subName=r.name,o._subDisplayName=r.displayName});let s=await St.process(a,r.process||[],n,{[r.name]:r});Mi(t,{original:a,processed:s})}catch(r){V.error(r.message??r),$r(t,new Tn("INTERNAL_SERVER_ERROR","Failed to preview subscription",`Reason: ${r.message??r}`))}}async function d7(e,t){try{let r=V.read(Wn),n=e.body,i=[...n.subscriptions],a=n.subscriptionTags;Array.isArray(a)&&a.length>0&&r.forEach(d=>{Array.isArray(d.tag)&&d.tag.length>0&&!i.includes(d.name)&&d.tag.some(E=>a.includes(E))&&i.push(d.name)});let s={},o={};if(await Promise.all(i.map(async d=>{let E=cr(r,d);try{let p;if(E.source==="local"&&!["localFirst","remoteFirst"].includes(E.mergeSources))p=E.content;else{let A={};if(p=await Promise.all(E.url.split(/[\r\n]+/).map(g=>g.trim()).filter(g=>g.length).map(async g=>{try{return await Ir(g,E.ua,void 0,E.proxy,void 0,void 0,void 0,!0)}catch(S){return A[g]=S,V.error(`\u8BA2\u9605 ${E.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${g} \u53D1\u751F\u9519\u8BEF: ${S}`),""}})),Object.keys(A).length>0)if(E.ignoreFailedRemoteSub)E.ignoreFailedRemoteSub==="enabled"&&V.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${E.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(A).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${E.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(A).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);E.mergeSources==="localFirst"?p.unshift(E.content):E.mergeSources==="remoteFirst"&&p.push(E.content)}let f=(Array.isArray(p)?p:[p]).map(A=>St.parse(A)).flat();f.forEach(A=>{A._subName=E.name,A._subDisplayName=E.displayName,A._collectionName=n.name,A._collectionDisplayName=n.displayName}),f=await St.process(f,E.process||[],"JSON",{[E.name]:E,_collection:n}),s[d]=f}catch(p){o[d]=p,V.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605 ${n.name} \u4E2D\u7684\u5B50\u8BA2\u9605: ${E.name} \u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${p}\uFF01`)}})),Object.keys(o).length>0)if(n.ignoreFailedRemoteSub)n.ignoreFailedRemoteSub==="enabled"&&V.notify("\u{1F30D} Sub-Store \u9884\u89C8\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${n.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${n.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(o).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let l=Array.prototype.concat.apply([],i.map(d=>s[d]||[]));l.forEach((d,E)=>{d.id=E,d._collectionName=n.name,d._collectionDisplayName=n.displayName});let h=await St.process(l,n.process||[],"JSON",{_collection:n});Mi(t,{original:l,processed:h})}catch(r){V.error(r.message??r),$r(t,new Tn("INTERNAL_SERVER_ERROR","Failed to preview collection",`Reason: ${r.message??r}`))}}function W0(e){e.post("/api/utils/node-info",g7)}async function g7(e,t){let r=e.body,n=e.query.lang||"zh-CN",i;try{i=oh.URI.produce(r)}catch{}try{let s=await oi().get({url:`http://ip-api.com/json/${encodeURIComponent(`${r.server}`.trim().replace(/^\[/,"").replace(/\]$/,""))}?lang=${n}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"}}).then(o=>{let l=JSON.parse(o.body);if(l.status!=="success")throw new Error(l.message);return delete l.status,l});Mi(t,{shareUrl:i,info:s})}catch(a){$r(t,new Qf("FAILED_TO_GET_NODE_INFO","Failed to get node info",`Reason: ${a}`))}}console.log(` +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store -- v${zl} +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 +`);kp();m7();function m7(){let e=Lp({substore:V});z0(e),Y0(e),p0(e),W0(e),e.options("/",(t,r)=>{r.status(200).end()}),e.start()}})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/sub-store-parser.loon.min.js b/sub-store-parser.loon.min.js new file mode 100644 index 0000000..a6eec2c --- /dev/null +++ b/sub-store-parser.loon.min.js @@ -0,0 +1,1149 @@ +(()=>{var m3=Object.create;var X1=Object.defineProperty;var v3=Object.getOwnPropertyDescriptor;var w3=Object.getOwnPropertyNames;var A3=Object.getPrototypeOf,E3=Object.prototype.hasOwnProperty;var ba=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var be=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var y3=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of w3(t))!E3.call(e,s)&&s!==r&&X1(e,s,{get:()=>t[s],enumerable:!(n=v3(t,s))||n.enumerable});return e};var Un=(e,t,r)=>(r=e!=null?m3(A3(e)):{},y3(t||!e||!e.__esModule?X1(r,"default",{value:e,enumerable:!0}):r,e));var vg=be(Rl=>{"use strict";Rl.byteLength=T3;Rl.toByteArray=O3;Rl.fromByteArray=L3;var fi=[],Hn=[],R3=typeof Uint8Array<"u"?Uint8Array:Array,gp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ca=0,gg=gp.length;Ca0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function T3(e){var t=mg(e),r=t[0],n=t[1];return(r+n)*3/4-n}function x3(e,t,r){return(t+r)*3/4-r}function O3(e){var t,r=mg(e),n=r[0],s=r[1],a=new R3(x3(e,n,s)),i=0,c=s>0?n-4:n,l;for(l=0;l>16&255,a[i++]=t>>8&255,a[i++]=t&255;return s===2&&(t=Hn[e.charCodeAt(l)]<<2|Hn[e.charCodeAt(l+1)]>>4,a[i++]=t&255),s===1&&(t=Hn[e.charCodeAt(l)]<<10|Hn[e.charCodeAt(l+1)]<<4|Hn[e.charCodeAt(l+2)]>>2,a[i++]=t>>8&255,a[i++]=t&255),a}function k3(e){return fi[e>>18&63]+fi[e>>12&63]+fi[e>>6&63]+fi[e&63]}function N3(e,t,r){for(var n,s=[],a=t;ac?c:i+a));return n===1?(t=e[r-1],s.push(fi[t>>2]+fi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],s.push(fi[t>>10]+fi[t>>4&63]+fi[t<<2&63]+"=")),s.join("")}});var wg=be(mp=>{mp.read=function(e,t,r,n,s){var a,i,c=s*8-n-1,l=(1<>1,v=-7,E=r?s-1:0,p=r?-1:1,f=e[t+E];for(E+=p,a=f&(1<<-v)-1,f>>=-v,v+=c;v>0;a=a*256+e[t+E],E+=p,v-=8);for(i=a&(1<<-v)-1,a>>=-v,v+=n;v>0;i=i*256+e[t+E],E+=p,v-=8);if(a===0)a=1-h;else{if(a===l)return i?NaN:(f?-1:1)*(1/0);i=i+Math.pow(2,n),a=a-h}return(f?-1:1)*i*Math.pow(2,a-n)};mp.write=function(e,t,r,n,s,a){var i,c,l,h=a*8-s-1,v=(1<>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,A=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(c=isNaN(t)?1:0,i=v):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),i+E>=1?t+=p/l:t+=p*Math.pow(2,1-E),t*l>=2&&(i++,l/=2),i+E>=v?(c=0,i=v):i+E>=1?(c=(t*l-1)*Math.pow(2,s),i=i+E):(c=t*Math.pow(2,E-1)*Math.pow(2,s),i=0));s>=8;e[r+f]=c&255,f+=A,c/=256,s-=8);for(i=i<0;e[r+f]=i&255,f+=A,i/=256,h-=8);e[r+f-A]|=m*128}});var Ol=be(Tu=>{"use strict";var vp=vg(),$u=wg(),Ag=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Tu.Buffer=le;Tu.SlowBuffer=K3;Tu.INSPECT_MAX_BYTES=50;var Tl=2147483647;Tu.kMaxLength=Tl;le.TYPED_ARRAY_SUPPORT=U3();!le.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function U3(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(le.prototype,"parent",{enumerable:!0,get:function(){if(le.isBuffer(this))return this.buffer}});Object.defineProperty(le.prototype,"offset",{enumerable:!0,get:function(){if(le.isBuffer(this))return this.byteOffset}});function Ji(e){if(e>Tl)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,le.prototype),t}function le(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return yp(e)}return bg(e,t,r)}le.poolSize=8192;function bg(e,t,r){if(typeof e=="string")return j3(e,t);if(ArrayBuffer.isView(e))return M3(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(hi(e,ArrayBuffer)||e&&hi(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(hi(e,SharedArrayBuffer)||e&&hi(e.buffer,SharedArrayBuffer)))return Ap(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return le.from(n,t,r);let s=q3(e);if(s)return s;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return le.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}le.from=function(e,t,r){return bg(e,t,r)};Object.setPrototypeOf(le.prototype,Uint8Array.prototype);Object.setPrototypeOf(le,Uint8Array);function Cg(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function H3(e,t,r){return Cg(e),e<=0?Ji(e):t!==void 0?typeof r=="string"?Ji(e).fill(t,r):Ji(e).fill(t):Ji(e)}le.alloc=function(e,t,r){return H3(e,t,r)};function yp(e){return Cg(e),Ji(e<0?0:Sp(e)|0)}le.allocUnsafe=function(e){return yp(e)};le.allocUnsafeSlow=function(e){return yp(e)};function j3(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!le.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Fg(e,t)|0,n=Ji(r),s=n.write(e,t);return s!==r&&(n=n.slice(0,s)),n}function wp(e){let t=e.length<0?0:Sp(e.length)|0,r=Ji(t);for(let n=0;n=Tl)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Tl.toString(16)+" bytes");return e|0}function K3(e){return+e!=e&&(e=0),le.alloc(+e)}le.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==le.prototype};le.compare=function(t,r){if(hi(t,Uint8Array)&&(t=le.from(t,t.offset,t.byteLength)),hi(r,Uint8Array)&&(r=le.from(r,r.offset,r.byteLength)),!le.isBuffer(t)||!le.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,s=r.length;for(let a=0,i=Math.min(n,s);as.length?(le.isBuffer(i)||(i=le.from(i)),i.copy(s,a)):Uint8Array.prototype.set.call(s,i,a);else if(le.isBuffer(i))i.copy(s,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=i.length}return s};function Fg(e,t){if(le.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||hi(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let s=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Ep(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return xg(e).length;default:if(s)return n?-1:Ep(e).length;t=(""+t).toLowerCase(),s=!0}}le.byteLength=Fg;function V3(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return tS(this,t,r);case"utf8":case"utf-8":return Ig(this,t,r);case"ascii":return Q3(this,t,r);case"latin1":case"binary":return eS(this,t,r);case"base64":return J3(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rS(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}le.prototype._isBuffer=!0;function Fa(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}le.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};Ag&&(le.prototype[Ag]=le.prototype.inspect);le.prototype.compare=function(t,r,n,s,a){if(hi(t,Uint8Array)&&(t=le.from(t,t.offset,t.byteLength)),!le.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),s===void 0&&(s=0),a===void 0&&(a=this.length),r<0||n>t.length||s<0||a>this.length)throw new RangeError("out of range index");if(s>=a&&r>=n)return 0;if(s>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,s>>>=0,a>>>=0,this===t)return 0;let i=a-s,c=n-r,l=Math.min(i,c),h=this.slice(s,a),v=t.slice(r,n);for(let E=0;E2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Cp(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0)if(s)r=0;else return-1;if(typeof t=="string"&&(t=le.from(t,n)),le.isBuffer(t))return t.length===0?-1:Eg(e,t,r,n,s);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Eg(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function Eg(e,t,r,n,s){let a=1,i=e.length,c=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,i/=2,c/=2,r/=2}function l(v,E){return a===1?v[E]:v.readUInt16BE(E*a)}let h;if(s){let v=-1;for(h=r;hi&&(r=i-c),h=r;h>=0;h--){let v=!0;for(let E=0;Es&&(n=s)):n=s;let a=t.length;n>a/2&&(n=a/2);let i;for(i=0;i>>0,isFinite(n)?(n=n>>>0,s===void 0&&(s="utf8")):(s=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");let i=!1;for(;;)switch(s){case"hex":return G3(this,t,r,n);case"utf8":case"utf-8":return z3(this,t,r,n);case"ascii":case"latin1":case"binary":return W3(this,t,r,n);case"base64":return Y3(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X3(this,t,r,n);default:if(i)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),i=!0}};le.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function J3(e,t,r){return t===0&&r===e.length?vp.fromByteArray(e):vp.fromByteArray(e.slice(t,r))}function Ig(e,t,r){r=Math.min(e.length,r);let n=[],s=t;for(;s239?4:a>223?3:a>191?2:1;if(s+c<=r){let l,h,v,E;switch(c){case 1:a<128&&(i=a);break;case 2:l=e[s+1],(l&192)===128&&(E=(a&31)<<6|l&63,E>127&&(i=E));break;case 3:l=e[s+1],h=e[s+2],(l&192)===128&&(h&192)===128&&(E=(a&15)<<12|(l&63)<<6|h&63,E>2047&&(E<55296||E>57343)&&(i=E));break;case 4:l=e[s+1],h=e[s+2],v=e[s+3],(l&192)===128&&(h&192)===128&&(v&192)===128&&(E=(a&15)<<18|(l&63)<<12|(h&63)<<6|v&63,E>65535&&E<1114112&&(i=E))}}i===null?(i=65533,c=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),s+=c}return Z3(n)}var yg=4096;function Z3(e){let t=e.length;if(t<=yg)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let s="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}le.prototype.readUintLE=le.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||lr(t,r,this.length);let s=this[t],a=1,i=0;for(;++i>>0,r=r>>>0,n||lr(t,r,this.length);let s=this[t+--r],a=1;for(;r>0&&(a*=256);)s+=this[t+--r]*a;return s};le.prototype.readUint8=le.prototype.readUInt8=function(t,r){return t=t>>>0,r||lr(t,1,this.length),this[t]};le.prototype.readUint16LE=le.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||lr(t,2,this.length),this[t]|this[t+1]<<8};le.prototype.readUint16BE=le.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||lr(t,2,this.length),this[t]<<8|this[t+1]};le.prototype.readUint32LE=le.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||lr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};le.prototype.readUint32BE=le.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||lr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};le.prototype.readBigUInt64LE=ks(function(t){t=t>>>0,Ru(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&nc(t,this.length-8);let s=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(s)+(BigInt(a)<>>0,Ru(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&nc(t,this.length-8);let s=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(s)<>>0,r=r>>>0,n||lr(t,r,this.length);let s=this[t],a=1,i=0;for(;++i=a&&(s-=Math.pow(2,8*r)),s};le.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||lr(t,r,this.length);let s=r,a=1,i=this[t+--s];for(;s>0&&(a*=256);)i+=this[t+--s]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};le.prototype.readInt8=function(t,r){return t=t>>>0,r||lr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};le.prototype.readInt16LE=function(t,r){t=t>>>0,r||lr(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};le.prototype.readInt16BE=function(t,r){t=t>>>0,r||lr(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};le.prototype.readInt32LE=function(t,r){return t=t>>>0,r||lr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};le.prototype.readInt32BE=function(t,r){return t=t>>>0,r||lr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};le.prototype.readBigInt64LE=ks(function(t){t=t>>>0,Ru(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&nc(t,this.length-8);let s=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(s)<>>0,Ru(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&nc(t,this.length-8);let s=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(s)<>>0,r||lr(t,4,this.length),$u.read(this,t,!0,23,4)};le.prototype.readFloatBE=function(t,r){return t=t>>>0,r||lr(t,4,this.length),$u.read(this,t,!1,23,4)};le.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||lr(t,8,this.length),$u.read(this,t,!0,52,8)};le.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||lr(t,8,this.length),$u.read(this,t,!1,52,8)};function nn(e,t,r,n,s,a){if(!le.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||te.length)throw new RangeError("Index out of range")}le.prototype.writeUintLE=le.prototype.writeUIntLE=function(t,r,n,s){if(t=+t,r=r>>>0,n=n>>>0,!s){let c=Math.pow(2,8*n)-1;nn(this,t,r,n,c,0)}let a=1,i=0;for(this[r]=t&255;++i>>0,n=n>>>0,!s){let c=Math.pow(2,8*n)-1;nn(this,t,r,n,c,0)}let a=n-1,i=1;for(this[r+a]=t&255;--a>=0&&(i*=256);)this[r+a]=t/i&255;return r+n};le.prototype.writeUint8=le.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,1,255,0),this[r]=t&255,r+1};le.prototype.writeUint16LE=le.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};le.prototype.writeUint16BE=le.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};le.prototype.writeUint32LE=le.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};le.prototype.writeUint32BE=le.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function Bg(e,t,r,n,s){Tg(t,n,s,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i,i=i>>8,e[r++]=i,r}function Dg(e,t,r,n,s){Tg(t,n,s,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=i,i=i>>8,e[r+2]=i,i=i>>8,e[r+1]=i,i=i>>8,e[r]=i,r+8}le.prototype.writeBigUInt64LE=ks(function(t,r=0){return Bg(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});le.prototype.writeBigUInt64BE=ks(function(t,r=0){return Dg(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});le.prototype.writeIntLE=function(t,r,n,s){if(t=+t,r=r>>>0,!s){let l=Math.pow(2,8*n-1);nn(this,t,r,n,l-1,-l)}let a=0,i=1,c=0;for(this[r]=t&255;++a>0)-c&255;return r+n};le.prototype.writeIntBE=function(t,r,n,s){if(t=+t,r=r>>>0,!s){let l=Math.pow(2,8*n-1);nn(this,t,r,n,l-1,-l)}let a=n-1,i=1,c=0;for(this[r+a]=t&255;--a>=0&&(i*=256);)t<0&&c===0&&this[r+a+1]!==0&&(c=1),this[r+a]=(t/i>>0)-c&255;return r+n};le.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};le.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};le.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};le.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};le.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||nn(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};le.prototype.writeBigInt64LE=ks(function(t,r=0){return Bg(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});le.prototype.writeBigInt64BE=ks(function(t,r=0){return Dg(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Pg(e,t,r,n,s,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function $g(e,t,r,n,s){return t=+t,r=r>>>0,s||Pg(e,t,r,4,34028234663852886e22,-34028234663852886e22),$u.write(e,t,r,n,23,4),r+4}le.prototype.writeFloatLE=function(t,r,n){return $g(this,t,r,!0,n)};le.prototype.writeFloatBE=function(t,r,n){return $g(this,t,r,!1,n)};function Rg(e,t,r,n,s){return t=+t,r=r>>>0,s||Pg(e,t,r,8,17976931348623157e292,-17976931348623157e292),$u.write(e,t,r,n,52,8),r+8}le.prototype.writeDoubleLE=function(t,r,n){return Rg(this,t,r,!0,n)};le.prototype.writeDoubleBE=function(t,r,n){return Rg(this,t,r,!1,n)};le.prototype.copy=function(t,r,n,s){if(!le.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!s&&s!==0&&(s=this.length),r>=t.length&&(r=t.length),r||(r=0),s>0&&s=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?s=Sg(String(r)):typeof r=="bigint"&&(s=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(s=Sg(s)),s+="n"),n+=` It must be ${t}. Received ${s}`,n},RangeError);function Sg(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function nS(e,t,r){Ru(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&nc(t,e.length-(r+1))}function Tg(e,t,r,n,s,a){if(e>r||e3?t===0||t===BigInt(0)?c=`>= 0${i} and < 2${i} ** ${(a+1)*8}${i}`:c=`>= -(2${i} ** ${(a+1)*8-1}${i}) and < 2 ** ${(a+1)*8-1}${i}`:c=`>= ${t}${i} and <= ${r}${i}`,new Pu.ERR_OUT_OF_RANGE("value",c,e)}nS(n,s,a)}function Ru(e,t){if(typeof e!="number")throw new Pu.ERR_INVALID_ARG_TYPE(t,"number",e)}function nc(e,t,r){throw Math.floor(e)!==e?(Ru(e,r),new Pu.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Pu.ERR_BUFFER_OUT_OF_BOUNDS:new Pu.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var iS=/[^+/0-9A-Za-z-_]/g;function sS(e){if(e=e.split("=")[0],e=e.trim().replace(iS,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function Ep(e,t){t=t||1/0;let r,n=e.length,s=null,a=[];for(let i=0;i55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(i+1===n){(t-=3)>-1&&a.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),s=r;continue}r=(s-55296<<10|r-56320)+65536}else s&&(t-=3)>-1&&a.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function aS(e){let t=[];for(let r=0;r>8,s=r%256,a.push(s),a.push(n);return a}function xg(e){return vp.toByteArray(sS(e))}function xl(e,t,r,n){let s;for(s=0;s=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function hi(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Cp(e){return e!==e}var oS=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let s=0;s<16;++s)t[n+s]=e[r]+e[s]}return t}();function ks(e){return typeof BigInt>"u"?cS:e}function cS(){throw new Error("BigInt not supported")}});var im=be(ye=>{var ic={};ic.userAgent=!1;var xu={},lS="11.1.0",fS="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license";var Se=Se||function(e,t){var r={},n=r.lib={},s=n.Base=function(){function f(){}return{extend:function(A){f.prototype=this;var m=new f;return A&&m.mixIn(A),m.hasOwnProperty("init")||(m.init=function(){m.$super.init.apply(this,arguments)}),m.init.prototype=m,m.$super=this,m},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var m in A)A.hasOwnProperty(m)&&(this[m]=A[m]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=s.extend({init:function(f,A){f=this.words=f||[],A!=t?this.sigBytes=A:this.sigBytes=f.length*4},toString:function(f){return(f||c).stringify(this)},concat:function(f){var A=this.words,m=f.words,b=this.sigBytes,w=f.sigBytes;if(this.clamp(),b%4)for(var S=0;S>>2]>>>24-S%4*8&255;A[b+S>>>2]|=F<<24-(b+S)%4*8}else for(var S=0;S>>2]=m[S>>>2];return this.sigBytes+=w,this},clamp:function(){var f=this.words,A=this.sigBytes;f[A>>>2]&=4294967295<<32-A%4*8,f.length=e.ceil(A/4)},clone:function(){var f=s.clone.call(this);return f.words=this.words.slice(0),f},random:function(f){for(var A=[],m=0;m>>2]>>>24-w%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16))}return b.join("")},parse:function(f){for(var A=f.length,m=[],b=0;b>>3]|=parseInt(f.substr(b,2),16)<<24-b%8*4;return new a.init(m,A/2)}},l=i.Latin1={stringify:function(f){for(var A=f.words,m=f.sigBytes,b=[],w=0;w>>2]>>>24-w%4*8&255;b.push(String.fromCharCode(S))}return b.join("")},parse:function(f){for(var A=f.length,m=[],b=0;b>>2]|=(f.charCodeAt(b)&255)<<24-b%4*8;return new a.init(m,A)}},h=i.Utf8={stringify:function(f){try{return decodeURIComponent(escape(l.stringify(f)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(f){return l.parse(unescape(encodeURIComponent(f)))}},v=n.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(f){typeof f=="string"&&(f=h.parse(f)),this._data.concat(f),this._nDataBytes+=f.sigBytes},_process:function(f){var A=this._data,m=A.words,b=A.sigBytes,w=this.blockSize,S=w*4,F=b/S;f?F=e.ceil(F):F=e.max((F|0)-this._minBufferSize,0);var D=F*w,I=e.min(D*4,b);if(D){for(var j=0;j>>2]&255}},t.BlockCipher=c.extend({cfg:c.cfg.extend({mode:E,padding:h}),reset:function(){c.reset.call(this);var b=this.cfg,m=b.iv,b=b.mode;if(this._xformMode==this._ENC_XFORM_MODE)var w=b.createEncryptor;else w=b.createDecryptor,this._minBufferSize=1;this._mode=w.call(b,this,m&&m.words)},_doProcessBlock:function(m,b){this._mode.processBlock(m,b)},_doFinalize:function(){var m=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){m.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),m.unpad(b);return b},blockSize:4});var v=t.CipherParams=r.extend({init:function(m){this.mixIn(m)},toString:function(m){return(m||this.formatter).stringify(this)}}),E=(f.format={}).OpenSSL={stringify:function(m){var b=m.ciphertext;return m=m.salt,(m?n.create([1398893684,1701076831]).concat(m).concat(b):b).toString(a)},parse:function(m){m=a.parse(m);var b=m.words;if(b[0]==1398893684&&b[1]==1701076831){var w=n.create(b.slice(2,4));b.splice(0,4),m.sigBytes-=16}return v.create({ciphertext:m,salt:w})}},p=t.SerializableCipher=r.extend({cfg:r.extend({format:E}),encrypt:function(m,b,w,S){S=this.cfg.extend(S);var F=m.createEncryptor(w,S);return b=F.finalize(b),F=F.cfg,v.create({ciphertext:b,key:w,iv:F.iv,algorithm:m,mode:F.mode,padding:F.padding,blockSize:m.blockSize,formatter:S.format})},decrypt:function(m,b,w,S){return S=this.cfg.extend(S),b=this._parse(b,S.format),m.createDecryptor(w,S).finalize(b.ciphertext)},_parse:function(m,b){return typeof m=="string"?b.parse(m,this):m}}),f=(f.kdf={}).OpenSSL={execute:function(m,b,w,S){return S||(S=n.random(8)),m=i.create({keySize:b+w}).compute(m,S),w=n.create(m.words.slice(b),4*w),m.sigBytes=4*b,v.create({key:m,iv:w,salt:S})}},A=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:f}),encrypt:function(m,b,w,S){return S=this.cfg.extend(S),w=S.kdf.execute(w,m.keySize,m.ivSize),S.iv=w.iv,m=p.encrypt.call(this,m,b,w.key,S),m.mixIn(w),m},decrypt:function(m,b,w,S){return S=this.cfg.extend(S),b=this._parse(b,S.format),w=S.kdf.execute(w,m.keySize,m.ivSize,b.salt),S.iv=w.iv,p.decrypt.call(this,m,b,w.key,S)}})}();(function(){for(var e=Se,t=e.lib.BlockCipher,j=e.algo,r=[],n=[],s=[],a=[],i=[],c=[],l=[],h=[],v=[],E=[],p=[],f=0;256>f;f++)p[f]=128>f?f<<1:f<<1^283;for(var A=0,m=0,f=0;256>f;f++){var b=m^m<<1^m<<2^m<<3^m<<4,b=b>>>8^b&255^99;r[A]=b,n[b]=A;var w=p[A],S=p[w],F=p[S],D=257*p[b]^16843008*b;s[A]=D<<24|D>>>8,a[A]=D<<16|D>>>16,i[A]=D<<8|D>>>24,c[A]=D,D=16843009*F^65537*S^257*w^16843008*A,l[b]=D<<24|D>>>8,h[b]=D<<16|D>>>16,v[b]=D<<8|D>>>24,E[b]=D,A?(A=w^p[p[p[F^w]]],m^=p[p[m]]):A=m=1}var I=[0,1,2,4,8,16,32,64,128,27,54],j=j.AES=t.extend({_doReset:function(){for(var P=this._key,q=P.words,_=P.sigBytes/4,P=4*((this._nRounds=_+6)+1),k=this._keySchedule=[],U=0;U>>24]<<24|r[M>>>16&255]<<16|r[M>>>8&255]<<8|r[M&255]):(M=M<<8|M>>>24,M=r[M>>>24]<<24|r[M>>>16&255]<<16|r[M>>>8&255]<<8|r[M&255],M^=I[U/_|0]<<24),k[U]=k[U-_]^M}for(q=this._invKeySchedule=[],_=0;__||4>=U?M:l[r[M>>>24]]^h[r[M>>>16&255]]^v[r[M>>>8&255]]^E[r[M&255]]},encryptBlock:function(q,_){this._doCryptBlock(q,_,this._keySchedule,s,a,i,c,r)},decryptBlock:function(q,_){var P=q[_+1];q[_+1]=q[_+3],q[_+3]=P,this._doCryptBlock(q,_,this._invKeySchedule,l,h,v,E,n),P=q[_+1],q[_+1]=q[_+3],q[_+3]=P},_doCryptBlock:function(q,_,P,k,U,M,W,K){for(var V=this._nRounds,ue=q[_]^P[0],Ce=q[_+1]^P[1],Oe=q[_+2]^P[2],He=q[_+3]^P[3],z=4,re=1;re>>24]^U[Ce>>>16&255]^M[Oe>>>8&255]^W[He&255]^P[z++],we=k[Ce>>>24]^U[Oe>>>16&255]^M[He>>>8&255]^W[ue&255]^P[z++],_e=k[Oe>>>24]^U[He>>>16&255]^M[ue>>>8&255]^W[Ce&255]^P[z++],He=k[He>>>24]^U[ue>>>16&255]^M[Ce>>>8&255]^W[Oe&255]^P[z++],ue=Ee,Ce=we,Oe=_e;Ee=(K[ue>>>24]<<24|K[Ce>>>16&255]<<16|K[Oe>>>8&255]<<8|K[He&255])^P[z++],we=(K[Ce>>>24]<<24|K[Oe>>>16&255]<<16|K[He>>>8&255]<<8|K[ue&255])^P[z++],_e=(K[Oe>>>24]<<24|K[He>>>16&255]<<16|K[ue>>>8&255]<<8|K[Ce&255])^P[z++],He=(K[He>>>24]<<24|K[ue>>>16&255]<<16|K[Ce>>>8&255]<<8|K[Oe&255])^P[z++],q[_]=Ee,q[_+1]=we,q[_+2]=_e,q[_+3]=He},keySize:8});e.AES=t._createHelper(j)})();(function(){function e(p,f){var A=(this._lBlock>>>p^this._rBlock)&f;this._rBlock^=A,this._lBlock^=A<>>p^this._lBlock)&f;this._lBlock^=A,this._rBlock^=A<A;A++){var m=i[A]-1;f[A]=p[m>>>5]>>>31-m%32&1}for(p=this._subKeys=[],m=0;16>m;m++){for(var b=p[m]=[],w=l[m],A=0;24>A;A++)b[A/6|0]|=f[(c[A]-1+w)%28]<<31-A%6,b[4+(A/6|0)]|=f[28+(c[A+24]-1+w)%28]<<31-A%6;for(b[0]=b[0]<<1|b[0]>>>31,A=1;7>A;A++)b[A]>>>=4*(A-1)+3;b[7]=b[7]<<5|b[7]>>>27}for(f=this._invSubKeys=[],A=0;16>A;A++)f[A]=p[15-A]},encryptBlock:function(p,f){this._doCryptBlock(p,f,this._subKeys)},decryptBlock:function(p,f){this._doCryptBlock(p,f,this._invSubKeys)},_doCryptBlock:function(p,f,A){this._lBlock=p[f],this._rBlock=p[f+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var m=0;16>m;m++){for(var b=A[m],w=this._lBlock,S=this._rBlock,F=0,D=0;8>D;D++)F|=h[D][((S^b[D])&v[D])>>>0];this._lBlock=S,this._rBlock=w^F}A=this._lBlock,this._lBlock=this._rBlock,this._rBlock=A,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),p[f]=this._lBlock,p[f+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});r.DES=s._createHelper(E),a=a.TripleDES=s.extend({_doReset:function(){var p=this._key.words;this._des1=E.createEncryptor(n.create(p.slice(0,2))),this._des2=E.createEncryptor(n.create(p.slice(2,4))),this._des3=E.createEncryptor(n.create(p.slice(4,6)))},encryptBlock:function(p,f){this._des1.encryptBlock(p,f),this._des2.decryptBlock(p,f),this._des3.encryptBlock(p,f)},decryptBlock:function(p,f){this._des3.decryptBlock(p,f),this._des2.encryptBlock(p,f),this._des1.decryptBlock(p,f)},keySize:6,ivSize:2,blockSize:2}),r.TripleDES=s._createHelper(a)})();(function(){var e=Se,t=e.lib.WordArray;e.enc.Base64={stringify:function(r){var n=r.words,s=r.sigBytes,a=this._map;r.clamp(),r=[];for(var i=0;i>>2]>>>24-8*(i%4)&255)<<16|(n[i+1>>>2]>>>24-8*((i+1)%4)&255)<<8|n[i+2>>>2]>>>24-8*((i+2)%4)&255,l=0;4>l&&i+.75*l>>6*(3-l)&63));if(n=a.charAt(64))for(;r.length%4;)r.push(n);return r.join("")},parse:function(r){var n=r.length,s=this._map,a=s.charAt(64);a&&(a=r.indexOf(a),a!=-1&&(n=a));for(var a=[],i=0,c=0;c>>6-2*(c%4);a[i>>>2]|=(l|h)<<24-8*(i%4),i++}return t.create(a,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();(function(e){function t(E,p,f,A,m,b,w){return E=E+(p&f|~p&A)+m+w,(E<>>32-b)+p}function r(E,p,f,A,m,b,w){return E=E+(p&A|f&~A)+m+w,(E<>>32-b)+p}function n(E,p,f,A,m,b,w){return E=E+(p^f^A)+m+w,(E<>>32-b)+p}function s(E,p,f,A,m,b,w){return E=E+(f^(p|~A))+m+w,(E<>>32-b)+p}for(var a=Se,l=a.lib,i=l.WordArray,c=l.Hasher,l=a.algo,h=[],v=0;64>v;v++)h[v]=4294967296*e.abs(e.sin(v+1))|0;l=l.MD5=c.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(E,p){for(var f=0;16>f;f++){var A=p+f,m=E[A];E[A]=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360}var f=this._hash.words,A=E[p+0],m=E[p+1],b=E[p+2],w=E[p+3],S=E[p+4],F=E[p+5],D=E[p+6],I=E[p+7],j=E[p+8],q=E[p+9],_=E[p+10],P=E[p+11],k=E[p+12],U=E[p+13],M=E[p+14],W=E[p+15],K=f[0],re=f[1],z=f[2],V=f[3],K=t(K,re,z,V,A,7,h[0]),V=t(V,K,re,z,m,12,h[1]),z=t(z,V,K,re,b,17,h[2]),re=t(re,z,V,K,w,22,h[3]),K=t(K,re,z,V,S,7,h[4]),V=t(V,K,re,z,F,12,h[5]),z=t(z,V,K,re,D,17,h[6]),re=t(re,z,V,K,I,22,h[7]),K=t(K,re,z,V,j,7,h[8]),V=t(V,K,re,z,q,12,h[9]),z=t(z,V,K,re,_,17,h[10]),re=t(re,z,V,K,P,22,h[11]),K=t(K,re,z,V,k,7,h[12]),V=t(V,K,re,z,U,12,h[13]),z=t(z,V,K,re,M,17,h[14]),re=t(re,z,V,K,W,22,h[15]),K=r(K,re,z,V,m,5,h[16]),V=r(V,K,re,z,D,9,h[17]),z=r(z,V,K,re,P,14,h[18]),re=r(re,z,V,K,A,20,h[19]),K=r(K,re,z,V,F,5,h[20]),V=r(V,K,re,z,_,9,h[21]),z=r(z,V,K,re,W,14,h[22]),re=r(re,z,V,K,S,20,h[23]),K=r(K,re,z,V,q,5,h[24]),V=r(V,K,re,z,M,9,h[25]),z=r(z,V,K,re,w,14,h[26]),re=r(re,z,V,K,j,20,h[27]),K=r(K,re,z,V,U,5,h[28]),V=r(V,K,re,z,b,9,h[29]),z=r(z,V,K,re,I,14,h[30]),re=r(re,z,V,K,k,20,h[31]),K=n(K,re,z,V,F,4,h[32]),V=n(V,K,re,z,j,11,h[33]),z=n(z,V,K,re,P,16,h[34]),re=n(re,z,V,K,M,23,h[35]),K=n(K,re,z,V,m,4,h[36]),V=n(V,K,re,z,S,11,h[37]),z=n(z,V,K,re,I,16,h[38]),re=n(re,z,V,K,_,23,h[39]),K=n(K,re,z,V,U,4,h[40]),V=n(V,K,re,z,A,11,h[41]),z=n(z,V,K,re,w,16,h[42]),re=n(re,z,V,K,D,23,h[43]),K=n(K,re,z,V,q,4,h[44]),V=n(V,K,re,z,k,11,h[45]),z=n(z,V,K,re,W,16,h[46]),re=n(re,z,V,K,b,23,h[47]),K=s(K,re,z,V,A,6,h[48]),V=s(V,K,re,z,I,10,h[49]),z=s(z,V,K,re,M,15,h[50]),re=s(re,z,V,K,F,21,h[51]),K=s(K,re,z,V,k,6,h[52]),V=s(V,K,re,z,w,10,h[53]),z=s(z,V,K,re,_,15,h[54]),re=s(re,z,V,K,m,21,h[55]),K=s(K,re,z,V,j,6,h[56]),V=s(V,K,re,z,W,10,h[57]),z=s(z,V,K,re,D,15,h[58]),re=s(re,z,V,K,U,21,h[59]),K=s(K,re,z,V,S,6,h[60]),V=s(V,K,re,z,P,10,h[61]),z=s(z,V,K,re,b,15,h[62]),re=s(re,z,V,K,q,21,h[63]);f[0]=f[0]+K|0,f[1]=f[1]+re|0,f[2]=f[2]+z|0,f[3]=f[3]+V|0},_doFinalize:function(){var E=this._data,p=E.words,f=8*this._nDataBytes,A=8*E.sigBytes;p[A>>>5]|=128<<24-A%32;var m=e.floor(f/4294967296);for(p[(A+64>>>9<<4)+15]=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,p[(A+64>>>9<<4)+14]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,E.sigBytes=4*(p.length+1),this._process(),E=this._hash,p=E.words,f=0;4>f;f++)A=p[f],p[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360;return E},clone:function(){var E=c.clone.call(this);return E._hash=this._hash.clone(),E}}),a.MD5=c._createHelper(l),a.HmacMD5=c._createHmacHelper(l)})(Math);(function(){var e=Se,s=e.lib,t=s.WordArray,r=s.Hasher,n=[],s=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,i){for(var c=this._hash.words,l=c[0],h=c[1],v=c[2],E=c[3],p=c[4],f=0;80>f;f++){if(16>f)n[f]=a[i+f]|0;else{var A=n[f-3]^n[f-8]^n[f-14]^n[f-16];n[f]=A<<1|A>>>31}A=(l<<5|l>>>27)+p+n[f],A=20>f?A+((h&v|~h&E)+1518500249):40>f?A+((h^v^E)+1859775393):60>f?A+((h&v|h&E|v&E)-1894007588):A+((h^v^E)-899497514),p=E,E=v,v=h<<30|h>>>2,h=l,l=A}c[0]=c[0]+l|0,c[1]=c[1]+h|0,c[2]=c[2]+v|0,c[3]=c[3]+E|0,c[4]=c[4]+p|0},_doFinalize:function(){var a=this._data,i=a.words,c=8*this._nDataBytes,l=8*a.sigBytes;return i[l>>>5]|=128<<24-l%32,i[(l+64>>>9<<4)+14]=Math.floor(c/4294967296),i[(l+64>>>9<<4)+15]=c,a.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});e.SHA1=r._createHelper(s),e.HmacSHA1=r._createHmacHelper(s)})();(function(e){for(var t=Se,f=t.lib,r=f.WordArray,n=f.Hasher,f=t.algo,s=[],a=[],i=function(m){return 4294967296*(m-(m|0))|0},c=2,l=0;64>l;){var h;e:{h=c;for(var v=e.sqrt(h),E=2;E<=v;E++)if(!(h%E)){h=!1;break e}h=!0}h&&(8>l&&(s[l]=i(e.pow(c,.5))),a[l]=i(e.pow(c,1/3)),l++),c++}var p=[],f=f.SHA256=n.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(A,m){for(var b=this._hash.words,w=b[0],S=b[1],F=b[2],D=b[3],I=b[4],j=b[5],q=b[6],_=b[7],P=0;64>P;P++){if(16>P)p[P]=A[m+P]|0;else{var k=p[P-15],U=p[P-2];p[P]=((k<<25|k>>>7)^(k<<14|k>>>18)^k>>>3)+p[P-7]+((U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10)+p[P-16]}k=_+((I<<26|I>>>6)^(I<<21|I>>>11)^(I<<7|I>>>25))+(I&j^~I&q)+a[P]+p[P],U=((w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22))+(w&S^w&F^S&F),_=q,q=j,j=I,I=D+k|0,D=F,F=S,S=w,w=k+U|0}b[0]=b[0]+w|0,b[1]=b[1]+S|0,b[2]=b[2]+F|0,b[3]=b[3]+D|0,b[4]=b[4]+I|0,b[5]=b[5]+j|0,b[6]=b[6]+q|0,b[7]=b[7]+_|0},_doFinalize:function(){var A=this._data,m=A.words,b=8*this._nDataBytes,w=8*A.sigBytes;return m[w>>>5]|=128<<24-w%32,m[(w+64>>>9<<4)+14]=e.floor(b/4294967296),m[(w+64>>>9<<4)+15]=b,A.sigBytes=4*m.length,this._process(),this._hash},clone:function(){var A=n.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=n._createHelper(f),t.HmacSHA256=n._createHmacHelper(f)})(Math);(function(){var e=Se,t=e.lib.WordArray,n=e.algo,r=n.SHA256,n=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var s=r._doFinalize.call(this);return s.sigBytes-=4,s}});e.SHA224=r._createHelper(n),e.HmacSHA224=r._createHmacHelper(n)})();(function(){function e(){return n.create.apply(n,arguments)}for(var t=Se,r=t.lib.Hasher,a=t.x64,n=a.Word,s=a.WordArray,a=t.algo,i=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],c=[],l=0;80>l;l++)c[l]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(h,v){for(var S=this._hash.words,E=S[0],p=S[1],f=S[2],A=S[3],m=S[4],b=S[5],w=S[6],S=S[7],F=E.high,D=E.low,I=p.high,j=p.low,q=f.high,_=f.low,P=A.high,k=A.low,U=m.high,M=m.low,W=b.high,K=b.low,V=w.high,z=w.low,re=S.high,Ee=S.low,we=F,_e=D,He=I,ue=j,Ce=q,Oe=_,sr=P,_t=k,lt=U,qt=M,$t=W,Qe=K,bt=V,Je=z,ht=re,Kt=Ee,ze=0;80>ze;ze++){var Cr=c[ze];if(16>ze)var kt=Cr.high=h[v+2*ze]|0,We=Cr.low=h[v+2*ze+1]|0;else{var kt=c[ze-15],We=kt.high,zt=kt.low,kt=(We>>>1|zt<<31)^(We>>>8|zt<<24)^We>>>7,zt=(zt>>>1|We<<31)^(zt>>>8|We<<24)^(zt>>>7|We<<25),br=c[ze-2],We=br.high,pt=br.low,br=(We>>>19|pt<<13)^(We<<3|pt>>>29)^We>>>6,pt=(pt>>>19|We<<13)^(pt<<3|We>>>29)^(pt>>>6|We<<26),We=c[ze-7],Pn=We.high,ar=c[ze-16],Wt=ar.high,ar=ar.low,We=zt+We.low,kt=kt+Pn+(We>>>0>>0?1:0),We=We+pt,kt=kt+br+(We>>>0>>0?1:0),We=We+ar,kt=kt+Wt+(We>>>0>>0?1:0);Cr.high=kt,Cr.low=We}var Pn=lt&$t^~lt&bt,ar=qt&Qe^~qt&Je,Cr=we&He^we&Ce^He&Ce,gr=_e&ue^_e&Oe^ue&Oe,zt=(we>>>28|_e<<4)^(we<<30|_e>>>2)^(we<<25|_e>>>7),br=(_e>>>28|we<<4)^(_e<<30|we>>>2)^(_e<<25|we>>>7),pt=i[ze],Js=pt.high,kr=pt.low,pt=Kt+((qt>>>14|lt<<18)^(qt>>>18|lt<<14)^(qt<<23|lt>>>9)),Wt=ht+((lt>>>14|qt<<18)^(lt>>>18|qt<<14)^(lt<<23|qt>>>9))+(pt>>>0>>0?1:0),pt=pt+ar,Wt=Wt+Pn+(pt>>>0>>0?1:0),pt=pt+kr,Wt=Wt+Js+(pt>>>0>>0?1:0),pt=pt+We,Wt=Wt+kt+(pt>>>0>>0?1:0),We=br+gr,Cr=zt+Cr+(We>>>0
>>0?1:0),ht=bt,Kt=Je,bt=$t,Je=Qe,$t=lt,Qe=qt,qt=_t+pt|0,lt=sr+Wt+(qt>>>0<_t>>>0?1:0)|0,sr=Ce,_t=Oe,Ce=He,Oe=ue,He=we,ue=_e,_e=pt+We|0,we=Wt+Cr+(_e>>>0>>0?1:0)|0}D=E.low=D+_e,E.high=F+we+(D>>>0<_e>>>0?1:0),j=p.low=j+ue,p.high=I+He+(j>>>0>>0?1:0),_=f.low=_+Oe,f.high=q+Ce+(_>>>0>>0?1:0),k=A.low=k+_t,A.high=P+sr+(k>>>0<_t>>>0?1:0),M=m.low=M+qt,m.high=U+lt+(M>>>0>>0?1:0),K=b.low=K+Qe,b.high=W+$t+(K>>>0>>0?1:0),z=w.low=z+Je,w.high=V+bt+(z>>>0>>0?1:0),Ee=S.low=Ee+Kt,S.high=re+ht+(Ee>>>0>>0?1:0)},_doFinalize:function(){var h=this._data,v=h.words,E=8*this._nDataBytes,p=8*h.sigBytes;return v[p>>>5]|=128<<24-p%32,v[(p+128>>>10<<5)+30]=Math.floor(E/4294967296),v[(p+128>>>10<<5)+31]=E,h.sigBytes=4*v.length,this._process(),this._hash.toX32()},clone:function(){var h=r.clone.call(this);return h._hash=this._hash.clone(),h},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)})();(function(){var e=Se,s=e.x64,t=s.Word,r=s.WordArray,s=e.algo,n=s.SHA512,s=s.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var a=n._doFinalize.call(this);return a.sigBytes-=16,a}});e.SHA384=n._createHelper(s),e.HmacSHA384=n._createHmacHelper(s)})();(function(){var e=Se,h=e.lib,t=h.WordArray,r=h.Hasher,h=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),i=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]),h=h.RIPEMD160=r.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(v,E){for(var p=0;16>p;p++){var f=E+p,A=v[f];v[f]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}var f=this._hash.words,A=c.words,m=l.words,b=n.words,w=s.words,S=a.words,F=i.words,D,I,j,q,_,P,k,U,M,W;P=D=f[0],k=I=f[1],U=j=f[2],M=q=f[3],W=_=f[4];for(var K,p=0;80>p;p+=1)K=D+v[E+b[p]]|0,K=16>p?K+((I^j^q)+A[0]):32>p?K+((I&j|~I&q)+A[1]):48>p?K+(((I|~j)^q)+A[2]):64>p?K+((I&q|j&~q)+A[3]):K+((I^(j|~q))+A[4]),K|=0,K=K<>>32-S[p],K=K+_|0,D=_,_=q,q=j<<10|j>>>22,j=I,I=K,K=P+v[E+w[p]]|0,K=16>p?K+((k^(U|~M))+m[0]):32>p?K+((k&M|U&~M)+m[1]):48>p?K+(((k|~U)^M)+m[2]):64>p?K+((k&U|~k&M)+m[3]):K+((k^U^M)+m[4]),K|=0,K=K<>>32-F[p],K=K+W|0,P=W,W=M,M=U<<10|U>>>22,U=k,k=K;K=f[1]+j+M|0,f[1]=f[2]+q+W|0,f[2]=f[3]+_+P|0,f[3]=f[4]+D+k|0,f[4]=f[0]+I+U|0,f[0]=K},_doFinalize:function(){var v=this._data,E=v.words,p=8*this._nDataBytes,f=8*v.sigBytes;for(E[f>>>5]|=128<<24-f%32,E[(f+64>>>9<<4)+14]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,v.sigBytes=4*(E.length+1),this._process(),v=this._hash,E=v.words,p=0;5>p;p++)f=E[p],E[p]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360;return v},clone:function(){var v=r.clone.call(this);return v._hash=this._hash.clone(),v}});e.RIPEMD160=r._createHelper(h),e.HmacRIPEMD160=r._createHmacHelper(h)})(Math);(function(){var e=Se,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(r,n){r=this._hasher=new r.init,typeof n=="string"&&(n=t.parse(n));var s=r.blockSize,a=4*s;n.sigBytes>a&&(n=r.finalize(n)),n.clamp();for(var i=this._oKey=n.clone(),c=this._iKey=n.clone(),l=i.words,h=c.words,v=0;v>6)+Ou.charAt(r&63);if(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=Ou.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=Ou.charAt(r>>2)+Ou.charAt((r&3)<<4)),Bp)for(;(n.length&3)>0;)n+=Bp;return n}function Nu(e){var t="",r,n=0,s,a;for(r=0;r>2),s=a&3,n=1):n==1?(t+=Zi(s<<2|a>>4),s=a&15,n=2):n==2?(t+=Zi(s),t+=Zi(a>>2),s=a&3,n=3):(t+=Zi(s<<2|a>>4),t+=Zi(a&15),n=0));return n==1&&(t+=Zi(s<<2)),t}function Lg(e){var t=Nu(e),r,n=new Array;for(r=0;2*r=0;){var i=t*this[e++]+r[n]+s;s=Math.floor(i/67108864),r[n++]=i&67108863}return s}function dS(e,t,r,n,s,a){for(var i=t&32767,c=t>>15;--a>=0;){var l=this[e]&32767,h=this[e++]>>15,v=c*l+h*i;l=i*l+((v&32767)<<15)+r[n]+(s&1073741823),s=(l>>>30)+(v>>>15)+c*h+(s>>>30),r[n++]=l&1073741823}return s}function gS(e,t,r,n,s,a){for(var i=t&16383,c=t>>14;--a>=0;){var l=this[e]&16383,h=this[e++]>>14,v=c*l+h*i;l=i*l+((v&16383)<<14)+r[n]+s,s=(l>>28)+(v>>14)+c*h,r[n++]=l&268435455}return s}Og&&ic.appName=="Microsoft Internet Explorer"?(Z.prototype.am=dS,Ls=30):Og&&ic.appName!="Netscape"?(Z.prototype.am=pS,Ls=26):(Z.prototype.am=gS,Ls=28);Z.prototype.DB=Ls;Z.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function wS(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function Ns(e){var t=ut();return t.fromInt(e),t}function AS(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,s=!1,a=0;--n>=0;){var i=r==8?e[n]&255:Ug(e,n);if(i<0){e.charAt(n)=="-"&&(s=!0);continue}s=!1,a==0?this[this.t++]=i:a+r>this.DB?(this[this.t-1]|=(i&(1<>this.DB-a):this[this.t-1]|=i<=this.DB&&(a-=this.DB)}r==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function yS(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(c>c)>0&&(s=!0,a=Zi(n));i>=0;)c>(c+=this.DB-t)):(n=this[i]>>(c-=t)&r,c<=0&&(c+=this.DB,--i)),n>0&&(s=!0),s&&(a+=Zi(n));return s?a:"0"}function SS(){var e=ut();return Z.ZERO.subTo(this,e),e}function bS(){return this.s<0?this.negate():this}function CS(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function jl(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function FS(){return this.t<=0?0:this.DB*(this.t-1)+jl(this[this.t-1]^this.s&this.DM)}function _S(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function IS(e,t){for(var r=e;r=0;--c)t[c+a+1]=this[c]>>n|i,i=(this[c]&s)<=0;--c)t[c]=0;t[a]=i,t.t=this.t+a+1,t.s=this.s,t.clamp()}function DS(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,s=this.DB-n,a=(1<>n;for(var i=r+1;i>n;n>0&&(t[this.t-r-1]|=(this.s&a)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function $S(e,t){var r=this.abs(),n=e.abs(),s=r.t;for(t.t=s+n.t;--s>=0;)t[s]=0;for(s=0;s=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function TS(e,t,r){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t0?(n.lShiftTo(l,a),s.lShiftTo(l,r)):(n.copyTo(a),s.copyTo(r));var h=a.t,v=a[h-1];if(v!=0){var E=v*(1<1?a[h-2]>>this.F2:0),p=this.FV/E,f=(1<=0&&(r[r.t++]=1,r.subTo(w,r)),Z.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t=0;){var S=r[--m]==v?this.DM:Math.floor(r[m]*p+(r[m-1]+A)*f);if((r[m]+=a.am(0,S,r,b,0,h))0&&r.rShiftTo(l,r),i<0&&Z.ZERO.subTo(r,r)}}}function xS(e){var t=ut();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(Z.ZERO)>0&&e.subTo(t,t),t}function _a(e){this.m=e}function OS(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function kS(e){return e}function NS(e){e.divRemTo(this.m,null,e)}function LS(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function US(e,t){e.squareTo(t),this.reduce(t)}_a.prototype.convert=OS;_a.prototype.revert=kS;_a.prototype.reduce=NS;_a.prototype.mulTo=LS;_a.prototype.sqrTo=US;function HS(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Ia(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function MS(e){var t=ut();return e.copyTo(t),this.reduce(t),t}function qS(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function KS(e,t){e.squareTo(t),this.reduce(t)}function VS(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Ia.prototype.convert=jS;Ia.prototype.revert=MS;Ia.prototype.reduce=qS;Ia.prototype.mulTo=VS;Ia.prototype.sqrTo=KS;function GS(){return(this.t>0?this[0]&1:this.s)==0}function zS(e,t){if(e>4294967295||e<1)return Z.ONE;var r=ut(),n=ut(),s=t.convert(this),a=jl(e)-1;for(s.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,s,r);else{var i=r;r=n,n=i}return t.revert(r)}function WS(e,t){var r;return e<256||t.isEven()?r=new _a(t):r=new Ia(t),this.exp(e,r)}Z.prototype.copyTo=vS;Z.prototype.fromInt=wS;Z.prototype.fromString=AS;Z.prototype.clamp=ES;Z.prototype.dlShiftTo=_S;Z.prototype.drShiftTo=IS;Z.prototype.lShiftTo=BS;Z.prototype.rShiftTo=DS;Z.prototype.subTo=PS;Z.prototype.multiplyTo=$S;Z.prototype.squareTo=RS;Z.prototype.divRemTo=TS;Z.prototype.invDigit=HS;Z.prototype.isEven=GS;Z.prototype.exp=zS;Z.prototype.toString=yS;Z.prototype.negate=SS;Z.prototype.abs=bS;Z.prototype.compareTo=CS;Z.prototype.bitLength=FS;Z.prototype.mod=xS;Z.prototype.modPowInt=WS;Z.ZERO=Ns(0);Z.ONE=Ns(1);function YS(){var e=ut();return this.copyTo(e),e}function XS(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function ZS(){return this.t==0?this.s:this[0]<<16>>16}function QS(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function eb(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function tb(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Ns(r),s=ut(),a=ut(),i="";for(this.divRemTo(n,s,a);s.signum()>0;)i=(r+a.intValue()).toString(e).substr(1)+i,s.divRemTo(n,s,a);return a.intValue().toString(e)+i}function rb(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),s=!1,a=0,i=0,c=0;c=r&&(this.dMultiply(n),this.dAddOffset(i,0),a=0,i=0)}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(i,0)),s&&Z.ZERO.subTo(this,this)}function nb(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(Z.ONE.shiftLeft(e-1),xp,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(Z.ONE.shiftLeft(e-1),this);else{var n=new Array,s=e&7;n.length=(e>>3)+1,t.nextBytes(n),s>0?n[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[s++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),s==0&&(this.s&128)!=(n&128)&&++s,(s>0||n!=this.s)&&(t[s++]=n);return t}function sb(e){return this.compareTo(e)==0}function ab(e){return this.compareTo(e)<0?this:e}function ub(e){return this.compareTo(e)>0?this:e}function ob(e,t,r){var n,s,a=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function wb(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function Ib(e){var t=ut();return this.addTo(e,t),t}function Bb(e){var t=ut();return this.subTo(e,t),t}function Db(e){var t=ut();return this.multiplyTo(e,t),t}function Pb(){var e=ut();return this.squareTo(e),e}function $b(e){var t=ut();return this.divRemTo(e,t,null),t}function Rb(e){var t=ut();return this.divRemTo(e,null,t),t}function Tb(e){var t=ut(),r=ut();return this.divRemTo(e,t,r),new Array(t,r)}function xb(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Ob(e,t){if(e!=0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function ac(){}function Mg(e){return e}function kb(e,t,r){e.multiplyTo(t,r)}function Nb(e,t){e.squareTo(t)}ac.prototype.convert=Mg;ac.prototype.revert=Mg;ac.prototype.mulTo=kb;ac.prototype.sqrTo=Nb;function Lb(e){return this.exp(e,new ac)}function Ub(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var s;for(s=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ut();return e.copyTo(t),this.reduce(t),t}function Mb(e){return e}function qb(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Kb(e,t){e.squareTo(t),this.reduce(t)}function Vb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Uu.prototype.convert=jb;Uu.prototype.revert=Mb;Uu.prototype.reduce=qb;Uu.prototype.mulTo=Vb;Uu.prototype.sqrTo=Kb;function Gb(e,t){var r=e.bitLength(),n,s=Ns(1),a;if(r<=0)return s;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?a=new _a(t):t.isEven()?a=new Uu(t):a=new Ia(t);var i=new Array,c=3,l=n-1,h=(1<1){var v=ut();for(a.sqrTo(i[1],v);c<=h;)i[c]=ut(),a.mulTo(v,i[c-2],i[c]),c+=2}var E=e.t-1,p,f=!0,A=ut(),m;for(r=jl(e[E])-1;E>=0;){for(r>=l?p=e[E]>>r-l&h:(p=(e[E]&(1<0&&(p|=e[E-1]>>this.DB+r-l)),c=n;!(p&1);)p>>=1,--c;if((r-=c)<0&&(r+=this.DB,--E),f)i[p].copyTo(s),f=!1;else{for(;c>1;)a.sqrTo(s,A),a.sqrTo(A,s),c-=2;c>0?a.sqrTo(s,A):(m=s,s=A,A=m),a.mulTo(A,i[p],s)}for(;E>=0&&!(e[E]&1<0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(s=t.getLowestSetBit())>0&&t.rShiftTo(s,t),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function Wb(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function Yb(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return Z.ZERO;for(var r=e.clone(),n=this.clone(),s=Ns(1),a=Ns(0),i=Ns(0),c=Ns(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?((!i.isEven()||!c.isEven())&&(i.addTo(this,i),c.subTo(e,c)),i.rShiftTo(1,i)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&s.subTo(i,s),a.subTo(c,a)):(n.subTo(r,n),t&&i.subTo(s,i),c.subTo(a,c))}if(n.compareTo(Z.ONE)!=0)return Z.ZERO;if(c.compareTo(e)>=0)return c.subtract(e);if(c.signum()<0)c.addTo(e,c);else return c;return c.signum()<0?c.add(e):c}var Kr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Xb=(1<<26)/Kr[Kr.length-1];function Jb(e){var t,r=this.abs();if(r.t==1&&r[0]<=Kr[Kr.length-1]){for(t=0;t>1,e>Kr.length&&(e=Kr.length);for(var s=ut(),a=0;a>8&255,yn[fr++]^=e>>16&255,yn[fr++]^=e>>24&255,fr>=Dp&&(fr-=Dp)}function kp(){rC(new Date().getTime())}if(yn==null){if(yn=new Array,fr=0,xu!==void 0&&(xu.crypto!==void 0||xu.msCrypto!==void 0)){if(Fp=xu.crypto||xu.msCrypto,Fp.getRandomValues)for(_p=new Uint8Array(32),Fp.getRandomValues(_p),jn=0;jn<32;++jn)yn[fr++]=_p[jn];else if(ic.appName=="Netscape"&&ic.appVersion<"5")for(Ip=xu.crypto.random(32),jn=0;jn>>8,yn[fr++]=jn&255;fr=0,kp()}var jn,Fp,_p,Ip;function nC(){if(kl==null){for(kp(),kl=tC(),kl.init(yn),fr=0;fr0&&t.length>0)this.n=sn(e,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function aC(e){return e.modPowInt(this.e,this.n)}Ke.prototype.doPublic=aC;Ke.prototype.setPublic=sC;Ke.prototype.type="RSA";function uC(e,t,r){if(this.isPrivate=!0,typeof e!="string")this.n=e,this.e=t,this.d=r;else if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=sn(e,16),this.e=parseInt(t,16),this.d=sn(r,16);else throw"Invalid RSA private key"}function oC(e,t,r,n,s,a,i,c){if(this.isPrivate=!0,this.isPublic=!1,e==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(e.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=sn(e,16),this.e=parseInt(t,16),this.d=sn(r,16),this.p=sn(n,16),this.q=sn(s,16),this.dmp1=sn(a,16),this.dmq1=sn(i,16),this.coeff=sn(c,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function cC(e,t){var r=new Hu,n=e>>1;this.e=parseInt(t,16);for(var s=new Z(t,16),a=e/2-100,i=Z.ONE.shiftLeft(a);;){for(;this.p=new Z(e-n,1,r),!(this.p.subtract(Z.ONE).gcd(s).compareTo(Z.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new Z(n,1,r),!(this.q.subtract(Z.ONE).gcd(s).compareTo(Z.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var c=this.p;this.p=this.q,this.q=c}var l=this.q.subtract(this.p).abs();if(!(l.bitLength()0;--h){s=s.twice();var v=r.testBit(h),E=t.testBit(h);v!=E&&(s=s.add(v?this:n))}for(h=i.bitLength()-2;h>0;--h){c=c.twice();var p=i.testBit(h),f=a.testBit(h);p!=f&&(c=c.add(p?c:l))}return s}function IC(e,t,r){var n;e.bitLength()>r.bitLength()?n=e.bitLength()-1:n=r.bitLength()-1;for(var s=this.curve.getInfinity(),a=this.add(t);n>=0;)s=s.twice(),e.testBit(n)?r.testBit(n)?s=s.add(a):s=s.add(this):r.testBit(n)&&(s=s.add(t)),--n;return s}ft.prototype.getX=AC;ft.prototype.getY=EC;ft.prototype.equals=yC;ft.prototype.isInfinity=SC;ft.prototype.negate=bC;ft.prototype.add=CC;ft.prototype.twice=FC;ft.prototype.multiply=_C;ft.prototype.multiplyTwo=IC;function es(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new ft(this,null,null)}function BC(){return this.q}function DC(){return this.a}function PC(){return this.b}function $C(e){return e==this?!0:this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function RC(){return this.infinity}function TC(e){return new tr(this.q,e)}function xC(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var t=e.substr(0,2),r=e.substr(2),n=this.fromBigInteger(new Z(h,16)),s=this.getA(),a=this.getB(),i=n.square().add(s).multiply(n).add(a),c=i.sqrt();return t=="03"&&(c=c.negate()),new ft(this,n,c);case 4:case 6:case 7:var l=(e.length-2)/2,h=e.substr(2,l),v=e.substr(l+2,l);return new ft(this,this.fromBigInteger(new Z(h,16)),this.fromBigInteger(new Z(v,16)));default:return null}}es.prototype.getQ=BC;es.prototype.getA=DC;es.prototype.getB=PC;es.prototype.equals=$C;es.prototype.getInfinity=RC;es.prototype.fromBigInteger=TC;es.prototype.decodePointHex=xC;tr.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};ft.prototype.getEncoded=function(e){var t=function(a,i){var c=a.toByteArrayUnsigned();if(ic.length;)c.unshift(0);return c},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),s=t(r,32);return e?n.isEven()?s.unshift(2):s.unshift(3):(s.unshift(4),s=s.concat(t(n,32))),s};ft.decodeFrom=function(e,t){var r=t[0],n=t.length-1,s=t.slice(1,1+n/2),a=t.slice(1+n/2,1+n);s.unshift(0),a.unshift(0);var i=new Z(s),c=new Z(a);return new ft(e,e.fromBigInteger(i),e.fromBigInteger(c))};ft.decodeFromHex=function(e,t){var r=t.substr(0,2),n=t.length-2,s=t.substr(2,n/2),a=t.substr(2+n/2,n/2),i=new Z(s,16),c=new Z(a,16);return new ft(e,e.fromBigInteger(i),e.fromBigInteger(c))};ft.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y),n=r.divide(t),s=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(s)).subtract(this.y);return new ft(this.curve,s,a)};ft.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var e=this.curve.fromBigInteger(Z.valueOf(2)),t=this.curve.fromBigInteger(Z.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),s=r.multiply(this.x.subtract(n)).subtract(this.y);return new ft(this.curve,n,s)};ft.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(e.signum()==0)return this.curve.getInfinity();var t=e,r=t.multiply(new Z("3")),n=this.negate(),s=this,a;for(a=r.bitLength()-2;a>0;--a){s=s.twice();var i=r.testBit(a),c=t.testBit(a);i!=c&&(s=s.add2D(i?this:n))}return s};ft.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),s=this.curve.getQ(),a=t.multiply(t).mod(s),i=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(s);return a.equals(i)};ft.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};ft.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(Z.ONE)<0||t.compareTo(e.subtract(Z.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(Z.ONE)<0||r.compareTo(e.subtract(Z.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var qg=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',r='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+r+")","g"),s=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function i(E,p,f){return p?a[p]:String.fromCharCode(parseInt(f,16))}var c=new String(""),l="\\",h={"{":Object,"[":Array},v=Object.hasOwnProperty;return function(E,p){var f=E.match(n),A,m=f[0],b=!1;m==="{"?A={}:m==="["?A=[]:(A=[],b=!0);for(var w,S=[A],F=1-b,D=f.length;F=0;)delete P[k[W]]}return p.call(q,_,P)};A=j({"":A},"")}return A}}();(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});d.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){return oc(e)},this.getPEMStringFromHex=function(e,t){return Br(e,t)},this.newObject=function(e){var t=d,r=t.asn1,n=r.ASN1Object,s=r.DERBoolean,a=r.DERInteger,i=r.DERBitString,c=r.DEROctetString,l=r.DERNull,h=r.DERObjectIdentifier,v=r.DEREnumerated,E=r.DERUTF8String,p=r.DERNumericString,f=r.DERPrintableString,A=r.DERTeletexString,m=r.DERIA5String,b=r.DERUTCTime,w=r.DERGeneralizedTime,S=r.DERVisibleString,F=r.DERBMPString,D=r.DERSequence,I=r.DERSet,j=r.DERTaggedObject,q=r.ASN1Util.newObject;if(e instanceof r.ASN1Object)return e;var _=Object.keys(e);if(_.length!=1)throw new Error("key of param shall be only one.");var P=_[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":")==-1)throw new Error("undefined key: "+P);if(P=="bool")return new s(e[P]);if(P=="int")return new a(e[P]);if(P=="bitstr")return new i(e[P]);if(P=="octstr")return new c(e[P]);if(P=="null")return new l(e[P]);if(P=="oid")return new h(e[P]);if(P=="enum")return new v(e[P]);if(P=="utf8str")return new E(e[P]);if(P=="numstr")return new p(e[P]);if(P=="prnstr")return new f(e[P]);if(P=="telstr")return new A(e[P]);if(P=="ia5str")return new m(e[P]);if(P=="utctime")return new b(e[P]);if(P=="gentime")return new w(e[P]);if(P=="visstr")return new S(e[P]);if(P=="bmpstr")return new F(e[P]);if(P=="asn1")return new n(e[P]);if(P=="seq"){for(var k=e[P],U=[],M=0;M"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+a.length+",v="+this.hV);var i=this.hV.length/2,c=i.toString(16);if(c.length%2==1&&(c="0"+c),i<128)return c;var l=c.length/2;if(l>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+i.toString(16));var h=128+l;return h.toString(16)+c},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(i){this.params=i},e!=null&&e.tlv!=null&&(this.hTLV=e.tlv,this.isModified=!1)};d.asn1.DERAbstractString=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null,r=null;this.getString=function(){return this.s},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.s=n,this.hV=ql(this.s).toLowerCase()},this.setStringHex=function(n){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.getFreshValueHex=function(){return this.hV},typeof e<"u"&&(typeof e=="string"?this.setString(e):typeof e.str<"u"?this.setString(e.str):typeof e.hex<"u"&&this.setStringHex(e.hex))};fe(d.asn1.DERAbstractString,d.asn1.ASN1Object);d.asn1.DERAbstractTime=function(e){d.asn1.DERAbstractTime.superclass.constructor.call(this);var t=null,r=null;this.localDateToUTC=function(n){var s=n.getTime()+n.getTimezoneOffset()*6e4,a=new Date(s);return a},this.formatDate=function(n,s,a){var i=this.zeroPadding,c=this.localDateToUTC(n),l=String(c.getFullYear());s=="utc"&&(l=l.substr(2,2));var h=i(String(c.getMonth()+1),2),v=i(String(c.getDate()),2),E=i(String(c.getHours()),2),p=i(String(c.getMinutes()),2),f=i(String(c.getSeconds()),2),A=l+h+v+E+p+f;if(a===!0){var m=c.getMilliseconds();if(m!=0){var b=i(String(m),3);b=b.replace(/[0]+$/,""),A=A+"."+b}}return A+"Z"},this.zeroPadding=function(n,s){return n.length>=s?n:new Array(s-n.length+1).join("0")+n},this.setByParam=function(n){this.hV=null,this.hTLV=null,this.params=n},this.getString=function(){},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=n},this.setByDate=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=n},this.setByDateValue=function(n,s,a,i,c,l){var h=new Date(Date.UTC(n,s-1,a,i,c,l,0));this.setByDate(h)},this.getFreshValueHex=function(){return this.hV}};fe(d.asn1.DERAbstractTime,d.asn1.ASN1Object);d.asn1.DERAbstractStructured=function(e){d.asn1.DERAbstractString.superclass.constructor.call(this);var t=null;this.setByASN1ObjectArray=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array=r},this.appendASN1Object=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array.push(r)},this.asn1Array=new Array,typeof e<"u"&&typeof e.array<"u"&&(this.asn1Array=e.array)};fe(d.asn1.DERAbstractStructured,d.asn1.ASN1Object);d.asn1.DERBoolean=function(e){d.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",e==!1?this.hTLV="010100":this.hTLV="0101ff"};fe(d.asn1.DERBoolean,d.asn1.ASN1Object);d.asn1.DERInteger=function(e){d.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var t=oc;this.setByBigInteger=function(r){this.isModified=!0,this.params={bigint:r}},this.setByInteger=function(r){this.isModified=!0,this.params=r},this.setValueHex=function(r){this.isModified=!0,this.params={hex:r}},this.getFreshValueHex=function(){var r=this.params,n=null;if(r==null)throw new Error("value not set");if(typeof r=="object"&&r.hex!=null)return this.hV=r.hex,this.hV;if(typeof r=="number")n=new Z(String(r),10);else if(r.int!=null)n=new Z(String(r.int),10);else if(r.bigint!=null)n=r.bigint;else throw new Error("wrong parameter");return this.hV=t(n),this.hV},e!=null&&(this.params=e)};fe(d.asn1.DERInteger,d.asn1.ASN1Object);d.asn1.DERBitString=function(e){if(e!==void 0&&typeof e.obj<"u"){var t=d.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.tohex()}d.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(r){this.hTLV=null,this.isModified=!0,this.hV=r},this.setUnusedBitsAndHexValue=function(r,n){if(r<0||7=a)break}return n};Ae.getNthChildIdx=function(e,t,r){var n=Ae.getChildIdx(e,t);return n[r]};Ae.getIdxbyList=function(e,t,r,n){var s=Ae,a,i;return r.length==0?n!==void 0&&e.substr(t,2)!==n?-1:t:(a=r.shift(),i=s.getChildIdx(e,t),a>=i.length?-1:s.getIdxbyList(e,i[a],r,n))};Ae.getIdxbyListEx=function(e,t,r,n){var s=Ae,a,i;if(r.length==0)return n!==void 0&&e.substr(t,2)!==n?-1:t;a=r.shift(),i=s.getChildIdx(e,t);for(var c=0,l=0;l=e.length?null:s.getTLV(e,a)};Ae.getTLVbyListEx=function(e,t,r,n){var s=Ae,a=s.getIdxbyListEx(e,t,r,n);return a==-1?null:s.getTLV(e,a)};Ae.getVbyList=function(e,t,r,n,s){var a=Ae,i,c;return i=a.getIdxbyList(e,t,r,n),i==-1||i>=e.length?null:(c=a.getV(e,i),s===!0&&(c=c.substr(2)),c)};Ae.getVbyListEx=function(e,t,r,n,s){var a=Ae,i,c,l;return i=a.getIdxbyListEx(e,t,r,n),i==-1?null:(l=a.getV(e,i),e.substr(i,2)=="03"&&s!==!1&&(l=l.substr(2)),l)};Ae.getInt=function(e,t,r){r==null&&(r=-1);try{var n=e.substr(t,2);if(n!="02"&&n!="03")return r;var s=Ae.getV(e,t);return n=="02"?parseInt(s,16):Zg(s)}catch{return r}};Ae.getOID=function(e,t,r){r==null&&(r=null);try{if(e.substr(t,2)!="06")return r;var n=Ae.getV(e,t);return Wl(n)}catch{return r}};Ae.getOIDName=function(e,t,r){r==null&&(r=null);try{var n=Ae.getOID(e,t,r);if(n==r)return r;var s=d.asn1.x509.OID.oid2name(n);return s==""?n:s}catch{return r}};Ae.getString=function(e,t,r){r==null&&(r=null);try{var n=Ae.getV(e,t);return un(n)}catch{return r}};Ae.hextooidstr=function(e){var t=function(E,p){return E.length>=p?E:new Array(p-E.length+1).join("0")+E},r=[],n=e.substr(0,2),s=parseInt(n,16);r[0]=new String(Math.floor(s/40)),r[1]=new String(s%40);for(var a=e.substr(2),i=[],c=0;c0&&(v=v+"."+l.join(".")),v};Ae.dump=function(e,t,r,n){var s=Ae,a=s.getV,i=s.dump,c=s.getChildIdx,l=e;e instanceof d.asn1.ASN1Object&&(l=e.tohex());var h=function(q,_){if(q.length<=_*2)return q;var P=q.substr(0,_)+"..(total "+q.length/2+"bytes).."+q.substr(q.length-_,_);return P};t===void 0&&(t={ommit_long_octet:32}),r===void 0&&(r=0),n===void 0&&(n="");var v=t.ommit_long_octet,I=l.substr(r,2);if(I=="01"){var E=a(l,r);return E=="00"?n+`BOOLEAN FALSE +`:n+`BOOLEAN TRUE +`}if(I=="02"){var E=a(l,r);return n+"INTEGER "+h(E,v)+` +`}if(I=="03"){var E=a(l,r);if(s.isASN1HEX(E.substr(2))){var p=n+`BITSTRING, encapsulates +`;return p=p+i(E.substr(2),t,0,n+" "),p}else return n+"BITSTRING "+h(E,v)+` +`}if(I=="04"){var E=a(l,r);if(s.isASN1HEX(E)){var p=n+`OCTETSTRING, encapsulates +`;return p=p+i(E,t,0,n+" "),p}else return n+"OCTETSTRING "+h(E,v)+` +`}if(I=="05")return n+`NULL +`;if(I=="06"){var f=a(l,r),A=d.asn1.ASN1Util.oidHexToInt(f),m=d.asn1.x509.OID.oid2name(A),b=A.replace(/\./g," ");return m!=""?n+"ObjectIdentifier "+m+" ("+b+`) +`:n+"ObjectIdentifier ("+b+`) +`}if(I=="0a")return n+"ENUMERATED "+parseInt(a(l,r))+` +`;if(I=="0c")return n+"UTF8String '"+vt(a(l,r))+`' +`;if(I=="13")return n+"PrintableString '"+vt(a(l,r))+`' +`;if(I=="14")return n+"TeletexString '"+vt(a(l,r))+`' +`;if(I=="16")return n+"IA5String '"+vt(a(l,r))+`' +`;if(I=="17")return n+"UTCTime "+vt(a(l,r))+` +`;if(I=="18")return n+"GeneralizedTime "+vt(a(l,r))+` +`;if(I=="1a")return n+"VisualString '"+vt(a(l,r))+`' +`;if(I=="1e")return n+"BMPString '"+Hp(a(l,r))+`' +`;if(I=="30"){if(l.substr(r,4)=="3000")return n+`SEQUENCE {} +`;var p=n+`SEQUENCE +`,w=c(l,r),S=t;if((w.length==2||w.length==3)&&l.substr(w[0],2)=="06"&&l.substr(w[w.length-1],2)=="04"){var m=s.oidname(a(l,w[0])),F=JSON.parse(JSON.stringify(t));F.x509ExtName=m,S=F}for(var D=0;D4?{enum:{hex:w}}:{enum:parseInt(w,16)};if(m=="30"||m=="31")return b[f[m]]=A(e),b;if(m=="14"){var j=p(w);return b[f[m]]={str:j},b}else if(m=="1e"){var j=E(w);return b[f[m]]={str:j},b}else if(":0c:12:13:16:17:18:1a:".indexOf(m)!=-1){var j=v(w);return b[f[m]]={str:j},b}else if(m.match(/^8[0-9]$/)){var j=v(w);return j==null|j==""?{tag:{tag:m,explicit:!1,hex:w}}:j.match(/[\x00-\x1F\x7F-\x9F]/)!=null||j.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:m,explicit:!1,hex:w}}:{tag:{tag:m,explicit:!1,str:j}}}else if(m.match(/^a[0-9]$/))try{if(!n(w))throw new Error("not encap");return{tag:{tag:m,explicit:!0,obj:r(w)}}}catch{return{tag:{tag:m,explicit:!0,hex:w}}}else{var q=new d.asn1.ASN1Object;q.hV=w;var _=q.getLengthHexFromValue();return{asn1:{tlv:m+_+w}}}}}};Ae.isContextTag=function(e,t){e=e.toLowerCase();var r,n;try{r=parseInt(e,16)}catch{return-1}if(t===void 0)return(r&192)==128;try{var s=t.match(/^\[[0-9]+\]$/);return s==null||(n=parseInt(t.substr(1,t.length-1),10),n>31)?!1:(r&192)==128&&(r&31)==n}catch{return!1}};Ae.isASN1HEX=function(e){var t=Ae;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),s=t.getL(e,0),a=e.length-n.length-s.length;return a==r*2};Ae.checkStrictDER=function(e,t,r,n,s){var a=Ae;if(r===void 0){if(typeof e!="string")throw new Error("not hex string");if(e=e.toLowerCase(),!d.lang.String.isHex(e))throw new Error("not hex string");r=e.length,n=e.length/2,n<128?s=1:s=Math.ceil(n.toString(16))+1}var i=a.getL(e,t);if(i.length>s*2)throw new Error("L of TLV too long: idx="+t);var c=a.getVblen(e,t);if(c>n)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(e,t),h=l.length-2-a.getL(e,t).length;if(h!==c*2)throw new Error("V string length and L's value not the same:"+h+"/"+c*2);if(t===0&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var v=e.substr(t,2);if(v==="02"){var E=a.getVidx(e,t);if(e.substr(E,2)=="00"&&e.charCodeAt(E+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(v,16)&32){for(var p=a.getVblen(e,t),f=0,A=a.getChildIdx(e,t),m=0;m"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.x509>"u"||!d.asn1.x509)&&(d.asn1.x509={});d.asn1.x509.Certificate=function(e){d.asn1.x509.Certificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.x509,i=a.TBSCertificate,c=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(l){this.params=l},this.sign=function(){var l=this.params,h=l.sigalg;l.sigalg.name!=null&&(h=l.sigalg.name);var v=l.tbsobj.tohex(),E=new d.crypto.Signature({alg:h});E.init(l.cakey),E.updateHex(v),l.sighex=E.sign()},this.getPEM=function(){return Br(this.tohex(),"CERTIFICATE")},this.tohex=function(){var l=this.params;if((l.tbsobj==null||l.tbsobj==null)&&(l.tbsobj=new i(l)),l.sighex==null&&l.cakey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or cakey parameter not defined");var h=[];h.push(l.tbsobj),h.push(new c({name:l.sigalg})),h.push(new n({hex:"00"+l.sighex}));var v=new s({array:h});return v.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&(this.params=e)};fe(d.asn1.x509.Certificate,d.asn1.ASN1Object);d.asn1.x509.TBSCertificate=function(e){d.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.x509,s=r.DERTaggedObject,a=r.DERInteger,i=r.DERSequence,c=n.AlgorithmIdentifier,l=n.Time,h=n.X500Name,v=n.Extensions,E=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(p){this.params=p},this.tohex=function(){var p=[],f=this.params;if(f.version!=null||f.version!=1){var A=2;f.version!=null&&(A=f.version-1);var m=new s({obj:new a({int:A})});p.push(m)}p.push(new a(f.serial)),p.push(new c({name:f.sigalg})),p.push(new h(f.issuer)),p.push(new i({array:[new l(f.notbefore),new l(f.notafter)]})),p.push(new h(f.subject)),p.push(new E(rt.getKey(f.sbjpubkey))),f.ext!==void 0&&f.ext.length>0&&p.push(new s({tag:"a3",obj:new v(f.ext)}));var b=new d.asn1.DERSequence({array:p});return b.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.TBSCertificate,d.asn1.ASN1Object);d.asn1.x509.Extensions=function(e){d.asn1.x509.Extensions.superclass.constructor.call(this);var t=d,r=t.asn1,n=r.DERSequence,s=r.x509;this.aParam=[],this.setByParam=function(a){this.aParam=a},this.tohex=function(){for(var a=[],i=0;i-1&&c.push(new n({int:this.pathLen}));var l=new s({array:c});return this.asn1ExtnValue=l,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,e!==void 0&&(e.cA!==void 0&&(this.cA=e.cA),e.pathLen!==void 0&&(this.pathLen=e.pathLen))};fe(d.asn1.x509.BasicConstraints,d.asn1.x509.Extension);d.asn1.x509.CRLDistributionPoints=function(e){d.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=d,r=t.asn1,n=r.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(s){for(var a=[],i=0;i0&&a.push(new r({array:i}))}var l=new r({array:a});return l.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.PolicyInformation,d.asn1.ASN1Object);d.asn1.x509.PolicyQualifierInfo=function(e){d.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=d.asn1,r=t.DERSequence,n=t.DERIA5String,s=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var i=new r({array:[new s({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return i.tohex()}if(this.params.unotice!=null){var i=new r({array:[new s({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return i.tohex()}},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.PolicyQualifierInfo,d.asn1.ASN1Object);d.asn1.x509.UserNotice=function(e){d.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText,s=d.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var a=[];this.params.noticeref!==void 0&&a.push(new s(this.params.noticeref)),this.params.exptext!==void 0&&a.push(new n(this.params.exptext));var i=new t({array:a});return i.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};fe(d.asn1.x509.UserNotice,d.asn1.ASN1Object);d.asn1.x509.NoticeReference=function(e){d.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=d.asn1.DERSequence,r=d.asn1.DERInteger,n=d.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var s=[];if(this.params.org!==void 0&&s.push(new n(this.params.org)),this.params.noticenum!==void 0){for(var a=[],i=this.params.noticenum,c=0;c0)for(var i=0;i0;s++){var a=t.shift();if(r===!0){var i=n.pop(),c=(i+","+a).replace(/\\,/g,",");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}return n=n.map(function(l){return l.replace("/","\\/")}),n.reverse(),"/"+n.join("/")};d.asn1.x509.X500Name.ldapToOneline=function(e){return d.asn1.x509.X500Name.ldapToCompat(e)};d.asn1.x509.RDN=function(e){d.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=d.asn1.x509.AttributeTypeAndValue;this.setByParam=function(r){r.rule!==void 0&&(this.sRule=r.rule),r.str!==void 0&&this.addByMultiValuedString(r.str),r.array!==void 0&&(this.paramArray=r.array)},this.addByString=function(r){this.asn1Array.push(new d.asn1.x509.AttributeTypeAndValue({str:r,rule:this.sRule}))},this.addByMultiValuedString=function(r){for(var n=d.asn1.x509.RDN.parseString(r),s=0;s0)for(var r=0;r0;s++){var a=t.shift();if(r===!0){var i=n.pop(),c=(i+"+"+a).replace(/\\\+/g,"+");n.push(c),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}for(var l=!1,h=[],s=0;n.length>0;s++){var a=n.shift();if(l===!0){var v=h.pop();if(a.match(/"$/)){var c=(v+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");h.push(c),l=!1}else h.push(v+"+"+a)}else h.push(a);a.match(/^[^=]+="/)&&(l=!0)}return h};d.asn1.x509.AttributeTypeAndValue=function(e){d.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=d,r=t.asn1,n=r.DERSequence,s=r.DERUTF8String,a=r.DERPrintableString,i=r.DERTeletexString,c=r.DERIA5String,l=r.DERVisibleString,h=r.DERBMPString,v=t.lang.String.isMail,E=t.lang.String.isPrintable;this.setByParam=function(p){if(p.rule!==void 0&&(this.sRule=p.rule),p.ds!==void 0&&(this.dsType=p.ds),p.value===void 0&&p.str!==void 0){var f=p.str,A=f.match(/^([^=]+)=(.+)$/);if(A)this.sType=A[1],this.sValue=A[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=p.type,this.sValue=p.value},this.setByString=function(p,f){f!==void 0&&(this.sRule=f);var A=p.match(/^([^=]+)=(.+)$/);if(A)this.setByAttrTypeAndValueStr(A[1],A[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var p=this.sType,f=this.sValue,A=this.sRule;return A==="prn"?p=="CN"&&v(f)?"ia5":E(f)?"prn":"utf8":A==="utf8"?p=="CN"&&v(f)?"ia5":p=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(p,f,A){A!==void 0&&(this.sRule=A),this.sType=p,this.sValue=f},this.getValueObj=function(p,f){if(p=="utf8")return new s({str:f});if(p=="prn")return new a({str:f});if(p=="tel")return new i({str:f});if(p=="ia5")return new c({str:f});if(p=="vis")return new l({str:f});if(p=="bmp")return new h({str:f});throw new Error("unsupported directory string type: type="+p+" value="+f)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var p=d.asn1.x509.OID.atype2obj(this.sType),f=this.getValueObj(this.dsType,this.sValue),A=new n({array:[p,f]});return this.TLV=A.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.AttributeTypeAndValue,d.asn1.ASN1Object);d.asn1.x509.SubjectPublicKeyInfo=function(e){d.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERInteger,i=s.DERBitString,c=s.DERObjectIdentifier,l=s.DERSequence,h=s.ASN1Util.newObject,v=s.x509,E=v.AlgorithmIdentifier,p=n.crypto,f=p.ECDSA,A=p.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var m=new l({array:[this.asn1AlgId,this.asn1SubjPKey]});return m},this.tohex=function(){var m=this.getASN1Object();return this.hTLV=m.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(m){try{if(m instanceof Ke){var b=h({seq:[{int:{bigint:m.n}},{int:{int:m.e}}]}),w=b.tohex();this.asn1AlgId=new E({name:"rsaEncryption"}),this.asn1SubjPKey=new i({hex:"00"+w})}}catch{}try{if(m instanceof d.crypto.ECDSA){var S=new c({name:m.curveName});this.asn1AlgId=new E({name:"ecPublicKey",asn1params:S}),this.asn1SubjPKey=new i({hex:"00"+m.pubKeyHex})}}catch{}try{if(m instanceof d.crypto.DSA){var S=new h({seq:[{int:{bigint:m.p}},{int:{bigint:m.q}},{int:{bigint:m.g}}]});this.asn1AlgId=new E({name:"dsa",asn1params:S});var F=new a({bigint:m.y});this.asn1SubjPKey=new i({hex:"00"+F.tohex()})}}catch{}},e!==void 0&&this.setPubKey(e)};fe(d.asn1.x509.SubjectPublicKeyInfo,d.asn1.ASN1Object);d.asn1.x509.Time=function(e){d.asn1.x509.Time.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERUTCTime,i=s.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(c){this.timeParams=c},this.setByParam=function(c){this.params=c},this.getType=function(c){return c.match(/^[0-9]{12}Z$/)?"utc":c.match(/^[0-9]{14}Z$/)?"gen":c.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":c.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var c=this.params,l=null;if(typeof c=="string"&&(c={str:c}),c!=null&&c.str&&(c.type==null||c.type==null)&&(c.type=this.getType(c.str)),c!=null&&c.str?(c.type=="utc"&&(l=new a(c.str)),c.type=="gen"&&(l=new i(c.str))):this.type=="gen"?l=new i:l=new a,l==null)throw new Error("wrong setting for Time");return this.TLV=l.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};d.asn1.x509.Time_bak=function(e){d.asn1.x509.Time_bak.superclass.constructor.call(this);var t=null,r=null,n=d,s=n.asn1,a=s.DERUTCTime,i=s.DERGeneralizedTime;this.setTimeParams=function(c){this.timeParams=c},this.tohex=function(){var c=null;return this.timeParams!=null?this.type=="utc"?c=new a(this.timeParams):c=new i(this.timeParams):this.type=="utc"?c=new a:c=new i,this.TLV=c.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",e!==void 0&&(e.type!==void 0?this.type=e.type:e.str!==void 0&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)};fe(d.asn1.x509.Time,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier=function(e){d.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=d,r=t.asn1,n=r.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var a=null;for(var i in n)i===this.nameAlg&&(a=n[i]);if(a!==null)return this.hTLV=a,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=r.x509.OID.name2obj(this.nameAlg));var c=[this.asn1Alg];this.asn1Params!==null&&c.push(this.asn1Params);var l=new r.DERSequence({array:c});return this.hTLV=l.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(e.name!==void 0&&(this.nameAlg=e.name),e.asn1params!==void 0&&(this.asn1Params=e.asn1params),e.paramempty!==void 0&&(this.paramEmpty=e.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var s=this.nameAlg.toLowerCase();s.substr(-7,7)!=="withdsa"&&s.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new r.DERNull)}};fe(d.asn1.x509.AlgorithmIdentifier,d.asn1.ASN1Object);d.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};d.asn1.x509.GeneralName=function(e){d.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},r=d,n=r.asn1,s=n.x509,a=s.X500Name,i=s.OtherName,c=n.DERIA5String,l=n.DERPrintableString,h=n.DEROctetString,v=n.DERTaggedObject,E=n.ASN1Object,p=Error;this.params=null,this.setByParam=function(f){this.params=f},this.tohex=function(){var f=this.params,A,b,m,b=!1;if(f.other!==void 0)A="a0",m=new i(f.other);else if(f.rfc822!==void 0)A="81",m=new c({str:f.rfc822});else if(f.dns!==void 0)A="82",m=new c({str:f.dns});else if(f.dn!==void 0)A="a4",b=!0,typeof f.dn=="string"?m=new a({str:f.dn}):f.dn instanceof d.asn1.x509.X500Name?m=f.dn:m=new a(f.dn);else if(f.ldapdn!==void 0)A="a4",b=!0,m=new a({ldapstr:f.ldapdn});else if(f.certissuer!==void 0||f.certsubj!==void 0){A="a4",b=!0;var w,S,F=null;if(f.certsubj!==void 0?(w=!1,S=f.certsubj):(w=!0,S=f.certissuer),S.match(/^[0-9A-Fa-f]+$/)&&F==S,S.indexOf("-----BEGIN ")!=-1&&(F=Ot(S)),F==null)throw new Error("certsubj/certissuer not cert");var D=new Ne;D.hex=F;var I;w?I=D.getIssuerHex():I=D.getSubjectHex(),m=new E,m.hTLV=I}else if(f.uri!==void 0)A="86",m=new c({str:f.uri});else if(f.ip!==void 0){A="87";var j,q=f.ip;try{if(q.match(/^[0-9a-f]+$/)){var _=q.length;if(_==8||_==16||_==32||_==64)j=q;else throw"err"}else j=Up(q)}catch(k){throw new p("malformed IP address: "+f.ip+":"+k.message)}m=new h({hex:j})}else throw new p("improper params");var P=new v({tag:A,explicit:b,obj:m});return P.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.x509.GeneralName,d.asn1.ASN1Object);d.asn1.x509.GeneralNames=function(e){d.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=null,r=d,n=r.asn1;this.setByParamArray=function(s){for(var a=0;a"u")throw"Name of ObjectIdentifier not defined: "+t;var r=this.name2oidList[t],n=new e({oid:r});return this.objCache[t]=n,n},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var r;if(t.match(/^\d+\.\d+\.[0-9.]+$/))r=t;else if(this.atype2oidList[t]!==void 0)r=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)r=this.name2oidList[t];else throw new Error("AttributeType name undefined: "+t);var n=new e({oid:r});return this.objCache[t]=n,n},this.registerOIDs=function(t){if(this.checkOIDs(t))for(var r in t)this.name2oidList[r]=t[r]},this.checkOIDs=function(t){try{var r=Object.keys(t);return r.length==0?!1:(r.map(function(n,s,a){var i=this[n];if(!i.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},t),!0)}catch{return!1}}};d.asn1.x509.OID.oid2name=function(e){var t=d.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""};d.asn1.x509.OID.oid2atype=function(e){var t=d.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e};d.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=d.asn1.x509.OID.name2oidList;return t[e]===void 0?"":t[e]};d.asn1.x509.X509Util={};d.asn1.x509.X509Util.newCertPEM=function(e){var t=d.asn1.x509,r=t.TBSCertificate,n=t.Certificate,s=new n(e);return s.getPEM()};(typeof d>"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cms>"u"||!d.asn1.cms)&&(d.asn1.cms={});d.asn1.cms.Attribute=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERSet,i=n.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(c){this.params=c},this.getValueArray=function(){throw new t("not yet implemented abstract")},this.tohex=function(){var c=new i({oid:this.typeOid}),l=new a({array:this.getValueArray()}),h=new s({array:[c,l]});return h.tohex()},this.getEncodedHex=function(){return this.tohex()}};fe(d.asn1.cms.Attribute,d.asn1.ASN1Object);d.asn1.cms.ContentType=function(e){var t=d,r=t.asn1;r.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var n=new r.DERObjectIdentifier(this.params.type);return[n]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.ContentType,d.asn1.cms.Attribute);d.asn1.cms.MessageDigest=function(e){var t=d,r=t.asn1,n=r.DEROctetString,s=r.cms;s.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var a=new n(this.params);return[a]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.MessageDigest,d.asn1.cms.Attribute);d.asn1.cms.SigningTime=function(e){var t=d,r=t.asn1;r.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var n=new r.x509.Time(this.params);return[n]},e!=null&&this.setByParam(e)};fe(d.asn1.cms.SigningTime,d.asn1.cms.Attribute);d.asn1.cms.SigningCertificate=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.cms,i=a.ESSCertID,c=r.crypto;a.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new t("parameter 'array' not specified");for(var l=this.params.array,h=[],v=0;v0){for(var A=a(p.valhex,f[0]),m=E(A,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.setSignaturePolicyIdentifier=function(p){var f=E(p.valhex,0);if(f.length>0){var A=n.getOID(p.valhex,f[0]);p.oid=A}if(f.length>1){var m=new t,b=E(p.valhex,f[1]),w=a(p.valhex,b[0]),S=m.getAlgorithmIdentifierName(w);p.alg=S;var F=s(p.valhex,b[1]);p.hash=F}delete p.valhex},this.setSigningCertificateV2=function(p){var f=E(p.valhex,0);if(f.length>0){for(var A=a(p.valhex,f[0]),m=E(A,0),b=[],w=0;w1){var D=a(p.valhex,f[1]);p.polhex=D}delete p.valhex},this.getESSCertID=function(p){var f={},A=E(p,0);if(A.length>0){var m=s(p,A[0]);f.hash=m}if(A.length>1){var b=a(p,A[1]),w=this.getIssuerSerial(b);w.serial!=null&&(f.serial=w.serial),w.issuer!=null&&(f.issuer=w.issuer)}return f},this.getESSCertIDv2=function(p){var f={},A=E(p,0);if(A.length<1||3m+1){var S=a(p,A[m+1]),F=this.getIssuerSerial(S);f.issuer=F.issuer,f.serial=F.serial}return f},this.getIssuerSerial=function(p){var f={},A=E(p,0),m=a(p,A[0]),b=r.getGeneralNames(m),w=b[0].dn;f.issuer=w;var S=s(p,A[1]);return f.serial={hex:S},f},this.getCertificateSet=function(p){for(var f=E(p,0),A=[],m=0;m"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.tsp>"u"||!d.asn1.tsp)&&(d.asn1.tsp={});d.asn1.tsp.TimeStampToken=function(e){var t=d,r=t.asn1,n=r.tsp;n.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var s=new n.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=s.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampToken,d.asn1.cms.SignedData);d.asn1.tsp.TSTInfo=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERInteger,i=n.DERBoolean,c=n.DERGeneralizedTime,l=n.DERObjectIdentifier,h=n.DERTaggedObject,v=n.tsp,E=v.MessageImprint,p=v.Accuracy,f=n.x509.X500Name,A=n.x509.GeneralName;if(v.TSTInfo.superclass.constructor.call(this),this.dVersion=new a({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var m=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(m.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(m.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(m.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");m.push(this.dGenTime),this.dAccuracy!=null&&m.push(this.dAccuracy),this.dOrdering!=null&&m.push(this.dOrdering),this.dNonce!=null&&m.push(this.dNonce),this.dTsa!=null&&m.push(this.dTsa);var b=new s({array:m});return this.hTLV=b.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0){if(typeof e.policy=="string"){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new l({oid:e.policy})}e.messageImprint!==void 0&&(this.dMessageImprint=new E(e.messageImprint)),e.serial!==void 0&&(this.dSerial=new a(e.serial)),e.genTime!==void 0&&(this.dGenTime=new c(e.genTime)),e.accuracy!==void 0&&(this.dAccuracy=new p(e.accuracy)),e.ordering!==void 0&&e.ordering==!0&&(this.dOrdering=new i),e.nonce!==void 0&&(this.dNonce=new a(e.nonce)),e.tsa!==void 0&&(this.dTsa=new h({tag:"a0",explicit:!0,obj:new A({dn:e.tsa})}))}};fe(d.asn1.tsp.TSTInfo,d.asn1.ASN1Object);d.asn1.tsp.Accuracy=function(e){var t=d,r=t.asn1,n=r.ASN1Util.newObject;r.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var s=this.params,a=[];return s.seconds!=null&&typeof s.seconds=="number"&&a.push({int:s.seconds}),s.millis!=null&&typeof s.millis=="number"&&a.push({tag:{tagi:"80",obj:{int:s.millis}}}),s.micros!=null&&typeof s.micros=="number"&&a.push({tag:{tagi:"81",obj:{int:s.micros}}}),n({seq:a}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.Accuracy,d.asn1.ASN1Object);d.asn1.tsp.MessageImprint=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DEROctetString,a=r.x509,i=a.AlgorithmIdentifier;r.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=new i({name:c.alg}),h=new s({hex:c.hash}),v=new n({array:[l,h]});return v.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.tsp.MessageImprint,d.asn1.ASN1Object);d.asn1.tsp.TimeStampReq=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DERInteger,a=r.DERBoolean,i=r.ASN1Object,c=r.DERObjectIdentifier,l=r.tsp,h=l.MessageImprint;l.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var v=this.params,E=[];E.push(new s({int:1})),v.messageImprint instanceof d.asn1.ASN1Object?E.push(v.messageImprint):E.push(new h(v.messageImprint)),v.policy!=null&&E.push(new c(v.policy)),v.nonce!=null&&E.push(new s(v.nonce)),v.certreq==!0&&E.push(new a);var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampReq,d.asn1.ASN1Object);d.asn1.tsp.TimeStampResp=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.ASN1Object,a=r.tsp,i=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params,l=[];if(c.econtent!=null||c.tst!=null)if(c.statusinfo!=null?l.push(new i(c.statusinfo)):l.push(new i("granted")),c.econtent!=null)l.push(new a.TimeStampToken(c).getContentInfo());else if(c.tst instanceof r.ASN1Object)l.push(c.tst);else throw new Error("improper member tst value");else if(c.statusinfo!=null)l.push(new i(c.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var h=new n({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.TimeStampResp,d.asn1.ASN1Object);d.asn1.tsp.PKIStatusInfo=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.tsp,i=a.PKIStatus,c=a.PKIFreeText,l=a.PKIFailureInfo;a.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var h=this.params,v=[];if(typeof h=="string")v.push(new i(h));else{if(h.status==null)throw new t("property 'status' unspecified");v.push(new i(h.status)),h.statusstr!=null&&v.push(new c(h.statusstr)),h.failinfo!=null&&v.push(new l(h.failinfo))}var E=new s({array:v});return E.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIStatusInfo,d.asn1.ASN1Object);d.asn1.tsp.PKIStatus=function(e){var t=Error,r=d,n=r.asn1,s=n.DERInteger,a=n.tsp;a.PKIStatus.superclass.constructor.call(this);var i={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var c=this.params,l,h;if(typeof c=="string")try{h=i[c]}catch{throw new t("undefined name: "+c)}else if(typeof c=="number")h=c;else throw new t("unsupported params");return new s({int:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIStatus,d.asn1.ASN1Object);d.asn1.tsp.PKIFreeText=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DERUTF8String,i=n.tsp;i.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var c=this.params;if(!c instanceof Array)throw new t("wrong params: not array");for(var l=[],h=0;h=0;p--)E+=v[p];return E}else{if(typeof l=="string"&&c[l]!=null)return Ul([l],c);if(typeof l=="object"&&l.length!=null)return Ul(l,c);throw new t("wrong params")}},this.tohex=function(){var l=this.params,h=this.getBinValue();return new s({bin:h}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.tsp.PKIFailureInfo,d.asn1.ASN1Object);d.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(t,r){throw"not implemented yet"}};d.asn1.tsp.SimpleTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,s=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(a,i){var c=s(a,i);this.params.econtent.content.messageImprint={alg:i,hash:c},this.params.econtent.content.serial={int:this.serial++};var l=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:l};var h=new n.TimeStampToken(this.params);return h.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};fe(d.asn1.tsp.SimpleTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.FixedTSAAdapter=function(e){var t=d,r=t.asn1,n=r.tsp,s=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(a,i){var c=s(a,i);this.params.econtent.content.messageImprint={alg:i,hash:c};var l=new n.TimeStampToken(this.params);return l.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};fe(d.asn1.tsp.FixedTSAAdapter,d.asn1.tsp.AbstractTSAAdapter);d.asn1.tsp.TSPUtil=new function(){};d.asn1.tsp.TSPUtil.newTimeStampToken=function(e){return new d.asn1.tsp.TimeStampToken(e)};d.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=new d.asn1.tsp.TSPParser;return t.getTimeStampReq(e)};d.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=new d.asn1.tsp.TSPParser;return t.getMessageImprint(e)};d.asn1.tsp.TSPParser=function(){var e=Error,t=Ne,r=new t,n=Ae,s=n.getV,a=n.getTLV,i=n.getIdxbyList,c=n.getTLVbyListEx,l=n.getChildIdx,h=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],v={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(E){var p=l(E,0);if(p.length==1)return this.getPKIStatusInfo(a(E,p[0]));if(p.length>1){var f=this.getPKIStatusInfo(a(E,p[0])),A=a(E,p[1]),m=this.getToken(A);return m.statusinfo=f,m}},this.getToken=function(E){var p=new d.asn1.cms.CMSParser,f=p.getCMSSignedData(E);return this.setTSTInfo(f),f},this.setTSTInfo=function(E){var p=E.econtent;if(p.type=="tstinfo"){var f=p.content.hex,A=this.getTSTInfo(f);p.content=A}},this.getTSTInfo=function(E){var p={},f=l(E,0),A=s(E,f[1]);p.policy=Wl(A);var m=a(E,f[2]);p.messageImprint=this.getMessageImprint(m);var b=s(E,f[3]);p.serial={hex:b};var w=s(E,f[4]);p.genTime={str:vt(w)};var S=0;if(f.length>5&&E.substr(f[5],2)=="30"){var F=a(E,f[5]);p.accuracy=this.getAccuracy(F),S++}if(f.length>5+S&&E.substr(f[5+S],2)=="01"){var D=s(E,f[5+S]);D=="ff"&&(p.ordering=!0),S++}if(f.length>5+S&&E.substr(f[5+S],2)=="02"){var I=s(E,f[5+S]);p.nonce={hex:I},S++}if(f.length>5+S&&E.substr(f[5+S],2)=="a0"){var j=a(E,f[5+S]);j="30"+j.substr(2),pGeneralNames=r.getGeneralNames(j);var q=pGeneralNames[0].dn;p.tsa=q,S++}if(f.length>5+S&&E.substr(f[5+S],2)=="a1"){var _=a(E,f[5+S]);_="30"+_.substr(2);var P=r.getExtParamArray(_);p.ext=P,S++}return p},this.getAccuracy=function(E){for(var p={},f=l(E,0),A=0;A1&&E.substr(f[1],2)=="30"){var w=a(E,f[1]);p.statusstr=this.getPKIFreeText(w),A++}if(f.length>A&&E.substr(f[1+A],2)=="03"){var S=a(E,f[1+A]);p.failinfo=this.getPKIFailureInfo(S)}return p},this.getPKIFreeText=function(E){for(var p=[],f=l(E,0),A=0;A"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.cades>"u"||!d.asn1.cades)&&(d.asn1.cades={});d.asn1.cades.SignaturePolicyIdentifier=function(e){var t=d,r=t.asn1,n=r.cades,s=n.SignaturePolicyId;n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new s(this.params)]},this.setByParam=function(a){this.params=a},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignaturePolicyIdentifier,d.asn1.cms.Attribute);d.asn1.cades.SignaturePolicyId=function(e){var t=d,r=t.asn1,n=r.DERSequence,s=r.DERObjectIdentifier,a=r.x509,i=a.AlgorithmIdentifier,c=r.cades,l=c.SignaturePolicyId,h=c.OtherHashAlgAndValue;l.superclass.constructor.call(this),this.params=null,this.tohex=function(){var v=this.params,E=[];E.push(new s(v.oid)),E.push(new h(v));var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(v){this.params=v},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignaturePolicyId,d.asn1.ASN1Object);d.asn1.cades.OtherHashAlgAndValue=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.DEROctetString,i=n.x509,c=i.AlgorithmIdentifier,l=n.cades,h=l.OtherHashAlgAndValue;h.superclass.constructor.call(this),this.params=null,this.tohex=function(){var v=this.params;if(v.alg==null)throw new t("property 'alg' not specified");if(v.hash==null&&v.cert==null)throw new t("property 'hash' nor 'cert' not specified");var E=null;if(v.hash!=null)E=v.hash;else if(v.cert!=null){if(typeof v.cert!="string")throw new t("cert not string");var p=v.cert;v.cert.indexOf("-----BEGIN")!=-1&&(p=Ot(v.cert)),E=d.crypto.Util.hashHex(p,v.alg)}var f=[];f.push(new c({name:v.alg})),f.push(new a({hex:E}));var A=new s({array:f});return A.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.cades.OtherHashAlgAndValue,d.asn1.ASN1Object);d.asn1.cades.OtherHashValue=function(e){d.asn1.cades.OtherHashValue.superclass.constructor.call(this);var t=Error,r=d,n=r.lang.String.isHex,s=r.asn1,a=s.DEROctetString,i=r.crypto.Util.hashHex;this.params=null,this.tohex=function(){var c=this.params;if(c.hash==null&&c.cert==null)throw new t("hash or cert not specified");var l=null;if(c.hash!=null)l=c.hash;else if(c.cert!=null){if(typeof c.cert!="string")throw new t("cert not string");var h=c.cert;c.cert.indexOf("-----BEGIN")!=-1&&(h=Ot(c.cert)),l=d.crypto.Util.hashHex(h,"sha1")}return new a({hex:l}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};fe(d.asn1.cades.OtherHashValue,d.asn1.ASN1Object);d.asn1.cades.SignatureTimeStamp=function(e){var t=Error,r=d,n=r.lang.String.isHex,s=r.asn1,a=s.ASN1Object,i=s.x509,c=s.cades;c.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var l=this.params;if(l.tst!=null)if(n(l.tst)){var h=new a;return h.hTLV=l.tst,[h]}else{if(l.tst instanceof a)return[l.tst];throw new t("params.tst has wrong value")}else if(l.res!=null){var v=l.res;if(v instanceof a&&(v=v.tohex()),typeof v!="string"||!n(v))throw new t("params.res has wrong value");var E=Ae.getTLVbyList(v,0,[1]),h=new a;return h.hTLV=l.tst,[h]}},e!=null&&this.setByParam(e)};fe(d.asn1.cades.SignatureTimeStamp,d.asn1.cms.Attribute);d.asn1.cades.CompleteCertificateRefs=function(e){var t=Error,r=d,n=r.asn1,s=n.DERSequence,a=n.cades,i=a.OtherCertID,c=r.lang.String.isHex;a.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var l=this.params,h=[],v=0;v"u"||!d.asn1.csr)&&(d.asn1.csr={});d.asn1.csr.CertificationRequest=function(e){var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.csr,i=r.x509,c=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(l){this.params=l},this.sign=function(){var l=new c(this.params).tohex(),h=new d.crypto.Signature({alg:this.params.sigalg});h.init(this.params.sbjprvkey),h.updateHex(l);var v=h.sign();this.params.sighex=v},this.getPEM=function(){return Br(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var l=this.params,h=new d.asn1.csr.CertificationRequestInfo(this.params),v=new d.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==null&&l.sbjprvkey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var E=new n({hex:"00"+l.sighex}),p=new s({array:[h,v,E]});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.csr.CertificationRequest,d.asn1.ASN1Object);d.asn1.csr.CertificationRequestInfo=function(e){var t=d,r=t.asn1,n=r.DERBitString,s=r.DERSequence,a=r.DERInteger,i=r.DERUTF8String,c=r.DERTaggedObject,l=r.ASN1Util.newObject,h=r.csr,v=r.x509,E=v.X500Name,p=v.Extensions,f=v.SubjectPublicKeyInfo,A=h.AttributeList;h.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(b){b!=null&&(this.params=b)},this.tohex=function(){var b=this.params,w=[];if(w.push(new a({int:0})),w.push(new E(b.subject)),w.push(new f(rt.getKey(b.sbjpubkey))),b.attrs!=null){var S=m(b.attrs),F=l({tag:{tage:"a0",obj:S}});w.push(F)}else if(b.extreq!=null){var D=new p(b.extreq),F=l({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[D]}]}}});w.push(F)}else w.push(new c({tag:"a0",explicit:!1,obj:new i({str:""})}));var I=new s({array:w});return I.tohex()},this.getEncodedHex=function(){return this.tohex()};function m(b){for(var w=Error,S=d.asn1.x509.Extensions,F=[],D=0;D"u"||!d)&&(d={});(typeof d.asn1>"u"||!d.asn1)&&(d.asn1={});(typeof d.asn1.ocsp>"u"||!d.asn1.ocsp)&&(d.asn1.ocsp={});d.asn1.ocsp.DEFAULT_HASH="sha1";d.asn1.ocsp.OCSPResponse=function(e){d.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var t=d.asn1.DEREnumerated,r=d.asn1.ASN1Util.newObject,n=d.asn1.ocsp.ResponseBytes,s=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var a=this.params.resstatus;return typeof a=="number"?a:typeof a!="string"?-1:s.indexOf(a)},this.setByParam=function(a){this.params=a},this.tohex=function(){var a=this.params,i=this._getStatusCode();if(i==-1)throw new Error("responseStatus not supported: "+a.resstatus);if(i!=0)return r({seq:[{enum:{int:i}}]}).tohex();var c=new n(a);return r({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:c}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.ocsp.OCSPResponse,d.asn1.ASN1Object);d.asn1.ocsp.ResponseBytes=function(e){d.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=d.asn1,r=t.DERSequence,n=t.DERObjectIdentifier,s=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(i){this.params=i},this.tohex=function(){var i=this.params;if(i.restype!="ocspBasic")throw new Error("not supported responseType: "+i.restype);var c=new a(i),l=[];l.push(new n({name:"ocspBasic"})),l.push(new s({hex:c.tohex()}));var h=new r({array:l});return h.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};fe(d.asn1.ocsp.ResponseBytes,d.asn1.ASN1Object);d.asn1.ocsp.BasicOCSPResponse=function(e){d.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,r=d.asn1,n=r.ASN1Object,s=r.DERSequence,a=r.DERGeneralizedTime,i=r.DERTaggedObject,c=r.DERBitString,l=r.x509.Extensions,h=r.x509.AlgorithmIdentifier,v=r.ocsp,E=v.ResponderID;_SingleResponseList=v.SingleResponseList,_ResponseData=v.ResponseData,this.params=null,this.setByParam=function(p){this.params=p},this.sign=function(){var p=this.params,f=p.tbsresp.tohex(),A=new d.crypto.Signature({alg:p.sigalg});A.init(p.reskey),A.updateHex(f),p.sighex=A.sign()},this.tohex=function(){var p=this.params;p.tbsresp==null&&(p.tbsresp=new _ResponseData(p)),p.sighex==null&&p.reskey!=null&&this.sign();var f=[];if(f.push(p.tbsresp),f.push(new h({name:p.sigalg})),f.push(new c({hex:"00"+p.sighex})),p.certs!=null&&p.certs.length!=null){for(var A=[],m=0;m"u"||!d)&&(d={});(typeof d.lang>"u"||!d.lang)&&(d.lang={});d.lang.String=function(){};function Kg(e){for(var t=new Array,r=0;r>6,l=128|i&63;return vt(c.toString(16)+l.toString(16))}var c=224|(a&240)>>4,l=128|(a&15)<<2|(i&192)>>6,h=128|i&63;return vt(c.toString(16)+l.toString(16)+h.toString(16))}var r=e.match(/.{4}/g),n=r.map(t);return n.join("")}function zl(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}function ZC(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map(function(r,n,s){var a=parseInt(r);if(a<0||255t.length&&(r=t.length);for(var n=0;n0&&(h=h+"."+c.join(".")),h}catch{return null}}function Jg(e){var t=new Z(String(e),10);return oc(t)}function oc(e){var t=e.toString(16);if(t.substr(0,1)!="-")return t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t),t;var r=t.substr(1),n=r.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var s="",a=0;a=t?e:new Array(t-e.length+1).join(r)+e};function Zg(e){if(e.length%2!=0||(e=e.toLowerCase(),e.match(/^[0-9a-f]+$/)==null))return-1;try{var t=e.substr(0,2);if(t=="00")return parseInt(e.substr(2),16);var r=parseInt(t,16);if(r>7)return-1;var n=e.substr(2),s=parseInt(n,16).toString(2);s=="0"&&(s="00000000"),s=s.slice(0,0-r);var a=parseInt(s,2);return a==NaN?-1:a}catch{return-1}}function Qg(e){if(typeof e!="number"||e<0)return null;var t=Number(e).toString(2),r=8-t.length%8;r==8&&(r=0),t=t+Ll("",r,"0");var n=parseInt(t,2).toString(16);n.length%2==1&&(n="0"+n);var s="0"+r;return s+n}function em(e){if(typeof e!="string"||e.length%2!=0||!e.match(/^[0-9a-f]+$/))return null;try{var t=parseInt(e.substr(0,2),16);if(t<0||7=0;n--)a+=s[n];return a}function St(e,n,r){if(typeof e=="object"){for(var n=String(n).split("."),s=0;s"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:Se.algo.MD5,sha1:Se.algo.SHA1,sha224:Se.algo.SHA224,sha256:Se.algo.SHA256,sha384:Se.algo.SHA384,sha512:Se.algo.SHA512,ripemd160:Se.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(typeof this.DIGESTINFOHEAD[t]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),s=r/4;if(n.length+22>s)throw"key is too short for SigAlg: keylen="+r+","+t;for(var a="0001",i="00"+n,c="",l=s-a.length-i.length,h=0;h"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECDSA=function(e){var t="secp256r1",r=null,n=null,s=null,a=Error,i=Z,c=ft,l=d.crypto.ECDSA,h=d.crypto.ECParameterDB,v=l.getName,E=Ae,p=E.getVbyListEx,f=E.isASN1HEX,A=new Hu,m=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function b(w,S,F,D){for(var I=Math.max(S.bitLength(),D.bitLength()),j=w.add2D(F),q=w.curve.getInfinity(),_=I-1;_>=0;--_)q=q.twice2D(),q.z=i.ONE,S.testBit(_)?D.testBit(_)?q=q.add2D(j):q=q.add2D(w):D.testBit(_)&&(q=q.add2D(F));return q}this.getBigRandom=function(w){return new i(w.bitLength(),A).mod(w.subtract(i.ONE)).add(i.ONE)},this.setNamedCurve=function(w){this.ecparams=h.getByName(w),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=w},this.setPrivateKeyHex=function(w){this.isPrivate=!0,this.prvKeyHex=w},this.setPublicKeyHex=function(w){this.isPublic=!0,this.pubKeyHex=w},this.getPublicKeyXYHex=function(){var w=this.pubKeyHex;if(w.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var S=this.ecparams.keycharlen;if(w.length!==2+S*2)throw"malformed public key hex length";var F={};return F.x=w.substr(2,S),F.y=w.substr(2+S),F},this.getShortNISTPCurveName=function(){var w=this.curveName;return w==="secp256r1"||w==="NIST P-256"||w==="P-256"||w==="prime256v1"?"P-256":w==="secp384r1"||w==="NIST P-384"||w==="P-384"?"P-384":w==="secp521r1"||w==="NIST P-521"||w==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var w=this.ecparams.n,S=this.getBigRandom(w),F=this.ecparams.keycharlen,D=("0000000000"+S.toString(16)).slice(-F);this.setPrivateKeyHex(D);var I=this.generatePublicKeyHex();return{ecprvhex:D,ecpubhex:I}},this.generatePublicKeyHex=function(){var w=new i(this.prvKeyHex,16),S=this.ecparams.G.multiply(w),F=S.getX().toBigInteger(),D=S.getY().toBigInteger(),I=this.ecparams.keycharlen,j=("0000000000"+F.toString(16)).slice(-I),q=("0000000000"+D.toString(16)).slice(-I),_="04"+j+q;return this.setPublicKeyHex(_),_},this.signWithMessageHash=function(w){return this.signHex(w,this.prvKeyHex)},this.signHex=function(w,S){var F=new i(S,16),D=this.ecparams.n,I=new i(w.substring(0,this.ecparams.keycharlen),16);do var j=this.getBigRandom(D),q=this.ecparams.G,_=q.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(i.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return l.biRSSigToASN1Sig(P,k)},this.sign=function(w,S){var F=S,D=this.ecparams.n,I=i.fromByteArrayUnsigned(w);do var j=this.getBigRandom(D),q=this.ecparams.G,_=q.multiply(j),P=_.getX().toBigInteger().mod(D);while(P.compareTo(Z.ZERO)<=0);var k=j.modInverse(D).multiply(I.add(F.multiply(P))).mod(D);return this.serializeSig(P,k)},this.verifyWithMessageHash=function(w,S){return this.verifyHex(w,S,this.pubKeyHex)},this.verifyHex=function(w,S,F){try{var D,I,j=l.parseSigHex(S);D=j.r,I=j.s;var q=c.decodeFromHex(this.ecparams.curve,F),_=new i(w.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(_,D,I,q)}catch{return!1}},this.verify=function(w,S,F){var D,I;if(Bitcoin.Util.isArray(S)){var j=this.parseSig(S);D=j.r,I=j.s}else if(typeof S=="object"&&S.r&&S.s)D=S.r,I=S.s;else throw"Invalid value for signature";var q;if(F instanceof ft)q=F;else if(Bitcoin.Util.isArray(F))q=c.decodeFrom(this.ecparams.curve,F);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var _=i.fromByteArrayUnsigned(w);return this.verifyRaw(_,D,I,q)},this.verifyRaw=function(w,S,F,D){var I=this.ecparams.n,j=this.ecparams.G;if(S.compareTo(i.ONE)<0||S.compareTo(I)>=0||F.compareTo(i.ONE)<0||F.compareTo(I)>=0)return!1;var q=F.modInverse(I),_=w.multiply(q).mod(I),P=S.multiply(q).mod(I),k=j.multiply(_).add(D.multiply(P)),U=k.getX().toBigInteger().mod(I);return U.equals(S)},this.serializeSig=function(w,S){var F=w.toByteArraySigned(),D=S.toByteArraySigned(),I=[];return I.push(2),I.push(F.length),I=I.concat(F),I.push(2),I.push(D.length),I=I.concat(D),I.unshift(I.length),I.unshift(48),I},this.parseSig=function(w){var S;if(w[0]!=48)throw new Error("Signature not a valid DERSequence");if(S=2,w[S]!=2)throw new Error("First element in signature must be a DERInteger");var F=w.slice(S+2,S+2+w[S+1]);if(S+=2+w[S+1],w[S]!=2)throw new Error("Second element in signature must be a DERInteger");var D=w.slice(S+2,S+2+w[S+1]);S+=2+w[S+1];var I=i.fromByteArrayUnsigned(F),j=i.fromByteArrayUnsigned(D);return{r:I,s:j}},this.parseSigCompact=function(w){if(w.length!==65)throw"Signature has the wrong length";var S=w[0]-27;if(S<0||S>7)throw"Invalid signature type";var F=this.ecparams.n,D=i.fromByteArrayUnsigned(w.slice(1,33)).mod(F),I=i.fromByteArrayUnsigned(w.slice(33,65)).mod(F);return{r:D,s:I,i:S}},this.readPKCS5PrvKeyHex=function(w){if(f(w)===!1)throw new Error("not ASN.1 hex string");var S,F,D;try{S=p(w,0,["[0]",0],"06"),F=p(w,0,[1],"04");try{D=p(w,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=v(S),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(D),this.setPrivateKeyHex(F),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var S,F,D,I;try{S=p(w,0,[1,0],"06"),F=p(w,0,[1,1],"06"),D=p(w,0,[2,0,1],"04");try{I=p(w,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new a("malformed PKCS#8 plain ECC private key")}if(this.curveName=v(F),this.curveName===void 0)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(I),this.setPrivateKeyHex(D),this.isPublic=!1},this.readPKCS8PubKeyHex=function(w){if(f(w)===!1)throw new a("not ASN.1 hex string");var S,F,D;try{S=p(w,0,[0,0],"06"),F=p(w,0,[0,1],"06"),D=p(w,0,[1],"03")}catch{throw new a("malformed PKCS#8 ECC public key")}if(this.curveName=v(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},this.readCertPubKeyHex=function(w,S){if(f(w)===!1)throw new a("not ASN.1 hex string");var F,D;try{F=p(w,0,[0,5,0,1],"06"),D=p(w,0,[0,5,1],"03")}catch{throw new a("malformed X.509 certificate ECC public key")}if(this.curveName=v(F),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D)},e!==void 0&&e.curve!==void 0&&(this.curveName=e.curve),this.curveName===void 0&&(this.curveName=t),this.setNamedCurve(this.curveName),e!==void 0&&(e.prv!==void 0&&this.setPrivateKeyHex(e.prv),e.pub!==void 0&&this.setPublicKeyHex(e.pub))};d.crypto.ECDSA.parseSigHex=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=new Z(t.r,16),n=new Z(t.s,16);return{r,s:n}};d.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ae,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),e.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var s=r(e,0);if(s.length!=2)throw new Error("signature shall have two elements");var a=s[0],i=s[1];if(e.substr(a,2)!="02")throw new Error("1st item not ASN.1 integer");if(e.substr(i,2)!="02")throw new Error("2nd item not ASN.1 integer");var c=n(e,a),l=n(e,i);return{r:c,s:l}};d.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=d.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if(r.length>=130&&r.length<=134){if(r.length%2!=0)throw Error("unknown ECDSA sig r length error");if(n.length%2!=0)throw Error("unknown ECDSA sig s length error");r.substr(0,2)=="00"&&(r=r.substr(2)),n.substr(0,2)=="00"&&(n=n.substr(2));var s=Math.max(r.length,n.length);return r=("000000"+r).slice(-s),n=("000000"+n).slice(-s),r+n}if(r.substr(0,2)=="00"&&r.length%32==2&&(r=r.substr(2)),n.substr(0,2)=="00"&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw Error("unknown ECDSA sig r length error");if(n.length%32!=0)throw Error("unknown ECDSA sig s length error");return r+n};d.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return d.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};d.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new Z(e,16),n=new Z(t,16);return d.crypto.ECDSA.biRSSigToASN1Sig(r,n)};d.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=d.asn1,n=new r.DERInteger({bigint:e}),s=new r.DERInteger({bigint:t}),a=new r.DERSequence({array:[n,s]});return a.tohex()};d.crypto.ECDSA.getName=function(e){return e==="2b8104001f"?"secp192k1":e==="2a8648ce3d030107"?"secp256r1":e==="2b8104000a"?"secp256k1":e==="2b81040021"?"secp224r1":e==="2b81040022"?"secp384r1":e==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)!==-1?"secp256r1":"|secp256k1|".indexOf(e)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(e)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(e)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(e)!==-1?"secp521r1":null};(typeof d>"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.ECParameterDB=new function(){var e={},t={};function r(n){return new Z(n,16)}this.getByName=function(n){var s=n;if(typeof t[s]<"u"&&(s=t[n]),typeof e[s]<"u")return e[s];throw"unregistered EC curve name: "+s},this.regist=function(n,s,a,i,c,l,h,v,E,p,f,A){e[n]={};var m=r(a),b=r(i),w=r(c),S=r(l),F=r(h),D=new es(m,b,w),I=D.decodePointHex("04"+v+E);e[n].name=n,e[n].keylen=s,e[n].keycharlen=Math.ceil(s/8)*2,e[n].curve=D,e[n].G=I,e[n].n=S,e[n].h=F,e[n].oid=f,e[n].info=A;for(var j=0;j"u"||!d)&&(d={});(typeof d.crypto>"u"||!d.crypto)&&(d.crypto={});d.crypto.DSA=function(){var e=Ae,t=e.getVbyList,r=e.getVbyListEx,n=e.isASN1HEX,s=Z;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(a,i,c,l,h){this.isPrivate=!0,this.p=a,this.q=i,this.g=c,this.y=l,this.x=h},this.setPrivateHex=function(a,i,c,l,h){var v,E,p,f,A;v=new Z(a,16),E=new Z(i,16),p=new Z(c,16),typeof l=="string"&&l.length>1?f=new Z(l,16):f=null,A=new Z(h,16),this.setPrivate(v,E,p,f,A)},this.setPublic=function(a,i,c,l){this.isPublic=!0,this.p=a,this.q=i,this.g=c,this.y=l,this.x=null},this.setPublicHex=function(a,i,c,l){var h,v,E,p;h=new Z(a,16),v=new Z(i,16),E=new Z(c,16),p=new Z(l,16),this.setPublic(h,v,E,p)},this.signWithMessageHash=function(a){var i=this.p,c=this.q,l=this.g,h=this.y,v=this.x,E=d.crypto.Util.getRandomBigIntegerMinToMax(Z.ONE.add(Z.ONE),c.subtract(Z.ONE)),p=a.substr(0,c.bitLength()/4),f=new Z(p,16),A=l.modPow(E,i).mod(c),m=E.modInverse(c).multiply(f.add(v.multiply(A))).mod(c),b=d.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:A}},{int:{bigint:m}}]});return b},this.verifyWithMessageHash=function(a,i){var c=this.p,l=this.q,h=this.g,v=this.y,E=this.parseASN1Signature(i),p=E[0],f=E[1],A=a.substr(0,l.bitLength()/4),m=new Z(A,16);if(Z.ZERO.compareTo(p)>0||p.compareTo(l)>0||Z.ZERO.compareTo(f)>=0||f.compareTo(l)>0)throw"invalid DSA signature";var b=f.modInverse(l),w=m.multiply(b).mod(l),S=p.multiply(b).mod(l),F=h.modPow(w,c).multiply(v.modPow(S,c)).mod(c).mod(l);return F.compareTo(p)==0},this.parseASN1Signature=function(a){try{var i=new s(r(a,0,[0],"02"),16),c=new s(r(a,0,[1],"02"),16);return[i,c]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(a){var i,c,l,h,v;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[1],"02"),c=r(a,0,[2],"02"),l=r(a,0,[3],"02"),h=r(a,0,[4],"02"),v=r(a,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(i,c,l,h,v)},this.readPKCS8PrvKeyHex=function(a){var i,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[1,1,0],"02"),c=r(a,0,[1,1,1],"02"),l=r(a,0,[1,1,2],"02"),h=r(a,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(i,c,l,null,h)},this.readPKCS8PubKeyHex=function(a){var i,c,l,h;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{i=r(a,0,[0,1,0],"02"),c=r(a,0,[0,1,1],"02"),l=r(a,0,[0,1,2],"02"),h=r(a,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(i,c,l,h)},this.readCertPubKeyHex=function(a,i){var c,l,h,v;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{c=r(a,0,[0,5,0,1,0],"02"),l=r(a,0,[0,5,0,1,1],"02"),h=r(a,0,[0,5,0,1,2],"02"),v=r(a,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(c,l,h,v)}};var rt=function(){var e=function(m,b,w){return n(Se.AES,m,b,w)},t=function(m,b,w){return n(Se.TripleDES,m,b,w)},r=function(m,b,w){return n(Se.DES,m,b,w)},n=function(m,b,w,S){var F=Se.enc.Hex.parse(b),D=Se.enc.Hex.parse(w),I=Se.enc.Hex.parse(S),j={};j.key=D,j.iv=I,j.ciphertext=F;var q=m.decrypt(j,D,{iv:I});return Se.enc.Hex.stringify(q)},s=function(m,b,w){return c(Se.AES,m,b,w)},a=function(m,b,w){return c(Se.TripleDES,m,b,w)},i=function(m,b,w){return c(Se.DES,m,b,w)},c=function(m,b,w,S){var F=Se.enc.Hex.parse(b),D=Se.enc.Hex.parse(w),I=Se.enc.Hex.parse(S),j=m.encrypt(F,D,{iv:I}),q=Se.enc.Hex.parse(j.toString()),_=Se.enc.Base64.stringify(q);return _},l={"AES-256-CBC":{proc:e,eproc:s,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:s,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:s,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:a,keylen:24,ivlen:8},"DES-CBC":{proc:r,eproc:i,keylen:8,ivlen:8}},h=function(m){return l[m].proc},v=function(m){var b=Se.lib.WordArray.random(m),w=Se.enc.Hex.stringify(b);return w},E=function(m){var b={},w=m.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));w&&(b.cipher=w[1],b.ivsalt=w[2]);var S=m.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));S&&(b.type=S[1]);var F=-1,D=0;m.indexOf(`\r +\r +`)!=-1&&(F=m.indexOf(`\r +\r +`),D=2),m.indexOf(` + +`)!=-1&&(F=m.indexOf(` + +`),D=1);var I=m.indexOf("-----END");if(F!=-1&&I!=-1){var j=m.substring(F+D*2,I-D);j=j.replace(/\s+/g,""),b.data=j}return b},p=function(m,b,w){for(var S=w.substring(0,16),F=Se.enc.Hex.parse(S),D=Se.enc.Utf8.parse(b),I=l[m].keylen+l[m].ivlen,j="",q=null;;){var _=Se.algo.MD5.create();if(q!=null&&_.update(q),_.update(D),_.update(F),q=_.finalize(),j=j+Se.enc.Hex.stringify(q),j.length>=I*2)break}var P={};return P.keyhex=j.substr(0,l[m].keylen*2),P.ivhex=j.substr(l[m].keylen*2,l[m].ivlen*2),P},f=function(m,b,w,S){var F=Se.enc.Base64.parse(m),D=Se.enc.Hex.stringify(F),I=l[b].proc,j=I(D,w,S);return j},A=function(m,b,w,S){var F=l[b].eproc,D=F(m,w,S);return D};return{version:"1.0.0",parsePKCS5PEM:function(m){return E(m)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(m,b,w){return p(m,b,w)},decryptKeyB64:function(m,b,w,S){return f(m,b,w,S)},getDecryptedKeyHex:function(m,b){var w=E(m),S=w.type,F=w.cipher,D=w.ivsalt,I=w.data,j=p(F,b,D),q=j.keyhex,_=f(I,F,q,D);return _},getEncryptedPKCS5PEMFromPrvKeyHex:function(m,b,w,S,F){var k="";if((typeof S>"u"||S==null)&&(S="AES-256-CBC"),typeof l[S]>"u")throw new Error("KEYUTIL unsupported algorithm: "+S);if(typeof F>"u"||F==null){var D=l[S].ivlen,I=v(D);F=I.toUpperCase()}var j=p(S,w,F),q=j.keyhex,_=A(b,S,q,F),P=_.replace(/(.{64})/g,`$1\r +`),k="-----BEGIN "+m+` PRIVATE KEY-----\r +`;return k+=`Proc-Type: 4,ENCRYPTED\r +`,k+="DEK-Info: "+S+","+F+`\r +`,k+=`\r +`,k+=P,k+=`\r +-----END `+m+` PRIVATE KEY-----\r +`,k},getEncryptedPKCS8PEM:function(m,b,w){var S=this.getEncryptedPKCS8Hex(m,b,w);return Br(S,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(m,b,w){var S;w==null||w==null?S={}:S=JSON.parse(JSON.stringify(w)),S.plain=m,this.initPBES2Param(S),this.encryptPBES2Param(S,b);var F=this.generatePBES2ASN1Param(S);return d.asn1.ASN1Util.newObject(F).tohex()},initPBES2Param:function(m){if(St(m,"encalg")==null&&(m.encalg="aes256-CBC"),St(m,"iter")==null&&(m.iter=2048),St(m,"prf")==null&&(m.prf="hmacWithSHA256"),St(m,"salt")==null&&(m.salt=Se.enc.Hex.stringify(Se.lib.WordArray.random(8))),St(m,"enciv")==null){var b;m.encalg=="des-EDE3-CBC"&&(b=8),m.encalg=="aes128-CBC"&&(b=16),m.encalg=="aes256-CBC"&&(b=16),m.enciv=Se.enc.Hex.stringify(Se.lib.WordArray.random(b))}},encryptPBES2Param:function(m,b){var w=rt.getDKFromPBES2Param(m,b);try{var S=d.crypto.Cipher.encrypt(m.plain,w,m.encalg,{iv:m.enciv})}catch{throw new Error("encrypt error: "+m.plain+" "+w+" "+m.encalg+" "+m.enciv)}m.enc=S},generatePBES2ASN1Param:function(m){var b={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:m.salt}},{int:{hex:Jg(m.iter)}}]}]},{seq:[{oid:m.encalg},{octstr:{hex:m.enciv}}]}]}]},{octstr:{hex:m.enc}}]};return m.prf!="hmacWithSHA1"&&b.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:m.prf},{null:""}]}),b},parseHexOfEncryptedPKCS8:function(m){var b=Ae,w=b.getChildIdx,S=b.getV,F={},D=w(m,0);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+D.length);F.ciphertext=S(m,D[1]);var I=w(m,D[0]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+I.length);if(S(m,I[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var j=w(m,I[1]);if(I.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+j.length);var q=w(m,j[1]);if(q.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+q.length);if(S(m,q[0])!="2a864886f70d0307")throw"this only supports TripleDES";F.encryptionSchemeAlg="TripleDES",F.encryptionSchemeIV=S(m,q[1]);var _=w(m,j[0]);if(_.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+_.length);if(S(m,_[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var P=w(m,_[1]);if(P.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+P.length);F.pbkdf2Salt=S(m,P[0]);var k=S(m,P[1]);try{F.pbkdf2Iter=parseInt(k,16)}catch{throw new Error("malformed format pbkdf2Iter: "+k)}return F},getPBKDF2KeyHexFromParam:function(m,b){var w=Se.enc.Hex.parse(m.pbkdf2Salt),S=m.pbkdf2Iter,F=Se.PBKDF2(b,w,{keySize:192/32,iterations:S}),D=Se.enc.Hex.stringify(F);return D},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(m,b){var w=Ot(m,"ENCRYPTED PRIVATE KEY"),S=this.parseHexOfEncryptedPKCS8(w),F=rt.getPBKDF2KeyHexFromParam(S,b),D={};D.ciphertext=Se.enc.Hex.parse(S.ciphertext);var I=Se.enc.Hex.parse(F),j=Se.enc.Hex.parse(S.encryptionSchemeIV),q=Se.TripleDES.decrypt(D,I,{iv:j}),_=Se.enc.Hex.stringify(q);return _},parsePBES2:function(m){var b=Ae.parse(m);if(St(b,"seq.0.seq.0.oid")!="pkcs5PBES2"||St(b,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var w=St(b,"seq.0.seq.1.seq.0.seq.1.seq");if(w==null)throw new Error("PBKDF2 parameter not found");var S=St(w,"0.octstr.hex"),F=St(w,"1.int.hex"),D=St(w,"2.seq.0.oid","hmacWithSHA1"),I=-1;try{I=parseInt(F,16)}catch{throw new Error("iter not proper value")}var j=St(b,"seq.0.seq.1.seq.1.seq.0.oid"),q=St(b,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),_=St(b,"seq.1.octstr.hex");if(j==null||q==null||_==null)throw new Error("encalg, enciv or enc is undefined");var P={salt:S,iter:I,prf:D,encalg:j,enciv:q,enc:_};return P},getDKFromPBES2Param:function(m,b){var w={hmacWithSHA1:Se.algo.SHA1,hmacWithSHA224:Se.algo.SHA224,hmacWithSHA256:Se.algo.SHA256,hmacWithSHA384:Se.algo.SHA384,hmacWithSHA512:Se.algo.SHA512},S={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},F=w[m.prf];if(F==null)throw new Error("unsupported prf");var D=S[m.encalg];if(D==null)throw new Error("unsupported encalg");var I=Se.enc.Hex.parse(m.salt),j=m.iter;try{var q=Se.PBKDF2(b,I,{keySize:D,iterations:j,hasher:F});return Se.enc.Hex.stringify(q)}catch(_){throw new Error("PBKDF2 error: "+_+" "+JSON.stringify(m)+" "+b)}},getPlainHexFromEncryptedPKCS8PEM:function(m,b){if(m.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var w=Ot(m),S;try{S=rt.parsePBES2(w)}catch(D){throw new Error("malformed PBES2 format: "+D.message)}var F=rt.getDKFromPBES2Param(S,b);return d.crypto.Cipher.decrypt(S.enc,F,S.encalg,{iv:S.enciv})},getKeyFromEncryptedPKCS8PEM:function(m,b){var w=this.getPlainHexFromEncryptedPKCS8PEM(m,b),S=this.getKeyFromPlainPrivatePKCS8Hex(w);return S},parsePlainPrivatePKCS8Hex:function(m){var b=Ae,w=b.getChildIdx,S=b.getV,F={};if(F.algparam=null,m.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var D=w(m,0);if(D.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(m.substr(D[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var I=w(m,D[1]);if(I.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(m.substr(I[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(F.algoid=S(m,I[0]),m.substr(I[1],2)=="06"&&(F.algparam=S(m,I[1])),m.substr(D[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return F.keyidx=b.getVidx(m,D[2]),F},getKeyFromPlainPrivatePKCS8PEM:function(m){var b=Ot(m,"PRIVATE KEY"),w=this.getKeyFromPlainPrivatePKCS8Hex(b);return w},getKeyFromPlainPrivatePKCS8Hex:function(m){var b=this.parsePlainPrivatePKCS8Hex(m),w;if(b.algoid=="2a864886f70d010101")w=new Ke;else if(b.algoid=="2a8648ce380401")w=new d.crypto.DSA;else if(b.algoid=="2a8648ce3d0201")w=new d.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return w.readPKCS8PrvKeyHex(m),w},_getKeyFromPublicPKCS8Hex:function(m){var b,w=Ae.getVbyList(m,0,[0,0],"06");if(w==="2a864886f70d010101")b=new Ke;else if(w==="2a8648ce380401")b=new d.crypto.DSA;else if(w==="2a8648ce3d0201")b=new d.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return b.readPKCS8PubKeyHex(m),b},parsePublicRawRSAKeyHex:function(m){var b=Ae,w=b.getChildIdx,S=b.getV,F={};if(m.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var D=w(m,0);if(D.length!=2)throw new Error("malformed RSA key(code:002)");if(m.substr(D[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(F.n=S(m,D[0]),m.substr(D[1],2)!="02")throw new Error("malformed RSA key(code:004)");return F.e=S(m,D[1]),F},parsePublicPKCS8Hex:function(m){var b=Ae,w=b.getChildIdx,S=b.getV,F={};F.algparam=null;var D=w(m,0);if(D.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+D.length);var I=D[0];if(m.substr(I,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var j=w(m,I);if(j.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(m.substr(j[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(F.algoid=S(m,j[0]),m.substr(j[1],2)=="06"?F.algparam=S(m,j[1]):m.substr(j[1],2)=="30"&&(F.algparam={},F.algparam.p=b.getVbyList(m,j[1],[0],"02"),F.algparam.q=b.getVbyList(m,j[1],[1],"02"),F.algparam.g=b.getVbyList(m,j[1],[2],"02")),m.substr(D[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return F.key=S(m,D[1]).substr(2),F}}}();rt.getKey=function(e,t,r){var n=Ae,s=n.getChildIdx,a=n.getV,i=n.getVbyList,c=d.crypto,l=c.ECDSA,h=c.DSA,v=Ke,E=Ot,p=rt;if(typeof v<"u"&&e instanceof v||typeof l<"u"&&e instanceof l||typeof h<"u"&&e instanceof h)return e;if(e.curve!==void 0&&e.xy!==void 0&&e.d===void 0)return new l({pub:e.xy,curve:e.curve});if(e.curve!==void 0&&e.d!==void 0)return new l({prv:e.d,curve:e.curve});if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new v;return f.setPublic(e.n,e.e),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.co!==void 0&&e.qi===void 0){var f=new v;return f.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),f}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p===void 0){var f=new v;return f.setPrivate(e.n,e.e,e.d),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x===void 0){var f=new h;return f.setPublic(e.p,e.q,e.g,e.y),f}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x!==void 0){var f=new h;return f.setPrivate(e.p,e.q,e.g,e.y,e.x),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var f=new v;return f.setPublic(Dt(e.n),Dt(e.e)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.qi!==void 0){var f=new v;return f.setPrivateEx(Dt(e.n),Dt(e.e),Dt(e.d),Dt(e.p),Dt(e.q),Dt(e.dp),Dt(e.dq),Dt(e.qi)),f}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0){var f=new v;return f.setPrivate(Dt(e.n),Dt(e.e),Dt(e.d)),f}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d===void 0){var A=new l({curve:e.crv}),m=A.ecparams.keycharlen,b=("0000000000"+Dt(e.x)).slice(-m),w=("0000000000"+Dt(e.y)).slice(-m),S="04"+b+w;return A.setPublicKeyHex(S),A}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d!==void 0){var A=new l({curve:e.crv}),m=A.ecparams.keycharlen,b=("0000000000"+Dt(e.x)).slice(-m),w=("0000000000"+Dt(e.y)).slice(-m),S="04"+b+w,F=("0000000000"+Dt(e.d)).slice(-m);return A.setPublicKeyHex(S),A.setPrivateKeyHex(F),A}if(r==="pkcs5prv"){var D=e,n=Ae,I,f;if(I=s(D,0),I.length===9)f=new v,f.readPKCS5PrvKeyHex(D);else if(I.length===6)f=new h,f.readPKCS5PrvKeyHex(D);else if(I.length>2&&D.substr(I[1],2)==="04")f=new l,f.readPKCS5PrvKeyHex(D);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return f}if(r==="pkcs8prv"){var f=p.getKeyFromPlainPrivatePKCS8Hex(e);return f}if(r==="pkcs8pub")return p._getKeyFromPublicPKCS8Hex(e);if(r==="x509pub")return Ne.getPublicKeyFromCertHex(e);if(e.indexOf("-END CERTIFICATE-",0)!=-1||e.indexOf("-END X509 CERTIFICATE-",0)!=-1||e.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return Ne.getPublicKeyFromCertPEM(e);if(e.indexOf("-END PUBLIC KEY-")!=-1){var j=Ot(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(j)}if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=E(e,"RSA PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var _=E(e,"DSA PRIVATE KEY"),P=i(_,0,[1],"02"),k=i(_,0,[2],"02"),U=i(_,0,[3],"02"),M=i(_,0,[4],"02"),W=i(_,0,[5],"02"),f=new h;return f.setPrivate(new Z(P,16),new Z(k,16),new Z(U,16),new Z(M,16),new Z(W,16)),f}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=E(e,"EC PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END PRIVATE KEY-")!=-1)return p.getKeyFromPlainPrivatePKCS8PEM(e);if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var K=p.getDecryptedKeyHex(e,t),V=new Ke;return V.readPKCS5PrvKeyHex(K),V}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),f=i(_,0,[1],"04"),z=i(_,0,[2,0],"06"),re=i(_,0,[3,0],"03").substr(2),Ee="";if(d.crypto.OID.oidhex2name[z]!==void 0)Ee=d.crypto.OID.oidhex2name[z];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+z);var A=new l({curve:Ee});return A.setPublicKeyHex(re),A.setPrivateKeyHex(f),A.isPublic=!1,A}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var _=p.getDecryptedKeyHex(e,t),P=i(_,0,[1],"02"),k=i(_,0,[2],"02"),U=i(_,0,[3],"02"),M=i(_,0,[4],"02"),W=i(_,0,[5],"02"),f=new h;return f.setPrivate(new Z(P,16),new Z(k,16),new Z(U,16),new Z(M,16),new Z(W,16)),f}if(e.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")};rt.generateKeypair=function(e,t){if(e=="RSA"){var r=t,n=new Ke;n.generate(r,"10001"),n.isPrivate=!0,n.isPublic=!0;var s=new Ke,a=n.n.toString(16),i=n.e.toString(16);s.setPublic(a,i),s.isPrivate=!1,s.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=s,c}else if(e=="EC"){var l=t,h=new d.crypto.ECDSA({curve:l}),v=h.generateKeyPairHex(),n=new d.crypto.ECDSA({curve:l});n.setPublicKeyHex(v.ecpubhex),n.setPrivateKeyHex(v.ecprvhex),n.isPrivate=!0,n.isPublic=!1;var s=new d.crypto.ECDSA({curve:l});s.setPublicKeyHex(v.ecpubhex),s.isPrivate=!1,s.isPublic=!0;var c={};return c.prvKeyObj=n,c.pubKeyObj=s,c}else throw new Error("unknown algorithm: "+e)};rt.getPEM=function(e,t,r,n,s,a){var i=d,c=i.asn1,l=c.DERObjectIdentifier,h=c.DERInteger,v=c.ASN1Util.newObject,E=c.x509,p=E.SubjectPublicKeyInfo,f=i.crypto,A=f.DSA,m=f.ECDSA,b=Ke;function w(V){var z=v({seq:[{int:0},{int:{bigint:V.n}},{int:V.e},{int:{bigint:V.d}},{int:{bigint:V.p}},{int:{bigint:V.q}},{int:{bigint:V.dmp1}},{int:{bigint:V.dmq1}},{int:{bigint:V.coeff}}]});return z}function S(V){var z=v({seq:[{int:1},{octstr:{hex:V.prvKeyHex}},{tag:["a0",!0,{oid:{name:V.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+V.pubKeyHex}}]}]});return z}function F(V){var z=v({seq:[{int:0},{int:{bigint:V.p}},{int:{bigint:V.q}},{int:{bigint:V.g}},{int:{bigint:V.y}},{int:{bigint:V.x}}]});return z}if((b!==void 0&&e instanceof b||A!==void 0&&e instanceof A||m!==void 0&&e instanceof m)&&e.isPublic==!0&&(t===void 0||t=="PKCS8PUB")){var D=new p(e),I=D.tohex();return Br(I,"PUBLIC KEY")}if(t=="PKCS1PRV"&&b!==void 0&&e instanceof b&&(r===void 0||r==null)&&e.isPrivate==!0){var D=w(e),I=D.tohex();return Br(I,"RSA PRIVATE KEY")}if(t=="PKCS1PRV"&&m!==void 0&&e instanceof m&&(r===void 0||r==null)&&e.isPrivate==!0){var j=new l({name:e.curveName}),q=j.tohex(),_=S(e),P=_.tohex(),k="";return k+=Br(q,"EC PARAMETERS"),k+=Br(P,"EC PRIVATE KEY"),k}if(t=="PKCS1PRV"&&A!==void 0&&e instanceof A&&(r===void 0||r==null)&&e.isPrivate==!0){var D=F(e),I=D.tohex();return Br(I,"DSA PRIVATE KEY")}if(t=="PKCS5PRV"&&b!==void 0&&e instanceof b&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=w(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",I,r,n,a)}if(t=="PKCS5PRV"&&m!==void 0&&e instanceof m&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=S(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",I,r,n,a)}if(t=="PKCS5PRV"&&A!==void 0&&e instanceof A&&r!==void 0&&r!=null&&e.isPrivate==!0){var D=F(e),I=D.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",I,r,n,a)}var U=function(V,z){if(typeof z=="string")return rt.getEncryptedPKCS8PEM(V,z);if(typeof z=="object"&&St(z,"passcode")!=null){var re=JSON.parse(JSON.stringify(z)),Ee=re.passcode;return delete re.passcode,rt.getEncryptedPKCS8PEM(V,Ee,re)}};if(t=="PKCS8PRV"&&b!=null&&e instanceof b&&e.isPrivate==!0){var M=w(e),W=M.tohex(),D=v({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?Br(I,"PRIVATE KEY"):U(I,r)}if(t=="PKCS8PRV"&&m!==void 0&&e instanceof m&&e.isPrivate==!0){var K={seq:[{int:1},{octstr:{hex:e.prvKeyHex}}]};typeof e.pubKeyHex=="string"&&K.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]});var M=new v(K),W=M.tohex(),D=v({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?Br(I,"PRIVATE KEY"):U(I,r)}if(t=="PKCS8PRV"&&A!==void 0&&e instanceof A&&e.isPrivate==!0){var M=new h({bigint:e.x}),W=M.tohex(),D=v({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:W}}]}),I=D.tohex();return r===void 0||r==null?Br(I,"PRIVATE KEY"):U(I,r)}throw new Error("unsupported object nor format")};rt.getKeyFromCSRPEM=function(e){var t=Ot(e,"CERTIFICATE REQUEST"),r=rt.getKeyFromCSRHex(t);return r};rt.getKeyFromCSRHex=function(e){var t=rt.parseCSRHex(e),r=rt.getKey(t.p8pubkeyhex,null,"pkcs8pub");return r};rt.parseCSRHex=function(e){var t=Ae,r=t.getChildIdx,n=t.getTLV,s={},a=e;if(a.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var i=r(a,0);if(i.length<1)throw new Error("malformed CSR(code:002)");if(a.substr(i[0],2)!="30")throw new Error("malformed CSR(code:003)");var c=r(a,i[0]);if(c.length<3)throw new Error("malformed CSR(code:004)");return s.p8pubkeyhex=n(a,c[2]),s};rt.getKeyID=function(e){var t=rt,r=Ae;typeof e=="string"&&e.indexOf("BEGIN ")!=-1&&(e=t.getKey(e));var n=Ot(t.getPEM(e)),s=r.getIdxbyList(n,0,[1]),a=r.getV(n,s).substring(2);return d.crypto.Util.hashHex(a,"sha1")};rt.getJWK=function(e,t,r,n,s){var a,i={},c,l=d.crypto.Util.hashHex;if(typeof e=="string")a=rt.getKey(e),e.indexOf("CERTIFICATE")!=-1&&(c=Ot(e));else if(typeof e=="object")e instanceof Ne?(a=e.getPublicKey(),c=e.hex):a=e;else throw new Error("unsupported keyinfo type");if(a instanceof Ke&&a.isPrivate)i.kty="RSA",i.n=er(a.n.toString(16)),i.e=er(a.e.toString(16)),i.d=er(a.d.toString(16)),i.p=er(a.p.toString(16)),i.q=er(a.q.toString(16)),i.dp=er(a.dmp1.toString(16)),i.dq=er(a.dmq1.toString(16)),i.qi=er(a.coeff.toString(16));else if(a instanceof Ke&&a.isPublic)i.kty="RSA",i.n=er(a.n.toString(16)),i.e=er(a.e.toString(16));else if(a instanceof d.crypto.ECDSA&&a.isPrivate){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var v=a.getPublicKeyXYHex();i.kty="EC",i.crv=h,i.x=er(v.x),i.y=er(v.y),i.d=er(a.prvKeyHex)}else if(a instanceof d.crypto.ECDSA&&a.isPublic){var h=a.getShortNISTPCurveName();if(h!=="P-256"&&h!=="P-384"&&h!=="P-521")throw new Error("unsupported curve name for JWT: "+h);var v=a.getPublicKeyXYHex();i.kty="EC",i.crv=h,i.x=er(v.x),i.y=er(v.y)}if(i.kty==null)throw new Error("unsupported keyinfo");return!a.isPrivate&&t!=!0&&(i.kid=d.jws.JWS.getJWKthumbprint(i)),c!=null&&r!=!0&&(i.x5c=[Qi(c)]),c!=null&&n!=!0&&(i.x5t=ku(Qi(l(c,"sha1")))),c!=null&&s!=!0&&(i["x5t#S256"]=ku(Qi(l(c,"sha256")))),i};rt.getJWKFromKey=function(e){return rt.getJWK(e,!0,!0,!0,!0)};Ke.getPosArrayOfChildrenFromHex=function(e){return Ae.getChildIdx(e,0)};Ke.getHexValueArrayOfChildrenFromHex=function(e){var t=Ae,r=t.getV,p=Ke.getPosArrayOfChildrenFromHex(e),n=r(e,p[0]),s=r(e,p[1]),a=r(e,p[2]),i=r(e,p[3]),c=r(e,p[4]),l=r(e,p[5]),h=r(e,p[6]),v=r(e,p[7]),E=r(e,p[8]),p=new Array;return p.push(n,s,a,i,c,l,h,v,E),p};Ke.prototype.readPrivateKeyFromPEMString=function(e){var t=Ot(e),r=Ke.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])};Ke.prototype.readPKCS5PrvKeyHex=function(e){var t=Ke.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};Ke.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,s,a,i,c,l,h=Ae,v=h.getVbyListEx;if(h.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");try{t=v(e,0,[2,0,1],"02"),r=v(e,0,[2,0,2],"02"),n=v(e,0,[2,0,3],"02"),s=v(e,0,[2,0,4],"02"),a=v(e,0,[2,0,5],"02"),i=v(e,0,[2,0,6],"02"),c=v(e,0,[2,0,7],"02"),l=v(e,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,s,a,i,c,l)};Ke.prototype.readPKCS5PubKeyHex=function(e){var t=Ae,r=t.getV;if(t.isASN1HEX(e)===!1)throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(n.length!==2||e.substr(n[0],2)!=="02"||e.substr(n[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var s=r(e,n[0]),a=r(e,n[1]);this.setPublic(s,a)};Ke.prototype.readPKCS8PubKeyHex=function(e){var t=Ae;if(t.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(e,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)};Ke.prototype.readCertPubKeyHex=function(e,t){var r,n;r=new Ne,r.readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var O7=new RegExp("[^0-9a-f]","gi");function tm(e,t){for(var r="",n=t/4-e.length,s=0;s>24,(s&16711680)>>16,(s&65280)>>8,s&255])))),s+=1;return n}Ke.prototype.signPSS=function(e,t,r){var n=function(a){return d.crypto.Util.hashHex(a,t)},s=n(pi(e));return r===void 0&&(r=-1),this.signWithMessageHashPSS(s,t,r)};Ke.prototype.signWithMessageHashPSS=function(e,t,r){var n=un(e),s=n.length,a=this.n.bitLength()-1,i=Math.ceil(a/8),c,l=function(b){return d.crypto.Util.hashHex(b,t)};if(r===-1||r===void 0)r=s;else if(r===-2)r=i-s-2;else if(r<-2)throw new Error("invalid salt length");if(i0&&(h=new Array(r),new Hu().nextBytes(h),h=String.fromCharCode.apply(String,h));var v=un(l(pi("\0\0\0\0\0\0\0\0"+n+h))),E=[];for(c=0;c>8*i-a&255;for(A[0]&=~m,c=0;cn)return!1;var s=this.doPublic(r),a=s.toString(16);if(a.length+3!=n/4)return!1;var i=a.replace(/^1f+00/,""),c=nm(i);if(c.length==0)return!1;var l=c[0],h=c[1],v=function(p){return d.crypto.Util.hashString(p,l)},E=v(e);return h==E};Ke.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=sn(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(r),s=n.toString(16).replace(/^1f+00/,""),a=nm(s);if(a.length==0)return!1;var i=a[0],c=a[1];return c==e};Ke.prototype.verifyPSS=function(e,t,r,n){var s=function(i){return d.crypto.Util.hashHex(i,r)},a=s(pi(e));return n===void 0&&(n=-1),this.verifyWithMessageHashPSS(a,t,r,n)};Ke.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var s=new Z(t,16),a=function(S){return d.crypto.Util.hashHex(S,r)},i=un(e),c=i.length,l=this.n.bitLength()-1,h=Math.ceil(l/8),v;if(n===-1||n===void 0)n=c;else if(n===-2)n=h-c-2;else if(n<-2)throw new Error("invalid salt length");if(h>8*h-l&255;if(p.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var m=rm(f,p.length,a),b=[];for(v=0;v0?P:void 0}catch{return}},this._asn1ToNoticeRef=function(_){try{for(var P={},k=St(_,"seq"),U=0;U0?P:void 0}catch{return}},this._asn1ToNoticeNum=function(_){try{for(var P=St(_,"seq"),k=[],U=0;U1){var W=i(_,M[1]),K=this.getGeneralName(W);K.uri!=null&&(U.uri=K.uri)}if(M.length>2){var V=i(_,M[2]);V=="0101ff"&&(U.reqauth=!0),V=="010100"&&(U.reqauth=!1)}return U},this.getExtSubjectDirectoryAttributes=function(_,P){if(_===void 0&&P===void 0){var k=this.getExtInfo("subjectDirectoryAttributes");if(k===void 0)return;_=i(this.hex,k.vidx),P=k.critical}var U={extname:"subjectDirectoryAttributes"};P&&(U.critical=!0);try{for(var M=a(_),W=[],K=0;K0&&(P.ext=this.getExtParamArray()),P.sighex=this.getSignatureValueHex(),_.tbshex==!0&&(P.tbshex=h(this.hex,0,[0])),_.nodnarray==!0&&(delete P.issuer.array,delete P.subject.array),P},this.getExtParamArray=function(_){if(_==null){var P=p(this.hex,0,[0,"[3]"]);P!=-1&&(_=v(this.hex,0,[0,"[3]",0],"30"))}for(var k=[],U=r(_,0),M=0;M"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWS=function(){var e=d,t=e.jws.JWS,r=t.isSafeJSONString;this.parseJWS=function(n,s){if(!(this.parsedJWS!==void 0&&(s||this.parsedJWS.sigvalH!==void 0))){var a=n.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(a==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var i=a[1],c=a[2],l=a[3],h=i+"."+c;if(this.parsedJWS={},this.parsedJWS.headB64U=i,this.parsedJWS.payloadB64U=c,this.parsedJWS.sigvalB64U=l,this.parsedJWS.si=h,!s){var v=Dt(l),E=sn(v,16);this.parsedJWS.sigvalH=v,this.parsedJWS.sigvalBI=E}var p=Xn(i),f=Xn(c);if(this.parsedJWS.headS=p,this.parsedJWS.payloadS=f,!r(p,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+p}}};d.jws.JWS.sign=function(e,t,r,n,s){var a=d,i=a.jws,c=i.JWS,l=c.readSafeJSONString,h=c.isSafeJSONString,v=a.crypto,E=v.ECDSA,p=v.Mac,f=v.Signature,A=JSON,m,b,w;if(typeof t!="string"&&typeof t!="object")throw"spHeader must be JSON string or object: "+t;if(typeof t=="object"&&(b=t,m=A.stringify(b)),typeof t=="string"){if(m=t,!h(m))throw"JWS Head is not safe JSON string: "+m;b=l(m)}if(w=r,typeof r=="object"&&(w=A.stringify(r)),(e==""||e==null)&&b.alg!==void 0&&(e=b.alg),e!=""&&e!=null&&b.alg===void 0&&(b.alg=e,m=A.stringify(b)),e!==b.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+b.alg;var S=null;if(c.jwsalg2sigalg[e]===void 0)throw"unsupported alg name: "+e;S=c.jwsalg2sigalg[e];var F=sc(m),D=sc(w),I=F+"."+D,j="";if(S.substr(0,4)=="Hmac"){if(n===void 0)throw"mac key shall be specified for HS* alg";var q=new p({alg:S,prov:"cryptojs",pass:n});q.updateString(I),j=q.doFinal()}else if(S.indexOf("withECDSA")!=-1){var _=new f({alg:S});_.init(n,s),_.updateString(I);var P=_.sign();j=d.crypto.ECDSA.asn1SigToConcatSig(P)}else if(S!="none"){var _=new f({alg:S});_.init(n,s),_.updateString(I),j=_.sign()}var k=er(j);return I+"."+k};d.jws.JWS.verify=function(e,t,r){var n=d,s=n.jws,a=s.JWS,i=a.readSafeJSONString,c=n.crypto,l=c.ECDSA,h=c.Mac,v=c.Signature,E;if(typeof Ke!==void 0&&(E=Ke),!jp(e))return!1;var p=e.split(".");if(p.length!==3)return!1;var f=p[0],A=p[1],m=f+"."+A,b=Dt(p[2]),w=i(Xn(p[0])),S=null,F=null;if(w.alg===void 0)throw"algorithm not specified in header";if(S=w.alg,F=S.substr(0,2),r!=null&&Object.prototype.toString.call(r)==="[object Array]"&&r.length>0){var D=":"+r.join(":")+":";if(D.indexOf(":"+S+":")==-1)throw"algorithm '"+S+"' not accepted in the list"}if(S!="none"&&t===null)throw"key shall be specified to verify.";if(typeof t=="string"&&t.indexOf("-----BEGIN ")!=-1&&(t=rt.getKey(t)),(F=="RS"||F=="PS")&&!(t instanceof E))throw"key shall be a RSAKey obj for RS* and PS* algs";if(F=="ES"&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";S=="none";var I=null;if(a.jwsalg2sigalg[w.alg]===void 0)throw"unsupported alg name: "+S;if(I=a.jwsalg2sigalg[S],I=="none")throw"not supported";if(I.substr(0,4)=="Hmac"){var j=null;if(t===void 0)throw"hexadecimal key shall be specified for HMAC";var q=new h({alg:I,pass:t});return q.updateString(m),j=q.doFinal(),b==j}else if(I.indexOf("withECDSA")!=-1){var _=null;try{_=l.concatSigToASN1Sig(b)}catch{return!1}var P=new v({alg:I});return P.init(t),P.updateString(m),P.verify(_)}else{var P=new v({alg:I});return P.init(t),P.updateString(m),P.verify(b)}};d.jws.JWS.parse=function(e){var t=e.split("."),r={},n,s,a;if(t.length!=2&&t.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return n=t[0],s=t[1],t.length==3&&(a=t[2]),r.headerObj=d.jws.JWS.readSafeJSONString(Xn(n)),r.payloadObj=d.jws.JWS.readSafeJSONString(Xn(s)),r.headerPP=JSON.stringify(r.headerObj,null," "),r.payloadObj==null?r.payloadPP=Xn(s):r.payloadPP=JSON.stringify(r.payloadObj,null," "),a!==void 0&&(r.sigHex=Dt(a)),r};d.jws.JWS.verifyJWT=function(e,t,r){var n=d,s=n.jws,a=s.JWS,i=a.readSafeJSONString,c=a.inArray,l=a.includedArray;if(!jp(e))return!1;var h=e.split(".");if(h.length!=3)return!1;var v=h[0],E=h[1],p=v+"."+E,f=Dt(h[2]),A=i(Xn(v)),m=i(Xn(E));if(A.alg===void 0)return!1;if(r.alg===void 0)throw"acceptField.alg shall be specified";if(!c(A.alg,r.alg)||m.iss!==void 0&&typeof r.iss=="object"&&!c(m.iss,r.iss)||m.sub!==void 0&&typeof r.sub=="object"&&!c(m.sub,r.sub))return!1;if(m.aud!==void 0&&typeof r.aud=="object"){if(typeof m.aud=="string"){if(!c(m.aud,r.aud))return!1}else if(typeof m.aud=="object"&&!l(m.aud,r.aud))return!1}var b=s.IntDate.getNow();return r.verifyAt!==void 0&&typeof r.verifyAt=="number"&&(b=r.verifyAt),(r.gracePeriod===void 0||typeof r.gracePeriod!="number")&&(r.gracePeriod=0),!(m.exp!==void 0&&typeof m.exp=="number"&&m.exp+r.gracePeriod"u"||!d)&&(d={});(typeof d.jws>"u"||!d.jws)&&(d.jws={});d.jws.JWSJS=function(){var e=d,t=e.jws,r=t.JWS,n=r.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(s){this.init();var a=s.split(".");if(a.length!=3)throw"malformed input JWS";this.aHeader.push(a[0]),this.sPayload=a[1],this.aSignature.push(a[2])},this.addSignature=function(s,a,i,c){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var h=d.jws.JWS.sign(s,a,this.sPayload,i,c),v=h.split("."),E=v[0],p=v[2];this.aHeader.push(v[0]),this.aSignature.push(v[2])}catch(f){throw this.aHeader.length>l&&this.aHeader.pop(),this.aSignature.length>l&&this.aSignature.pop(),"addSignature failed: "+f}},this.verifyAll=function(s){if(this.aHeader.length!==s.length||this.aSignature.length!==s.length)return!1;for(var a=0;a0)this.aHeader=s.headers;else throw"malformed header";if(typeof s.payload=="string")this.sPayload=s.payload;else throw"malformed signatures";if(s.signatures.length>0)this.aSignature=s.signatures;else throw"malformed signatures"}catch(i){throw"malformed JWS-JS JSON object: "+i}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}};ye.SecureRandom=Hu;ye.rng_seed_time=kp;ye.BigInteger=Z;ye.RSAKey=Ke;ye.ECDSA=d.crypto.ECDSA;ye.DSA=d.crypto.DSA;ye.Signature=d.crypto.Signature;ye.MessageDigest=d.crypto.MessageDigest;ye.Mac=d.crypto.Mac;ye.KEYUTIL=rt;ye.ASN1HEX=Ae;ye.X509=Ne;ye.X509CRL=tF;ye.CryptoJS=Se;ye.b64tohex=Nu;ye.b64toBA=Lg;ye.ECFieldElementFp=tr;ye.ECPointFp=ft;ye.ECCurveFp=es;ye.stoBA=Kg;ye.BAtos=Vg;ye.BAtohex=Ml;ye.stohex=an;ye.stob64=OC;ye.stob64u=kC;ye.b64utos=NC;ye.b64tob64u=ku;ye.b64utob64=uc;ye.hex2b64=Qi;ye.hextob64u=er;ye.b64utohex=Dt;ye.utf8tob64u=sc;ye.b64utoutf8=Xn;ye.utf8tob64=LC;ye.b64toutf8=UC;ye.utf8tohex=ql;ye.hextoutf8=vt;ye.hextorstr=un;ye.rstrtohex=pi;ye.hextob64=Np;ye.hextob64nl=MC;ye.b64nltohex=Gg;ye.hextopem=Br;ye.pemtohex=Ot;ye.hextoArrayBuffer=VC;ye.ArrayBuffertohex=GC;ye.zulutomsec=Lp;ye.msectozulu=zC;ye.zulutosec=zg;ye.zulutodate=WC;ye.datetozulu=YC;ye.uricmptohex=Vl;ye.hextouricmp=Gl;ye.ipv6tohex=Pp;ye.hextoipv6=$p;ye.hextoip=Nl;ye.iptohex=Up;ye.ucs2hextoutf8=Hp;ye.encodeURIComponentAll=zl;ye.newline_toUnix=XC;ye.newline_toDos=JC;ye.hextoposhex=Rp;ye.intarystrtohex=ZC;ye.strdiffidx=QC;ye.oidtohex=Xg;ye.hextooid=Wl;ye.strpad=Ll;ye.bitstrtoint=Zg;ye.inttobitstr=Qg;ye.bitstrtobinstr=em;ye.binstrtobitstr=eF;ye.isBase64URLDot=jp;ye.namearraytobinstr=Ul;ye.extendClass=fe;ye.foldnl=Kl;ye.b64topem=qC;ye.pemtob64=KC;ye.timeogen=Wg;ye.aryval=St;ye.inttohex=Jg;ye.twoscompl=oc;ye.KJUR=d;ye.crypto=d.crypto;ye.asn1=d.asn1;ye.jws=d.jws;ye.lang=d.lang;ye.VERSION=lS;ye.VERSION_FULL=fS});var Da=be((L7,Ba)=>{"use strict";function am(e){return typeof e>"u"||e===null}function nF(e){return typeof e=="object"&&e!==null}function iF(e){return Array.isArray(e)?e:am(e)?[]:[e]}function sF(e,t){var r,n,s,a;if(t)for(a=Object.keys(t),r=0,n=a.length;r{"use strict";function cc(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}cc.prototype=Object.create(Error.prototype);cc.prototype.constructor=cc;cc.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};um.exports=cc});var lm=be((H7,cm)=>{"use strict";var om=Da();function qp(e,t,r,n,s){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=s}qp.prototype.getSnippet=function(t,r){var n,s,a,i,c;if(!this.buffer)return null;for(t=t||4,r=r||75,n="",s=this.position;s>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(s-1))===-1;)if(s-=1,this.position-s>r/2-1){n=" ... ",s+=5;break}for(a="",i=this.position;ir/2-1){a=" ... ",i-=5;break}return c=this.buffer.slice(s,i),om.repeat(" ",t)+n+c+a+` +`+om.repeat(" ",t+this.position-s+n.length)+"^"};qp.prototype.toString=function(t){var r,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(n+=`: +`+r)),n};cm.exports=qp});var rr=be((j7,hm)=>{"use strict";var fm=ju(),oF=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],cF=["scalar","sequence","mapping"];function lF(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function fF(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(oF.indexOf(r)===-1)throw new fm('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=lF(t.styleAliases||null),cF.indexOf(this.kind)===-1)throw new fm('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}hm.exports=fF});var Pa=be((M7,dm)=>{"use strict";var pm=Da(),Yl=ju(),hF=rr();function Kp(e,t,r){var n=[];return e.include.forEach(function(s){r=Kp(s,t,r)}),e[t].forEach(function(s){r.forEach(function(a,i){a.tag===s.tag&&a.kind===s.kind&&n.push(i)}),r.push(s)}),r.filter(function(s,a){return n.indexOf(a)===-1})}function pF(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function n(s){e[s.kind][s.tag]=e.fallback[s.tag]=s}for(t=0,r=arguments.length;t{"use strict";var dF=rr();gm.exports=new dF("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var wm=be((K7,vm)=>{"use strict";var gF=rr();vm.exports=new gF("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Em=be((V7,Am)=>{"use strict";var mF=rr();Am.exports=new mF("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var Xl=be((G7,ym)=>{"use strict";var vF=Pa();ym.exports=new vF({explicit:[mm(),wm(),Em()]})});var bm=be((z7,Sm)=>{"use strict";var wF=rr();function AF(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function EF(){return null}function yF(e){return e===null}Sm.exports=new wF("tag:yaml.org,2002:null",{kind:"scalar",resolve:AF,construct:EF,predicate:yF,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Fm=be((W7,Cm)=>{"use strict";var SF=rr();function bF(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function CF(e){return e==="true"||e==="True"||e==="TRUE"}function FF(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Cm.exports=new SF("tag:yaml.org,2002:bool",{kind:"scalar",resolve:bF,construct:CF,predicate:FF,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var Im=be((Y7,_m)=>{"use strict";var _F=Da(),IF=rr();function BF(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function DF(e){return 48<=e&&e<=55}function PF(e){return 48<=e&&e<=57}function $F(e){if(e===null)return!1;var t=e.length,r=0,n=!1,s;if(!t)return!1;if(s=e[r],(s==="-"||s==="+")&&(s=e[++r]),s==="0"){if(r+1===t)return!0;if(s=e[++r],s==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Pm=be((X7,Dm)=>{"use strict";var Bm=Da(),xF=rr(),OF=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function kF(e){return!(e===null||!OF.test(e)||e[e.length-1]==="_")}function NF(e){var t,r,n,s;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,s=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(a){s.unshift(parseFloat(a,10))}),t=0,n=1,s.forEach(function(a){t+=a*n,n*=60}),r*t):r*parseFloat(t,10)}var LF=/^[-+]?[0-9]+e/;function UF(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Bm.isNegativeZero(e))return"-0.0";return r=e.toString(10),LF.test(r)?r.replace("e",".e"):r}function HF(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Bm.isNegativeZero(e))}Dm.exports=new xF("tag:yaml.org,2002:float",{kind:"scalar",resolve:kF,construct:NF,predicate:HF,represent:UF,defaultStyle:"lowercase"})});var Vp=be((J7,$m)=>{"use strict";var jF=Pa();$m.exports=new jF({include:[Xl()],implicit:[bm(),Fm(),Im(),Pm()]})});var Gp=be((Z7,Rm)=>{"use strict";var MF=Pa();Rm.exports=new MF({include:[Vp()]})});var km=be((Q7,Om)=>{"use strict";var qF=rr(),Tm=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),xm=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function KF(e){return e===null?!1:Tm.exec(e)!==null||xm.exec(e)!==null}function VF(e){var t,r,n,s,a,i,c,l=0,h=null,v,E,p;if(t=Tm.exec(e),t===null&&(t=xm.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(r,n,s));if(a=+t[4],i=+t[5],c=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(v=+t[10],E=+(t[11]||0),h=(v*60+E)*6e4,t[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,s,a,i,c,l)),h&&p.setTime(p.getTime()-h),p}function GF(e){return e.toISOString()}Om.exports=new qF("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:KF,construct:VF,instanceOf:Date,represent:GF})});var Lm=be((eP,Nm)=>{"use strict";var zF=rr();function WF(e){return e==="<<"||e===null}Nm.exports=new zF("tag:yaml.org,2002:merge",{kind:"scalar",resolve:WF})});var jm=be((tP,Hm)=>{"use strict";var $a;try{Um=ba,$a=Um("buffer").Buffer}catch{}var Um,YF=rr(),zp=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function XF(e){if(e===null)return!1;var t,r,n=0,s=e.length,a=zp;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function JF(e){var t,r,n=e.replace(/[\r\n=]/g,""),s=n.length,a=zp,i=0,c=[];for(t=0;t>16&255),c.push(i>>8&255),c.push(i&255)),i=i<<6|a.indexOf(n.charAt(t));return r=s%4*6,r===0?(c.push(i>>16&255),c.push(i>>8&255),c.push(i&255)):r===18?(c.push(i>>10&255),c.push(i>>2&255)):r===12&&c.push(i>>4&255),$a?$a.from?$a.from(c):new $a(c):c}function ZF(e){var t="",r=0,n,s,a=e.length,i=zp;for(n=0;n>18&63],t+=i[r>>12&63],t+=i[r>>6&63],t+=i[r&63]),r=(r<<8)+e[n];return s=a%3,s===0?(t+=i[r>>18&63],t+=i[r>>12&63],t+=i[r>>6&63],t+=i[r&63]):s===2?(t+=i[r>>10&63],t+=i[r>>4&63],t+=i[r<<2&63],t+=i[64]):s===1&&(t+=i[r>>2&63],t+=i[r<<4&63],t+=i[64],t+=i[64]),t}function QF(e){return $a&&$a.isBuffer(e)}Hm.exports=new YF("tag:yaml.org,2002:binary",{kind:"scalar",resolve:XF,construct:JF,predicate:QF,represent:ZF})});var qm=be((nP,Mm)=>{"use strict";var e8=rr(),t8=Object.prototype.hasOwnProperty,r8=Object.prototype.toString;function n8(e){if(e===null)return!0;var t=[],r,n,s,a,i,c=e;for(r=0,n=c.length;r{"use strict";var s8=rr(),a8=Object.prototype.toString;function u8(e){if(e===null)return!0;var t,r,n,s,a,i=e;for(a=new Array(i.length),t=0,r=i.length;t{"use strict";var c8=rr(),l8=Object.prototype.hasOwnProperty;function f8(e){if(e===null)return!0;var t,r=e;for(t in r)if(l8.call(r,t)&&r[t]!==null)return!1;return!0}function h8(e){return e!==null?e:{}}Gm.exports=new c8("tag:yaml.org,2002:set",{kind:"mapping",resolve:f8,construct:h8})});var qu=be((aP,Wm)=>{"use strict";var p8=Pa();Wm.exports=new p8({include:[Gp()],implicit:[km(),Lm()],explicit:[jm(),qm(),Vm(),zm()]})});var Xm=be((uP,Ym)=>{"use strict";var d8=rr();function g8(){return!0}function m8(){}function v8(){return""}function w8(e){return typeof e>"u"}Ym.exports=new d8("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:g8,construct:m8,predicate:w8,represent:v8})});var Zm=be((oP,Jm)=>{"use strict";var A8=rr();function E8(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";return!(t[0]==="/"&&(r&&(n=r[1]),n.length>3||t[t.length-n.length-1]!=="/"))}function y8(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return t[0]==="/"&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)}function S8(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function b8(e){return Object.prototype.toString.call(e)==="[object RegExp]"}Jm.exports=new A8("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:E8,construct:y8,predicate:b8,represent:S8})});var tv=be((cP,ev)=>{"use strict";var Jl;try{Qm=ba,Jl=Qm("esprima")}catch{typeof window<"u"&&(Jl=window.esprima)}var Qm,C8=rr();function F8(e){if(e===null)return!1;try{var t="("+e+")",r=Jl.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function _8(e){var t="("+e+")",r=Jl.parse(t,{range:!0}),n=[],s;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(a){n.push(a.name)}),s=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(n,t.slice(s[0]+1,s[1]-1)):new Function(n,"return "+t.slice(s[0],s[1]))}function I8(e){return e.toString()}function B8(e){return Object.prototype.toString.call(e)==="[object Function]"}ev.exports=new C8("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:F8,construct:_8,predicate:B8,represent:I8})});var lc=be((fP,nv)=>{"use strict";var rv=Pa();nv.exports=rv.DEFAULT=new rv({include:[qu()],explicit:[Xm(),Zm(),tv()]})});var Sv=be((hP,fc)=>{"use strict";var ts=Da(),lv=ju(),D8=lm(),fv=qu(),P8=lc(),Hs=Object.prototype.hasOwnProperty,Zl=1,hv=2,pv=3,Ql=4,Wp=1,$8=2,iv=3,R8=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,T8=/[\x85\u2028\u2029]/,x8=/[,\[\]\{\}]/,dv=/^(?:!|!!|![a-z\-]+!)$/i,gv=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function sv(e){return Object.prototype.toString.call(e)}function di(e){return e===10||e===13}function Ta(e){return e===9||e===32}function on(e){return e===9||e===32||e===10||e===13}function Ku(e){return e===44||e===91||e===93||e===123||e===125}function O8(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function k8(e){return e===120?2:e===117?4:e===85?8:0}function N8(e){return 48<=e&&e<=57?e-48:-1}function av(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function L8(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var mv=new Array(256),vv=new Array(256);for(Ra=0;Ra<256;Ra++)mv[Ra]=av(Ra)?1:0,vv[Ra]=av(Ra);var Ra;function U8(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||P8,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function wv(e,t){return new lv(t,new D8(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Ue(e,t){throw wv(e,t)}function ef(e,t){e.onWarning&&e.onWarning.call(null,wv(e,t))}var uv={YAML:function(t,r,n){var s,a,i;t.version!==null&&Ue(t,"duplication of %YAML directive"),n.length!==1&&Ue(t,"YAML directive accepts exactly one argument"),s=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),s===null&&Ue(t,"ill-formed argument of the YAML directive"),a=parseInt(s[1],10),i=parseInt(s[2],10),a!==1&&Ue(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=i<2,i!==1&&i!==2&&ef(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var s,a;n.length!==2&&Ue(t,"TAG directive accepts exactly two arguments"),s=n[0],a=n[1],dv.test(s)||Ue(t,"ill-formed tag handle (first argument) of the TAG directive"),Hs.call(t.tagMap,s)&&Ue(t,'there is a previously declared suffix for "'+s+'" tag handle'),gv.test(a)||Ue(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[s]=a}};function Us(e,t,r,n){var s,a,i,c;if(t1&&(e.result+=ts.repeat(` +`,t-1))}function H8(e,t,r){var n,s,a,i,c,l,h,v,E=e.kind,p=e.result,f;if(f=e.input.charCodeAt(e.position),on(f)||Ku(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(s=e.input.charCodeAt(e.position+1),on(s)||r&&Ku(s)))return!1;for(e.kind="scalar",e.result="",a=i=e.position,c=!1;f!==0;){if(f===58){if(s=e.input.charCodeAt(e.position+1),on(s)||r&&Ku(s))break}else if(f===35){if(n=e.input.charCodeAt(e.position-1),on(n))break}else{if(e.position===e.lineStart&&tf(e)||r&&Ku(f))break;if(di(f))if(l=e.line,h=e.lineStart,v=e.lineIndent,Jt(e,!1,-1),e.lineIndent>=t){c=!0,f=e.input.charCodeAt(e.position);continue}else{e.position=i,e.line=l,e.lineStart=h,e.lineIndent=v;break}}c&&(Us(e,a,i,!1),Xp(e,e.line-l),a=i=e.position,c=!1),Ta(f)||(i=e.position+1),f=e.input.charCodeAt(++e.position)}return Us(e,a,i,!1),e.result?!0:(e.kind=E,e.result=p,!1)}function j8(e,t){var r,n,s;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=s=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(Us(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,s=e.position;else return!0;else di(r)?(Us(e,n,s,!0),Xp(e,Jt(e,!1,t)),n=s=e.position):e.position===e.lineStart&&tf(e)?Ue(e,"unexpected end of the document within a single quoted scalar"):(e.position++,s=e.position);Ue(e,"unexpected end of the stream within a single quoted scalar")}function M8(e,t){var r,n,s,a,i,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return Us(e,r,e.position,!0),e.position++,!0;if(c===92){if(Us(e,r,e.position,!0),c=e.input.charCodeAt(++e.position),di(c))Jt(e,!1,t);else if(c<256&&mv[c])e.result+=vv[c],e.position++;else if((i=k8(c))>0){for(s=i,a=0;s>0;s--)c=e.input.charCodeAt(++e.position),(i=O8(c))>=0?a=(a<<4)+i:Ue(e,"expected hexadecimal character");e.result+=L8(a),e.position++}else Ue(e,"unknown escape sequence");r=n=e.position}else di(c)?(Us(e,r,n,!0),Xp(e,Jt(e,!1,t)),r=n=e.position):e.position===e.lineStart&&tf(e)?Ue(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Ue(e,"unexpected end of the stream within a double quoted scalar")}function q8(e,t){var r=!0,n,s=e.tag,a,i=e.anchor,c,l,h,v,E,p={},f,A,m,b;if(b=e.input.charCodeAt(e.position),b===91)l=93,E=!1,a=[];else if(b===123)l=125,E=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),b=e.input.charCodeAt(++e.position);b!==0;){if(Jt(e,!0,t),b=e.input.charCodeAt(e.position),b===l)return e.position++,e.tag=s,e.anchor=i,e.kind=E?"mapping":"sequence",e.result=a,!0;r||Ue(e,"missed comma between flow collection entries"),A=f=m=null,h=v=!1,b===63&&(c=e.input.charCodeAt(e.position+1),on(c)&&(h=v=!0,e.position++,Jt(e,!0,t))),n=e.line,Gu(e,t,Zl,!1,!0),A=e.tag,f=e.result,Jt(e,!0,t),b=e.input.charCodeAt(e.position),(v||e.line===n)&&b===58&&(h=!0,b=e.input.charCodeAt(++e.position),Jt(e,!0,t),Gu(e,t,Zl,!1,!0),m=e.result),E?Vu(e,a,p,A,f,m):h?a.push(Vu(e,null,p,A,f,m)):a.push(f),Jt(e,!0,t),b=e.input.charCodeAt(e.position),b===44?(r=!0,b=e.input.charCodeAt(++e.position)):r=!1}Ue(e,"unexpected end of the stream within a flow collection")}function K8(e,t){var r,n,s=Wp,a=!1,i=!1,c=t,l=0,h=!1,v,E;if(E=e.input.charCodeAt(e.position),E===124)n=!1;else if(E===62)n=!0;else return!1;for(e.kind="scalar",e.result="";E!==0;)if(E=e.input.charCodeAt(++e.position),E===43||E===45)Wp===s?s=E===43?iv:$8:Ue(e,"repeat of a chomping mode identifier");else if((v=N8(E))>=0)v===0?Ue(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):i?Ue(e,"repeat of an indentation width identifier"):(c=t+v-1,i=!0);else break;if(Ta(E)){do E=e.input.charCodeAt(++e.position);while(Ta(E));if(E===35)do E=e.input.charCodeAt(++e.position);while(!di(E)&&E!==0)}for(;E!==0;){for(Yp(e),e.lineIndent=0,E=e.input.charCodeAt(e.position);(!i||e.lineIndentc&&(c=e.lineIndent),di(E)){l++;continue}if(e.lineIndentt)&&l!==0)Ue(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(Gu(e,t,Ql,!0,s)&&(A?p=e.result:f=e.result),A||(Vu(e,h,v,E,p,f,a,i),E=p=f=null),Jt(e,!0,-1),b=e.input.charCodeAt(e.position)),e.lineIndent>t&&b!==0)Ue(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),E=0,p=e.implicitTypes.length;E tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result)?(e.result=f.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Ue(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Ue(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||v}function Y8(e){var t=e.position,r,n,s,a=!1,i;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(i=e.input.charCodeAt(e.position))!==0&&(Jt(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||i!==37));){for(a=!0,i=e.input.charCodeAt(++e.position),r=e.position;i!==0&&!on(i);)i=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),s=[],n.length<1&&Ue(e,"directive name must not be less than one character in length");i!==0;){for(;Ta(i);)i=e.input.charCodeAt(++e.position);if(i===35){do i=e.input.charCodeAt(++e.position);while(i!==0&&!di(i));break}if(di(i))break;for(r=e.position;i!==0&&!on(i);)i=e.input.charCodeAt(++e.position);s.push(e.input.slice(r,e.position))}i!==0&&Yp(e),Hs.call(uv,n)?uv[n](e,n,s):ef(e,'unknown document directive "'+n+'"')}if(Jt(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Jt(e,!0,-1)):a&&Ue(e,"directives end mark is expected"),Gu(e,e.lineIndent-1,Ql,!1,!0),Jt(e,!0,-1),e.checkLineBreaks&&T8.test(e.input.slice(t,e.position))&&ef(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&tf(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Jt(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=Av(e,r);if(typeof t!="function")return n;for(var s=0,a=n.length;s"u"&&(r=t,t=null),Ev(e,t,ts.extend({schema:fv},r))}function J8(e,t){return yv(e,ts.extend({schema:fv},t))}fc.exports.loadAll=Ev;fc.exports.load=yv;fc.exports.safeLoadAll=X8;fc.exports.safeLoad=J8});var Vv=be((pP,e0)=>{"use strict";var pc=Da(),dc=ju(),Z8=lc(),Q8=qu(),Pv=Object.prototype.toString,$v=Object.prototype.hasOwnProperty,e_=9,hc=10,t_=13,r_=32,n_=33,i_=34,Rv=35,s_=37,a_=38,u_=39,o_=42,Tv=44,c_=45,xv=58,l_=61,f_=62,h_=63,p_=64,Ov=91,kv=93,d_=96,Nv=123,g_=124,Lv=125,Dr={};Dr[0]="\\0";Dr[7]="\\a";Dr[8]="\\b";Dr[9]="\\t";Dr[10]="\\n";Dr[11]="\\v";Dr[12]="\\f";Dr[13]="\\r";Dr[27]="\\e";Dr[34]='\\"';Dr[92]="\\\\";Dr[133]="\\N";Dr[160]="\\_";Dr[8232]="\\L";Dr[8233]="\\P";var m_=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function v_(e,t){var r,n,s,a,i,c,l;if(t===null)return{};for(r={},n=Object.keys(t),s=0,a=n.length;s0?e.charCodeAt(a-1):null,p=p&&Fv(i,c)}else{for(a=0;an&&e[E+1]!==" ",E=a);else if(!zu(i))return rf;c=a>0?e.charCodeAt(a-1):null,p=p&&Fv(i,c)}h=h||v&&a-E-1>n&&e[E+1]!==" "}return!l&&!h?p&&!s(e)?Hv:jv:r>9&&Uv(e)?rf:h?qv:Mv}function b_(e,t,r,n){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&m_.indexOf(t)!==-1)return"'"+t+"'";var s=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),i=n||e.flowLevel>-1&&r>=e.flowLevel;function c(l){return A_(e,l)}switch(S_(t,i,e.indent,a,c)){case Hv:return t;case jv:return"'"+t.replace(/'/g,"''")+"'";case Mv:return"|"+_v(t,e.indent)+Iv(Cv(t,s));case qv:return">"+_v(t,e.indent)+Iv(Cv(C_(t,a),s));case rf:return'"'+F_(t,a)+'"';default:throw new dc("impossible error: invalid scalar style")}}()}function _v(e,t){var r=Uv(e)?String(t):"",n=e[e.length-1]===` +`,s=n&&(e[e.length-2]===` +`||e===` +`),a=s?"+":n?"":"-";return r+a+` +`}function Iv(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function C_(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=e.indexOf(` +`);return h=h!==-1?h:e.length,r.lastIndex=h,Bv(e.slice(0,h),t)}(),s=e[0]===` +`||e[0]===" ",a,i;i=r.exec(e);){var c=i[1],l=i[2];a=l[0]===" ",n+=c+(!s&&!a&&l!==""?` +`:"")+Bv(l,t),s=a}return n}function Bv(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,s=0,a,i=0,c=0,l="";n=r.exec(e);)c=n.index,c-s>t&&(a=i>s?i:c,l+=` +`+e.slice(s,a),s=a+1),i=c;return l+=` +`,e.length-s>t&&i>s?l+=e.slice(s,i)+` +`+e.slice(i+1):l+=e.slice(s),l.slice(1)}function F_(e){for(var t="",r,n,s,a=0;a=55296&&r<=56319&&(n=e.charCodeAt(a+1),n>=56320&&n<=57343)){t+=bv((r-55296)*1024+n-56320+65536),a++;continue}s=Dr[r],t+=!s&&zu(r)?e[a]:s||bv(r)}return t}function __(e,t,r){var n="",s=e.tag,a,i;for(a=0,i=r.length;a1024&&(v+="? "),v+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),xa(e,t,h,!1,!1)&&(v+=e.dump,n+=v));e.tag=s,e.dump="{"+n+"}"}function D_(e,t,r,n){var s="",a=e.tag,i=Object.keys(r),c,l,h,v,E,p;if(e.sortKeys===!0)i.sort();else if(typeof e.sortKeys=="function")i.sort(e.sortKeys);else if(e.sortKeys)throw new dc("sortKeys must be a boolean or a function");for(c=0,l=i.length;c1024,E&&(e.dump&&hc===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,E&&(p+=Jp(e,t)),xa(e,t+1,v,!0,E)&&(e.dump&&hc===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,s+=p));e.tag=a,e.dump=s||"{}"}function Dv(e,t,r){var n,s,a,i,c,l;for(s=r?e.explicitTypes:e.implicitTypes,a=0,i=s.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function xa(e,t,r,n,s,a){e.tag=null,e.dump=r,Dv(e,r,!1)||Dv(e,r,!0);var i=Pv.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var c=i==="[object Object]"||i==="[object Array]",l,h;if(c&&(l=e.duplicates.indexOf(r),h=l!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(s=!1),h&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(c&&h&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),i==="[object Object]")n&&Object.keys(e.dump).length!==0?(D_(e,t,e.dump,s),h&&(e.dump="&ref_"+l+e.dump)):(B_(e,t,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(i==="[object Array]"){var v=e.noArrayIndent&&t>0?t-1:t;n&&e.dump.length!==0?(I_(e,v,e.dump,s),h&&(e.dump="&ref_"+l+e.dump)):(__(e,v,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump))}else if(i==="[object String]")e.tag!=="?"&&b_(e,e.dump,t,a);else{if(e.skipInvalid)return!1;throw new dc("unacceptable kind of an object to dump "+i)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function P_(e,t){var r=[],n=[],s,a;for(Zp(e,r,n),s=0,a=n.length;s{"use strict";var nf=Sv(),Gv=Vv();function sf(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}jt.exports.Type=rr();jt.exports.Schema=Pa();jt.exports.FAILSAFE_SCHEMA=Xl();jt.exports.JSON_SCHEMA=Vp();jt.exports.CORE_SCHEMA=Gp();jt.exports.DEFAULT_SAFE_SCHEMA=qu();jt.exports.DEFAULT_FULL_SCHEMA=lc();jt.exports.load=nf.load;jt.exports.loadAll=nf.loadAll;jt.exports.safeLoad=nf.safeLoad;jt.exports.safeLoadAll=nf.safeLoadAll;jt.exports.dump=Gv.dump;jt.exports.safeDump=Gv.safeDump;jt.exports.YAMLException=ju();jt.exports.MINIMAL_SCHEMA=Xl();jt.exports.SAFE_SCHEMA=qu();jt.exports.DEFAULT_SCHEMA=lc();jt.exports.scan=sf("scan");jt.exports.parse=sf("parse");jt.exports.compose=sf("compose");jt.exports.addConstructor=sf("addConstructor")});var Yv=be((gP,Wv)=>{"use strict";var R_=zv();Wv.exports=R_});var Jv=be((mP,Xv)=>{"use strict";var af=Yv();Xv.exports={safeLoad:af.safeLoad,load:af.load,safeDump:af.safeDump,dump:af.dump}});var n0=be(Wu=>{"use strict";Object.defineProperty(Wu,"__esModule",{value:!0});Wu.isCorrect=Wu.isInSubnet=void 0;function q_(e){return this.subnetMask{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.RE_SUBNET_STRING=vi.RE_ADDRESS=vi.GROUPS=vi.BITS=void 0;vi.BITS=32;vi.GROUPS=4;vi.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;vi.RE_SUBNET_STRING=/\/\d{1,2}$/});var pf=be(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.AddressError=void 0;var s0=class extends Error{constructor(t,r){super(t),this.name="AddressError",r!==null&&(this.parseMessage=r)}};hf.AddressError=s0});var a0=be((df,u2)=>{(function(){var e,t=0xdeadbeefcafe,r=(t&16777215)==15715070;function n($,T,L){$!=null&&(typeof $=="number"?this.fromNumber($,T,L):T==null&&typeof $!="string"?this.fromString($,256):this.fromString($,T))}function s(){return new n(null)}function a($,T,L,J,pe,me){for(;--me>=0;){var Fe=T*this[$++]+L[J]+pe;pe=Math.floor(Fe/67108864),L[J++]=Fe&67108863}return pe}function i($,T,L,J,pe,me){for(var Fe=T&32767,Pe=T>>15;--me>=0;){var wt=this[$]&32767,Lt=this[$++]>>15,mr=Pe*wt+Lt*Fe;wt=Fe*wt+((mr&32767)<<15)+L[J]+(pe&1073741823),pe=(wt>>>30)+(mr>>>15)+Pe*Lt+(pe>>>30),L[J++]=wt&1073741823}return pe}function c($,T,L,J,pe,me){for(var Fe=T&16383,Pe=T>>14;--me>=0;){var wt=this[$]&16383,Lt=this[$++]>>14,mr=Pe*wt+Lt*Fe;wt=Fe*wt+((mr&16383)<<14)+L[J]+pe,pe=(wt>>28)+(mr>>14)+Pe*Lt,L[J++]=wt&268435455}return pe}var l=typeof navigator<"u";l&&r&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=i,e=30):l&&r&&navigator.appName!="Netscape"?(n.prototype.am=a,e=26):(n.prototype.am=c,e=28),n.prototype.DB=e,n.prototype.DM=(1<=0;--T)$[T]=this[T];$.t=this.t,$.s=this.s}function w($){this.t=1,this.s=$<0?-1:0,$>0?this[0]=$:$<-1?this[0]=$+this.DV:this.t=0}function S($){var T=s();return T.fromInt($),T}function F($,T){var L;if(T==16)L=4;else if(T==8)L=3;else if(T==256)L=8;else if(T==2)L=1;else if(T==32)L=5;else if(T==4)L=2;else{this.fromRadix($,T);return}this.t=0,this.s=0;for(var J=$.length,pe=!1,me=0;--J>=0;){var Fe=L==8?$[J]&255:m($,J);if(Fe<0){$.charAt(J)=="-"&&(pe=!0);continue}pe=!1,me==0?this[this.t++]=Fe:me+L>this.DB?(this[this.t-1]|=(Fe&(1<>this.DB-me):this[this.t-1]|=Fe<=this.DB&&(me-=this.DB)}L==8&&$[0]&128&&(this.s=-1,me>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==$;)--this.t}function I($){if(this.s<0)return"-"+this.negate().toString($);var T;if($==16)T=4;else if($==8)T=3;else if($==2)T=1;else if($==32)T=5;else if($==4)T=2;else return this.toRadix($);var L=(1<0)for(Pe>Pe)>0&&(pe=!0,me=A(J));Fe>=0;)Pe>(Pe+=this.DB-T)):(J=this[Fe]>>(Pe-=T)&L,Pe<=0&&(Pe+=this.DB,--Fe)),J>0&&(pe=!0),pe&&(me+=A(J));return pe?me:"0"}function j(){var $=s();return n.ZERO.subTo(this,$),$}function q(){return this.s<0?this.negate():this}function _($){var T=this.s-$.s;if(T!=0)return T;var L=this.t;if(T=L-$.t,T!=0)return this.s<0?-T:T;for(;--L>=0;)if((T=this[L]-$[L])!=0)return T;return 0}function P($){var T=1,L;return(L=$>>>16)!=0&&($=L,T+=16),(L=$>>8)!=0&&($=L,T+=8),(L=$>>4)!=0&&($=L,T+=4),(L=$>>2)!=0&&($=L,T+=2),(L=$>>1)!=0&&($=L,T+=1),T}function k(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)}function U($,T){var L;for(L=this.t-1;L>=0;--L)T[L+$]=this[L];for(L=$-1;L>=0;--L)T[L]=0;T.t=this.t+$,T.s=this.s}function M($,T){for(var L=$;L=0;--Pe)T[Pe+me+1]=this[Pe]>>J|Fe,Fe=(this[Pe]&pe)<=0;--Pe)T[Pe]=0;T[me]=Fe,T.t=this.t+me+1,T.s=this.s,T.clamp()}function K($,T){T.s=this.s;var L=Math.floor($/this.DB);if(L>=this.t){T.t=0;return}var J=$%this.DB,pe=this.DB-J,me=(1<>J;for(var Fe=L+1;Fe>J;J>0&&(T[this.t-L-1]|=(this.s&me)<>=this.DB;if($.t>=this.DB;J+=this.s}else{for(J+=this.s;L<$.t;)J-=$[L],T[L++]=J&this.DM,J>>=this.DB;J-=$.s}T.s=J<0?-1:0,J<-1?T[L++]=this.DV+J:J>0&&(T[L++]=J),T.t=L,T.clamp()}function z($,T){var L=this.abs(),J=$.abs(),pe=L.t;for(T.t=pe+J.t;--pe>=0;)T[pe]=0;for(pe=0;pe=0;)$[L]=0;for(L=0;L=T.DV&&($[L+T.t]-=T.DV,$[L+T.t+1]=1)}$.t>0&&($[$.t-1]+=T.am(L,T[L],$,2*L,0,1)),$.s=0,$.clamp()}function Ee($,T,L){var J=$.abs();if(!(J.t<=0)){var pe=this.abs();if(pe.t0?(J.lShiftTo(wt,me),pe.lShiftTo(wt,L)):(J.copyTo(me),pe.copyTo(L));var Lt=me.t,mr=me[Lt-1];if(mr!=0){var vr=mr*(1<1?me[Lt-2]>>this.F2:0),hn=this.FV/vr,Bs=(1<=0&&(L[L.t++]=1,L.subTo($n,L)),n.ONE.dlShiftTo(Lt,$n),$n.subTo(me,me);me.t=0;){var ha=L[--wr]==mr?this.DM:Math.floor(L[wr]*hn+(L[wr-1]+Lr)*Bs);if((L[wr]+=me.am(0,ha,L,Ds,0,Lt))0&&L.rShiftTo(wt,L),Fe<0&&n.ZERO.subTo(L,L)}}}function we($){var T=s();return this.abs().divRemTo($,null,T),this.s<0&&T.compareTo(n.ZERO)>0&&$.subTo(T,T),T}function _e($){this.m=$}function He($){return $.s<0||$.compareTo(this.m)>=0?$.mod(this.m):$}function ue($){return $}function Ce($){$.divRemTo(this.m,null,$)}function Oe($,T,L){$.multiplyTo(T,L),this.reduce(L)}function sr($,T){$.squareTo(T),this.reduce(T)}_e.prototype.convert=He,_e.prototype.revert=ue,_e.prototype.reduce=Ce,_e.prototype.mulTo=Oe,_e.prototype.sqrTo=sr;function _t(){if(this.t<1)return 0;var $=this[0];if(!($&1))return 0;var T=$&3;return T=T*(2-($&15)*T)&15,T=T*(2-($&255)*T)&255,T=T*(2-(($&65535)*T&65535))&65535,T=T*(2-$*T%this.DV)%this.DV,T>0?this.DV-T:-T}function lt($){this.m=$,this.mp=$.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<$.DB-15)-1,this.mt2=2*$.t}function qt($){var T=s();return $.abs().dlShiftTo(this.m.t,T),T.divRemTo(this.m,null,T),$.s<0&&T.compareTo(n.ZERO)>0&&this.m.subTo(T,T),T}function $t($){var T=s();return $.copyTo(T),this.reduce(T),T}function Qe($){for(;$.t<=this.mt2;)$[$.t++]=0;for(var T=0;T>15)*this.mpl&this.um)<<15)&$.DM;for(L=T+this.m.t,$[L]+=this.m.am(0,J,$,T,0,this.m.t);$[L]>=$.DV;)$[L]-=$.DV,$[++L]++}$.clamp(),$.drShiftTo(this.m.t,$),$.compareTo(this.m)>=0&&$.subTo(this.m,$)}function bt($,T){$.squareTo(T),this.reduce(T)}function Je($,T,L){$.multiplyTo(T,L),this.reduce(L)}lt.prototype.convert=qt,lt.prototype.revert=$t,lt.prototype.reduce=Qe,lt.prototype.mulTo=Je,lt.prototype.sqrTo=bt;function ht(){return(this.t>0?this[0]&1:this.s)==0}function Kt($,T){if($>4294967295||$<1)return n.ONE;var L=s(),J=s(),pe=T.convert(this),me=P($)-1;for(pe.copyTo(L);--me>=0;)if(T.sqrTo(L,J),($&1<0)T.mulTo(J,pe,L);else{var Fe=L;L=J,J=Fe}return T.revert(L)}function ze($,T){var L;return $<256||T.isEven()?L=new _e(T):L=new lt(T),this.exp($,L)}n.prototype.copyTo=b,n.prototype.fromInt=w,n.prototype.fromString=F,n.prototype.clamp=D,n.prototype.dlShiftTo=U,n.prototype.drShiftTo=M,n.prototype.lShiftTo=W,n.prototype.rShiftTo=K,n.prototype.subTo=V,n.prototype.multiplyTo=z,n.prototype.squareTo=re,n.prototype.divRemTo=Ee,n.prototype.invDigit=_t,n.prototype.isEven=ht,n.prototype.exp=Kt,n.prototype.toString=I,n.prototype.negate=j,n.prototype.abs=q,n.prototype.compareTo=_,n.prototype.bitLength=k,n.prototype.mod=we,n.prototype.modPowInt=ze,n.ZERO=S(0),n.ONE=S(1);function kt(){var $=s();return this.copyTo($),$}function Pn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function gr(){return this.t==0?this.s:this[0]<<16>>16}function zt($){return Math.floor(Math.LN2*this.DB/Math.log($))}function br(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Js($){if($==null&&($=10),this.signum()==0||$<2||$>36)return"0";var T=this.chunkSize($),L=Math.pow($,T),J=S(L),pe=s(),me=s(),Fe="";for(this.divRemTo(J,pe,me);pe.signum()>0;)Fe=(L+me.intValue()).toString($).substr(1)+Fe,pe.divRemTo(J,pe,me);return me.intValue().toString($)+Fe}function kr($,T){this.fromInt(0),T==null&&(T=10);for(var L=this.chunkSize(T),J=Math.pow(T,L),pe=!1,me=0,Fe=0,Pe=0;Pe<$.length;++Pe){var wt=m($,Pe);if(wt<0){$.charAt(Pe)=="-"&&this.signum()==0&&(pe=!0);continue}Fe=T*Fe+wt,++me>=L&&(this.dMultiply(J),this.dAddOffset(Fe,0),me=0,Fe=0)}me>0&&(this.dMultiply(Math.pow(T,me)),this.dAddOffset(Fe,0)),pe&&n.ZERO.subTo(this,this)}function pt($,T,L){if(typeof T=="number")if($<2)this.fromInt(1);else for(this.fromNumber($,L),this.testBit($-1)||this.bitwiseTo(n.ONE.shiftLeft($-1),Ti,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(T);)this.dAddOffset(2,0),this.bitLength()>$&&this.subTo(n.ONE.shiftLeft($-1),this);else{var J=new Array,pe=$&7;J.length=($>>3)+1,T.nextBytes(J),pe>0?J[0]&=(1<0)for(L>L)!=(this.s&this.DM)>>L&&(T[pe++]=J|this.s<=0;)L<8?(J=(this[$]&(1<>(L+=this.DB-8)):(J=this[$]>>(L-=8)&255,L<=0&&(L+=this.DB,--$)),J&128&&(J|=-256),pe==0&&(this.s&128)!=(J&128)&&++pe,(pe>0||J!=this.s)&&(T[pe++]=J);return T}function We($){return this.compareTo($)==0}function Cr($){return this.compareTo($)<0?this:$}function Zs($){return this.compareTo($)>0?this:$}function Qs($,T,L){var J,pe,me=Math.min($.t,this.t);for(J=0;J>=16,T+=16),$&255||($>>=8,T+=8),$&15||($>>=4,T+=4),$&3||($>>=2,T+=2),$&1||++T,T}function Xa(){for(var $=0;$=this.t?this.s!=0:(this[T]&1<<$%this.DB)!=0}function ho($,T){var L=n.ONE.shiftLeft($);return this.bitwiseTo(L,T,L),L}function po($){return this.changeBit($,Ti)}function go($){return this.changeBit($,xi)}function Fs($){return this.changeBit($,Cs)}function mo($,T){for(var L=0,J=0,pe=Math.min($.t,this.t);L>=this.DB;if($.t>=this.DB;J+=this.s}else{for(J+=this.s;L<$.t;)J+=$[L],T[L++]=J&this.DM,J>>=this.DB;J+=$.s}T.s=J<0?-1:0,J>0?T[L++]=J:J<-1&&(T[L++]=this.DV+J),T.t=L,T.clamp()}function na($){var T=s();return this.addTo($,T),T}function vo($){var T=s();return this.subTo($,T),T}function wo($){var T=s();return this.multiplyTo($,T),T}function Ao(){var $=s();return this.squareTo($),$}function Eo($){var T=s();return this.divRemTo($,T,null),T}function yo($){var T=s();return this.divRemTo($,null,T),T}function So($){var T=s(),L=s();return this.divRemTo($,T,L),new Array(T,L)}function bo($){this[this.t]=this.am(0,$-1,this,0,0,this.t),++this.t,this.clamp()}function Co($,T){if($!=0){for(;this.t<=T;)this[this.t++]=0;for(this[T]+=$;this[T]>=this.DV;)this[T]-=this.DV,++T>=this.t&&(this[this.t++]=0),++this[T]}}function ni(){}function Qa($){return $}function Fo($,T,L){$.multiplyTo(T,L)}function _o($,T){$.squareTo(T)}ni.prototype.convert=Qa,ni.prototype.revert=Qa,ni.prototype.mulTo=Fo,ni.prototype.sqrTo=_o;function Io($){return this.exp($,new ni)}function eu($,T,L){var J=Math.min(this.t+$.t,T);for(L.s=0,L.t=J;J>0;)L[--J]=0;var pe;for(pe=L.t-this.t;J=0;)L[J]=0;for(J=Math.max(T-this.t,0);J<$.t;++J)L[this.t+J-T]=this.am(T-J,$[J],L,0,0,this.t+J-T);L.clamp(),L.drShiftTo(1,L)}function Wr($){this.r2=s(),this.q3=s(),n.ONE.dlShiftTo(2*$.t,this.r2),this.mu=this.r2.divide($),this.m=$}function Bo($){if($.s<0||$.t>2*this.m.t)return $.mod(this.m);if($.compareTo(this.m)<0)return $;var T=s();return $.copyTo(T),this.reduce(T),T}function _s($){return $}function fn($){for($.drShiftTo(this.m.t-1,this.r2),$.t>this.m.t+1&&($.t=this.m.t+1,$.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);$.compareTo(this.r2)<0;)$.dAddOffset(1,this.m.t+1);for($.subTo(this.r2,$);$.compareTo(this.m)>=0;)$.subTo(this.m,$)}function Do($,T){$.squareTo(T),this.reduce(T)}function Po($,T,L){$.multiplyTo(T,L),this.reduce(L)}Wr.prototype.convert=Bo,Wr.prototype.revert=_s,Wr.prototype.reduce=fn,Wr.prototype.mulTo=Po,Wr.prototype.sqrTo=Do;function tu($,T){var L=$.bitLength(),J,pe=S(1),me;if(L<=0)return pe;L<18?J=1:L<48?J=3:L<144?J=4:L<768?J=5:J=6,L<8?me=new _e(T):T.isEven()?me=new Wr(T):me=new lt(T);var Fe=new Array,Pe=3,wt=J-1,Lt=(1<1){var mr=s();for(me.sqrTo(Fe[1],mr);Pe<=Lt;)Fe[Pe]=s(),me.mulTo(mr,Fe[Pe-2],Fe[Pe]),Pe+=2}var vr=$.t-1,hn,Bs=!0,Lr=s(),wr;for(L=P($[vr])-1;vr>=0;){for(L>=wt?hn=$[vr]>>L-wt&Lt:(hn=($[vr]&(1<0&&(hn|=$[vr-1]>>this.DB+L-wt)),Pe=J;!(hn&1);)hn>>=1,--Pe;if((L-=Pe)<0&&(L+=this.DB,--vr),Bs)Fe[hn].copyTo(pe),Bs=!1;else{for(;Pe>1;)me.sqrTo(pe,Lr),me.sqrTo(Lr,pe),Pe-=2;Pe>0?me.sqrTo(pe,Lr):(wr=pe,pe=Lr,Lr=wr),me.mulTo(Lr,Fe[hn],pe)}for(;vr>=0&&!($[vr]&1<0&&(T.rShiftTo(me,T),L.rShiftTo(me,L));T.signum()>0;)(pe=T.getLowestSetBit())>0&&T.rShiftTo(pe,T),(pe=L.getLowestSetBit())>0&&L.rShiftTo(pe,L),T.compareTo(L)>=0?(T.subTo(L,T),T.rShiftTo(1,T)):(L.subTo(T,L),L.rShiftTo(1,L));return me>0&&L.lShiftTo(me,L),L}function ru($){if($<=0)return 0;var T=this.DV%$,L=this.s<0?$-1:0;if(this.t>0)if(T==0)L=this[0]%$;else for(var J=this.t-1;J>=0;--J)L=(T*L+this[J])%$;return L}function Is($){var T=$.isEven();if(this.isEven()&&T||$.signum()==0)return n.ZERO;for(var L=$.clone(),J=this.clone(),pe=S(1),me=S(0),Fe=S(0),Pe=S(1);L.signum()!=0;){for(;L.isEven();)L.rShiftTo(1,L),T?((!pe.isEven()||!me.isEven())&&(pe.addTo(this,pe),me.subTo($,me)),pe.rShiftTo(1,pe)):me.isEven()||me.subTo($,me),me.rShiftTo(1,me);for(;J.isEven();)J.rShiftTo(1,J),T?((!Fe.isEven()||!Pe.isEven())&&(Fe.addTo(this,Fe),Pe.subTo($,Pe)),Fe.rShiftTo(1,Fe)):Pe.isEven()||Pe.subTo($,Pe),Pe.rShiftTo(1,Pe);L.compareTo(J)>=0?(L.subTo(J,L),T&&pe.subTo(Fe,pe),me.subTo(Pe,me)):(J.subTo(L,J),T&&Fe.subTo(pe,Fe),Pe.subTo(me,Pe))}if(J.compareTo(n.ONE)!=0)return n.ZERO;if(Pe.compareTo($)>=0)return Pe.subtract($);if(Pe.signum()<0)Pe.addTo($,Pe);else return Pe;return Pe.signum()<0?Pe.add($):Pe}var Nt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],$o=(1<<26)/Nt[Nt.length-1];function Ro($){var T,L=this.abs();if(L.t==1&&L[0]<=Nt[Nt.length-1]){for(T=0;T>1,$>Nt.length&&($=Nt.length);for(var pe=s(),me=0;me<$;++me){pe.fromInt(Nt[Math.floor(Math.random()*Nt.length)]);var Fe=pe.modPow(J,this);if(Fe.compareTo(n.ONE)!=0&&Fe.compareTo(T)!=0){for(var Pe=1;Pe++>8&255,ur[Pt++]^=$>>16&255,ur[Pt++]^=$>>24&255,Pt>=Nr&&(Pt-=Nr)}function sa(){To(new Date().getTime())}if(ur==null){ur=new Array,Pt=0;var or;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var aa=new Uint8Array(32);for(window.crypto.getRandomValues(aa),or=0;or<32;++or)ur[Pt++]=aa[or]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var iu=window.crypto.random(32);for(or=0;or>>8,ur[Pt++]=or&255;Pt=0,sa()}function su(){if(si==null){for(sa(),si=fa(),si.init(ur),Pt=0;Pt{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(i){return n(a(i),arguments)}function r(i,c){return t.apply(null,[i].concat(c||[]))}function n(i,c){var l=1,h=i.length,v,E="",p,f,A,m,b,w,S,F;for(p=0;p=0),A.type){case"b":v=parseInt(v,10).toString(2);break;case"c":v=String.fromCharCode(parseInt(v,10));break;case"d":case"i":v=parseInt(v,10);break;case"j":v=JSON.stringify(v,null,A.width?parseInt(A.width):0);break;case"e":v=A.precision?parseFloat(v).toExponential(A.precision):parseFloat(v).toExponential();break;case"f":v=A.precision?parseFloat(v).toFixed(A.precision):parseFloat(v);break;case"g":v=A.precision?String(Number(v.toPrecision(A.precision))):parseFloat(v);break;case"o":v=(parseInt(v,10)>>>0).toString(8);break;case"s":v=String(v),v=A.precision?v.substring(0,A.precision):v;break;case"t":v=String(!!v),v=A.precision?v.substring(0,A.precision):v;break;case"T":v=Object.prototype.toString.call(v).slice(8,-1).toLowerCase(),v=A.precision?v.substring(0,A.precision):v;break;case"u":v=parseInt(v,10)>>>0;break;case"v":v=v.valueOf(),v=A.precision?v.substring(0,A.precision):v;break;case"x":v=(parseInt(v,10)>>>0).toString(16);break;case"X":v=(parseInt(v,10)>>>0).toString(16).toUpperCase();break}e.json.test(A.type)?E+=v:(e.number.test(A.type)&&(!S||A.sign)?(F=S?"+":"-",v=v.toString().replace(e.sign,"")):F="",b=A.pad_char?A.pad_char==="0"?"0":A.pad_char.charAt(1):" ",w=A.width-(F+v).length,m=A.width&&w>0?b.repeat(w):"",E+=A.align?F+v+m:b==="0"?F+m+v:m+F+v)}return E}var s=Object.create(null);function a(i){if(s[i])return s[i];for(var c=i,l,h=[],v=0;c;){if((l=e.text.exec(c))!==null)h.push(l[0]);else if((l=e.modulo.exec(c))!==null)h.push("%");else if((l=e.placeholder.exec(c))!==null){if(l[2]){v|=1;var E=[],p=l[2],f=[];if((f=e.key.exec(p))!==null)for(E.push(f[1]);(p=p.substring(f[0].length))!=="";)if((f=e.key_access.exec(p))!==null)E.push(f[1]);else if((f=e.index_access.exec(p))!==null)E.push(f[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=E}else v|=2;if(v===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");h.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");c=c.substring(l[0].length)}return s[i]=h}typeof gf<"u"&&(gf.sprintf=t,gf.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var o0=be(wi=>{"use strict";var V_=wi&&wi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),G_=wi&&wi.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l2=wi&&wi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&V_(t,e,r);return G_(t,e),t};Object.defineProperty(wi,"__esModule",{value:!0});wi.Address4=void 0;var o2=l2(n0()),Zn=l2(i0()),c2=pf(),wc=a0(),Yu=vc(),u0=class e{constructor(t){this.groups=Zn.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=o2.isCorrect(Zn.BITS),this.isInSubnet=o2.isInSubnet,this.address=t;let r=Zn.RE_SUBNET_STRING.exec(t);if(r){if(this.parsedSubnet=r[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>Zn.BITS)throw new c2.AddressError("Invalid subnet mask.");t=t.replace(Zn.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(t){let r=t.split(".");if(!t.match(Zn.RE_ADDRESS))throw new c2.AddressError("Invalid IPv4 address.");return r}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let r=t.replace(/:/g,"").padStart(8,"0"),n=[],s;for(s=0;s<8;s+=2){let a=r.slice(s,s+2);n.push(parseInt(a,16))}return new e(n.join("."))}static fromInteger(t){return e.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new e(n)}toHex(){return this.parsedAddress.map(t=>(0,Yu.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],r;for(r=0;r(0,Yu.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new wc.BigInteger(this.mask()+"0".repeat(Zn.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new wc.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new wc.BigInteger(this.mask()+"1".repeat(Zn.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new wc.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return e.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}reverseForm(t){t||(t={});let r=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?r:(0,Yu.sprintf)("%s.in-addr.arpa.",r)}isMulticast(){return this.isInSubnet(new e("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(Zn.BITS,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(Zn.RE_ADDRESS,(0,Yu.sprintf)('%s.%s',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};wi.Address4=u0});var c0=be(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.RE_URL_WITH_PORT=Mt.RE_URL=Mt.RE_ZONE_STRING=Mt.RE_SUBNET_STRING=Mt.RE_BAD_ADDRESS=Mt.RE_BAD_CHARACTERS=Mt.TYPES=Mt.SCOPES=Mt.GROUPS=Mt.BITS=void 0;Mt.BITS=128;Mt.GROUPS=8;Mt.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"};Mt.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"};Mt.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi;Mt.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;Mt.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/;Mt.RE_ZONE_STRING=/%.*$/;Mt.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);Mt.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)});var l0=be(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.simpleGroup=Ai.spanLeadingZeroes=Ai.spanAll=Ai.spanAllZeroes=void 0;var f2=vc();function h2(e){return e.replace(/(0+)/g,'$1')}Ai.spanAllZeroes=h2;function z_(e,t=0){return e.split("").map((n,s)=>(0,f2.sprintf)('%s',n,s+t,h2(n))).join("")}Ai.spanAll=z_;function p2(e){return e.replace(/^(0+)/,'$1')}function W_(e){return e.split(":").map(r=>p2(r)).join(":")}Ai.spanLeadingZeroes=W_;function Y_(e,t=0){return e.split(":").map((n,s)=>/group-v4/.test(n)?n:(0,f2.sprintf)('%s',s+t,p2(n)))}Ai.simpleGroup=Y_});var d2=be(hr=>{"use strict";var X_=hr&&hr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),J_=hr&&hr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Z_=hr&&hr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&X_(t,e,r);return J_(t,e),t};Object.defineProperty(hr,"__esModule",{value:!0});hr.possibleElisions=hr.simpleRegularExpression=hr.ADDRESS_BOUNDARY=hr.padGroup=hr.groupPossibilities=void 0;var Q_=Z_(c0()),Xu=vc();function vf(e){return(0,Xu.sprintf)("(%s)",e.join("|"))}hr.groupPossibilities=vf;function mf(e){return e.length<4?(0,Xu.sprintf)("0{0,%d}%s",4-e.length,e):e}hr.padGroup=mf;hr.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function eI(e){let t=[];e.forEach((n,s)=>{parseInt(n,16)===0&&t.push(s)});let r=t.map(n=>e.map((s,a)=>{if(a===n){let i=a===0||a===Q_.GROUPS-1?":":"";return vf([mf(s),i])}return mf(s)}).join(":"));return r.push(e.map(mf).join(":")),vf(r)}hr.simpleRegularExpression=eI;function tI(e,t,r){let n=t?"":":",s=r?"":":",a=[];!t&&!r&&a.push("::"),t&&r&&a.push(""),(r&&!t||!r&&t)&&a.push(":"),a.push((0,Xu.sprintf)("%s(:0{1,4}){1,%d}",n,e-1)),a.push((0,Xu.sprintf)("(0{1,4}:){1,%d}%s",e-1,s)),a.push((0,Xu.sprintf)("(0{1,4}:){%d}0{1,4}",e-1));for(let i=1;i{"use strict";var rI=Ei&&Ei.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),nI=Ei&&Ei.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Af=Ei&&Ei.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&rI(t,e,r);return nI(t,e),t};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.Address6=void 0;var g2=Af(n0()),f0=Af(i0()),It=Af(c0()),h0=Af(l0()),Ua=o0(),Ha=d2(),ss=pf(),Vr=a0(),Gr=vc();function wf(e){if(!e)throw new Error("Assertion failed.")}function iI(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,"$1,$2");return e}function sI(e){return e=e.replace(/^(0{1,})([1-9]+)$/,'$1$2'),e=e.replace(/^(0{1,})(0)$/,'$1$2'),e}function aI(e,t){let r=[],n=[],s;for(s=0;st[1]&&n.push(e[s]);return r.concat(["compact"]).concat(n)}function m2(e){return(0,Gr.sprintf)("%04x",parseInt(e,16))}function v2(e){return e&255}var p0=class e{constructor(t,r){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=g2.isInSubnet,this.isCorrect=g2.isCorrect(It.BITS),r===void 0?this.groups=It.GROUPS:this.groups=r,this.address=t;let n=It.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>It.BITS)throw new ss.AddressError("Invalid subnet mask.");t=t.replace(It.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new ss.AddressError("Invalid subnet mask.");let s=It.RE_ZONE_STRING.exec(t);s&&(this.zone=s[0],t=t.replace(It.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInteger(t){let r=t.toString(16).padStart(32,"0"),n=[],s;for(s=0;s65536)&&(n=null)):n=null,{address:new e(r),port:n}}static fromAddress4(t){let r=new Ua.Address4(t),n=It.BITS-(f0.BITS-r.subnetMask);return new e(`::ffff:${r.correctForm()}/${n}`)}static fromArpa(t){let r=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(r.length!==63)throw new ss.AddressError("Invalid 'ip6.arpa' form.");let s=r.split(".").reverse();for(let a=n;a>0;a--){let i=a*4;s.splice(i,0,":")}return r=s.join(""),new e(r)}microsoftTranscription(){return(0,Gr.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let r=It.BITS-this.subnetMask,n=Math.abs(t-It.BITS),s=r-n;return s<0?"0":iI(new Vr.BigInteger("2",10).pow(s).toString(10))}_startAddress(){return new Vr.BigInteger(this.mask()+"0".repeat(It.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Vr.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Vr.BigInteger(this.mask()+"1".repeat(It.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Vr.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=It.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(It.TYPES))if(this.isInSubnet(new e(t)))return It.TYPES[t];return"Global unicast"}getBits(t,r){return new Vr.BigInteger(this.getBitsBase2(t,r),2)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}getBitsBase16(t,r){let n=r-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,r).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,It.BITS)}reverseForm(t){t||(t={});let r=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,r).reverse().join(".");return r>0?t.omitSuffix?n:(0,Gr.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,r=[],n=0,s=[];for(t=0;t0&&(n>1&&s.push([t-n,t-1]),n=0)}n>1&&s.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let a=s.map(c=>c[1]-c[0]+1);if(s.length>0){let c=a.indexOf(Math.max(...a));r=aI(this.parsedAddress,s[c])}else r=this.parsedAddress;for(t=0;t1?"s":"",r.join("")),t.replace(It.RE_BAD_CHARACTERS,'$1'));let n=t.match(It.RE_BAD_ADDRESS);if(n)throw new ss.AddressError((0,Gr.sprintf)("Address failed regex: %s",n.join("")),t.replace(It.RE_BAD_ADDRESS,'$1'));let s=[],a=t.split("::");if(a.length===2){let i=a[0].split(":"),c=a[1].split(":");i.length===1&&i[0]===""&&(i=[]),c.length===1&&c[0]===""&&(c=[]);let l=this.groups-(i.length+c.length);if(!l)throw new ss.AddressError("Error parsing groups");this.elidedGroups=l,this.elisionBegin=i.length,this.elisionEnd=i.length+this.elidedGroups,s=s.concat(i);for(let h=0;h(0,Gr.sprintf)("%x",parseInt(i,16))),s.length!==this.groups)throw new ss.AddressError("Incorrect number of groups found");return s}canonicalForm(){return this.parsedAddress.map(m2).join(":")}decimal(){return this.parsedAddress.map(t=>(0,Gr.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new Vr.BigInteger(this.parsedAddress.map(m2).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return Ua.Address4.fromHex(new Vr.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),s="";return/:$/.test(n)||(s=":"),n+s+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),r=this.getBits(80,96).xor(new Vr.BigInteger("ffff",16)).toString(),n=Ua.Address4.fromHex(this.getBitsBase16(32,64)),s=Ua.Address4.fromHex(this.getBits(96,128).xor(new Vr.BigInteger("ffffffff",16)).toString(16)),a=this.getBits(64,80),i=this.getBitsBase2(64,80),c=a.testBit(15),l=a.testBit(14),h=a.testBit(8),v=a.testBit(9),E=new Vr.BigInteger(i.slice(2,6)+i.slice(8,16),2).toString(10);return{prefix:(0,Gr.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:s.address,flags:i,coneNat:c,microsoft:{reserved:l,universalLocal:v,groupIndividual:h,nonce:E},udpPort:r}}inspect6to4(){let t=this.getBitsBase16(0,16),r=Ua.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,Gr.sprintf)("%s",t.slice(0,4)),gateway:r.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new e(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(v2)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(v2))}static fromUnsignedByteArray(t){let r=new Vr.BigInteger("256",10),n=new Vr.BigInteger("0",10),s=new Vr.BigInteger("1",10);for(let a=t.length-1;a>=0;a--)n=n.add(s.multiply(new Vr.BigInteger(t[a].toString(10),10))),s=s.multiply(r);return e.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new e("2001::/32"))}is6to4(){return this.isInSubnet(new e("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,Gr.sprintf)(":%s",t),(0,Gr.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let r=this.correctForm;return t.v4&&(r=this.to4in6),t.className?(0,Gr.sprintf)('%2$s',t.prefix,r.call(this),t.className):(0,Gr.sprintf)('%2$s',t.prefix,r.call(this))}group(){if(this.elidedGroups===0)return h0.simpleGroup(this.address).join(":");wf(typeof this.elidedGroups=="number"),wf(typeof this.elisionBegin=="number");let t=[],[r,n]=this.address.split("::");r.length?t.push(...h0.simpleGroup(r)):t.push("");let s=["hover-group"];for(let a=this.elisionBegin;a',s.join(" "))),n.length?t.push(...h0.simpleGroup(n,this.elisionEnd)):t.push(""),this.is4()&&(wf(this.address4 instanceof Ua.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let r=[],n=new e(this.correctForm());if(n.elidedGroups===0)r.push((0,Ha.simpleRegularExpression)(n.parsedAddress));else if(n.elidedGroups===It.GROUPS)r.push((0,Ha.possibleElisions)(It.GROUPS));else{let s=n.address.split("::");s[0].length&&r.push((0,Ha.simpleRegularExpression)(s[0].split(":"))),wf(typeof n.elidedGroups=="number"),r.push((0,Ha.possibleElisions)(n.elidedGroups,s[0].length!==0,s[1].length!==0)),s[1].length&&r.push((0,Ha.simpleRegularExpression)(s[1].split(":"))),r=[r.join(":")]}return t||(r=["(?=^|",Ha.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...r,")(?=[^\\w\\:]|",Ha.ADDRESS_BOUNDARY,"|$)"]),r.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};Ei.Address6=p0});var A2=be(xr=>{"use strict";var uI=xr&&xr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),oI=xr&&xr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),cI=xr&&xr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&uI(t,e,r);return oI(t,e),t};Object.defineProperty(xr,"__esModule",{value:!0});xr.v6=xr.AddressError=xr.Address6=xr.Address4=void 0;var lI=o0();Object.defineProperty(xr,"Address4",{enumerable:!0,get:function(){return lI.Address4}});var fI=w2();Object.defineProperty(xr,"Address6",{enumerable:!0,get:function(){return fI.Address6}});var hI=pf();Object.defineProperty(xr,"AddressError",{enumerable:!0,get:function(){return hI.AddressError}});var pI=cI(l0());xr.v6={helpers:pI}});var I2=be(E0=>{"use strict";E0.toString=function(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e};E0.toType=function(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}});var B2=be(y0=>{"use strict";y0.toString=function(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e};y0.toRcode=function(e){switch(e.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var D2=be(S0=>{"use strict";S0.toString=function(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e};S0.toOpcode=function(e){switch(e.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var P2=be(b0=>{"use strict";b0.toString=function(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e};b0.toClass=function(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var $2=be(C0=>{"use strict";C0.toString=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:`OPTION_${e}`};C0.toCode=function(e){if(typeof e=="number")return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}});var x2=be((T2,F0)=>{var R2=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=E,e.encode=v,e.familyOf=h,e.name=void 0,e.sizeOf=l,e.v6=e.v4=void 0;let t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,s=16,a={name:"v4",size:r,isFormat:p=>t.test(p),encode(p,f,A){A=~~A,f=f||new Uint8Array(A+r);let m=p.length,b=0;for(let w=0;wp.length>0&&n.test(p),encode(p,f,A){A=~~A;let m=A+s,b=-1,w=0,S=0,F=!0,D=!1;f=f||new Uint8Array(A+s);for(let I=0;I>8),A=97?j-=87:j>=65?j-=55:(j-=48,S=S*10+j),w=(w<<4)+j)}if(F===!1)D===!0?(A>8),A=b+2;I--)f[I]=f[I-2];f[b]=0,f[b+1]=0,b=A}if(b!==A&&b!==-1)for(A>m-2&&(A=m-2);m>b;)f[--m]=Ab?f[--A]:0;else for(;A{"use strict";var xe=Ol().Buffer,vs=I2(),II=B2(),BI=D2(),Df=P2(),_0=$2(),ja=x2(),DI=0,O2=32768,I0=32768,PI=~I0,k2=32768,$I=~k2,Be=Te.name={};Be.encode=function(e,t,r,{mail:n=!1}={}){t||(t=xe.alloc(Be.encodingLength(e))),r||(r=0);let s=r,a=e.replace(/^\.|\.$/gm,"");if(a.length){let i=[];if(n){let c="";a.split(".").forEach(l=>{l.endsWith("\\")?c+=(c.length?".":"")+l.slice(0,-1):i.length===0&&c.length?i.push(c+"."+l):i.push(l)})}else i=a.split(".");for(let c=0;c=e.length)throw new Error("Cannot decode name (buffer overflow)");let l=e[t++];if(i+=c?0:1,l===0)break;if(l&192)if((l&192)===192){if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");let h=e.readUInt16BE(t-1)-49152;if(h>=s)throw new Error("Cannot decode name (bad pointer)");t=h,s=h,i+=c?0:1,c=!0}else throw new Error("Cannot decode name (bad label)");else{if(t+l>e.length)throw new Error("Cannot decode name (buffer overflow)");if(a+=l+1,a>254)throw new Error("Cannot decode name (name too long)");let h=e.toString("utf-8",t,t+l);r&&(h=h.replace(/\./g,"\\.")),n.push(h),t+=l,i+=c?0:l}}return Be.decode.bytes=i,n.length===0?".":n.join(".")};Be.decode.bytes=0;Be.encodingLength=function(e){return e==="."||e===".."?1:xe.byteLength(e.replace(/^\.|\.$/gm,""))+2};var tt={};tt.encode=function(e,t,r){t||(t=xe.alloc(tt.encodingLength(e))),r||(r=0);let n=t.write(e,r+1);return t[r]=n,tt.encode.bytes=n+1,t};tt.encode.bytes=0;tt.decode=function(e,t){t||(t=0);let r=e[t],n=e.toString("utf-8",t+1,t+1+r);return tt.decode.bytes=r+1,n};tt.decode.bytes=0;tt.encodingLength=function(e){return xe.byteLength(e)+1};var ti={};ti.encode=function(e,t,r){t||(t=ti.encodingLength(e)),r||(r=0);let n=(e.flags||0)&32767,s=e.type==="response"?O2:DI;return t.writeUInt16BE(e.id||0,r),t.writeUInt16BE(n|s,r+2),t.writeUInt16BE(e.questions.length,r+4),t.writeUInt16BE(e.answers.length,r+6),t.writeUInt16BE(e.authorities.length,r+8),t.writeUInt16BE(e.additionals.length,r+10),t};ti.encode.bytes=12;ti.decode=function(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");let r=e.readUInt16BE(t+2);return{id:e.readUInt16BE(t),type:r&O2?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:BI.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:II.toString(r&15),questions:new Array(e.readUInt16BE(t+4)),answers:new Array(e.readUInt16BE(t+6)),authorities:new Array(e.readUInt16BE(t+8)),additionals:new Array(e.readUInt16BE(t+10))}};ti.decode.bytes=12;ti.encodingLength=function(){return 12};var us=Te.unknown={};us.encode=function(e,t,r){return t||(t=xe.alloc(us.encodingLength(e))),r||(r=0),t.writeUInt16BE(e.length,r),e.copy(t,r+2),us.encode.bytes=e.length+2,t};us.encode.bytes=0;us.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=e.slice(t+2,t+2+r);return us.decode.bytes=r+2,n};us.decode.bytes=0;us.encodingLength=function(e){return e.length+2};var os=Te.ns={};os.encode=function(e,t,r){return t||(t=xe.alloc(os.encodingLength(e))),r||(r=0),Be.encode(e,t,r+2),t.writeUInt16BE(Be.encode.bytes,r),os.encode.bytes=Be.encode.bytes+2,t};os.encode.bytes=0;os.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=Be.decode(e,t+2);return os.decode.bytes=r+2,n};os.decode.bytes=0;os.encodingLength=function(e){return Be.encodingLength(e)+2};var cs=Te.soa={};cs.encode=function(e,t,r){t||(t=xe.alloc(cs.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mname,t,r),r+=Be.encode.bytes,Be.encode(e.rname,t,r,{mail:!0}),r+=Be.encode.bytes,t.writeUInt32BE(e.serial||0,r),r+=4,t.writeUInt32BE(e.refresh||0,r),r+=4,t.writeUInt32BE(e.retry||0,r),r+=4,t.writeUInt32BE(e.expire||0,r),r+=4,t.writeUInt32BE(e.minimum||0,r),r+=4,t.writeUInt16BE(r-n-2,n),cs.encode.bytes=r-n,t};cs.encode.bytes=0;cs.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mname=Be.decode(e,t),t+=Be.decode.bytes,n.rname=Be.decode(e,t,{mail:!0}),t+=Be.decode.bytes,n.serial=e.readUInt32BE(t),t+=4,n.refresh=e.readUInt32BE(t),t+=4,n.retry=e.readUInt32BE(t),t+=4,n.expire=e.readUInt32BE(t),t+=4,n.minimum=e.readUInt32BE(t),t+=4,cs.decode.bytes=t-r,n};cs.decode.bytes=0;cs.encodingLength=function(e){return 22+Be.encodingLength(e.mname)+Be.encodingLength(e.rname)};var ls=Te.txt={};ls.encode=function(e,t,r){Array.isArray(e)||(e=[e]);for(let s=0;s0;){let a=e[t++];if(--n,n0&&(r.timeout=e.readUInt16BE(t),t+=2);break;case 14:r.tags=[];for(let a=0;a0;)n[a++]=cn.decode(e,t),t+=cn.decode.bytes,s-=cn.decode.bytes;return Cn.decode.bytes=t-r,n};Cn.decode.bytes=0;Cn.encodingLength=function(e){return 2+to(e||[],cn)};var zr=Te.dnskey={};zr.PROTOCOL_DNSSEC=3;zr.ZONE_KEY=128;zr.SECURE_ENTRYPOINT=32768;zr.encode=function(e,t,r){t||(t=xe.alloc(zr.encodingLength(e))),r||(r=0);let n=r,s=e.key;if(!xe.isBuffer(s))throw new Error("Key must be a Buffer");return r+=2,t.writeUInt16BE(e.flags,r),r+=2,t.writeUInt8(zr.PROTOCOL_DNSSEC,r),r+=1,t.writeUInt8(e.algorithm,r),r+=1,s.copy(t,r,0,s.length),r+=s.length,zr.encode.bytes=r-n,t.writeUInt16BE(zr.encode.bytes-2,n),t};zr.encode.bytes=0;zr.decode=function(e,t){t||(t=0);let r=t;var n={},s=e.readUInt16BE(t);if(t+=2,n.flags=e.readUInt16BE(t),t+=2,e.readUInt8(t)!==zr.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e.readUInt8(t),t+=1,n.key=e.slice(t,r+s+2),t+=n.key.length,zr.decode.bytes=t-r,n};zr.decode.bytes=0;zr.encodingLength=function(e){return 6+xe.byteLength(e.key)};var Si=Te.rrsig={};Si.encode=function(e,t,r){t||(t=xe.alloc(Si.encodingLength(e))),r||(r=0);let n=r,s=e.signature;if(!xe.isBuffer(s))throw new Error("Signature must be a Buffer");return r+=2,t.writeUInt16BE(vs.toType(e.typeCovered),r),r+=2,t.writeUInt8(e.algorithm,r),r+=1,t.writeUInt8(e.labels,r),r+=1,t.writeUInt32BE(e.originalTTL,r),r+=4,t.writeUInt32BE(e.expiration,r),r+=4,t.writeUInt32BE(e.inception,r),r+=4,t.writeUInt16BE(e.keyTag,r),r+=2,Be.encode(e.signersName,t,r),r+=Be.encode.bytes,s.copy(t,r,0,s.length),r+=s.length,Si.encode.bytes=r-n,t.writeUInt16BE(Si.encode.bytes-2,n),t};Si.encode.bytes=0;Si.decode=function(e,t){t||(t=0);let r=t;var n={},s=e.readUInt16BE(t);return t+=2,n.typeCovered=vs.toString(e.readUInt16BE(t)),t+=2,n.algorithm=e.readUInt8(t),t+=1,n.labels=e.readUInt8(t),t+=1,n.originalTTL=e.readUInt32BE(t),t+=4,n.expiration=e.readUInt32BE(t),t+=4,n.inception=e.readUInt32BE(t),t+=4,n.keyTag=e.readUInt16BE(t),t+=2,n.signersName=Be.decode(e,t),t+=Be.decode.bytes,n.signature=e.slice(t,r+s+2),t+=n.signature.length,Si.decode.bytes=t-r,n};Si.decode.bytes=0;Si.encodingLength=function(e){return 20+Be.encodingLength(e.signersName)+xe.byteLength(e.signature)};var bi=Te.rp={};bi.encode=function(e,t,r){t||(t=xe.alloc(bi.encodingLength(e))),r||(r=0);let n=r;return r+=2,Be.encode(e.mbox||".",t,r,{mail:!0}),r+=Be.encode.bytes,Be.encode(e.txt||".",t,r),r+=Be.encode.bytes,bi.encode.bytes=r-n,t.writeUInt16BE(bi.encode.bytes-2,n),t};bi.encode.bytes=0;bi.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mbox=Be.decode(e,t,{mail:!0})||".",t+=Be.decode.bytes,n.txt=Be.decode(e,t)||".",t+=Be.decode.bytes,bi.decode.bytes=t-r,n};bi.decode.bytes=0;bi.encodingLength=function(e){return 2+Be.encodingLength(e.mbox||".")+Be.encodingLength(e.txt||".")};var dr={};dr.encode=function(e,t,r){t||(t=xe.alloc(dr.encodingLength(e))),r||(r=0);let n=r;for(var s=[],a=0;a>8]===void 0&&(s[i>>8]=[]),s[i>>8][i>>3&31]|=1<<7-(i&7)}for(a=0;a>8]=Math.max(t[n>>8]||0,n&255)}var s=0;for(r=0;r>15&1)===1,r.options=Cn.decode(e,t+8),t+=8+Cn.decode.bytes;else{let s=e.readUInt16BE(t+2);r.ttl=e.readUInt32BE(t+4),r.class=Df.toString(s&PI),r.flush=!!(s&I0);let a=B0(r.type);r.data=a.decode(e,t+8),t+=8+a.decode.bytes}return Sr.decode.bytes=t-n,r};Sr.decode.bytes=0;Sr.encodingLength=function(e){let t=e.data!==null&&e.data!==void 0?e.data:e.options;return Be.encodingLength(e.name)+8+B0(e.type).encodingLength(t)};var ei=Te.question={};ei.encode=function(e,t,r){t||(t=xe.alloc(ei.encodingLength(e))),r||(r=0);let n=r;return Be.encode(e.name,t,r),r+=Be.encode.bytes,t.writeUInt16BE(vs.toType(e.type),r),r+=2,t.writeUInt16BE(Df.toClass(e.class===void 0?"IN":e.class),r),r+=2,ei.encode.bytes=r-n,e};ei.encode.bytes=0;ei.decode=function(e,t){t||(t=0);let r=t,n={};return n.name=Be.decode(e,t),t+=Be.decode.bytes,n.type=vs.toString(e.readUInt16BE(t)),t+=2,n.class=Df.toString(e.readUInt16BE(t)),t+=2,!!(n.class&k2)&&(n.class&=$I),ei.decode.bytes=t-r,n};ei.decode.bytes=0;ei.encodingLength=function(e){return Be.encodingLength(e.name)+4};Te.AUTHORITATIVE_ANSWER=1024;Te.TRUNCATED_RESPONSE=512;Te.RECURSION_DESIRED=256;Te.RECURSION_AVAILABLE=128;Te.AUTHENTIC_DATA=32;Te.CHECKING_DISABLED=16;Te.DNSSEC_OK=32768;Te.encode=function(e,t,r){let n=!t;n&&(t=xe.alloc(Te.encodingLength(e))),r||(r=0);let s=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),ti.encode(e,t,r),r+=ti.encode.bytes,r=bc(e.questions,ei,t,r),r=bc(e.answers,Sr,t,r),r=bc(e.authorities,Sr,t,r),r=bc(e.additionals,Sr,t,r),Te.encode.bytes=r-s,n&&Te.encode.bytes!==t.length?t.slice(0,Te.encode.bytes):t};Te.encode.bytes=0;Te.decode=function(e,t){t||(t=0);let r=t,n=ti.decode(e,t);return t+=ti.decode.bytes,t=Bf(n.questions,ei,e,t),t=Bf(n.answers,Sr,e,t),t=Bf(n.authorities,Sr,e,t),t=Bf(n.additionals,Sr,e,t),Te.decode.bytes=t-r,n};Te.decode.bytes=0;Te.encodingLength=function(e){return ti.encodingLength(e)+to(e.questions||[],ei)+to(e.answers||[],Sr)+to(e.authorities||[],Sr)+to(e.additionals||[],Sr)};Te.streamEncode=function(e){let t=Te.encode(e),r=xe.alloc(2);r.writeUInt16BE(t.byteLength);let n=xe.concat([r,t]);return Te.streamEncode.bytes=n.byteLength,n};Te.streamEncode.bytes=0;Te.streamDecode=function(e){let t=e.readUInt16BE(0);if(e.byteLength{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",i="__lodash_hash_undefined__",c=500,l="__lodash_placeholder__",h=1,v=2,E=4,p=1,f=2,A=1,m=2,b=4,w=8,S=16,F=32,D=64,I=128,j=256,q=512,_=30,P="...",k=800,U=16,M=1,W=2,K=3,V=1/0,z=9007199254740991,re=17976931348623157e292,Ee=NaN,we=4294967295,_e=we-1,He=we>>>1,ue=[["ary",I],["bind",A],["bindKey",m],["curry",w],["curryRight",S],["flip",q],["partial",F],["partialRight",D],["rearg",j]],Ce="[object Arguments]",Oe="[object Array]",sr="[object AsyncFunction]",_t="[object Boolean]",lt="[object Date]",qt="[object DOMException]",$t="[object Error]",Qe="[object Function]",bt="[object GeneratorFunction]",Je="[object Map]",ht="[object Number]",Kt="[object Null]",ze="[object Object]",kt="[object Promise]",Pn="[object Proxy]",ar="[object RegExp]",gr="[object Set]",zt="[object String]",br="[object Symbol]",Js="[object Undefined]",kr="[object WeakMap]",pt="[object WeakSet]",Wt="[object ArrayBuffer]",We="[object DataView]",Cr="[object Float32Array]",Zs="[object Float64Array]",Qs="[object Int8Array]",ea="[object Int16Array]",ta="[object Int32Array]",Ti="[object Uint8Array]",ra="[object Uint8ClampedArray]",Cs="[object Uint16Array]",ri="[object Uint32Array]",xi=/\b__p \+= '';/g,Va=/\b(__p \+=) '' \+/g,Ga=/(__e\(.*?\)|\b__t\)) \+\n'';/g,za=/&(?:amp|lt|gt|quot|#39);/g,Wa=/[&<>"']/g,Ya=RegExp(za.source),Xa=RegExp(Wa.source),Ja=/<%-([\s\S]+?)%>/g,fo=/<%([\s\S]+?)%>/g,Za=/<%=([\s\S]+?)%>/g,ho=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,po=/^\w*$/,go=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fs=/[\\^$.*+?()[\]{}|]/g,mo=RegExp(Fs.source),na=/^\s+/,vo=/\s/,wo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ao=/\{\n\/\* \[wrapped with (.+)\] \*/,Eo=/,? & /,yo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,So=/[()=,{}\[\]\/\s]/,bo=/\\(\\)?/g,Co=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ni=/\w*$/,Qa=/^[-+]0x[0-9a-f]+$/i,Fo=/^0b[01]+$/i,_o=/^\[object .+?Constructor\]$/,Io=/^0o[0-7]+$/i,eu=/^(?:0|[1-9]\d*)$/,ii=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Wr=/($^)/,Bo=/['\n\r\u2028\u2029\\]/g,_s="\\ud800-\\udfff",fn="\\u0300-\\u036f",Do="\\ufe20-\\ufe2f",Po="\\u20d0-\\u20ff",tu=fn+Do+Po,ia="\\u2700-\\u27bf",ru="a-z\\xdf-\\xf6\\xf8-\\xff",Is="\\xac\\xb1\\xd7\\xf7",Nt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",$o="\\u2000-\\u206f",Ro=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",nu="A-Z\\xc0-\\xd6\\xd8-\\xde",si="\\ufe0e\\ufe0f",ur=Is+Nt+$o+Ro,Pt="['\u2019]",To="["+_s+"]",sa="["+ur+"]",or="["+tu+"]",aa="\\d+",iu="["+ia+"]",su="["+ru+"]",oa="[^"+_s+ur+aa+ia+ru+nu+"]",ai="\\ud83c[\\udffb-\\udfff]",ca="(?:"+or+"|"+ai+")",au="[^"+_s+"]",la="(?:\\ud83c[\\udde6-\\uddff]){2}",fa="[\\ud800-\\udbff][\\udc00-\\udfff]",Nr="["+nu+"]",$="\\u200d",T="(?:"+su+"|"+oa+")",L="(?:"+Nr+"|"+oa+")",J="(?:"+Pt+"(?:d|ll|m|re|s|t|ve))?",pe="(?:"+Pt+"(?:D|LL|M|RE|S|T|VE))?",me=ca+"?",Fe="["+si+"]?",Pe="(?:"+$+"(?:"+[au,la,fa].join("|")+")"+Fe+me+")*",wt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Lt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",mr=Fe+me+Pe,vr="(?:"+[iu,la,fa].join("|")+")"+mr,hn="(?:"+[au+or+"?",or,la,fa,To].join("|")+")",Bs=RegExp(Pt,"g"),Lr=RegExp(or,"g"),wr=RegExp(ai+"(?="+ai+")|"+hn+mr,"g"),Ds=RegExp([Nr+"?"+su+"+"+J+"(?="+[sa,Nr,"$"].join("|")+")",L+"+"+pe+"(?="+[sa,Nr+T,"$"].join("|")+")",Nr+"?"+T+"+"+J,Nr+"+"+pe,Lt,wt,aa,vr].join("|"),"g"),$n=RegExp("["+$+_s+tu+si+"]"),ha=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wf=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Yf=-1,Ct={};Ct[Cr]=Ct[Zs]=Ct[Qs]=Ct[ea]=Ct[ta]=Ct[Ti]=Ct[ra]=Ct[Cs]=Ct[ri]=!0,Ct[Ce]=Ct[Oe]=Ct[Wt]=Ct[_t]=Ct[We]=Ct[lt]=Ct[$t]=Ct[Qe]=Ct[Je]=Ct[ht]=Ct[ze]=Ct[ar]=Ct[gr]=Ct[zt]=Ct[kr]=!1;var yt={};yt[Ce]=yt[Oe]=yt[Wt]=yt[We]=yt[_t]=yt[lt]=yt[Cr]=yt[Zs]=yt[Qs]=yt[ea]=yt[ta]=yt[Je]=yt[ht]=yt[ze]=yt[ar]=yt[gr]=yt[zt]=yt[br]=yt[Ti]=yt[ra]=yt[Cs]=yt[ri]=!0,yt[$t]=yt[Qe]=yt[kr]=!1;var Xf={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Jf={"&":"&","<":"<",">":">",'"':""","'":"'"},Zf={"&":"&","<":"<",">":">",""":'"',"'":"'"},Qf={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},eh=parseFloat,th=parseInt,Nc=typeof global=="object"&&global&&global.Object===Object&&global,rh=typeof self=="object"&&self&&self.Object===Object&&self,Yt=Nc||rh||Function("return this")(),xo=typeof no=="object"&&no&&!no.nodeType&&no,Oi=xo&&typeof Cc=="object"&&Cc&&!Cc.nodeType&&Cc,Lc=Oi&&Oi.exports===xo,Oo=Lc&&Nc.process,Yr=function(){try{var ee=Oi&&Oi.require&&Oi.require("util").types;return ee||Oo&&Oo.binding&&Oo.binding("util")}catch{}}(),Uc=Yr&&Yr.isArrayBuffer,Hc=Yr&&Yr.isDate,jc=Yr&&Yr.isMap,Mc=Yr&&Yr.isRegExp,qc=Yr&&Yr.isSet,Kc=Yr&&Yr.isTypedArray;function Ur(ee,ce,ae){switch(ae.length){case 0:return ee.call(ce);case 1:return ee.call(ce,ae[0]);case 2:return ee.call(ce,ae[0],ae[1]);case 3:return ee.call(ce,ae[0],ae[1],ae[2])}return ee.apply(ce,ae)}function nh(ee,ce,ae,$e){for(var qe=-1,st=ee==null?0:ee.length;++qe-1}function pa(ee,ce,ae){for(var $e=-1,qe=ee==null?0:ee.length;++$e-1;);return ae}function Wc(ee,ce){for(var ae=ee.length;ae--&&Ps(ce,ee[ae],0)>-1;);return ae}function Yc(ee,ce){for(var ae=ee.length,$e=0;ae--;)ee[ae]===ce&&++$e;return $e}var jo=he(Xf),ah=he(Jf);function Xc(ee){return"\\"+Qf[ee]}function uh(ee,ce){return ee==null?e:ee[ce]}function Ni(ee){return $n.test(ee)}function oh(ee){return ha.test(ee)}function ch(ee){for(var ce,ae=[];!(ce=ee.next()).done;)ae.push(ce.value);return ae}function Mo(ee){var ce=-1,ae=Array(ee.size);return ee.forEach(function($e,qe){ae[++ce]=[qe,$e]}),ae}function Ar(ee,ce){return function(ae){return ee(ce(ae))}}function gn(ee,ce){for(var ae=-1,$e=ee.length,qe=0,st=[];++ae<$e;){var Tt=ee[ae];(Tt===ce||Tt===l)&&(ee[ae]=l,st[qe++]=ae)}return st}function mn(ee){var ce=-1,ae=Array(ee.size);return ee.forEach(function($e){ae[++ce]=$e}),ae}function cu(ee){var ce=-1,ae=Array(ee.size);return ee.forEach(function($e){ae[++ce]=[$e,$e]}),ae}function Jc(ee,ce,ae){for(var $e=ae-1,qe=ee.length;++$e-1}function jA(u,o){var g=this.__data__,C=ol(g,u);return C<0?(++this.size,g.push([u,o])):g[C][1]=o,this}Mi.prototype.clear=NA,Mi.prototype.delete=LA,Mi.prototype.get=UA,Mi.prototype.has=HA,Mi.prototype.set=jA;function qi(u){var o=-1,g=u==null?0:u.length;for(this.clear();++o=o?u:o)),u}function On(u,o,g,C,R,N){var G,X=o&h,te=o&v,de=o&E;if(g&&(G=R?g(u,C,R,N):g(u)),G!==e)return G;if(!xt(u))return u;var ge=Ge(u);if(ge){if(G=VE(u),!X)return Qr(u,G)}else{var ve=Ir(u),Ie=ve==Qe||ve==bt;if(Os(u))return jd(u,X);if(ve==ze||ve==Ce||Ie&&!R){if(G=te||Ie?{}:a1(u),!X)return te?xE(u,nE(G,u)):TE(u,vd(G,u))}else{if(!yt[ve])return R?u:{};G=GE(u,ve,X)}}N||(N=new zn);var Re=N.get(u);if(Re)return Re;N.set(u,G),O1(u)?u.forEach(function(Me){G.add(On(Me,o,g,Me,u,N))}):T1(u)&&u.forEach(function(Me,nt){G.set(nt,On(Me,o,g,nt,u,N))});var je=de?te?Mh:jh:te?tn:cr,Ze=ge?e:je(u);return Xr(Ze||u,function(Me,nt){Ze&&(nt=Me,Me=u[nt]),zo(G,nt,On(Me,o,g,nt,u,N))}),G}function iE(u){var o=cr(u);return function(g){return wd(g,u,o)}}function wd(u,o,g){var C=g.length;if(u==null)return!C;for(u=At(u);C--;){var R=g[C],N=o[R],G=u[R];if(G===e&&!(R in u)||!N(G))return!1}return!0}function Ad(u,o,g){if(typeof u!="function")throw new Zr(s);return ec(function(){u.apply(e,g)},o)}function Wo(u,o,g,C){var R=-1,N=Hr,G=!0,X=u.length,te=[],de=o.length;if(!X)return te;g&&(o=Q(o,Fr(g))),C?(N=pa,G=!1):o.length>=r&&(N=ga,G=!1,o=new va(o));e:for(;++RR?0:R+g),C=C===e||C>R?R:Xe(C),C<0&&(C+=R),C=g>C?0:N1(C);g0&&g(X)?o>1?Er(X,o-1,g,C,R):dn(R,X):C||(R[R.length]=X)}return R}var bh=zd(),Sd=zd(!0);function oi(u,o){return u&&bh(u,o,cr)}function Ch(u,o){return u&&Sd(u,o,cr)}function ll(u,o){return pn(o,function(g){return Wi(u[g])})}function Aa(u,o){o=Ts(o,u);for(var g=0,C=o.length;u!=null&&go}function uE(u,o){return u!=null&&ot.call(u,o)}function oE(u,o){return u!=null&&o in At(u)}function cE(u,o,g){return u>=_r(o,g)&&u=120&&ge.length>=120)?new va(G&&ge):e}ge=u[0];var ve=-1,Ie=X[0];e:for(;++ve-1;)X!==u&&dt.call(X,te,1),dt.call(u,te,1);return u}function Td(u,o){for(var g=u?o.length:0,C=g-1;g--;){var R=o[g];if(g==C||R!==N){var N=R;zi(R)?dt.call(u,R,1):xh(u,R)}}return u}function $h(u,o){return u+ie(pd()*(o-u+1))}function SE(u,o,g,C){for(var R=-1,N=Qt(H((o-u)/(g||1)),0),G=ae(N);N--;)G[C?N:++R]=u,u+=g;return G}function Rh(u,o){var g="";if(!u||o<1||o>z)return g;do o%2&&(g+=u),o=ie(o/2),o&&(u+=u);while(o);return g}function et(u,o){return Yh(c1(u,o,rn),u+"")}function bE(u){return md(Iu(u))}function CE(u,o){var g=Iu(u);return yl(g,wa(o,0,g.length))}function Jo(u,o,g,C){if(!xt(u))return u;o=Ts(o,u);for(var R=-1,N=o.length,G=N-1,X=u;X!=null&&++RR?0:R+o),g=g>R?R:g,g<0&&(g+=R),R=o>g?0:g-o>>>0,o>>>=0;for(var N=ae(R);++C>>1,G=u[N];G!==null&&!wn(G)&&(g?G<=o:G=r){var de=o?null:LE(u);if(de)return mn(de);G=!1,R=ga,te=new va}else te=o?[]:X;e:for(;++C=C?u:kn(u,o,g)}var Hd=y||function(u){return Yt.clearTimeout(u)};function jd(u,o){if(o)return u.slice();var g=u.length,C=tl?tl(g):new u.constructor(g);return u.copy(C),C}function Lh(u){var o=new u.constructor(u.byteLength);return new vu(o).set(new vu(u)),o}function DE(u,o){var g=o?Lh(u.buffer):u.buffer;return new u.constructor(g,u.byteOffset,u.byteLength)}function PE(u){var o=new u.constructor(u.source,ni.exec(u));return o.lastIndex=u.lastIndex,o}function $E(u){return Go?At(Go.call(u)):{}}function Md(u,o){var g=o?Lh(u.buffer):u.buffer;return new u.constructor(g,u.byteOffset,u.length)}function qd(u,o){if(u!==o){var g=u!==e,C=u===null,R=u===u,N=wn(u),G=o!==e,X=o===null,te=o===o,de=wn(o);if(!X&&!de&&!N&&u>o||N&&G&&te&&!X&&!de||C&&G&&te||!g&&te||!R)return 1;if(!C&&!N&&!de&&u=X)return te;var de=g[C];return te*(de=="desc"?-1:1)}}return u.index-o.index}function Kd(u,o,g,C){for(var R=-1,N=u.length,G=g.length,X=-1,te=o.length,de=Qt(N-G,0),ge=ae(te+de),ve=!C;++X1?g[R-1]:e,G=R>2?g[2]:e;for(N=u.length>3&&typeof N=="function"?(R--,N):e,G&&Mr(g[0],g[1],G)&&(N=R<3?e:N,R=1),o=At(o);++C-1?R[N?o[G]:G]:e}}function Xd(u){return Gi(function(o){var g=o.length,C=g,R=xn.prototype.thru;for(u&&o.reverse();C--;){var N=o[C];if(typeof N!="function")throw new Zr(s);if(R&&!G&&Al(N)=="wrapper")var G=new xn([],!0)}for(C=G?C:g;++C1&&at.reverse(),ge&&teX))return!1;var de=N.get(u),ge=N.get(o);if(de&&ge)return de==o&&ge==u;var ve=-1,Ie=!0,Re=g&f?new va:e;for(N.set(u,o),N.set(o,u);++ve1?"& ":"")+o[C],o=o.join(g>2?", ":" "),u.replace(wo,`{ +/* [wrapped with `+o+`] */ +`)}function WE(u){return Ge(u)||Sa(u)||!!(il&&u&&u[il])}function zi(u,o){var g=typeof u;return o=o??z,!!o&&(g=="number"||g!="symbol"&&eu.test(u))&&u>-1&&u%1==0&&u0){if(++o>=k)return arguments[0]}else o=0;return u.apply(e,arguments)}}function yl(u,o){var g=-1,C=u.length,R=C-1;for(o=o===e?C:o;++g1?u[o-1]:e;return g=typeof g=="function"?(u.pop(),g):e,y1(u,g)});function S1(u){var o=O(u);return o.__chain__=!0,o}function s6(u,o){return o(u),u}function Sl(u,o){return o(u)}var a6=Gi(function(u){var o=u.length,g=o?u[0]:0,C=this.__wrapped__,R=function(N){return Sh(N,u)};return o>1||this.__actions__.length||!(C instanceof it)||!zi(g)?this.thru(R):(C=C.slice(g,+g+(o?1:0)),C.__actions__.push({func:Sl,args:[R],thisArg:e}),new xn(C,this.__chain__).thru(function(N){return o&&!N.length&&N.push(e),N}))});function u6(){return S1(this)}function o6(){return new xn(this.value(),this.__chain__)}function c6(){this.__values__===e&&(this.__values__=k1(this.value()));var u=this.__index__>=this.__values__.length,o=u?e:this.__values__[this.__index__++];return{done:u,value:o}}function l6(){return this}function f6(u){for(var o,g=this;g instanceof ul;){var C=g1(g);C.__index__=0,C.__values__=e,o?R.__wrapped__=C:o=C;var R=C;g=g.__wrapped__}return R.__wrapped__=u,o}function h6(){var u=this.__wrapped__;if(u instanceof it){var o=u;return this.__actions__.length&&(o=new it(this)),o=o.reverse(),o.__actions__.push({func:Sl,args:[Xh],thisArg:e}),new xn(o,this.__chain__)}return this.thru(Xh)}function p6(){return Ld(this.__wrapped__,this.__actions__)}var d6=dl(function(u,o,g){ot.call(u,g)?++u[g]:Ki(u,g,1)});function g6(u,o,g){var C=Ge(u)?Ve:sE;return g&&Mr(u,o,g)&&(o=e),C(u,Le(o,3))}function m6(u,o){var g=Ge(u)?pn:yd;return g(u,Le(o,3))}var v6=Yd(m1),w6=Yd(v1);function A6(u,o){return Er(bl(u,o),1)}function E6(u,o){return Er(bl(u,o),V)}function y6(u,o,g){return g=g===e?1:Xe(g),Er(bl(u,o),g)}function b1(u,o){var g=Ge(u)?Xr:$s;return g(u,Le(o,3))}function C1(u,o){var g=Ge(u)?B:Ed;return g(u,Le(o,3))}var S6=dl(function(u,o,g){ot.call(u,g)?u[g].push(o):Ki(u,g,[o])});function b6(u,o,g,C){u=en(u)?u:Iu(u),g=g&&!C?Xe(g):0;var R=u.length;return g<0&&(g=Qt(R+g,0)),Bl(u)?g<=R&&u.indexOf(o,g)>-1:!!R&&Ps(u,o,g)>-1}var C6=et(function(u,o,g){var C=-1,R=typeof o=="function",N=en(u)?ae(u.length):[];return $s(u,function(G){N[++C]=R?Ur(o,G,g):Yo(G,o,g)}),N}),F6=dl(function(u,o,g){Ki(u,g,o)});function bl(u,o){var g=Ge(u)?Q:Id;return g(u,Le(o,3))}function _6(u,o,g,C){return u==null?[]:(Ge(o)||(o=o==null?[]:[o]),g=C?e:g,Ge(g)||(g=g==null?[]:[g]),$d(u,o,g))}var I6=dl(function(u,o,g){u[g?0:1].push(o)},function(){return[[],[]]});function B6(u,o,g){var C=Ge(u)?ko:Gc,R=arguments.length<3;return C(u,Le(o,4),g,R,$s)}function D6(u,o,g){var C=Ge(u)?fd:Gc,R=arguments.length<3;return C(u,Le(o,4),g,R,Ed)}function P6(u,o){var g=Ge(u)?pn:yd;return g(u,_l(Le(o,3)))}function $6(u){var o=Ge(u)?md:bE;return o(u)}function R6(u,o,g){(g?Mr(u,o,g):o===e)?o=1:o=Xe(o);var C=Ge(u)?eE:CE;return C(u,o)}function T6(u){var o=Ge(u)?tE:_E;return o(u)}function x6(u){if(u==null)return 0;if(en(u))return Bl(u)?Li(u):u.length;var o=Ir(u);return o==Je||o==gr?u.size:Bh(u).length}function O6(u,o,g){var C=Ge(u)?Vc:IE;return g&&Mr(u,o,g)&&(o=e),C(u,Le(o,3))}var k6=et(function(u,o){if(u==null)return[];var g=o.length;return g>1&&Mr(u,o[0],o[1])?o=[]:g>2&&Mr(o[0],o[1],o[2])&&(o=[o[0]]),$d(u,Er(o,1),[])}),Cl=x||function(){return Yt.Date.now()};function N6(u,o){if(typeof o!="function")throw new Zr(s);return u=Xe(u),function(){if(--u<1)return o.apply(this,arguments)}}function F1(u,o,g){return o=g?e:o,o=u&&o==null?u.length:o,Vi(u,I,e,e,e,e,o)}function _1(u,o){var g;if(typeof o!="function")throw new Zr(s);return u=Xe(u),function(){return--u>0&&(g=o.apply(this,arguments)),u<=1&&(o=e),g}}var Zh=et(function(u,o,g){var C=A;if(g.length){var R=gn(g,Fu(Zh));C|=F}return Vi(u,C,o,g,R)}),I1=et(function(u,o,g){var C=A|m;if(g.length){var R=gn(g,Fu(I1));C|=F}return Vi(o,C,u,g,R)});function B1(u,o,g){o=g?e:o;var C=Vi(u,w,e,e,e,e,e,o);return C.placeholder=B1.placeholder,C}function D1(u,o,g){o=g?e:o;var C=Vi(u,S,e,e,e,e,e,o);return C.placeholder=D1.placeholder,C}function P1(u,o,g){var C,R,N,G,X,te,de=0,ge=!1,ve=!1,Ie=!0;if(typeof u!="function")throw new Zr(s);o=Ln(o)||0,xt(g)&&(ge=!!g.leading,ve="maxWait"in g,N=ve?Qt(Ln(g.maxWait)||0,o):N,Ie="trailing"in g?!!g.trailing:Ie);function Re(Gt){var Yn=C,Xi=R;return C=R=e,de=Gt,G=u.apply(Xi,Yn),G}function je(Gt){return de=Gt,X=ec(nt,o),ge?Re(Gt):G}function Ze(Gt){var Yn=Gt-te,Xi=Gt-de,Y1=o-Yn;return ve?_r(Y1,N-Xi):Y1}function Me(Gt){var Yn=Gt-te,Xi=Gt-de;return te===e||Yn>=o||Yn<0||ve&&Xi>=N}function nt(){var Gt=Cl();if(Me(Gt))return at(Gt);X=ec(nt,Ze(Gt))}function at(Gt){return X=e,Ie&&C?Re(Gt):(C=R=e,G)}function An(){X!==e&&Hd(X),de=0,C=te=R=X=e}function qr(){return X===e?G:at(Cl())}function En(){var Gt=Cl(),Yn=Me(Gt);if(C=arguments,R=this,te=Gt,Yn){if(X===e)return je(te);if(ve)return Hd(X),X=ec(nt,o),Re(te)}return X===e&&(X=ec(nt,o)),G}return En.cancel=An,En.flush=qr,En}var L6=et(function(u,o){return Ad(u,1,o)}),U6=et(function(u,o,g){return Ad(u,Ln(o)||0,g)});function H6(u){return Vi(u,q)}function Fl(u,o){if(typeof u!="function"||o!=null&&typeof o!="function")throw new Zr(s);var g=function(){var C=arguments,R=o?o.apply(this,C):C[0],N=g.cache;if(N.has(R))return N.get(R);var G=u.apply(this,C);return g.cache=N.set(R,G)||N,G};return g.cache=new(Fl.Cache||qi),g}Fl.Cache=qi;function _l(u){if(typeof u!="function")throw new Zr(s);return function(){var o=arguments;switch(o.length){case 0:return!u.call(this);case 1:return!u.call(this,o[0]);case 2:return!u.call(this,o[0],o[1]);case 3:return!u.call(this,o[0],o[1],o[2])}return!u.apply(this,o)}}function j6(u){return _1(2,u)}var M6=BE(function(u,o){o=o.length==1&&Ge(o[0])?Q(o[0],Fr(Le())):Q(Er(o,1),Fr(Le()));var g=o.length;return et(function(C){for(var R=-1,N=_r(C.length,g);++R=o}),Sa=Cd(function(){return arguments}())?Cd:function(u){return Ht(u)&&ot.call(u,"callee")&&!nl.call(u,"callee")},Ge=ae.isArray,ny=Uc?Fr(Uc):fE;function en(u){return u!=null&&Il(u.length)&&!Wi(u)}function Vt(u){return Ht(u)&&en(u)}function iy(u){return u===!0||u===!1||Ht(u)&&jr(u)==_t}var Os=Et||lp,sy=Hc?Fr(Hc):hE;function ay(u){return Ht(u)&&u.nodeType===1&&!tc(u)}function uy(u){if(u==null)return!0;if(en(u)&&(Ge(u)||typeof u=="string"||typeof u.splice=="function"||Os(u)||_u(u)||Sa(u)))return!u.length;var o=Ir(u);if(o==Je||o==gr)return!u.size;if(Qo(u))return!Bh(u).length;for(var g in u)if(ot.call(u,g))return!1;return!0}function oy(u,o){return Xo(u,o)}function cy(u,o,g){g=typeof g=="function"?g:e;var C=g?g(u,o):e;return C===e?Xo(u,o,e,g):!!C}function ep(u){if(!Ht(u))return!1;var o=jr(u);return o==$t||o==qt||typeof u.message=="string"&&typeof u.name=="string"&&!tc(u)}function ly(u){return typeof u=="number"&&Ut(u)}function Wi(u){if(!xt(u))return!1;var o=jr(u);return o==Qe||o==bt||o==sr||o==Pn}function R1(u){return typeof u=="number"&&u==Xe(u)}function Il(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=z}function xt(u){var o=typeof u;return u!=null&&(o=="object"||o=="function")}function Ht(u){return u!=null&&typeof u=="object"}var T1=jc?Fr(jc):dE;function fy(u,o){return u===o||Ih(u,o,Kh(o))}function hy(u,o,g){return g=typeof g=="function"?g:e,Ih(u,o,Kh(o),g)}function py(u){return x1(u)&&u!=+u}function dy(u){if(JE(u))throw new qe(n);return Fd(u)}function gy(u){return u===null}function my(u){return u==null}function x1(u){return typeof u=="number"||Ht(u)&&jr(u)==ht}function tc(u){if(!Ht(u)||jr(u)!=ze)return!1;var o=wu(u);if(o===null)return!0;var g=ot.call(o,"constructor")&&o.constructor;return typeof g=="function"&&g instanceof g&&pu.call(g)==mh}var tp=Mc?Fr(Mc):gE;function vy(u){return R1(u)&&u>=-z&&u<=z}var O1=qc?Fr(qc):mE;function Bl(u){return typeof u=="string"||!Ge(u)&&Ht(u)&&jr(u)==zt}function wn(u){return typeof u=="symbol"||Ht(u)&&jr(u)==br}var _u=Kc?Fr(Kc):vE;function wy(u){return u===e}function Ay(u){return Ht(u)&&Ir(u)==kr}function Ey(u){return Ht(u)&&jr(u)==pt}var yy=wl(Dh),Sy=wl(function(u,o){return u<=o});function k1(u){if(!u)return[];if(en(u))return Bl(u)?Jr(u):Qr(u);if(Hi&&u[Hi])return ch(u[Hi]());var o=Ir(u),g=o==Je?Mo:o==gr?mn:Iu;return g(u)}function Yi(u){if(!u)return u===0?u:0;if(u=Ln(u),u===V||u===-V){var o=u<0?-1:1;return o*re}return u===u?u:0}function Xe(u){var o=Yi(u),g=o%1;return o===o?g?o-g:o:0}function N1(u){return u?wa(Xe(u),0,we):0}function Ln(u){if(typeof u=="number")return u;if(wn(u))return Ee;if(xt(u)){var o=typeof u.valueOf=="function"?u.valueOf():u;u=xt(o)?o+"":o}if(typeof u!="string")return u===0?u:+u;u=Ho(u);var g=Fo.test(u);return g||Io.test(u)?th(u.slice(2),g?2:8):Qa.test(u)?Ee:+u}function L1(u){return ci(u,tn(u))}function by(u){return u?wa(Xe(u),-z,z):u===0?u:0}function mt(u){return u==null?"":vn(u)}var Cy=bu(function(u,o){if(Qo(o)||en(o)){ci(o,cr(o),u);return}for(var g in o)ot.call(o,g)&&zo(u,g,o[g])}),U1=bu(function(u,o){ci(o,tn(o),u)}),Dl=bu(function(u,o,g,C){ci(o,tn(o),u,C)}),Fy=bu(function(u,o,g,C){ci(o,cr(o),u,C)}),_y=Gi(Sh);function Iy(u,o){var g=Su(u);return o==null?g:vd(g,o)}var By=et(function(u,o){u=At(u);var g=-1,C=o.length,R=C>2?o[2]:e;for(R&&Mr(o[0],o[1],R)&&(C=1);++g1),N}),ci(u,Mh(u),g),C&&(g=On(g,h|v|E,UE));for(var R=o.length;R--;)xh(g,o[R]);return g});function Gy(u,o){return j1(u,_l(Le(o)))}var zy=Gi(function(u,o){return u==null?{}:EE(u,o)});function j1(u,o){if(u==null)return{};var g=Q(Mh(u),function(C){return[C]});return o=Le(o),Rd(u,g,function(C,R){return o(C,R[0])})}function Wy(u,o,g){o=Ts(o,u);var C=-1,R=o.length;for(R||(R=1,u=e);++Co){var C=u;u=o,o=C}if(g||u%1||o%1){var R=pd();return _r(u+R*(o-u+eh("1e-"+((R+"").length-1))),o)}return $h(u,o)}var s5=Cu(function(u,o,g){return o=o.toLowerCase(),u+(g?K1(o):o)});function K1(u){return ip(mt(u).toLowerCase())}function V1(u){return u=mt(u),u&&u.replace(ii,jo).replace(Lr,"")}function a5(u,o,g){u=mt(u),o=vn(o);var C=u.length;g=g===e?C:wa(Xe(g),0,C);var R=g;return g-=o.length,g>=0&&u.slice(g,R)==o}function u5(u){return u=mt(u),u&&Xa.test(u)?u.replace(Wa,ah):u}function o5(u){return u=mt(u),u&&mo.test(u)?u.replace(Fs,"\\$&"):u}var c5=Cu(function(u,o,g){return u+(g?"-":"")+o.toLowerCase()}),l5=Cu(function(u,o,g){return u+(g?" ":"")+o.toLowerCase()}),f5=Wd("toLowerCase");function h5(u,o,g){u=mt(u),o=Xe(o);var C=o?Li(u):0;if(!o||C>=o)return u;var R=(o-C)/2;return vl(ie(R),g)+u+vl(H(R),g)}function p5(u,o,g){u=mt(u),o=Xe(o);var C=o?Li(u):0;return o&&C>>0,g?(u=mt(u),u&&(typeof o=="string"||o!=null&&!tp(o))&&(o=vn(o),!o&&Ni(u))?xs(Jr(u),0,g):u.split(o,g)):[]}var E5=Cu(function(u,o,g){return u+(g?" ":"")+ip(o)});function y5(u,o,g){return u=mt(u),g=g==null?0:wa(Xe(g),0,u.length),o=vn(o),u.slice(g,g+o.length)==o}function S5(u,o,g){var C=O.templateSettings;g&&Mr(u,o,g)&&(o=e),u=mt(u),o=Dl({},o,C,t1);var R=Dl({},o.imports,C.imports,t1),N=cr(R),G=da(R,N),X,te,de=0,ge=o.interpolate||Wr,ve="__p += '",Ie=fu((o.escape||Wr).source+"|"+ge.source+"|"+(ge===Za?Co:Wr).source+"|"+(o.evaluate||Wr).source+"|$","g"),Re="//# sourceURL="+(ot.call(o,"sourceURL")?(o.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Yf+"]")+` +`;u.replace(Ie,function(Me,nt,at,An,qr,En){return at||(at=An),ve+=u.slice(de,En).replace(Bo,Xc),nt&&(X=!0,ve+=`' + +__e(`+nt+`) + +'`),qr&&(te=!0,ve+=`'; +`+qr+`; +__p += '`),at&&(ve+=`' + +((__t = (`+at+`)) == null ? '' : __t) + +'`),de=En+Me.length,Me}),ve+=`'; +`;var je=ot.call(o,"variable")&&o.variable;if(!je)ve=`with (obj) { +`+ve+` +} +`;else if(So.test(je))throw new qe(a);ve=(te?ve.replace(xi,""):ve).replace(Va,"$1").replace(Ga,"$1;"),ve="function("+(je||"obj")+`) { +`+(je?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+ve+`return __p +}`;var Ze=z1(function(){return st(N,Re+"return "+ve).apply(e,G)});if(Ze.source=ve,ep(Ze))throw Ze;return Ze}function b5(u){return mt(u).toLowerCase()}function C5(u){return mt(u).toUpperCase()}function F5(u,o,g){if(u=mt(u),u&&(g||o===e))return Ho(u);if(!u||!(o=vn(o)))return u;var C=Jr(u),R=Jr(o),N=ou(C,R),G=Wc(C,R)+1;return xs(C,N,G).join("")}function _5(u,o,g){if(u=mt(u),u&&(g||o===e))return u.slice(0,lu(u)+1);if(!u||!(o=vn(o)))return u;var C=Jr(u),R=Wc(C,Jr(o))+1;return xs(C,0,R).join("")}function I5(u,o,g){if(u=mt(u),u&&(g||o===e))return u.replace(na,"");if(!u||!(o=vn(o)))return u;var C=Jr(u),R=ou(C,Jr(o));return xs(C,R).join("")}function B5(u,o){var g=_,C=P;if(xt(o)){var R="separator"in o?o.separator:R;g="length"in o?Xe(o.length):g,C="omission"in o?vn(o.omission):C}u=mt(u);var N=u.length;if(Ni(u)){var G=Jr(u);N=G.length}if(g>=N)return u;var X=g-Li(C);if(X<1)return C;var te=G?xs(G,0,X).join(""):u.slice(0,X);if(R===e)return te+C;if(G&&(X+=te.length-X),tp(R)){if(u.slice(X).search(R)){var de,ge=te;for(R.global||(R=fu(R.source,mt(ni.exec(R))+"g")),R.lastIndex=0;de=R.exec(ge);)var ve=de.index;te=te.slice(0,ve===e?X:ve)}}else if(u.indexOf(vn(R),X)!=X){var Ie=te.lastIndexOf(R);Ie>-1&&(te=te.slice(0,Ie))}return te+C}function D5(u){return u=mt(u),u&&Ya.test(u)?u.replace(za,Zc):u}var P5=Cu(function(u,o,g){return u+(g?" ":"")+o.toUpperCase()}),ip=Wd("toUpperCase");function G1(u,o,g){return u=mt(u),o=g?e:o,o===e?oh(u)?hh(u):No(u):u.match(o)||[]}var z1=et(function(u,o){try{return Ur(u,e,o)}catch(g){return ep(g)?g:new qe(g)}}),$5=Gi(function(u,o){return Xr(o,function(g){g=li(g),Ki(u,g,Zh(u[g],u))}),u});function R5(u){var o=u==null?0:u.length,g=Le();return u=o?Q(u,function(C){if(typeof C[1]!="function")throw new Zr(s);return[g(C[0]),C[1]]}):[],et(function(C){for(var R=-1;++Rz)return[];var g=we,C=_r(u,we);o=Le(o),u-=we;for(var R=Uo(C,o);++g0||o<0)?new it(g):(u<0?g=g.takeRight(-u):u&&(g=g.drop(u)),o!==e&&(o=Xe(o),g=o<0?g.dropRight(-o):g.take(o-u)),g)},it.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},it.prototype.toArray=function(){return this.take(we)},oi(it.prototype,function(u,o){var g=/^(?:filter|find|map|reject)|While$/.test(o),C=/^(?:head|last)$/.test(o),R=O[C?"take"+(o=="last"?"Right":""):o],N=C||/^find/.test(o);R&&(O.prototype[o]=function(){var G=this.__wrapped__,X=C?[1]:arguments,te=G instanceof it,de=X[0],ge=te||Ge(G),ve=function(nt){var at=R.apply(O,dn([nt],X));return C&&Ie?at[0]:at};ge&&g&&typeof de=="function"&&de.length!=1&&(te=ge=!1);var Ie=this.__chain__,Re=!!this.__actions__.length,je=N&&!Ie,Ze=te&&!Re;if(!N&&ge){G=Ze?G:new it(this);var Me=u.apply(G,X);return Me.__actions__.push({func:Sl,args:[ve],thisArg:e}),new xn(Me,Ie)}return je&&Ze?u.apply(this,X):(Me=this.thru(ve),je?C?Me.value()[0]:Me.value():Me)})}),Xr(["pop","push","shift","sort","splice","unshift"],function(u){var o=hu[u],g=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",C=/^(?:pop|shift)$/.test(u);O.prototype[u]=function(){var R=arguments;if(C&&!this.__chain__){var N=this.value();return o.apply(Ge(N)?N:[],R)}return this[g](function(G){return o.apply(Ge(G)?G:[],R)})}}),oi(it.prototype,function(u,o){var g=O[o];if(g){var C=g.name+"";ot.call(yu,C)||(yu[C]=[]),yu[C].push({name:o,func:g})}}),yu[gl(e,m).name]=[{name:"wrapper",func:e}],it.prototype.clone=DA,it.prototype.reverse=PA,it.prototype.value=$A,O.prototype.at=a6,O.prototype.chain=u6,O.prototype.commit=o6,O.prototype.next=c6,O.prototype.plant=f6,O.prototype.reverse=h6,O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=p6,O.prototype.first=O.prototype.head,Hi&&(O.prototype[Hi]=l6),O},Tn=ph();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Yt._=Tn,define(function(){return Tn})):Oi?((Oi.exports=Tn)._=Tn,xo._=Tn):Yt._=Tn}).call(no)});var Uf=be((RT,iw)=>{"use strict";var CB=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},L0=class e extends Error{constructor(t,r,n){super(t),CB(this,e.prototype),this.name="GrammarError",this.location=r,n===void 0&&(n=[]),this.diagnostics=n,this.stage=null,this.problems=[["error",t,r,n]]}toString(){let t=super.toString();this.location&&(t+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(t+=`${this.location.source}:`),t+=`${this.location.start.line}:${this.location.start.column}`);for(let r of this.diagnostics)t+=` + from `,r.location.source!==void 0&&r.location.source!==null&&(t+=`${r.location.source}:`),t+=`${r.location.start.line}:${r.location.start.column}: ${r.message}`;return t}format(t){let r=t.map(({source:a,text:i})=>({source:a,text:i.split(/\r\n|\n|\r/g)}));function n(a,i,c=""){let l="",h=r.find(({source:E})=>E===a.source),v=a.start;if(h){let E=a.end,p=h.text[v.line-1],A=(v.line===E.line?E.column:p.length+1)-v.column||1;c&&(l+=` +note: ${c}`),l+=` + --> ${a.source}:${v.line}:${v.column} +${"".padEnd(i)} | +${v.line.toString().padStart(i)} | ${p} +${"".padEnd(i)} | ${"".padEnd(v.column-1)}${"".padEnd(A,"^")}`}else l+=` + at ${a.source}:${v.line}:${v.column}`,c&&(l+=`: ${c}`);return l}function s(a,i,c,l=[]){let h;c?h=l.reduce((E,{location:p})=>Math.max(E,p.start.line),c.start.line):h=Math.max.apply(null,l.map(E=>E.location.start.line)),h=h.toString().length;let v=`${a}: ${i}`;c&&(v+=n(c,h));for(let E of l)v+=n(E.location,h,E.message);return v}return this.problems.filter(a=>a[0]!=="info").map(a=>s(...a)).join(` + +`)}};iw.exports=L0});var Kn=be((TT,sw)=>{"use strict";var FB={build(e){function t(i,...c){return e[i.type](i,...c)}function r(){}function n(i,...c){return t(i.expression,...c)}function s(i){return function(c,...l){c[i].forEach(h=>t(h,...l))}}let a={grammar(i,...c){i.topLevelInitializer&&t(i.topLevelInitializer,...c),i.initializer&&t(i.initializer,...c),i.rules.forEach(l=>t(l,...c))},top_level_initializer:r,initializer:r,rule:n,named:n,choice:s("alternatives"),action:n,sequence:s("elements"),labeled:n,text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,group:n,semantic_and:r,semantic_not:r,rule_ref:r,literal:r,class:r,any:r};return Object.keys(a).forEach(i=>{Object.prototype.hasOwnProperty.call(e,i)||(e[i]=a[i])}),t}};sw.exports=FB});var zs=be((xT,uw)=>{"use strict";var _B=Kn(),aw={findRule(e,t){for(let r=0;r{"use strict";var IB={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};ow.exports=IB});var H0=be((kT,cw)=>{"use strict";var BB=Kn(),DB=zs(),PB=Uf(),Pc=1,Ka=0,$c=-1;function Hf(e){function t(i){return i.match=Ka}function r(i){return a(i.expression),i.match=Pc}function n(i){return i.match=a(i.expression)}function s(i,c){let l=i.length,h=0,v=0;for(let E=0;E0?$c:Ka}let a=BB.build({rule(i){let c,l=0;if(typeof i.match>"u"){i.match=Ka;do if(c=i.match,i.match=a(i.expression),++l>6)throw new PB("Infinity cycle detected when trying to evaluate node match result",i.location);while(c!==i.match)}return i.match},named:n,choice(i){return i.match=s(i.alternatives,!0)},action:n,sequence(i){return i.match=s(i.elements,!1)},labeled:n,text:n,simple_and:n,simple_not(i){return i.match=-a(i.expression)},optional:r,zero_or_more:r,one_or_more:n,group:n,semantic_and:t,semantic_not:t,rule_ref(i){let c=DB.findRule(e,i.name);return i.match=a(c)},literal(i){let c=i.value.length===0?Pc:Ka;return i.match=c},class(i){let c=i.parts.length===0?$c:Ka;return i.match=c},any:t});a(e)}Hf.ALWAYS_MATCH=Pc;Hf.SOMETIMES_MATCH=Ka;Hf.NEVER_MATCH=$c;cw.exports=Hf});var fw=be((NT,lw)=>{"use strict";var $B=zs(),De=U0(),RB=Kn(),{ALWAYS_MATCH:oo,SOMETIMES_MATCH:j0,NEVER_MATCH:M0}=H0();function TB(e){let t=[],r=[],n=[],s=[];function a(S){let F=t.indexOf(S);return F===-1?t.push(S)-1:F}function i(S){let F={value:S.parts,inverted:S.inverted,ignoreCase:S.ignoreCase},D=JSON.stringify(F),I=r.findIndex(j=>JSON.stringify(j)===D);return I===-1?r.push(F)-1:I}function c(S){let F=JSON.stringify(S),D=n.findIndex(I=>JSON.stringify(I)===F);return D===-1?n.push(S)-1:D}function l(S,F,D){let I={predicate:S,params:F,body:D.code,location:D.codeLocation},j=JSON.stringify(I),q=s.findIndex(_=>JSON.stringify(_)===j);return q===-1?s.push(I)-1:q}function h(S){let F={};return Object.keys(S).forEach(D=>{F[D]=S[D]}),F}function v(S,...F){return S.concat(...F)}function E(S,F,D,I){return S===oo?D:S===M0?I:F.concat([D.length,I.length],D,I)}function p(S,F){return S.concat([F.length],F)}function f(S,F,D,I){let j=Object.keys(D).map(q=>I-D[q]);return[De.CALL,S,F,j.length].concat(j)}function A(S,F,D){let I=S.match|0;return v([De.PUSH_CURR_POS],[De.SILENT_FAILS_ON],w(S,{sp:D.sp+1,env:h(D.env),action:null}),[De.SILENT_FAILS_OFF],E(F?-I:I,[F?De.IF_ERROR:De.IF_NOT_ERROR],v([De.POP],[F?De.POP:De.POP_CURR_POS],[De.PUSH_UNDEFINED]),v([De.POP],[F?De.POP_CURR_POS:De.POP],[De.PUSH_FAILED])))}function m(S,F,D){let I=l(!0,Object.keys(D.env),S);return v([De.UPDATE_SAVED_POS],f(I,0,D.env,D.sp),E(S.match|0,[De.IF],v([De.POP],F?[De.PUSH_FAILED]:[De.PUSH_UNDEFINED]),v([De.POP],F?[De.PUSH_UNDEFINED]:[De.PUSH_FAILED])))}function b(S){return p([De.WHILE_NOT_ERROR],v([De.APPEND],S))}let w=RB.build({grammar(S){S.rules.forEach(w),S.literals=t,S.classes=r,S.expectations=n,S.functions=s},rule(S){S.bytecode=w(S.expression,{sp:-1,env:{},pluck:[],action:null})},named(S,F){let D=S.match|0,I=D===M0?null:c({type:"rule",value:S.name});return v([De.SILENT_FAILS_ON],w(S.expression,F),[De.SILENT_FAILS_OFF],E(D,[De.IF_ERROR],[De.FAIL,I],[]))},choice(S,F){function D(I,j){let q=I[0].match|0,_=w(I[0],{sp:j.sp,env:h(j.env),action:null});return q===oo?_:v(_,I.length>1?E(j0,[De.IF_ERROR],v([De.POP],D(I.slice(1),j)),[]):[])}return D(S.alternatives,F)},action(S,F){let D=h(F.env),I=S.expression.type!=="sequence"||S.expression.elements.length===0,j=w(S.expression,{sp:F.sp+(I?1:0),env:D,action:S}),q=S.expression.match|0,_=I&&q!==M0?l(!1,Object.keys(D),S):null;return I?v([De.PUSH_CURR_POS],j,E(q,[De.IF_NOT_ERROR],v([De.LOAD_SAVED_POS,1],f(_,1,D,F.sp+2)),[]),[De.NIP]):j},sequence(S,F){function D(I,j){if(I.length>0){let q=S.elements.length-I.length+1;return v(w(I[0],{sp:j.sp,env:j.env,pluck:j.pluck,action:null}),E(I[0].match|0,[De.IF_NOT_ERROR],D(I.slice(1),{sp:j.sp+1,env:j.env,pluck:j.pluck,action:j.action}),v(q>1?[De.POP_N,q]:[De.POP],[De.POP_CURR_POS],[De.PUSH_FAILED])))}else{if(j.pluck.length>0)return v([De.PLUCK,S.elements.length+1,j.pluck.length],j.pluck.map(q=>j.sp-q));if(j.action){let q=l(!1,Object.keys(j.env),j.action);return v([De.LOAD_SAVED_POS,S.elements.length],f(q,S.elements.length+1,j.env,j.sp))}else return v([De.WRAP,S.elements.length],[De.NIP])}}return v([De.PUSH_CURR_POS],D(S.elements,{sp:F.sp+1,env:F.env,pluck:[],action:F.action}))},labeled(S,F){let D=F.env,I=S.label,j=F.sp+1;return I&&(D=h(F.env),F.env[S.label]=j),S.pick&&F.pluck.push(j),w(S.expression,{sp:F.sp,env:D,action:null})},text(S,F){return v([De.PUSH_CURR_POS],w(S.expression,{sp:F.sp+1,env:h(F.env),action:null}),E(S.match|0,[De.IF_NOT_ERROR],v([De.POP],[De.TEXT]),[De.NIP]))},simple_and(S,F){return A(S.expression,!1,F)},simple_not(S,F){return A(S.expression,!0,F)},optional(S,F){return v(w(S.expression,{sp:F.sp,env:h(F.env),action:null}),E(-(S.expression.match|0),[De.IF_ERROR],v([De.POP],[De.PUSH_NULL]),[]))},zero_or_more(S,F){let D=w(S.expression,{sp:F.sp+1,env:h(F.env),action:null});return v([De.PUSH_EMPTY_ARRAY],D,b(D),[De.POP])},one_or_more(S,F){let D=w(S.expression,{sp:F.sp+1,env:h(F.env),action:null});return v([De.PUSH_EMPTY_ARRAY],D,E(S.expression.match|0,[De.IF_NOT_ERROR],v(b(D),[De.POP]),v([De.POP],[De.POP],[De.PUSH_FAILED])))},group(S,F){return w(S.expression,{sp:F.sp,env:h(F.env),action:null})},semantic_and(S,F){return m(S,!1,F)},semantic_not(S,F){return m(S,!0,F)},rule_ref(S){return[De.RULE,$B.indexOfRule(e,S.name)]},literal(S){if(S.value.length>0){let F=S.match|0,I=F===j0||F===oo&&!S.ignoreCase?a(S.ignoreCase?S.value.toLowerCase():S.value):null,j=F!==oo?c({type:"literal",value:S.value,ignoreCase:S.ignoreCase}):null;return E(F,S.ignoreCase?[De.MATCH_STRING_IC,I]:[De.MATCH_STRING,I],S.ignoreCase?[De.ACCEPT_N,S.value.length]:[De.ACCEPT_STRING,I],[De.FAIL,j])}return[De.PUSH_EMPTY_STRING]},class(S){let F=S.match|0,D=F===j0?i(S):null,I=F!==oo?c({type:"class",value:S.parts,inverted:S.inverted,ignoreCase:S.ignoreCase}):null;return E(F,[De.MATCH_CHAR_CLASS,D],[De.ACCEPT_N,1],[De.FAIL,I])},any(S){let F=S.match|0,D=F!==oo?c({type:"any"}):null;return E(F,[De.MATCH_ANY],[De.ACCEPT_N,1],[De.FAIL,D])}});w(e)}lw.exports=TB});var pw=be((LT,hw)=>{"use strict";var q0=class{constructor(t,r,n){this.sp=-1,this.maxSp=-1,this.varName=r,this.ruleName=t,this.type=n}name(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${t}`);return this.varName+t}push(t){let r=this.name(++this.sp)+" = "+t+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),r}pop(t){return t!==void 0?(this.sp-=t,Array.from({length:t},(r,n)=>this.name(this.sp+1+n))):this.name(this.sp--)}top(){return this.name(this.sp)}index(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${t}`);return this.name(this.sp-t)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(t,r)=>this.name(r)).join(", ")+";"}checkedIf(t,r,n){let s=this.sp;if(r(),n){let a=this.sp;if(this.sp=s,n(),a!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Branches of a condition can't move the stack pointer differently (before: "+s+", after then: "+a+", after else: "+this.sp+").")}}checkedLoop(t,r){let n=this.sp;if(r(),n!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Body of a loop can't move the stack pointer (before: "+n+", after: "+this.sp+").")}};hw.exports=q0});var K0=be((UT,dw)=>{"use strict";dw.exports="2.0.1"});var gw=be(jf=>{"use strict";function Ss(e){return e.charCodeAt(0).toString(16).toUpperCase()}jf.hex=Ss;function xB(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ss(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ss(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ss(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ss(t))}jf.stringEscape=xB;function OB(e){return e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ss(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ss(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ss(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ss(t))}jf.regexpClassEscape=OB});var ww=be(vw=>{var mw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");vw.encode=function(e){if(0<=e&&e{var kB=ww(),Aw=5,Ew=1<>>=Aw,s>0&&(n|=LB),r+=kB.encode(n);while(s>0);return r}});var qf=be(Ys=>{function HB(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Ys.getArg=HB;var Cw=function(){return!("__proto__"in Object.create(null))}();function Fw(e){return e}function jB(e){return _w(e)?"$"+e:e}Ys.toSetString=Cw?Fw:jB;function MB(e){return _w(e)?e.slice(1):e}Ys.fromSetString=Cw?Fw:MB;function _w(e){if(!e)return!1;let t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(let r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function bw(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function qB(e,t){let r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=bw(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:bw(e.name,t.name)}Ys.compareByGeneratedPositionsInflated=qB;var V0="http:",Rc=`${V0}//host`;function Iw(e){return t=>{let r=Tc(t),n=G0(t),s=new URL(t,n);e(s);let a=s.toString();return r==="absolute"?a:r==="scheme-relative"?a.slice(V0.length):r==="path-absolute"?a.slice(Rc.length):z0(n,a)}}function Ws(e,t){return new URL(e,t).toString()}function KB(e,t){let r=0;do{let n=e+r++;if(t.indexOf(n)===-1)return n}while(!0)}function G0(e){let t=e.split("..").length-1,r=KB("p",e),n=`${Rc}/`;for(let s=0;s0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map(()=>"..").concat(r).join("/")+t.search+t.hash}var GB=Iw(e=>{e.pathname=e.pathname.replace(/\/?$/,"/")}),Mf=Iw(e=>{});Ys.normalize=Mf;function zB(e,t){let r=Tc(t),n=Tc(e);if(e=GB(e),r==="absolute")return Ws(t,void 0);if(n==="absolute")return Ws(t,e);if(r==="scheme-relative")return Mf(t);if(n==="scheme-relative")return Ws(t,Ws(e,Rc)).slice(V0.length);if(r==="path-absolute")return Mf(t);if(n==="path-absolute")return Ws(t,Ws(e,Rc)).slice(Rc.length);let s=G0(t+e),a=Ws(t,Ws(e,s));return z0(s,a)}Ys.join=zB;function WB(e,t){let r=YB(e,t);return typeof r=="string"?r:Mf(t)}Ys.relative=WB;function YB(e,t){if(Tc(e)!==Tc(t))return null;let n=G0(e+t),s=new URL(e,n),a=new URL(t,n);try{new URL("",a.toString())}catch{return null}return a.protocol!==s.protocol||a.user!==s.user||a.password!==s.password||a.hostname!==s.hostname||a.port!==s.port?null:z0(s,a)}});var Dw=be(Bw=>{var W0=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){let n=new e;for(let s=0,a=t.length;s=0)return r;throw new Error('"'+t+'" is not in the set.')}at(t){if(t>=0&&t{var Pw=qf();function XB(e,t){let r=e.generatedLine,n=t.generatedLine,s=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=s||Pw.compareByGeneratedPositionsInflated(e,t)<=0}var Y0=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(t,r){this._array.forEach(t,r)}add(t){XB(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))}toArray(){return this._sorted||(this._array.sort(Pw.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};$w.MappingList=Y0});var X0=be(Tw=>{var xc=Sw(),Zt=qf(),Kf=Dw().ArraySet,JB=Rw().MappingList,Vf=class e{constructor(t){t||(t={}),this._file=Zt.getArg(t,"file",null),this._sourceRoot=Zt.getArg(t,"sourceRoot",null),this._skipValidation=Zt.getArg(t,"skipValidation",!1),this._sources=new Kf,this._names=new Kf,this._mappings=new JB,this._sourcesContents=null}static fromSourceMap(t){let r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping(function(s){let a={generated:{line:s.generatedLine,column:s.generatedColumn}};s.source!=null&&(a.source=s.source,r!=null&&(a.source=Zt.relative(r,a.source)),a.original={line:s.originalLine,column:s.originalColumn},s.name!=null&&(a.name=s.name)),n.addMapping(a)}),t.sources.forEach(function(s){let a=s;r!=null&&(a=Zt.relative(r,s)),n._sources.has(a)||n._sources.add(a);let i=t.sourceContentFor(s);i!=null&&n.setSourceContent(s,i)}),n}addMapping(t){let r=Zt.getArg(t,"generated"),n=Zt.getArg(t,"original",null),s=Zt.getArg(t,"source",null),a=Zt.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,s,a),s!=null&&(s=String(s),this._sources.has(s)||this._sources.add(s)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:s,name:a})}setSourceContent(t,r){let n=t;this._sourceRoot!=null&&(n=Zt.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Zt.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[Zt.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(t,r,n){let s=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);s=t.file}let a=this._sourceRoot;a!=null&&(s=Zt.relative(a,s));let i=this._mappings.toArray().length>0?new Kf:this._sources,c=new Kf;this._mappings.unsortedForEach(function(l){if(l.source===s&&l.originalLine!=null){let E=t.originalPositionFor({line:l.originalLine,column:l.originalColumn});E.source!=null&&(l.source=E.source,n!=null&&(l.source=Zt.join(n,l.source)),a!=null&&(l.source=Zt.relative(a,l.source)),l.originalLine=E.line,l.originalColumn=E.column,E.name!=null&&(l.name=E.name))}let h=l.source;h!=null&&!i.has(h)&&i.add(h);let v=l.name;v!=null&&!c.has(v)&&c.add(v)},this),this._sources=i,this._names=c,t.sources.forEach(function(l){let h=t.sourceContentFor(l);h!=null&&(n!=null&&(l=Zt.join(n,l)),a!=null&&(l=Zt.relative(a,l)),this.setSourceContent(l,h))},this)}_validateMapping(t,r,n,s){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!s)){if(!(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:s}))}}_serializeMappings(){let t=0,r=1,n=0,s=0,a=0,i=0,c="",l,h,v,E,p=this._mappings.toArray();for(let f=0,A=p.length;f0){if(!Zt.compareByGeneratedPositionsInflated(h,p[f-1]))continue;l+=","}l+=xc.encode(h.generatedColumn-t),t=h.generatedColumn,h.source!=null&&(E=this._sources.indexOf(h.source),l+=xc.encode(E-i),i=E,l+=xc.encode(h.originalLine-1-s),s=h.originalLine-1,l+=xc.encode(h.originalColumn-n),n=h.originalColumn,h.name!=null&&(v=this._names.indexOf(h.name),l+=xc.encode(v-a),a=v)),c+=l}return c}_generateSourcesContent(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=Zt.relative(r,n));let s=Zt.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,s)?this._sourcesContents[s]:null},this)}toJSON(){let t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t}toString(){return JSON.stringify(this.toJSON())}};Vf.prototype._version=3;Tw.SourceMapGenerator=Vf});var Ow=be(xw=>{var ZB=X0().SourceMapGenerator,Gf=qf(),QB=/(\r?\n)/,eD=10,co="$$$isSourceNode$$$",J0=class e{constructor(t,r,n,s,a){this.children=[],this.sourceContents={},this.line=t??null,this.column=r??null,this.source=n??null,this.name=a??null,this[co]=!0,s!=null&&this.add(s)}static fromStringWithSourceMap(t,r,n){let s=new e,a=t.split(QB),i=0,c=function(){let f=m(),A=m()||"";return f+A;function m(){return i=0;r--)this.prepend(t[r]);else if(t[co]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this}walk(t){let r;for(let n=0,s=this.children.length;n0){for(r=[],n=0;n{Z0.SourceMapGenerator=X0().SourceMapGenerator;Z0.SourceNode=Ow().SourceNode});var Hw=be((YT,Uw)=>{"use strict";var tD=zs(),gt=U0(),rD=pw(),nD=K0(),{stringEscape:Bn,regexpClassEscape:Q0}=gw(),{SourceNode:Vn}=kw();function Lw(e,t,r){let n=t.start.line,s=t.start.column-1,a=e.split(` +`);return a.length===1?new Vn(n,s,t.source,e,r):new Vn(null,null,t.source,a.map((i,c)=>new Vn(n+c,c===0?s:0,t.source,c===a.length-1?i:[i,` +`],r)))}function Nw(e,t,r,n,s){return r?new Vn(null,null,r.source,[e,Lw(t,r,s),new Vn(r.end.line,r.end.column-1,r.source,n)]):new Vn(null,null,null,[e,t,n])}function iD(e,t){function r(m){return m instanceof Vn?m:m.replace(/^(.+)$/gm," $1")}function n(m){return"peg$c"+m}function s(m){return"peg$r"+m}function a(m){return"peg$e"+m}function i(m){return"peg$f"+m}function c(m){return"peg$parse"+m}function l(){function m(F){return'"'+Bn(F)+'"'}function b(F){return"/^["+(F.inverted?"^":"")+F.value.map(D=>Array.isArray(D)?Q0(D[0])+"-"+Q0(D[1]):Q0(D)).join("")+"]/"+(F.ignoreCase?"i":"")}function w(F){switch(F.type){case"rule":return'peg$otherExpectation("'+Bn(F.value)+'")';case"literal":return'peg$literalExpectation("'+Bn(F.value)+'", '+F.ignoreCase+")";case"class":return"peg$classExpectation(["+F.value.map(I=>Array.isArray(I)?'["'+Bn(I[0])+'", "'+Bn(I[1])+'"]':'"'+Bn(I)+'"').join(", ")+"], "+F.inverted+", "+F.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(F)+")")}}function S(F,D){return Nw(` + var ${i(D)} = function(${F.params.join(", ")}) {`,F.body,F.location,"};")}return new Vn(null,null,t.grammarSource,[e.literals.map((F,D)=>" var "+n(D)+" = "+m(F)+";").concat("",e.classes.map((F,D)=>" var "+s(D)+" = "+b(F)+";")).concat("",e.expectations.map((F,D)=>" var "+a(D)+" = "+w(F)+";")).concat("").join(` +`),e.functions.map(S)])}function h(m,b){let w=[];return w.push(""),t.trace&&w.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+m+","," location: peg$computeLocation(startPos, startPos)","});",""),t.cache&&(w.push("var key = peg$currPos * "+e.rules.length+" + "+b+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&w.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+m+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+m+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),w.push(" return cached.result;","}","")),w}function v(m,b){let w=[];return t.cache&&w.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+b+" };"),t.trace&&w.push("","if ("+b+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+m+","," result: "+b+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+m+","," location: peg$computeLocation(startPos, startPos)"," });","}"),w.push("","return "+b+";"),w}function E(m){let b=[],w=new rD(m.name,"s","var");function S(D){let I=0,j=D.length,q=[],_;function P(M,W){let K=W+3,V=D[I+K-2],z=D[I+K-1],re,Ee;w.checkedIf(I,()=>{I+=K,re=S(D.slice(I,I+V)),I+=V},z>0?()=>{Ee=S(D.slice(I,I+z)),I+=z}:null),q.push("if ("+M+") {"),q.push(...re.map(r)),z>0&&(q.push("} else {"),q.push(...Ee.map(r))),q.push("}")}function k(M){let K=D[I+2-1],V;w.checkedLoop(I,()=>{I+=2,V=S(D.slice(I,I+K)),I+=K}),q.push("while ("+M+") {"),q.push(...V.map(r)),q.push("}")}function U(){let W=D[I+4-1],K=i(D[I+1])+"("+D.slice(I+4,I+4+W).map(V=>w.index(V)).join(", ")+")";w.pop(D[I+2]),q.push(w.push(K)),I+=4+W}for(;Iw.index(V)).join(", ")} ]`,w.pop(D[I+1]),q.push(w.push(_)),I+=K;break}case gt.IF:P(w.top(),0);break;case gt.IF_ERROR:P(w.top()+" === peg$FAILED",0);break;case gt.IF_NOT_ERROR:P(w.top()+" !== peg$FAILED",0);break;case gt.WHILE_NOT_ERROR:k(w.top()+" !== peg$FAILED");break;case gt.MATCH_ANY:P("input.length > peg$currPos",0);break;case gt.MATCH_STRING:P(e.literals[D[I+1]].length>1?"input.substr(peg$currPos, "+e.literals[D[I+1]].length+") === "+n(D[I+1]):"input.charCodeAt(peg$currPos) === "+e.literals[D[I+1]].charCodeAt(0),1);break;case gt.MATCH_STRING_IC:P("input.substr(peg$currPos, "+e.literals[D[I+1]].length+").toLowerCase() === "+n(D[I+1]),1);break;case gt.MATCH_CHAR_CLASS:P(s(D[I+1])+".test(input.charAt(peg$currPos))",1);break;case gt.ACCEPT_N:q.push(w.push(D[I+1]>1?"input.substr(peg$currPos, "+D[I+1]+")":"input.charAt(peg$currPos)")),q.push(D[I+1]>1?"peg$currPos += "+D[I+1]+";":"peg$currPos++;"),I+=2;break;case gt.ACCEPT_STRING:q.push(w.push(n(D[I+1]))),q.push(e.literals[D[I+1]].length>1?"peg$currPos += "+e.literals[D[I+1]].length+";":"peg$currPos++;"),I+=2;break;case gt.FAIL:q.push(w.push("peg$FAILED")),q.push("if (peg$silentFails === 0) { peg$fail("+a(D[I+1])+"); }"),I+=2;break;case gt.LOAD_SAVED_POS:q.push("peg$savedPos = "+w.index(D[I+1])+";"),I+=2;break;case gt.UPDATE_SAVED_POS:q.push("peg$savedPos = peg$currPos;"),I++;break;case gt.CALL:U();break;case gt.RULE:q.push(w.push(c(e.rules[D[I+1]].name)+"()")),I+=2;break;case gt.SILENT_FAILS_ON:q.push("peg$silentFails++;"),I++;break;case gt.SILENT_FAILS_OFF:q.push("peg$silentFails--;"),I++;break;default:throw new Error("Invalid opcode: "+D[I]+".")}return q}let F=S(m.bytecode);return b.push(Nw(" function ",c(m.name),m.nameLocation,`() { +`,m.name)),t.trace&&b.push(" var startPos = peg$currPos;"),b.push(r(w.defines())),b.push(...h('"'+Bn(m.name)+'"',tD.indexOfRule(e,m.name)).map(r)),b.push(...F.map(r)),b.push(...v('"'+Bn(m.name)+'"',w.result()).map(r)),b.push("}"),b}function p(m){return m.codeLocation?Lw(m.code,m.codeLocation,"$"+m.type):m.code}function f(){let m=[];e.topLevelInitializer&&(m.push(p(e.topLevelInitializer)),m.push("")),m.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&m.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let b="{ "+t.allowedStartRules.map(S=>S+": "+c(S)).join(", ")+" }",w=c(t.allowedStartRules[0]);return m.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+b+";"," var peg$startRuleFunction = "+w+";","",l(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&m.push(" var peg$resultsCache = {};",""),t.trace&&m.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),m.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach(S=>{m.push(...E(S).map(r)),m.push("")}),e.initializer&&(m.push(p(e.initializer)),m.push("")),m.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new Vn(null,null,t.grammarSource,m.map(S=>S instanceof Vn?S:S+` +`))}function A(m){function b(){return[`// Generated by Peggy ${nD}.`,"//","// https://peggyjs.org/"]}function w(){return t.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let F={bare(){return[...b(),"(function() {",' "use strict";',"",m,"",r("return "+w()+";"),"})()"]},commonjs(){let D=Object.keys(t.dependencies),I=b();return I.push("",'"use strict";',""),D.length>0&&(D.forEach(j=>{I.push("var "+j+' = require("'+Bn(t.dependencies[j])+'");')}),I.push("")),I.push(m,"","module.exports = "+w()+";"),I},es(){let D=Object.keys(t.dependencies),I=b();return I.push(""),D.length>0&&(D.forEach(j=>{I.push("import "+j+' from "'+Bn(t.dependencies[j])+'";')}),I.push("")),I.push(m,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),I},amd(){let D=Object.keys(t.dependencies),j="["+D.map(_=>t.dependencies[_]).map(_=>'"'+Bn(_)+'"').join(", ")+"]",q=D.join(", ");return[...b(),"define("+j+", function("+q+") {",' "use strict";',"",m,"",r("return "+w()+";"),"});"]},globals(){return[...b(),"(function(root) {",' "use strict";',"",m,"",r("root."+t.exportVar+" = "+w()+";"),"})(this);"]},umd(){let D=Object.keys(t.dependencies),I=D.map(k=>t.dependencies[k]),j="["+I.map(k=>'"'+Bn(k)+'"').join(", ")+"]",q=I.map(k=>'require("'+Bn(k)+'")').join(", "),_=D.join(", "),P=b();return P.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+j+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+q+");"),t.exportVar!==null&&P.push(" } else {"," root."+t.exportVar+" = factory();"),P.push(" }","})(this, function("+_+") {",' "use strict";',"",m,"",r("return "+w()+";"),"});"),P}}[t.format]();return new Vn(null,null,t.grammarSource,F.map(D=>D instanceof Vn?D:D+` +`))}e.code=A(f())}Uw.exports=iD});var Mw=be((XT,jw)=>{"use strict";var sD=zs(),aD=Kn();function uD(e,t,r){function n(i){return i.type==="rule"&&i.expression.type==="rule_ref"}function s(i,c,l){aD.build({rule_ref(v){v.name===c&&(v.name=l,r.info(`Proxy rule "${c}" replaced by the rule "${l}"`,v.location,[{message:"This rule will be used",location:sD.findRule(i,l).nameLocation}]))}})(i)}let a=[];e.rules.forEach((i,c)=>{n(i)&&(s(e,i.name,i.expression.name),t.allowedStartRules.indexOf(i.name)===-1&&a.push(c))}),a.reverse(),a.forEach(i=>{e.rules.splice(i,1)})}jw.exports=uD});var Kw=be((JT,qw)=>{"use strict";var oD=Kn();function cD(e,t,r){function n(i){let c={};return Object.keys(i).forEach(l=>{c[l]=i[l]}),c}function s(i,c){a(i.expression,n(c))}let a=oD.build({rule(i){a(i.expression,{})},choice(i,c){i.alternatives.forEach(l=>{a(l,n(c))})},action:s,labeled(i,c){let l=i.label;l&&Object.prototype.hasOwnProperty.call(c,l)&&r.error(`Label "${i.label}" is already defined`,i.labelLocation,[{message:"Original label location",location:c[l]}]),a(i.expression,c),c[i.label]=i.labelLocation},text:s,simple_and:s,simple_not:s,optional:s,zero_or_more:s,one_or_more:s,group:s});a(e)}qw.exports=cD});var Gw=be((ZT,Vw)=>{"use strict";var lD=Kn();function fD(e,t,r){let n={};lD.build({rule(a){if(Object.prototype.hasOwnProperty.call(n,a.name)){r.error(`Rule "${a.name}" is already defined`,a.nameLocation,[{message:"Original rule location",location:n[a.name]}]);return}n[a.name]=a.nameLocation}})(e)}Vw.exports=fD});var Yw=be((QT,Ww)=>{"use strict";var zw=zs(),hD=Kn();function pD(e,t,r){let n=[],s=[],a=hD.build({rule(i){n.push(i.name),a(i.expression),n.pop()},sequence(i){i.elements.every(c=>(a(c),!zw.alwaysConsumesOnSuccess(e,c)))},rule_ref(i){s.push(i);let c=zw.findRule(e,i.name);if(n.indexOf(i.name)!==-1){n.push(i.name),r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",c.nameLocation,s.map((l,h,v)=>({message:h+1!==v.length?`Step ${h+1}: call of the rule "${l.name}" without input consumption`:`Step ${h+1}: call itself without input consumption - left recursion`,location:l.location})));return}c&&a(c),s.pop()}});a(e)}Ww.exports=pD});var Zw=be((ex,Jw)=>{"use strict";var Xw=zs(),dD=Kn();function gD(e,t,r){dD.build({zero_or_more(s){Xw.alwaysConsumesOnSuccess(e,s.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",s.location)},one_or_more(s){Xw.alwaysConsumesOnSuccess(e,s.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",s.location)}})(e)}Jw.exports=gD});var eA=be((tx,Qw)=>{"use strict";var mD=zs(),vD=Kn();function wD(e,t,r){vD.build({rule_ref(s){mD.findRule(e,s.name)||r.error(`Rule "${s.name}" is not defined`,s.location)}})(e)}Qw.exports=wD});var rA=be((rx,tA)=>{"use strict";var AD=Kn();function ED(e,t,r){let n=AD.build({action(s){n(s.expression,s)},labeled(s,a){s.pick&&a&&r.error('"@" cannot be used with an action block',s.labelLocation,[{message:"Action block location",location:a.codeLocation}]),n(s.expression)}});n(e)}tA.exports=ED});var iA=be((nx,nA)=>{"use strict";var yD=Uf(),ed=class{constructor(t){t=typeof t<"u"?t:{},typeof t.error=="function"&&(this.error=t.error),typeof t.warning=="function"&&(this.warning=t.warning),typeof t.info=="function"&&(this.info=t.info)}error(){}warning(){}info(){}},td=class{constructor(t){this._callbacks=new ed(t),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...t){++this.errors,this._firstError===null&&(this._firstError=new yD(...t),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...t]),this._callbacks.error(this.stage,...t)}warning(...t){this.problems.push(["warning",...t]),this._callbacks.warning(this.stage,...t)}info(...t){this.problems.push(["info",...t]),this._callbacks.info(this.stage,...t)}checkErrors(){if(this.errors!==0)throw this._firstError}};nA.exports=td});var sA=be((exports,module)=>{"use strict";var generateBytecode=fw(),generateJS=Hw(),inferenceMatchResult=H0(),removeProxyRules=Mw(),reportDuplicateLabels=Kw(),reportDuplicateRules=Gw(),reportInfiniteRecursion=Yw(),reportInfiniteRepetition=Zw(),reportUndefinedRules=eA(),reportIncorrectPlucking=rA(),Session=iA(),visitor=Kn();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler});var uA=be((ix,aA)=>{"use strict";var SD={$:"text","&":"simple_and","!":"simple_not"},bD={"?":"optional","*":"zero_or_more","+":"one_or_more"},CD={"&":"semantic_and","!":"semantic_not"};function FD(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Xs(e,t,r,n){var s=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(s,Xs.prototype),s.expected=t,s.found=r,s.location=n,s.name="SyntaxError",s}FD(Xs,Error);function rd(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,r+=r.repeat(t),e+r.slice(0,t))}Xs.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r=null,n;for(n=0;n `+a+` +`+c+` | +`+s.line+" | "+l+` +`+c+" | "+rd("",s.column-1," ")+rd("",v,"^")}else t+=` + at `+a}return t};Xs.buildMessage=function(e,t){var r={literal:function(h){return'"'+s(h.text)+'"'},class:function(h){var v=h.parts.map(function(E){return Array.isArray(E)?a(E[0])+"-"+a(E[1]):a(E)});return"["+(h.inverted?"^":"")+v.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(h){return h.description}};function n(h){return h.charCodeAt(0).toString(16).toUpperCase()}function s(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(v){return"\\x0"+n(v)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(v){return"\\x"+n(v)})}function a(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(v){return"\\x0"+n(v)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(v){return"\\x"+n(v)})}function i(h){return r[h.type](h)}function c(h){var v=h.map(i),E,p;if(v.sort(),v.length>0){for(E=1,p=1;E0?{type:"choice",alternatives:[y].concat(x),location:Rt()}:y},$n=function(y,x){return x!==null?{type:"action",expression:y,code:x[0],codeLocation:x[1],location:Rt()}:y},ha=function(y,x){return x.length>0||y.type==="labeled"&&y.pick?{type:"sequence",elements:[y].concat(x),location:Rt()}:y},Wf=function(y,x,Y){return Y.type.startsWith("semantic_")&&No('"@" cannot be used on a semantic predicate',y),{type:"labeled",label:x!==null?x[0]:null,labelLocation:x!==null?x[1]:y,pick:!0,expression:Y,location:Rt()}},Yf=function(y,x){return{type:"labeled",label:y[0],labelLocation:y[1],expression:x,location:Rt()}},Ct=function(){return Rt()},yt=function(y){return Au.indexOf(y[0])>=0&&No(`Label can't be a reserved word "${y[0]}"`,y[1]),y},Xf=function(y,x){return{type:SD[y],expression:x,location:Rt()}},Jf=function(y,x){return{type:bD[x],expression:y,location:Rt()}},Zf=function(y){return y.type==="labeled"||y.type==="sequence"?{type:"group",expression:y,location:Rt()}:y},Qf=function(y){return{type:"rule_ref",name:y[0],location:Rt()}},eh=function(y,x){return{type:CD[y],code:x[0],codeLocation:x[1],location:Rt()}},th=function(y,x){return[y+x.join(""),Rt()]},Nc=function(y,x){return{type:"literal",value:y,ignoreCase:x!==null,location:Rt()}},rh=function(y){return y.join("")},Yt=function(y){return y.join("")},xo=function(y,x,Y){return{type:"class",parts:x.filter(H=>H!==""),inverted:y!==null,ignoreCase:Y!==null,location:Rt()}},Oi=function(y,x){return y.charCodeAt(0)>x.charCodeAt(0)&&No("Invalid character range: "+ko()+"."),[y,x]},Lc=function(){return""},Oo=function(){return"\0"},Yr=function(){return"\b"},Uc=function(){return"\f"},Hc=function(){return` +`},jc=function(){return"\r"},Mc=function(){return" "},qc=function(){return"\v"},Kc=function(y){return String.fromCharCode(parseInt(y,16))},Ur=function(y){return String.fromCharCode(parseInt(y,16))},nh=function(){return{type:"any",location:Rt()}},Xr=function(y){return[y,Rt()]},B=0,Ve=0,pn=[{line:1,column:1}],Hr=0,pa=[],Q=0,dn;if("startRule"in t){if(!(t.startRule in s))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=s[t.startRule]}function ko(){return e.substring(Ve,B)}function fd(){return Ve}function Vc(){return{source:n,start:Ve,end:B}}function Rt(){return ki(Ve,B)}function hd(y,x){throw x=x!==void 0?x:ki(Ve,B),zc([Rn(y)],e.substring(Ve,B),x)}function No(y,x){throw x=x!==void 0?x:ki(Ve,B),Gc(y,x)}function ke(y,x){return{type:"literal",text:y,ignoreCase:x}}function Xt(y,x,Y){return{type:"class",parts:y,inverted:x,ignoreCase:Y}}function Ps(){return{type:"any"}}function ih(){return{type:"end"}}function Rn(y){return{type:"other",description:y}}function Lo(y){var x=pn[y],Y;if(x)return x;for(Y=y-1;!pn[Y];)Y--;for(x=pn[Y],x={line:x.line,column:x.column};YHr&&(Hr=B,pa=[]),pa.push(y))}function Gc(y,x){return new Xs(y,null,null,x)}function zc(y,x,Y){return new Xs(Xs.buildMessage(y,x),y,x,Y)}function uu(){var y,x,Y,H,ie,oe,Et,Ut;if(y=B,x=dt(),Y=B,H=Uo(),H!==r?(ie=dt(),Y=H):(B=Y,Y=r),Y===r&&(Y=null),H=B,ie=sh(),ie!==r?(oe=dt(),H=ie):(B=H,H=r),H===r&&(H=null),ie=[],oe=B,Et=Ho(),Et!==r?(Ut=dt(),oe=Et):(B=oe,oe=r),oe!==r)for(;oe!==r;)ie.push(oe),oe=B,Et=Ho(),Et!==r?(Ut=dt(),oe=Et):(B=oe,oe=r);else ie=r;return ie!==r?(Ve=y,y=hn(Y,H,ie)):(B=y,y=r),y}function Uo(){var y,x,Y,H,ie;return y=B,e.charCodeAt(B)===123?(x=i,B++):(x=r,Q===0&&he(ri)),x!==r?(Y=ot(),Y!==r?(e.charCodeAt(B)===125?(H=c,B++):(H=r,Q===0&&he(xi)),H!==r?(ie=Hi(),ie!==r?(Ve=y,y=Bs(Y)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function sh(){var y,x,Y;return y=B,x=ot(),x!==r?(Y=Hi(),Y!==r?(Ve=y,y=Lr(x)):(B=y,y=r)):(B=y,y=r),y}function Ho(){var y,x,Y,H,ie,oe,Et,Ut;return y=B,x=lu(),x!==r?(Y=dt(),H=B,ie=Tn(),ie!==r?(oe=dt(),H=ie):(B=H,H=r),H===r&&(H=null),e.charCodeAt(B)===61?(ie=l,B++):(ie=r,Q===0&&he(Va)),ie!==r?(oe=dt(),Et=Fr(),Et!==r?(Ut=Hi(),Ut!==r?(Ve=y,y=wr(x,H,Et)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function Fr(){var y,x,Y,H,ie,oe,Et,Ut;if(y=B,x=da(),x!==r){for(Y=[],H=B,ie=dt(),e.charCodeAt(B)===47?(oe=h,B++):(oe=r,Q===0&&he(Ga)),oe!==r?(Et=dt(),Ut=da(),Ut!==r?H=Ut:(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=dt(),e.charCodeAt(B)===47?(oe=h,B++):(oe=r,Q===0&&he(Ga)),oe!==r?(Et=dt(),Ut=da(),Ut!==r?H=Ut:(B=H,H=r)):(B=H,H=r);Ve=y,y=Ds(x,Y)}else B=y,y=r;return y}function da(){var y,x,Y,H,ie;return y=B,x=ga(),x!==r?(Y=B,H=dt(),ie=ot(),ie!==r?Y=ie:(B=Y,Y=r),Y===r&&(Y=null),Ve=y,y=$n(x,Y)):(B=y,y=r),y}function ga(){var y,x,Y,H,ie,oe;if(y=B,x=ou(),x!==r){for(Y=[],H=B,ie=dt(),oe=ou(),oe!==r?H=oe:(B=H,H=r);H!==r;)Y.push(H),H=B,ie=dt(),oe=ou(),oe!==r?H=oe:(B=H,H=r);Ve=y,y=ha(x,Y)}else B=y,y=r;return y}function ou(){var y,x,Y,H;return y=B,x=Wc(),x!==r?(Y=Yc(),Y===r&&(Y=null),H=jo(),H!==r?(Ve=y,y=Wf(x,Y,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=B,x=Yc(),x!==r?(Y=dt(),H=jo(),H!==r?(Ve=y,y=Yf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=jo())),y}function Wc(){var y,x;return y=B,e.charCodeAt(B)===64?(x=v,B++):(x=r,Q===0&&he(za)),x!==r&&(Ve=y,x=Ct()),y=x,y}function Yc(){var y,x,Y,H;return y=B,x=lu(),x!==r?(Y=dt(),e.charCodeAt(B)===58?(H=E,B++):(H=r,Q===0&&he(Wa)),H!==r?(Ve=y,y=yt(x)):(B=y,y=r)):(B=y,y=r),y}function jo(){var y,x,Y,H;return y=B,x=ah(),x!==r?(Y=dt(),H=Xc(),H!==r?(Ve=y,y=Xf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=Xc()),y}function ah(){var y;return e.charCodeAt(B)===36?(y=p,B++):(y=r,Q===0&&he(Ya)),y===r&&(e.charCodeAt(B)===38?(y=f,B++):(y=r,Q===0&&he(Xa)),y===r&&(e.charCodeAt(B)===33?(y=A,B++):(y=r,Q===0&&he(Ja)))),y}function Xc(){var y,x,Y,H;return y=B,x=Ni(),x!==r?(Y=dt(),H=uh(),H!==r?(Ve=y,y=Jf(x,H)):(B=y,y=r)):(B=y,y=r),y===r&&(y=Ni()),y}function uh(){var y;return e.charCodeAt(B)===63?(y=m,B++):(y=r,Q===0&&he(fo)),y===r&&(e.charCodeAt(B)===42?(y=b,B++):(y=r,Q===0&&he(Za)),y===r&&(e.charCodeAt(B)===43?(y=w,B++):(y=r,Q===0&&he(ho)))),y}function Ni(){var y,x,Y,H,ie,oe;return y=ph(),y===r&&(y=ae(),y===r&&(y=pu(),y===r&&(y=oh(),y===r&&(y=ch(),y===r&&(y=B,e.charCodeAt(B)===40?(x=S,B++):(x=r,Q===0&&he(po)),x!==r?(Y=dt(),H=Fr(),H!==r?(ie=dt(),e.charCodeAt(B)===41?(oe=F,B++):(oe=r,Q===0&&he(go)),oe!==r?(Ve=y,y=Zf(H)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r)))))),y}function oh(){var y,x,Y,H,ie,oe,Et,Ut;return y=B,x=lu(),x!==r?(Y=B,Q++,H=B,ie=dt(),oe=B,Et=Tn(),Et!==r?(Ut=dt(),Et=[Et,Ut],oe=Et):(B=oe,oe=r),oe===r&&(oe=null),e.charCodeAt(B)===61?(Et=l,B++):(Et=r,Q===0&&he(Va)),Et!==r?(ie=[ie,oe,Et],H=ie):(B=H,H=r),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(Ve=y,y=Qf(x)):(B=y,y=r)):(B=y,y=r),y}function ch(){var y,x,Y,H;return y=B,x=Mo(),x!==r?(Y=dt(),H=ot(),H!==r?(Ve=y,y=eh(x,H)):(B=y,y=r)):(B=y,y=r),y}function Mo(){var y;return e.charCodeAt(B)===38?(y=f,B++):(y=r,Q===0&&he(Xa)),y===r&&(e.charCodeAt(B)===33?(y=A,B++):(y=r,Q===0&&he(Ja))),y}function Ar(){var y;return e.length>B?(y=e.charAt(B),B++):(y=r,Q===0&&he(Fs)),y}function gn(){var y,x;return Q++,e.charCodeAt(B)===9?(y=D,B++):(y=r,Q===0&&he(na)),y===r&&(e.charCodeAt(B)===11?(y=I,B++):(y=r,Q===0&&he(vo)),y===r&&(e.charCodeAt(B)===12?(y=j,B++):(y=r,Q===0&&he(wo)),y===r&&(e.charCodeAt(B)===32?(y=q,B++):(y=r,Q===0&&he(Ao)),y===r&&(e.charCodeAt(B)===160?(y=_,B++):(y=r,Q===0&&he(Eo)),y===r&&(e.charCodeAt(B)===65279?(y=P,B++):(y=r,Q===0&&he(yo)),y===r&&(y=nl())))))),Q--,y===r&&(x=r,Q===0&&he(mo)),y}function mn(){var y;return zt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(So)),y}function cu(){var y,x;return Q++,e.charCodeAt(B)===10?(y=k,B++):(y=r,Q===0&&he(Co)),y===r&&(e.substr(B,2)===U?(y=U,B+=2):(y=r,Q===0&&he(ni)),y===r&&(e.charCodeAt(B)===13?(y=M,B++):(y=r,Q===0&&he(Qa)),y===r&&(e.charCodeAt(B)===8232?(y=W,B++):(y=r,Q===0&&he(Fo)),y===r&&(e.charCodeAt(B)===8233?(y=K,B++):(y=r,Q===0&&he(_o)))))),Q--,y===r&&(x=r,Q===0&&he(bo)),y}function Jc(){var y,x;return Q++,y=lh(),y===r&&(y=Jr()),Q--,y===r&&(x=r,Q===0&&he(Io)),y}function lh(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===V?(x=V,B+=2):(x=r,Q===0&&he(eu)),x!==r){for(Y=[],H=B,ie=B,Q++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,Q===0&&he(ii)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,Q++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,Q===0&&he(ii)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);e.substr(B,2)===z?(H=z,B+=2):(H=r,Q===0&&he(ii)),H!==r?(x=[x,Y,H],y=x):(B=y,y=r)}else B=y,y=r;return y}function Li(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===V?(x=V,B+=2):(x=r,Q===0&&he(eu)),x!==r){for(Y=[],H=B,ie=B,Q++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,Q===0&&he(ii)),oe===r&&(oe=mn()),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,Q++,e.substr(B,2)===z?(oe=z,B+=2):(oe=r,Q===0&&he(ii)),oe===r&&(oe=mn()),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);e.substr(B,2)===z?(H=z,B+=2):(H=r,Q===0&&he(ii)),H!==r?(x=[x,Y,H],y=x):(B=y,y=r)}else B=y,y=r;return y}function Jr(){var y,x,Y,H,ie,oe;if(y=B,e.substr(B,2)===re?(x=re,B+=2):(x=r,Q===0&&he(Wr)),x!==r){for(Y=[],H=B,ie=B,Q++,oe=mn(),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);H!==r;)Y.push(H),H=B,ie=B,Q++,oe=mn(),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);x=[x,Y],y=x}else B=y,y=r;return y}function lu(){var y,x,Y,H;if(Q++,y=B,x=Zc(),x!==r){for(Y=[],H=Qc();H!==r;)Y.push(H),H=Qc();Ve=y,y=th(x,Y)}else B=y,y=r;return Q--,y===r&&(x=r,Q===0&&he(Bo)),y}function Zc(){var y,x,Y;return y=fh(),y===r&&(e.charCodeAt(B)===36?(y=p,B++):(y=r,Q===0&&he(Ya)),y===r&&(e.charCodeAt(B)===95?(y=Ee,B++):(y=r,Q===0&&he(_s)),y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,Q===0&&he(fn)),x!==r?(Y=el(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r)))),y}function Qc(){var y;return y=Zc(),y===r&&(y=hh(),y===r&&(y=tl(),y===r&&(y=rl(),y===r&&(e.charCodeAt(B)===8204?(y=_e,B++):(y=r,Q===0&&he(Do)),y===r&&(e.charCodeAt(B)===8205?(y=He,B++):(y=r,Q===0&&he(Po))))))),y}function fh(){var y;return y=mu(),y===r&&(y=gu(),y===r&&(y=wh(),y===r&&(y=mh(),y===r&&(y=vh(),y===r&&(y=wu()))))),y}function hh(){var y;return y=vu(),y===r&&(y=ui()),y}function ph(){var y,x,Y;return Q++,y=B,x=Tn(),x!==r?(e.charCodeAt(B)===105?(Y=ue,B++):(Y=r,Q===0&&he(ia)),Y===r&&(Y=null),Ve=y,y=Nc(x,Y)):(B=y,y=r),Q--,y===r&&(x=r,Q===0&&he(tu)),y}function Tn(){var y,x,Y,H;if(Q++,y=B,e.charCodeAt(B)===34?(x=Ce,B++):(x=r,Q===0&&he(Is)),x!==r){for(Y=[],H=ee();H!==r;)Y.push(H),H=ee();e.charCodeAt(B)===34?(H=Ce,B++):(H=r,Q===0&&he(Is)),H!==r?(Ve=y,y=rh(Y)):(B=y,y=r)}else B=y,y=r;if(y===r)if(y=B,e.charCodeAt(B)===39?(x=Oe,B++):(x=r,Q===0&&he(Nt)),x!==r){for(Y=[],H=ce();H!==r;)Y.push(H),H=ce();e.charCodeAt(B)===39?(H=Oe,B++):(H=r,Q===0&&he(Nt)),H!==r?(Ve=y,y=Yt(Y)):(B=y,y=r)}else B=y,y=r;return Q--,y===r&&(x=r,Q===0&&he(ru)),y}function ee(){var y,x,Y,H;return y=B,x=B,Y=B,Q++,e.charCodeAt(B)===34?(H=Ce,B++):(H=r,Q===0&&he(Is)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,Q===0&&he(fn)),H===r&&(H=mn())),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,Q===0&&he(fn)),x!==r?(Y=Tt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function ce(){var y,x,Y,H;return y=B,x=B,Y=B,Q++,e.charCodeAt(B)===39?(H=Oe,B++):(H=r,Q===0&&he(Nt)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,Q===0&&he(fn)),H===r&&(H=mn())),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,Q===0&&he(fn)),x!==r?(Y=Tt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function ae(){var y,x,Y,H,ie,oe;if(Q++,y=B,e.charCodeAt(B)===91?(x=sr,B++):(x=r,Q===0&&he(Ro)),x!==r){for(e.charCodeAt(B)===94?(Y=_t,B++):(Y=r,Q===0&&he(nu)),Y===r&&(Y=null),H=[],ie=$e(),ie===r&&(ie=qe());ie!==r;)H.push(ie),ie=$e(),ie===r&&(ie=qe());e.charCodeAt(B)===93?(ie=lt,B++):(ie=r,Q===0&&he(si)),ie!==r?(e.charCodeAt(B)===105?(oe=ue,B++):(oe=r,Q===0&&he(ia)),oe===r&&(oe=null),Ve=y,y=xo(Y,H,oe)):(B=y,y=r)}else B=y,y=r;return Q--,y===r&&(x=r,Q===0&&he($o)),y}function $e(){var y,x,Y,H;return y=B,x=qe(),x!==r?(e.charCodeAt(B)===45?(Y=qt,B++):(Y=r,Q===0&&he(ur)),Y!==r?(H=qe(),H!==r?(Ve=y,y=Oi(x,H)):(B=y,y=r)):(B=y,y=r)):(B=y,y=r),y}function qe(){var y,x,Y,H;return y=B,x=B,Y=B,Q++,e.charCodeAt(B)===93?(H=lt,B++):(H=r,Q===0&&he(si)),H===r&&(e.charCodeAt(B)===92?(H=we,B++):(H=r,Q===0&&he(fn)),H===r&&(H=mn())),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y===r&&(y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,Q===0&&he(fn)),x!==r?(Y=Tt(),Y!==r?y=Y:(B=y,y=r)):(B=y,y=r),y===r&&(y=st())),y}function st(){var y,x,Y;return y=B,e.charCodeAt(B)===92?(x=we,B++):(x=r,Q===0&&he(fn)),x!==r?(Y=cu(),Y!==r?(Ve=y,y=Lc()):(B=y,y=r)):(B=y,y=r),y}function Tt(){var y,x,Y,H;return y=At(),y===r&&(y=B,e.charCodeAt(B)===48?(x=$t,B++):(x=r,Q===0&&he(Pt)),x!==r?(Y=B,Q++,H=Ui(),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(Ve=y,y=Oo()):(B=y,y=r)):(B=y,y=r),y===r&&(y=hu(),y===r&&(y=el()))),y}function At(){var y;return y=fu(),y===r&&(y=dh()),y}function fu(){var y,x;return e.charCodeAt(B)===39?(y=Oe,B++):(y=r,Q===0&&he(Nt)),y===r&&(e.charCodeAt(B)===34?(y=Ce,B++):(y=r,Q===0&&he(Is)),y===r&&(e.charCodeAt(B)===92?(y=we,B++):(y=r,Q===0&&he(fn)),y===r&&(y=B,e.charCodeAt(B)===98?(x=Qe,B++):(x=r,Q===0&&he(To)),x!==r&&(Ve=y,x=Yr()),y=x,y===r&&(y=B,e.charCodeAt(B)===102?(x=bt,B++):(x=r,Q===0&&he(sa)),x!==r&&(Ve=y,x=Uc()),y=x,y===r&&(y=B,e.charCodeAt(B)===110?(x=Je,B++):(x=r,Q===0&&he(or)),x!==r&&(Ve=y,x=Hc()),y=x,y===r&&(y=B,e.charCodeAt(B)===114?(x=ht,B++):(x=r,Q===0&&he(aa)),x!==r&&(Ve=y,x=jc()),y=x,y===r&&(y=B,e.charCodeAt(B)===116?(x=Kt,B++):(x=r,Q===0&&he(iu)),x!==r&&(Ve=y,x=Mc()),y=x,y===r&&(y=B,e.charCodeAt(B)===118?(x=ze,B++):(x=r,Q===0&&he(su)),x!==r&&(Ve=y,x=qc()),y=x)))))))),y}function dh(){var y,x,Y,H;return y=B,x=B,Y=B,Q++,H=Zr(),H===r&&(H=mn()),Q--,H===r?Y=void 0:(B=Y,Y=r),Y!==r?(H=Ar(),H!==r?(Y=[Y,H],x=Y):(B=x,x=r)):(B=x,x=r),x!==r?y=e.substring(y,B):y=x,y}function Zr(){var y;return y=fu(),y===r&&(y=Ui(),y===r&&(e.charCodeAt(B)===120?(y=kt,B++):(y=r,Q===0&&he(oa)),y===r&&(e.charCodeAt(B)===117?(y=Pn,B++):(y=r,Q===0&&he(ai))))),y}function hu(){var y,x,Y,H,ie,oe;return y=B,e.charCodeAt(B)===120?(x=kt,B++):(x=r,Q===0&&he(oa)),x!==r?(Y=B,H=B,ie=Gn(),ie!==r?(oe=Gn(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r?Y=e.substring(Y,B):Y=H,Y!==r?(Ve=y,y=Kc(Y)):(B=y,y=r)):(B=y,y=r),y}function el(){var y,x,Y,H,ie,oe,Et,Ut;return y=B,e.charCodeAt(B)===117?(x=Pn,B++):(x=r,Q===0&&he(ai)),x!==r?(Y=B,H=B,ie=Gn(),ie!==r?(oe=Gn(),oe!==r?(Et=Gn(),Et!==r?(Ut=Gn(),Ut!==r?(ie=[ie,oe,Et,Ut],H=ie):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?Y=e.substring(Y,B):Y=H,Y!==r?(Ve=y,y=Ur(Y)):(B=y,y=r)):(B=y,y=r),y}function Ui(){var y;return br.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(ca)),y}function Gn(){var y;return Js.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(au)),y}function pu(){var y,x;return y=B,e.charCodeAt(B)===46?(x=ar,B++):(x=r,Q===0&&he(la)),x!==r&&(Ve=y,x=nh()),y=x,y}function ot(){var y,x,Y,H;return Q++,y=B,e.charCodeAt(B)===123?(x=i,B++):(x=r,Q===0&&he(ri)),x!==r?(Y=gh(),e.charCodeAt(B)===125?(H=c,B++):(H=r,Q===0&&he(xi)),H!==r?y=Y:(B=y,y=r)):(B=y,y=r),Q--,y===r&&(x=r,Q===0&&he(fa)),y}function gh(){var y,x;return y=B,x=du(),Ve=y,x=Xr(x),y=x,y}function du(){var y,x,Y,H,ie,oe;if(y=B,x=[],Y=[],H=B,ie=B,Q++,kr.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,Q===0&&he(Nr)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r)for(;H!==r;)Y.push(H),H=B,ie=B,Q++,kr.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,Q===0&&he(Nr)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);else Y=r;for(Y===r&&(Y=B,e.charCodeAt(B)===123?(H=i,B++):(H=r,Q===0&&he(ri)),H!==r?(ie=du(),e.charCodeAt(B)===125?(oe=c,B++):(oe=r,Q===0&&he(xi)),oe!==r?(H=[H,ie,oe],Y=H):(B=Y,Y=r)):(B=Y,Y=r));Y!==r;){if(x.push(Y),Y=[],H=B,ie=B,Q++,kr.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,Q===0&&he(Nr)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r),H!==r)for(;H!==r;)Y.push(H),H=B,ie=B,Q++,kr.test(e.charAt(B))?(oe=e.charAt(B),B++):(oe=r,Q===0&&he(Nr)),Q--,oe===r?ie=void 0:(B=ie,ie=r),ie!==r?(oe=Ar(),oe!==r?(ie=[ie,oe],H=ie):(B=H,H=r)):(B=H,H=r);else Y=r;Y===r&&(Y=B,e.charCodeAt(B)===123?(H=i,B++):(H=r,Q===0&&he(ri)),H!==r?(ie=du(),e.charCodeAt(B)===125?(oe=c,B++):(oe=r,Q===0&&he(xi)),oe!==r?(H=[H,ie,oe],Y=H):(B=Y,Y=r)):(B=Y,Y=r))}return y=e.substring(y,B),y}function gu(){var y;return pt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he($)),y}function mh(){var y;return Wt.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(T)),y}function vh(){var y;return We.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(L)),y}function wh(){var y;return Cr.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(J)),y}function mu(){var y;return Zs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(pe)),y}function ui(){var y;return Qs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(me)),y}function vu(){var y;return ea.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(Fe)),y}function tl(){var y;return ta.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(Pe)),y}function wu(){var y;return Ti.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(wt)),y}function rl(){var y;return ra.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(Lt)),y}function nl(){var y;return Cs.test(e.charAt(B))?(y=e.charAt(B),B++):(y=r,Q===0&&he(mr)),y}function dt(){var y,x;for(y=[],x=gn(),x===r&&(x=cu(),x===r&&(x=Jc()));x!==r;)y.push(x),x=gn(),x===r&&(x=cu(),x===r&&(x=Jc()));return y}function il(){var y,x;for(y=[],x=gn(),x===r&&(x=Li());x!==r;)y.push(x),x=gn(),x===r&&(x=Li());return y}function Hi(){var y,x,Y,H;return y=B,x=dt(),e.charCodeAt(B)===59?(Y=gr,B++):(Y=r,Q===0&&he(vr)),Y!==r?(x=[x,Y],y=x):(B=y,y=r),y===r&&(y=B,x=il(),Y=Jr(),Y===r&&(Y=null),H=cu(),H!==r?(x=[x,Y,H],y=x):(B=y,y=r),y===r&&(y=B,x=dt(),Y=ji(),Y!==r?(x=[x,Y],y=x):(B=y,y=r))),y}function ji(){var y,x;return y=B,Q++,e.length>B?(x=e.charAt(B),B++):(x=r,Q===0&&he(Fs)),Q--,x===r?y=void 0:(B=y,y=r),y}let Au=t.reservedWords||[];if(dn=a(),dn!==r&&B===e.length)return dn;throw dn!==r&&B{"use strict";var ID=Uf(),BD=sA(),DD=uA(),PD=K0(),$D=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],Oc={VERSION:PD,RESERVED_WORDS:$D,GrammarError:ID,parser:DD,compiler:BD,generate(e,t){t=t!==void 0?t:{};function r(a){let i={};return Object.keys(a).forEach(c=>{i[c]=a[c].slice()}),i}let n="plugins"in t?t.plugins:[],s={parser:Oc.parser,passes:r(Oc.compiler.passes),reservedWords:Oc.RESERVED_WORDS.slice()};return n.forEach(a=>{a.use(s,t)}),Oc.compiler.compile(s.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:s.reservedWords}),s.passes,t)}};oA.exports=Oc});var rg="3.7.7",S3=rg,Du=typeof Buffer=="function",J1=typeof TextDecoder=="function"?new TextDecoder:void 0,Z1=typeof TextEncoder=="function"?new TextEncoder:void 0,b3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",rc=Array.prototype.slice.call(b3),Pl=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(rc),C3=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,yr=String.fromCharCode.bind(String),Q1=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),ng=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),ig=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),sg=e=>{let t,r,n,s,a="",i=e.length%3;for(let c=0;c255||(n=e.charCodeAt(c++))>255||(s=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|s,a+=rc[t>>18&63]+rc[t>>12&63]+rc[t>>6&63]+rc[t&63]}return i?a.slice(0,i-3)+"===".substring(i):a},pp=typeof btoa=="function"?e=>btoa(e):Du?e=>Buffer.from(e,"binary").toString("base64"):sg,fp=Du?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,s=e.length;nt?ng(fp(e)):fp(e),F3=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?yr(192|t>>>6)+yr(128|t&63):yr(224|t>>>12&15)+yr(128|t>>>6&63)+yr(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return yr(240|t>>>18&7)+yr(128|t>>>12&63)+yr(128|t>>>6&63)+yr(128|t&63)}},_3=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ag=e=>e.replace(_3,F3),eg=Du?e=>Buffer.from(e,"utf8").toString("base64"):Z1?e=>fp(Z1.encode(e)):e=>pp(ag(e)),Bu=(e,t=!1)=>t?ng(eg(e)):eg(e),tg=e=>Bu(e,!0),I3=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,B3=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return yr((r>>>10)+55296)+yr((r&1023)+56320);case 3:return yr((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return yr((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},ug=e=>e.replace(I3,B3),og=e=>{if(e=e.replace(/\s+/g,""),!C3.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,s;for(let a=0;a>16&255):s===64?yr(t>>16&255,t>>8&255):yr(t>>16&255,t>>8&255,t&255);return r},dp=typeof atob=="function"?e=>atob(ig(e)):Du?e=>Buffer.from(e,"base64").toString("binary"):og,cg=Du?e=>Q1(Buffer.from(e,"base64")):e=>Q1(dp(e).split("").map(t=>t.charCodeAt(0))),lg=e=>cg(fg(e)),D3=Du?e=>Buffer.from(e,"base64").toString("utf8"):J1?e=>J1.decode(cg(e)):e=>ug(dp(e)),fg=e=>ig(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),hp=e=>D3(fg(e)),P3=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},hg=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),pg=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,hg(r));e("fromBase64",function(){return hp(this)}),e("toBase64",function(t){return Bu(this,t)}),e("toBase64URI",function(){return Bu(this,!0)}),e("toBase64URL",function(){return Bu(this,!0)}),e("toUint8Array",function(){return lg(this)})},dg=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,hg(r));e("toBase64",function(t){return $l(this,t)}),e("toBase64URI",function(){return $l(this,!0)}),e("toBase64URL",function(){return $l(this,!0)})},$3=()=>{pg(),dg()},ct={version:rg,VERSION:S3,atob:dp,atobPolyfill:og,btoa:pp,btoaPolyfill:sg,fromBase64:hp,toBase64:Bu,encode:Bu,encodeURI:tg,encodeURL:tg,utob:ag,btou:ug,decode:hp,isValid:P3,fromUint8Array:$l,toUint8Array:lg,extendString:pg,extendUint8Array:dg,extendBuiltins:$3};var zf=Un(Ol());var Mp=Un(im());function rF(e){let t=Mp.default.pemtohex(e);return Mp.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var sm={generateFingerprint:rF};var mc=Un(Jv());function Qv(e,t,...r){try{return e(t,...r)}catch{return e(e2(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function gc(e,...t){return Qv(mc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function T_(e,...t){return Qv(mc.default.load,JSON.parse(JSON.stringify(e)),...t)}function Zv(e,...t){return mc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function e2(e,...t){return mc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var Oa={safeLoad:gc,load:T_,safeDump:Zv,dump:e2,parse:gc,stringify:Zv};var rs="settings",t0="subs",t2="collections",uf="files",r2="modules";var n2="rules";var ka="#sub-store-cached-resource",Na="#sub-store-cached-headers-resource",of="#sub-store-chr-expiration-time";var La="#sub-store-cached-script-resource",cf="#sub-store-csr-expiration-time";var js=typeof $task<"u",ns=typeof $loon<"u",Ms=typeof $httpClient<"u"&&!ns,gi=eval('typeof process !== "undefined"'),s2=typeof $environment<"u"&&$environment["stash-version"],a2=typeof $rocket<"u",x_=typeof egern=="object",O_=typeof $native<"u",qs=typeof $Plugins<"u";function i2(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var lf=class{constructor(name="untitled",debug=!1){if(this.name=name,this.debug=debug,this.http=is(),this.env=mi(),gi){let dotenv=eval('require("dotenv")');dotenv.config()}this.node=(()=>{if(gi){let fs=eval("require('fs')");return{fs}}else return null})(),this.initCache();let delay=(e,t)=>new Promise(function(r){setTimeout(r.bind(null,t),e)});Promise.prototype.delay=async function(e){let t=await this;return await delay(e,t)}}initCache(){if(js&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(ns||Ms)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),qs&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),gi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}i2(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}i2(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(js&&$prefs.setValueForKey(data,this.name),(ns||Ms)&&$persistentStore.write(data,this.name),qs&&$Plugins.SubStoreCache.set(this.name,data),gi){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),Ms||ns)return $persistentStore.write(e,t);if(js)return $prefs.setValueForKey(e,t);if(gi&&(this.root[t]=e),qs)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Ms||ns)return $persistentStore.read(e);if(js)return $prefs.valueForKey(e);if(gi)return this.root[e];if(qs)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),Ms||ns)return $persistentStore.write(null,e);if(js)return $prefs.removeValueForKey(e);if(gi&&delete this.root[e],qs)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(js&&$notify(title,subtitle,content,options),Ms&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),ns){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(gi){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(r=>r).join(` +`)));is().get({url:e}).then(r=>{console.log(`[Push Service] URL: ${e} +RES: ${r.statusCode} ${r.body}`)}).catch(r=>{console.log(`[Push Service] URL: ${e} +ERROR: ${r}`)})}}qs&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){js||ns||Ms||qs?$done(e):gi&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function mi(){return{isQX:js,isLoon:ns,isSurge:Ms,isNode:gi,isStash:s2,isShadowRocket:a2,isEgern:x_,isLanceX:O_,isGUIforCores:qs}}function is(defaultOptions={baseURL:""}){let{isQX,isLoon,isSurge,isNode,isGUIforCores}=mi(),methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],URL_REGEX=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function send(method,options){options=typeof options=="string"?{url:options}:options;let baseURL=defaultOptions.baseURL;baseURL&&!URL_REGEX.test(options.url||"")&&(options.url=baseURL?baseURL+options.url:options.url),options={...defaultOptions,...options};let timeout=options.timeout,events={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...options.events};if(events.onRequest(method,options),options.node&&isSurge){let e=$environment["surge-build"];e&&parseInt(e)>=2407&&(options["policy-descriptor"]=options.node,delete options.node)}let worker;isQX?worker=$task.fetch({method,url:options.url,headers:options.headers,body:options.body,opts:options.opts}):isLoon||isSurge||isNode?worker=new Promise(async(resolve,reject)=>{let body=options.body,opts=JSON.parse(JSON.stringify(options));if(opts.body=body,opts.timeout=opts.timeout||8e3,opts.timeout&&(opts.timeout++,isNaN(opts.timeout)&&(opts.timeout=8e3),!isNode)){let e="ms";(isSurge||s2||a2)&&(opts.timeout=Math.ceil(opts.timeout/1e3),e="s")}if(isNode){let undici=eval("require('undici')"),{ProxyAgent,EnvHttpProxyAgent,request,interceptors}=undici,agentOpts={connect:{rejectUnauthorized:!(opts.strictSSL===!1||opts.insecure===!0)},bodyTimeout:opts.timeout,headersTimeout:opts.timeout};try{let e=new URL(opts.url);(e.username||e.password)&&(opts.headers={...opts.headers||{},Authorization:`Basic ${Buffer.from(`${e.username||""}:${e.password||""}`).toString("base64")}`});let t=await request(opts.url,{...opts,method:method.toUpperCase(),dispatcher:(opts.proxy?new ProxyAgent({...agentOpts,uri:opts.proxy}):new EnvHttpProxyAgent(agentOpts)).compose(interceptors.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});resolve({statusCode:t.statusCode,headers:t.headers,body:opts.encoding===null?await t.body.arrayBuffer():await t.body.text()})}catch(e){reject(e)}}else $httpClient[method.toLowerCase()](opts,(e,t,r)=>{e?reject(e):resolve({statusCode:t.status||t.statusCode,headers:t.headers,body:r})})}):isGUIforCores&&(worker=new Promise(async(e,t)=>{try{let r=await $Plugins.Requests({method,url:options.url,headers:options.headers,body:options.body,options:{Proxy:options.proxy,Timeout:options.timeout?options.timeout/1e3:15}});e({statusCode:r.status,headers:r.headers,body:r.body})}catch(r){t(r)}}));let timeoutid,timer=timeout?new Promise((e,t)=>{timeoutid=setTimeout(()=>(events.onTimeout(),t(`${method} URL: ${options.url} exceeds the timeout ${timeout} ms`)),timeout)}):null;return(timer?Promise.race([timer,worker]).then(e=>(typeof clearTimeout<"u"&&clearTimeout(timeoutid),e)):worker).then(e=>events.onResponse(e))}let http={};return methods.forEach(e=>http[e.toLowerCase()]=t=>send(e,t)),http}var r0=0;function Jn(e){return N_(k_(L_(e)))}function k_(e){return H_(j_(U_(e),e.length*8))}function N_(e){try{}catch{r0=0}for(var t=r0?"0123456789ABCDEF":"0123456789abcdef",r="",n,s=0;s>>4&15)+t.charAt(n&15);return r}function L_(e){for(var t="",r=-1,n,s;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function U_(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function j_(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,s=-1732584194,a=271733878,i=0;i>16)+(t>>16)+(r>>16);return n<<16|r&65535}function M_(e,t){return e<>>32-t}var Ef=Un(A2()),dI=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,gI=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function nr(e){return dI.test(e)}function ir(e){return gI.test(e)}function E2(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function yi(e){return typeof e=="string"&&e.trim().length>0}function Ft(e,t){return yi(e)?e:t}function Ju(e){return typeof e<"u"&&e!==null}function Zu(e,t){return Ju(e)?e:t}function as(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function mI(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function Ac(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,s]=r.split("-").map(Number);return mI(n,s)}else return Number(r)}function y2(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function yf(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}var vI=new lf("sub-store"),ne=vI;var d0=class{constructor(t){this.expires=t,ne.read(ka)||ne.write("{}",ka);try{this.resourceCache=JSON.parse(ne.read(ka))}catch(r){ne.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${ka} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${r?.message??r}`),this.resourceCache={},ne.write("{}",ka)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,s]=r;s.time||(delete this.resourceCache[n],ne.delete(`#${n}`),t=!0),new Date().getTime()-s.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){ne.write(JSON.stringify(this.resourceCache),ka)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}},pr=new d0(36e5);var g0=class{constructor(){this.expires=AI(),ne.read(Na)||ne.write("{}",Na);try{this.resourceCache=JSON.parse(ne.read(Na))}catch(t){ne.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Na} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},ne.write("{}",Na)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,s]=r;s.time||(delete this.resourceCache[n],ne.delete(`#${n}`),t=!0),new Date().getTime()-s.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){ne.write(JSON.stringify(this.resourceCache),Na)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function AI(){ne.read(of)||ne.write("6e4",of);let e=6e4;if(ne.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=ne.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=ne.read(of),e}var Ec=new g0;function Qu(e){let t=Object.keys(e),r="",n="";for(let s of t){let a=s.toLowerCase();a==="subscription-userinfo"?r=e[s]:a==="profile-web-page-url"&&(n=e[s])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Sf(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=mi(),insecure=$arguments?.insecure?ne.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=ne.read(rs),proxy=customProxy||defaultProxy;ne.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=Jn(userAgent+url),cached=Ec.get(id),flowInfo;if(!$arguments?.noCache&&cached)ne.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=is();if(flowUrl){ne.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},...insecure||{}});flowInfo=t}else{try{ne.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},...insecure||{}});flowInfo=Qu(t)}catch(t){ne.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){ne.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},...insecure||{}});flowInfo=Qu(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&Ec.set(id,flowInfo)}return flowInfo}function bf(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),s=Number(n[1]+n[2]),a=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(a[1]+a[2]),c=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),l=c?Number(c[1]+c[2]):void 0,h=e.match(/reset_day=([0-9]+)/),v=h?Number(h[1]):void 0,E=e.match(/app_url=(.*?)\s*?(;|$)/),p=E?decodeURIComponent(E[1]):void 0,f=e.match(/plan_name=(.*?)\s*?(;|$)/),A=f?decodeURIComponent(f[1]):void 0;return{expires:l,total:i,usage:{upload:r,download:s},remainingDays:v,appUrl:p,planName:A}}function yc(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:yc(e/1024,r[++n])}function Cf(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3a.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let i=new Date(r);for(i.setDate(i.getDate()+n);i31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let s=new Date,a=s.getDate(),i=s.getMonth(),c=s.getFullYear(),l;return t>a?l=0:l=new Date(c,i+1,0).getDate(),l-a+t}}catch(t){ne.error(`getRmainingDays failed: ${t.message??t}`)}}function b2(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let s=r.slice(0,n).trim(),a=r.slice(n+1).trim();if(!t.has(s))try{let i=decodeURIComponent(a);t.set(s,i)}catch{t.set(s,a)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return ne.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}function EI(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function yI(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(s){return!/^\w+:\/\/\w+/im.test(s)&&t.some(a=>s.indexOf(a)!==-1)},parse:function(s){let a=ct.decode(s);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(a)?a:(ne.error("Base64 Pre-processor error: decoded line does not start with protocol"),s)}}}function SI(){return{name:"Fallback Base64 Pre-processor",test:function(n){return!0},parse:function(n){let s=ct.decode(n);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(s)?s:(ne.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),n)}}}function bI(){return{name:"Clash Pre-processor",test:function(n){if(!/proxies/.test(n))return!1;let s=gc(n);return s.proxies&&Array.isArray(s.proxies)},parse:function(n,s){let a=n.replace(/short-id:([ \t]*[^#\n,}]*)/g,(l,h)=>{let v=h.trim();return!v||v===""?'short-id: ""':/^(['"]).*\1$/.test(v)?`short-id: ${v}`:["null"].includes(v)?`short-id: ${v}`:`short-id: "${v}"`}),{proxies:i,"global-client-fingerprint":c}=gc(a);return(s?`proxies: +`:"")+i.map(l=>(c&&!l["client-fingerprint"]&&(l["client-fingerprint"]=c),`${s?" - ":""}${JSON.stringify(l)} +`)).join("")}}}function CI(){return{name:"SSD Pre-processor",test:function(n){return n.indexOf("ssd://")===0},parse:function(n){let s=[],a=JSON.parse(ct.decode(n.split("ssd://")[1])),i=a.port,c=a.encryption,l=a.password,h=a.servers;for(let v=0;ve.name==="Clash Pre-processor"),m0=new Map;async function Or(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=mi(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=ne.read(rs),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;ne.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=Jn(userAgent+url);$arguments?.cacheKey===!0&&(ne.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=ne.read(customCacheKey),t=pr.get(id);if(!noCache&&!$arguments?.noCache&&t)return ne.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){ne.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await Or(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){ne.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),ne.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),pr.set(id,e)}}else ne.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),Or(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{ne.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&m0.has(id))return m0.get(id);let http=is({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=pr.get(id);if(!noCache&&!$arguments?.noCache&&cached)ne.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(ne.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),ne.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;ne.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},...e||{}});if(ne.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let a=Qu(r);a&&Ec.set(id,a)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{C2.test(t)&&(t=C2.parse(t,!0))}catch(a){ne.error(`Clash Pre-processor error: ${a}`)}let s=!0;if(cacheThreshold){let a=t.length/1024;a>cacheThreshold&&(ne.info(`\u8D44\u6E90\u5927\u5C0F ${a.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),s=!1)}s&&(pr.set(id,t),customCacheKey&&(ne.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),ne.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=ne.read(customCacheKey);if(r)return ne.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await Cf(bf(await Sf(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||m0.set(id,result),result}async function F2(url,file){let undici=eval("require('undici')"),fs=eval("require('fs')"),{pipeline}=eval("require('stream/promises')"),{Agent,interceptors,request}=undici;ne.info(`Downloading file... +URL: ${url} +File: ${file}`);let{body,statusCode}=await request(url,{dispatcher:new Agent().compose(interceptors.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(statusCode!==200)throw new Error(`Failed to download file from ${url}`);let fileStream=fs.createWriteStream(file);return await pipeline(body,fileStream),ne.info(`File downloaded from ${url} to ${file}`),file}var v0=class{constructor(){this.expires=_I(),ne.read(La)||ne.write("{}",La);try{this.resourceCache=JSON.parse(ne.read(La))}catch(t){ne.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${La} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},ne.write("{}",La)}this._cleanup()}_cleanup(t,r){let n=!1;Object.entries(this.resourceCache).forEach(s=>{let[a,i]=s;i.time||(delete this.resourceCache[a],ne.delete(`#${a}`),n=!0),(new Date().getTime()-i.time>(r??this.expires)||t&&a.startsWith(t))&&(delete this.resourceCache[a],n=!0)}),n&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){ne.write(JSON.stringify(this.resourceCache),La)}get(t,r,n){let s=this.resourceCache[t]&&this.resourceCache[t].time;if(s){if(new Date().getTime()-s<=(r??this.expires))return this.resourceCache[t].data;n&&(delete this.resourceCache[t],this._persist())}return null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function _I(){ne.read(cf)||ne.write("1728e5",cf);let e=1728e5;if(ne.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=ne.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=ne.read(cf),e}var w0=new v0;function _f(e,t){return[...Array(e).keys()].map(()=>t)}var A0={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function eo(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(a=>RegExp(`${a}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(A0))if(A0[n].some(a=>RegExp(`(^|[^a-zA-Z])${a}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function _2(e){return A0[eo(e)]?.[0]}function Sc(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var If=class{constructor({country,asn}={}){if(ne.env.isNode){let Reader=eval('require("@maxmind/geoip2-node")').Reader,fs=eval("require('fs')"),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}};var Pf=Un(N2()),L2=Un(Ol());async function ro({url:e,domain:t,type:r="A",timeout:n,edns:s}){let a=Pf.default.encode({type:"query",id:0,flags:Pf.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:s,sourcePrefixLength:nr(s)?24:56,scopePrefixLength:0}]}]}),i=await ne.http.get({url:`${e}?dns=${a.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return Pf.default.decode(L2.Buffer.from(ne.env.isQX?i.bodyBytes:i.body))}var $0=Un(D0());function ws(e,t,r="name"){return e.find(n=>n[r]===t)}function xI(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function OI(){return{name:"Clash Provider",test:n=>/^payload:/gm.exec(n).index>=0,parse:n=>n.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var U2=[xI(),OI()];function kI(){return{type:"SINGLE",func:r=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[r.type]||r.type},${r.content},SUB-STORE`}}function H2(){return{type:"SINGLE",func:r=>{if(["GEOSITE","GEOIP"].indexOf(r.type)!==-1)return null;let s=`${r.type},${r.content}`;return["IP-CIDR","IP-CIDR6"].includes(r.type)&&(s+=r.options?.length>0?`,${r.options.join(",")}`:""),s}}}function NI(){return{type:"SINGLE",func:r=>["SRC-IP","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(r.type)&&r.options&&(r.options=r.options.filter(s=>["no-resolve"].includes(s))),H2().func(r))}}function LI(){return{type:"ALL",func:r=>{let n={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},s={payload:r.map(a=>{let i=`${n[a.type]||a.type},${a.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(a.type)&&(a.options&&(a.options=a.options.filter(c=>["no-resolve"].includes(c))),i+=a.options?.length>0?`,${a.options.join(",")}`:""),i})};return Oa.dump(s)}}}var j2={QX:kI(),Surge:H2(),Loon:NI(),Clash:LI()};var UI=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function HI(){return{name:"Universal Rule Parser",test:()=>!0,parse:n=>{let s=n.split(` +`),a=[];for(let i of s)if(i=i.trim(),i.length!==0&&!/\s*#/.test(i))try{let c=i.split(",").map(v=>v.trim()),l=c[0],h=!1;for(let v of UI)if(v[0].test(l)){h=!0;let p={type:v[1],content:c[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(p.type)&&(p.options=c.slice(2)),a.push(p)}if(!h)throw new Error("Invalid rule type: "+l)}catch(c){console.log(`Failed to parse line: ${i} + Reason: ${c}`)}return a}}}var M2=[HI()];var As=function(){function e(n){for(let s of U2)try{if(s.test(n))return ne.info(`Pre-processor [${s.name}] activated`),s.parse(n)}catch(a){ne.error(`Parser [${s.name}] failed + Reason: ${a}`)}return n}function t(n){n=e(n);for(let s of M2){let a;try{a=s.test(n)}catch{a=!1}if(a)return ne.info(`Rule parser [${s.name}] is activated!`),s.parse(n)}}function r(n,s){let a=j2[s];if(!a)throw new Error(`Target platform: ${s} is not supported!`);if(typeof a.type>"u"||a.type==="SINGLE")return n.map(i=>{try{return a.func(i)}catch(c){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(i)} +Reason: ${c}`),""}}).filter(i=>i.length>0).join(` +`);if(a.type==="ALL")return a.func(n)}return{parse:t,produce:r}}();var io=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=mi(),{defaultProxy,defaultTimeout:timeout}=ne.read(rs),proxy=defaultProxy;ne.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=is({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=is({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?as(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);ne.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((a,i)=>(a[i.path]=i,a),{}));let n=[],s={...t.files};return Object.keys(r).map(a=>{s[a]?r[a].content==null||r[a].content===""?(delete s[a],n.push({action:"delete",file_path:a})):(s[a]=r[a],n.push({action:"update",file_path:a,content:r[a].content})):r[a].content==null||r[a].content===""?(delete s[a],delete r[a]):(s[a]=r[a],n.push({action:"create",file_path:a,content:r[a].content}))}),this.syncPlatform==="gitlab"?Object.keys(s).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(s).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(s).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[s,a])=>(a.content!==null&&a.content!==""&&(n[s]=a),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(s=>JSON.parse(s.body)),n=r[e].raw_url;return await this.http.get(n).then(s=>s.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};async function so({type:e,name:t,platform:r,url:n,ua:s,content:a,mergeSources:i,ignoreFailedRemoteSub:c,ignoreFailedRemoteFile:l,produceType:h,produceOpts:v={},subscription:E,awaitCustomCache:p,$options:f,proxy:A,noCache:m,all:b}){if(r=r||"JSON",["subscription","sub"].includes(e)){let w;if(t){let I=ne.read(t0);if(w=ws(I,t),!w)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(E)w=E;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let S;if(a&&!["localFirst","remoteFirst"].includes(i))S=a;else if(n){let I={};S=await Promise.all(n.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await Or(q,s||w.ua,void 0,A||w.proxy,void 0,p,m||w.noCache,!0)}catch(_){return I[q]=_,ne.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(j=c),Object.keys(I).length>0)if(j)j==="enabled"&&ne.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);i==="localFirst"?S.unshift(a):i==="remoteFirst"&&S.push(a)}else if(w.source==="local"&&!["localFirst","remoteFirst"].includes(w.mergeSources))S=w.content;else{let I={};S=await Promise.all(w.url.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await Or(q,s||w.ua,void 0,A||w.proxy,void 0,p,m||w.noCache,!0)}catch(_){return I[q]=_,ne.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${_}`),""}}));let j=w.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(j=c),Object.keys(I).length>0)if(j)j==="enabled"&&ne.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(I).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);w.mergeSources==="localFirst"?S.unshift(w.content):w.mergeSources==="remoteFirst"&&S.push(w.content)}if(h==="raw")return JSON.stringify((Array.isArray(S)?S:[S]).flat());let F=(Array.isArray(S)?S:[S]).map(I=>Bt.parse(I)).flat();if(F.forEach(I=>{I._subName=w.name,I._subDisplayName=w.displayName}),F=await Bt.process(F,w.process||[],r,{[w.name]:w},f),F.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let D={};for(let I of F){if(D[I.name]){ne.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${I.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}D[I.name]=!0}return Bt.produce(F,r,h,v)}else if(["collection","col"].includes(e)){let w=ne.read(t0),S=ne.read(t2),F=ws(S,t);if(!F)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let D=[...F.subscriptions],I=F.subscriptionTags;Array.isArray(I)&&I.length>0&&w.forEach(M=>{Array.isArray(M.tag)&&M.tag.length>0&&!D.includes(M.name)&&M.tag.some(W=>I.includes(W))&&D.push(M.name)});let j={},q={},_=0;await Promise.all(D.map(async M=>{let W=ws(w,M),K=W.passThroughUA,V=W.ua;K&&(ne.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${s}`),V=s);try{ne.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${W.name}...`);let z;if(W.source==="local"&&!["localFirst","remoteFirst"].includes(W.mergeSources))z=W.content;else{let Ee={};if(z=await await Promise.all(W.url.split(/[\r\n]+/).map(we=>we.trim()).filter(we=>we.length).map(async we=>{try{return await Or(we,V,void 0,A||W.proxy||F.proxy,void 0,void 0,m||W.noCache,!0)}catch(_e){return Ee[we]=_e,ne.error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${we} \u53D1\u751F\u9519\u8BEF: ${_e}`),""}})),Object.keys(Ee).length>0)if(W.ignoreFailedRemoteSub)W.ignoreFailedRemoteSub==="enabled"&&ne.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${W.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Ee).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Ee).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);W.mergeSources==="localFirst"?z.unshift(W.content):W.mergeSources==="remoteFirst"&&z.push(W.content)}let re=(Array.isArray(z)?z:[z]).map(Ee=>Bt.parse(Ee)).flat();re.forEach(Ee=>{Ee._subName=W.name,Ee._subDisplayName=W.displayName,Ee._collectionName=F.name,Ee._collectionDisplayName=F.displayName}),re=await Bt.process(re,W.process||[],r,{[W.name]:W,_collection:F,$options:f}),j[M]=re,_++,ne.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${W.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}% `)}catch(z){_++,q[M]=z,ne.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${W.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${z}\uFF01\u8FDB\u5EA6--${100*(_/D.length).toFixed(1)}%`)}}));let P=F.ignoreFailedRemoteSub;if(c!=null&&c!==""&&(P=c),Object.keys(q).length>0)if(P)P==="enabled"&&ne.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${F.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${F.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let k=Array.prototype.concat.apply([],D.map(M=>j[M]||[]));if(k.forEach(M=>{M._collectionName=F.name,M._collectionDisplayName=F.displayName}),k=await Bt.process(k,F.process||[],r,{_collection:F},f),k.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let U={};for(let M of k){if(U[M.name]){ne.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${M.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}U[M.name]=!0}return Bt.produce(k,r,h,v)}else if(e==="rule"){let w=ne.read(n2),S=ws(w,t);if(!S)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let F=[];for(let D=0;DP.trim()).filter(P=>P.length).map(async P=>{try{return await Or(P,s||S.ua,void 0,S.proxy||A,void 0,void 0,m)}catch(k){return q[P]=k,ne.error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=S.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),!_&&Object.keys(q).length>0)throw new Error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);i==="localFirst"?F.unshift(a):i==="remoteFirst"&&F.push(a)}else if(S.source==="local"&&!["localFirst","remoteFirst"].includes(S.mergeSources))F=S.content;else{let q={};F=await Promise.all(S.url.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length).map(async P=>{try{return await Or(P,s||S.ua,void 0,S.proxy||A,void 0,void 0,m)}catch(k){return q[P]=k,ne.error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${k}`),""}}));let _=S.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(_=l),Object.keys(q).length>0)if(_)_==="enabled"&&ne.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${S.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${S.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);S.mergeSources==="localFirst"?F.unshift(S.content):S.mergeSources==="remoteFirst"&&F.push(S.content)}if(h==="raw")return JSON.stringify((Array.isArray(F)?F:[F]).flat());let D=(Array.isArray(F)?F:[F]).flat(),I=D.filter(q=>q!=null&&q!=="").join(` +`),j=Array.isArray(S.process)&&S.process.length>0?await Bt.process({$files:D,$content:I,$options:f,$file:S},S.process):{$content:I,$files:D,$options:f};return(b?j:j?.$content)??""}}var $f="2.19.56";var{isNode:q2,isQX:zI,isLoon:WI,isSurge:YI,isStash:XI,isShadowRocket:JI,isLanceX:ZI,isEgern:QI,isGUIforCores:e9}=mi(),Di="Node";q2&&(Di="Node");zI&&(Di="QX");WI&&(Di="Loon");YI&&(Di="Surge");XI&&(Di="Stash");JI&&(Di="ShadowRocket");QI&&(Di="Egern");ZI&&(Di="LanceX");e9&&(Di="GUI.for.Cores");var Ma={},t9={};try{if(typeof $environment<"u"&&(Ma.env=$environment),typeof $loon<"u"&&(Ma.loon=$loon),typeof $script<"u"&&(Ma.script=$script),typeof $Plugin<"u"&&(Ma.plugin=$Plugin),q2){Ma.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(Ma.node.env[e]=env[e])}}catch(e){}var Fc={backend:Di,version:$f,feature:t9,meta:Ma};function r9(e){return e&&typeof e=="object"&&!Array.isArray(e)}function _c(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function V2(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(r9(r[n]))if(n.endsWith("!")){let s=_c(n.slice(0,-1));e[s]=r[n]}else{let s=_c(n);e[s]||Object.assign(e,{[s]:{}}),V2(e[s],r[s])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let s=_c(n.slice(1));e[s]||Object.assign(e,{[s]:[]}),e[s]=[...r[n],...e[s]]}else if(n.endsWith("+")){let s=_c(n.slice(0,-1));e[s]||Object.assign(e,{[s]:[]}),e[s]=[...e[s],...r[n]]}else{let s=_c(n);Object.assign(e,{[s]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function n9({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>Rf(e,r))}}function Rf(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>Rf(r,t));case"OR":return e.child.some(r=>Rf(r,t));case"NOT":return!Rf(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function i9(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let s=Y2().func(r);r=r.filter((a,i)=>s[i]&&a.port>0&&a.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function s9({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=Sc(n.name);else{let s=eo(n.name);n.name=Sc(n.name),n.name=s+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function a9(e){let{action:t,template:r,link:n,position:s}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:a=>{if(t==="delete"){let i={};return a.filter(c=>i[c.name]?!1:(i[c.name]=!0,!0))}else if(t==="rename"){let i=r.split(" "),c={},l=0;a.forEach(v=>{typeof c[v.name]>"u"?c[v.name]=1:c[v.name]++,l=Math.max(c[v.name].toString().length,l)});let h={};return a.map(v=>{if(c[v.name]>1){typeof h[v.name]>"u"&&(h[v.name]=1);let E="",p=h[v.name]++,f=0;for(;p>0;)E=i[p%10]+E,p=parseInt(p/10),f++;for(;f++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let s=r.name>n.name?1:-1;return s*=e==="desc"?-1:1,s});case"random":return w9(t);default:throw new Error("Unknown sort option: "+e)}}}}function o9(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(s=>R0(s)),n.sort((s,a)=>{let i=K2(r,s.name),c=K2(r,a.name);return i&&!c?-1:c&&!i?1:i&&c?it.map(r=>{for(let{expr:n,now:s}of e)r.name=r.name.replace(R0(n,"g"),s).trim();return r})}}function c9(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:G2(t).func}}function l9(e,t,r,n,s){return{name:"Script Operator",func:async a=>{let i=a;if(i?.$file?.type==="mihomoProfile")try{let c=Oa.safeLoad(e),l;if(i?.$content)try{l=Oa.safeLoad(i?.$content)}catch(h){ne.error(h.message??h)}if(typeof c!="object")throw new Error("patch is not an object");return i.$content=Bt.yaml.safeDump(V2(l||(i?.$file?.sourceType==="none"?{}:{proxies:await so({type:i?.$file?.sourceType||"collection",name:i?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),c)),i}catch{}return await async function(){i=Tf("operator",e,r,s)(a,t,{source:n,...Fc})}(),i},nodeFunc:async a=>{let i=a;return await async function(){i=Tf("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,s)(a,t,{source:n,...Fc})}(),i}}}function f9(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let s=parseInt(n[3],16),a=parseInt(n[4],16),i=s>>8,c=s&255,l=a>>8,h=a&255;if(t=`${i}.${c}.${l}.${h}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!nr(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){ne.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var z2={Custom:async function(e,t,r,n,s,a){let i=Jn(`CUSTOM:${a}:${e}:${t}`),c=pr.get(i);if(!r&&c)return c;let l=t==="IPv6"?"AAAA":"A",h=await ro({url:a,domain:e,type:l,timeout:n,edns:s}),{answers:v}=h;if(!Array.isArray(v)||v.length===0)throw new Error("No answers");let E=v.filter(p=>p?.type===l).map(p=>p?.data).filter(p=>p);if(E.length===0)throw new Error("No answers");return pr.set(i,E),E},Google:async function(e,t,r,n,s){let a=Jn(`GOOGLE:${e}:${t}`),i=pr.get(a);if(!r&&i)return i;let c=t==="IPv6"?"AAAA":"A",l=await ro({url:"https://8.8.4.4/dns-query",domain:e,type:c,timeout:n,edns:s}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let v=h.filter(E=>E?.type===c).map(E=>E?.data).filter(E=>E);if(v.length===0)throw new Error("No answers");return pr.set(a,v),v},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let s=Jn(`IP-API:${e}`),a=pr.get(s);if(!r&&a)return a;let i=await ne.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),c=JSON.parse(i.body);if(c.status!=="success")throw new Error(`Status is ${c.status}`);if(!c.query||c.query===0)throw new Error("No answers");let l=[c.query];if(l.length===0)throw new Error("No answers");return pr.set(s,l),l},Cloudflare:async function(e,t,r,n,s){let a=Jn(`CLOUDFLARE:${e}:${t}`),i=pr.get(a);if(!r&&i)return i;let c=t==="IPv6"?"AAAA":"A",l=await ro({url:"https://1.0.0.1/dns-query",domain:e,type:c,timeout:n,edns:s}),{answers:h}=l;if(!Array.isArray(h)||h.length===0)throw new Error("No answers");let v=h.filter(E=>E?.type===c).map(E=>E?.data).filter(E=>E);if(v.length===0)throw new Error("No answers");return pr.set(a,v),v},Ali:async function(e,t,r,n,s){let a=Jn(`ALI:${e}:${t}`),i=pr.get(a);if(!r&&i)return i;let c=await ne.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${s}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),l=JSON.parse(c.body);if(!Array.isArray(l)||l.length===0)throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return pr.set(a,h),h},Tencent:async function(e,t,r,n,s){let a=Jn(`TENCENT:${e}:${t}`),i=pr.get(a);if(!r&&i)return i;let l=(await ne.http.get({url:`http://119.28.28.28/d?ip=${s}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(v=>v.split(",")[0]);if(l.length===0||String(l)==="0")throw new Error("No answers");let h=l;if(h.length===0)throw new Error("No answers");return pr.set(a,h),h}};function W2({provider:e,type:t,filter:r,cache:n,url:s,timeout:a,edns:i}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:c}=ne.read(rs),l=a||c||8e3,h=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",v=z2[e];if(!v)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let E=i||"223.6.6.6";if(!qa(E))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return ne.info(`Domain Resolver: [${t}] ${e} ${E||""} ${s||""}`),{name:"Resolve Domain Operator",func:async p=>{p.forEach((w,S)=>{!w["_no-resolve"]&&w["no-resolve"]&&(p[S]["_no-resolve"]=w["no-resolve"])});let f={},A=15,m=[...new Set(p.filter(w=>!qa(w.server)&&!w["_no-resolve"]).map(w=>w.server))],b=Math.ceil(m.length/A);for(let w=0;w{f[F]=D,ne.info(`Successfully resolved domain: ${F} \u279F ${D}`)}).catch(D=>{ne.error(`Failed to resolve domain: ${F} with resolver [${e}]: ${D}`)}));await Promise.all(S)}return p.forEach(w=>{if(!w["_no-resolve"])if(f[w.server]){w._resolved_ips=f[w.server];let S=Array.isArray(f[w.server])?f[w.server][Math.floor(Math.random()*f[w.server].length)]:f[w.server];if(h==="IPv6"&&ir(S)){try{S=new Ef.Address6(S).correctForm()}catch(F){ne.error(`Failed to parse IPv6 address: ${S}: ${F}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(S)){w._IP4P=S;let{server:F,port:D}=f9(S);F&&D?(w._domain=w.server,w.server=F,w.port=D,w.resolved=!0,w._IPv4=w.server,qa(w._IP)||(w._IP=w.server)):w.resolved||(w.resolved=!1)}else w._domain=w.server,w.server=S,w.resolved=!0,w[`_${h}`]=w.server,qa(w._IP)||(w._IP=w.server)}else w._domain=w.server,w.server=S,w.resolved=!0,w[`_${h}`]=w.server,qa(w._IP)||(w._IP=w.server)}else w.resolved||(w.resolved=!1)}),p.filter(w=>r==="removeFailed"?qa(w.server)||w["_no-resolve"]||w.resolved:r==="IPOnly"?qa(w.server):r==="IPv4Only"?nr(w.server):r==="IPv6Only"?ir(w.server):!0)}}}function qa(e){return nr(e)||ir(e)}W2.resolver=z2;function P0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function Y2(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!P0(t.cipher))return!1;if(t.password&&!P0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!P0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function h9(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:s=>s.map(a=>{let i=eo(a.name),c=t.some(l=>n[l]===i);return r?c:!c})}}function p9({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let s=e.some(a=>R0(a).test(n.name));return t?s:!s})}}function R0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function d9(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(s=>{let a=t.some(i=>s.type===i);return r?a:!a})}}function g9(e,t,r,n,s){return{name:"Script Filter",func:async a=>{let i=_f(a.length,!0);return await async function(){i=Tf("filter",e,r,s)(a,t,{source:n,...Fc})}(),i},nodeFunc:async a=>{let i=_f(a.length,!0);return await async function(){i=Tf("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,s)(a,t,{source:n,...Fc})}(),i}}}var xf={"Useless Filter":Y2,"Region Filter":h9,"Regex Filter":p9,"Type Filter":d9,"Script Filter":g9,"Conditional Filter":n9,"Quick Setting Operator":i9,"Flag Operator":s9,"Sort Operator":u9,"Regex Sort Operator":o9,"Regex Rename Operator":G2,"Regex Delete Operator":c9,"Script Operator":l9,"Handle Duplicate Operator":a9,"Resolve Domain Operator":W2};async function m9(e,t){let r=_f(t.length,!0);try{r=await e.func(t)}catch(n){let s="",a=`${n.message??n}`;a.includes("$server is not defined")?s="":(ne.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),s=`\u6267\u884C function filter \u5931\u8D25 ${a}; `);try{r=await e.nodeFunc(t)}catch(i){ne.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${i}`);let c="",l=`${i.message??i}`;throw s&&l===a?(c="",s=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${s}${c}`)}}return t.filter((n,s)=>r[s])}async function v9(e,t){let r=A9(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let s="",a=`${n.message??n}`;a.includes("$server is not defined")||a.includes("$content is not defined")||a.includes("$files is not defined")||r?.$files||r?.$content?s="":(ne.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),s=`\u6267\u884C function operator \u5931\u8D25 ${a}; `);try{let i=await e.nodeFunc(r);i&&(r=i)}catch(i){ne.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${i}`);let c="",l=`${i.message??i}`;throw s&&l===a?(c="",s=`\u6267\u884C\u5931\u8D25 ${a}`):c=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u64CD\u4F5C ${s}${c}`)}}return r}async function X2(e,t){if(e.name.indexOf("Filter")!==-1)return m9(e,t);if(e.name.indexOf("Operator")!==-1)return v9(e,t)}function w9(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function A9(e){return JSON.parse(JSON.stringify(e))}function Tf(name,script,$arguments,$options){let flowUtils={getFlowField:Qu,getFlowHeaders:Sf,parseFlowHeaders:bf,flowTransfer:yc,validCheck:Cf,getRmainingDays:S2,normalizeFlowHeader:b2};return ne.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,ne,$0.default,$persistentStore,$httpClient,$notification,Bt,Bt.yaml,Bt.Buffer,Bt.Base64.decode,Bt.Base64.encode,w0,flowUtils,so,eval('typeof require !== "undefined"')?ba:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,ne,$0.default,Bt,Bt.yaml,Bt.Buffer,Bt.Base64.decode,Bt.Base64.encode,w0,flowUtils,so,eval('typeof require !== "undefined"')?ba:void 0)}var J2=Un(D0()),Ye=class{constructor(t){this.proxy=t,this.output=[]}append(t){if(typeof t>"u")throw new Error("required field is missing");this.output.push(t)}appendIfPresent(t,r){se(this.proxy,r)&&this.append(t)}toString(){return this.output.join("")}};function se(e,t){let r=J2.default.get(e,t);return typeof r<"u"&&r!==null}var E9="Surge",qn={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function ao(){return{produce:(t,r,n={})=>{switch(t.name=t.name.replace(/=|,/g,""),t.ports&&(t.ports=String(t.ports)),t.type){case"ss":return y9(t,n["include-unsupported-proxy"]);case"trojan":return S9(t);case"vmess":return b9(t,n["include-unsupported-proxy"]);case"http":return F9(t);case"direct":return _9(t);case"socks5":return I9(t);case"snell":return B9(t);case"tuic":return D9(t);case"wireguard-surge":return $9(t);case"hysteria2":return R9(t);case"ssh":return C9(t)}if(n["include-unsupported-proxy"]&&t.type==="wireguard")return P9(t);throw new Error(`Platform ${E9} does not support proxy type: ${t.type}`)}}}function y9(e){let t=new Ye(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=qn[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),se(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function S9(e){let t=new Ye(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),Z2(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function b9(e,t){let r=new Ye(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=qn[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),Z2(r,e,t),se(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function C9(e){let t=new Ye(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function F9(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new Ye(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function _9(e){let t=new Ye(e);t.append(`${e.name}=direct`);let n=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function I9(e){let t=new Ye(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&ne.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function B9(e){let t=new Ye(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function D9(e){let t=new Ye(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),se(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function P9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ye(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=Ft(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=qn[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],s=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,a=e["preshared-key"]??e["pre-shared-key"];a&&(a=`,preshared-key="${a}"`);let i={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":s,"preshared-key":a};return t.append(` +peer = (${Object.keys(i).filter(c=>i[c]!=null).map(c=>`${c} = ${i[c]}`).join(", ")})`),t.toString()}function $9(e){let t=new Ye(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function R9(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new Ye(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),se(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=qn[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),se(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function Z2(e,t,r){if(se(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),se(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),se(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,s=Object.keys(n).map(a=>{let i=n[a];return["Host"].includes(a)&&(i=`"${i}"`),`${a}:${i}`}).join("|");yi(s)&&e.append(`,ws-headers=${s}`)}}else if(r&&["http"].includes(t.network))ne.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function Fn(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"||["juicity"].includes(i.type)?!1:!(["ss"].includes(i.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(i.cipher))).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?se(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&se(i,"shadow-tls-password")&&!se(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal"||s["delete-underscore-fields"])for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var Q2="SurgeMac",T9=ao();function T0(){return{produce:(t,r,n={})=>{switch(t.type){case"external":return ew(t);default:try{return T9.produce(t,r,n)}catch{if(n.useMihomoExternal)return ne.log(`${t.name} is not supported on ${Q2}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),x9(t,r,n);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function ew(e){let t=new Ye(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),se(e,"tfo")?t.append(`,tfo=${e.tfo}`):se(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function x9(e,t,r){let n=Fn().produce([e],"internal")?.[0];if(n){let s=r?.localPort||e._localPort||65535,a=!["ipv4","v4-only"].includes(e["ip-version"]),i={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":s,args:["-config",ct.encode(JSON.stringify({"mixed-port":s,ipv6:a,mode:"global",dns:{enable:!0,ipv6:a,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return O9(e.server)?i.addresses.push(e.server):ne.log(`Platform ${Q2}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=s-1,ew(i)}}function O9(e){return nr(e)||ir(e)}function x0(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&(typeof i.flow<"u"||i["reality-opts"])?!1:i["underlying-proxy"]||i["dialer-proxy"]?(ne.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}`),!1):!0).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&se(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}function Of(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&i["reality-opts"]&&!["xtls-rprx-vision"].includes(i.flow)?!1:i["underlying-proxy"]||i["dialer-proxy"]?(ne.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),se(i,"down")&&!se(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),se(i,"up")&&!se(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),se(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),se(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="hysteria2"?(se(i,"password")&&!se(i,"auth")&&(i.auth=i.password,delete i.password),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),se(i,"down")&&!se(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),se(i,"up")&&!se(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),se(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),se(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&se(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i["server-cert-fingerprint"]=i["tls-fingerprint"]),delete i["tls-fingerprint"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,i["test-url"]&&(i["benchmark-url"]=i["test-url"],delete i["test-url"]),i["test-timeout"]&&(i["benchmark-timeout"]=i["test-timeout"],delete i["test-timeout"]),delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var k9="Loon",Es={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function O0(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return N9(t);case"ssr":return L9(t);case"trojan":return U9(t);case"vmess":return H9(t,n["include-unsupported-proxy"]);case"vless":return j9(t,n["include-unsupported-proxy"]);case"http":return M9(t);case"socks5":return q9(t);case"wireguard":return K9(t);case"hysteria2":return V9(t)}throw new Error(`Platform ${k9} does not support proxy type: ${t.type}`)}}}function N9(e){let t=new Ye(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),se(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function L9(e){let t=new Ye(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),se(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,s=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),s&&t.append(`,shadow-tls-sni=${s}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function U9(e){let t=new Ye(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function H9(e){let t=!!e["reality-opts"],r=new Ye(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let s=e["http-opts"]?.path,a=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(s)?s[0]:s}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(a)?a[0]:a}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),se(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=Es[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function j9(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new Ye(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,se(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let a=e["http-opts"]?.path,i=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(a)?a[0]:a}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(i)?i[0]:i}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let s=Es[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${s}`,"ip-version"),n.toString()}function M9(e){let t=new Ye(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function q9(e){let t=new Ye(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function K9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new Ye(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(c=>ir(c));let i=e.dns.find(c=>nr(c));i||(i=e.dns.find(c=>!nr(c)&&!ir(c))),e.dns=i}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let s=e["preshared-key"]??e["pre-shared-key"];s&&(s=`,preshared-key="${s}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${s??""}}]`);let a=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${a}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function V9(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new Ye(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=Es[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function uo(){return{type:"SINGLE",produce:r=>{let n="";delete r.subName,delete r.collectionName,delete r.id,delete r.resolved,delete r["no-resolve"];for(let s in r)r[s]==null&&delete r[s];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(r.type)&&delete r.tls,!["vmess"].includes(r.type)&&r.server&&ir(r.server)&&(r.server=`[${r.server}]`),r.type){case"socks5":n=`socks://${encodeURIComponent(ct.encode(`${r.username??""}:${r.password??""}`))}@${r.server}:${r.port}#${r.name}`;break;case"ss":let s=`${r.cipher}:${r.password}`;if(n=`ss://${r.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(r.cipher)}:${encodeURIComponent(r.password)}`:ct.encode(s)}@${r.server}:${r.port}${r.plugin?"/":""}`,r.plugin){n+="?plugin=";let ue=r["plugin-opts"];switch(r.plugin){case"obfs":n+=encodeURIComponent(`simple-obfs;obfs=${ue.mode}${ue.host?";obfs-host="+ue.host:""}`);break;case"v2ray-plugin":n+=encodeURIComponent(`v2ray-plugin;obfs=${ue.mode}${ue.host?";obfs-host"+ue.host:""}${ue.tls?";tls":""}`);break;case"shadow-tls":n+=encodeURIComponent(`shadow-tls;host=${ue.host};password=${ue.password};version=${ue.version}`);break;default:throw new Error(`Unsupported plugin option: ${r.plugin}`)}}r["udp-over-tcp"]&&(n=`${n}${r.plugin?"&":"?"}uot=1`),r.tfo&&(n=`${n}${r.plugin||r["udp-over-tcp"]?"&":"?"}tfo=1`),n+=`#${encodeURIComponent(r.name)}`;break;case"ssr":n=`${r.server}:${r.port}:${r.protocol}:${r.cipher}:${r.obfs}:${ct.encode(r.password)}/`,n+=`?remarks=${ct.encode(r.name)}${r["obfs-param"]?"&obfsparam="+ct.encode(r["obfs-param"]):""}${r["protocol-param"]?"&protocolparam="+ct.encode(r["protocol-param"]):""}`,n="ssr://"+ct.encode(n);break;case"vmess":let a="",i=r.network||"tcp";if(r.network==="http"?(i="tcp",a="http"):r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(i="httpupgrade"),n={v:"2",ps:r.name,add:r.server,port:`${r.port}`,id:r.uuid,aid:`${r.alterId||0}`,scy:r.cipher,net:i,type:a,tls:r.tls?"tls":"",alpn:Array.isArray(r.alpn)?r.alpn.join(","):r.alpn,fp:r["client-fingerprint"]},r.tls&&r.sni&&(n.sni=r.sni),r.network){let ue=r[`${r.network}-opts`]?.path,Ce=r[`${r.network}-opts`]?.headers?.Host;["grpc"].includes(r.network)?(n.path=r[`${r.network}-opts`]?.["grpc-service-name"],n.type=r[`${r.network}-opts`]?.["_grpc-type"]||"gun",n.host=r[`${r.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(r.network)?(n.type=r[`${r.network}-opts`]?.[`_${r.network}-type`]||"none",n.host=r[`${r.network}-opts`]?.[`_${r.network}-host`],n.path=r[`${r.network}-opts`]?.[`_${r.network}-path`]):(ue&&(n.path=Array.isArray(ue)?ue[0]:ue),Ce&&(n.host=Array.isArray(Ce)?Ce[0]:Ce))}n="vmess://"+ct.encode(JSON.stringify(n));break;case"vless":let c="none",l=r["reality-opts"],h="",v="",E="";if(l){c="reality";let ue=r["reality-opts"]?.["public-key"];ue&&(v=`&pbk=${encodeURIComponent(ue)}`);let Ce=r["reality-opts"]?.["short-id"];Ce&&(h=`&sid=${encodeURIComponent(Ce)}`);let Oe=r["reality-opts"]?.["_spider-x"];Oe&&(E=`&spx=${encodeURIComponent(Oe)}`)}else r.tls&&(c="tls");let p="";r.alpn&&(p=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let f="";r["skip-cert-verify"]&&(f="&allowInsecure=1");let A="";r.sni&&(A=`&sni=${encodeURIComponent(r.sni)}`);let m="";r["client-fingerprint"]&&(m=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let b="";r.flow&&(b=`&flow=${encodeURIComponent(r.flow)}`);let w="";r._extra&&(w=`&extra=${encodeURIComponent(r._extra)}`);let S="";r._mode&&(S=`&mode=${encodeURIComponent(r._mode)}`);let F=r.network;r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(F="httpupgrade");let D=`&type=${encodeURIComponent(F)}`;if(["grpc"].includes(r.network)){D+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`;let ue=r[`${r.network}-opts`]?.["_grpc-authority"];ue&&(D+=`&authority=${encodeURIComponent(ue)}`)}let I=r[`${r.network}-opts`]?.[`${r.network}-service-name`],j=r[`${r.network}-opts`]?.path,q=r[`${r.network}-opts`]?.headers?.Host;j&&(D+=`&path=${encodeURIComponent(Array.isArray(j)?j[0]:j)}`),q&&(D+=`&host=${encodeURIComponent(Array.isArray(q)?q[0]:q)}`),I&&(D+=`&serviceName=${encodeURIComponent(I)}`),r.network==="kcp"&&(r.seed&&(D+=`&seed=${encodeURIComponent(r.seed)}`),r.headerType&&(D+=`&headerType=${encodeURIComponent(r.headerType)}`)),n=`vless://${r.uuid}@${r.server}:${r.port}?security=${encodeURIComponent(c)}${D}${p}${f}${A}${m}${b}${h}${E}${v}${S}${w}#${encodeURIComponent(r.name)}`;break;case"trojan":let _="";if(r.network){let ue=r.network;if(r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(ue="httpupgrade"),_=`&type=${encodeURIComponent(ue)}`,["grpc"].includes(r.network)){let sr=r[`${r.network}-opts`]?.[`${r.network}-service-name`],_t=r[`${r.network}-opts`]?.["_grpc-authority"];sr&&(_+=`&serviceName=${encodeURIComponent(sr)}`),_t&&(_+=`&authority=${encodeURIComponent(_t)}`),_+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`}let Ce=r[`${r.network}-opts`]?.path,Oe=r[`${r.network}-opts`]?.headers?.Host;Ce&&(_+=`&path=${encodeURIComponent(Array.isArray(Ce)?Ce[0]:Ce)}`),Oe&&(_+=`&host=${encodeURIComponent(Array.isArray(Oe)?Oe[0]:Oe)}`)}let P="";r["client-fingerprint"]&&(P=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let k="";r.alpn&&(k=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let U=r["reality-opts"],M="",W="",K="",V="",z="",re="";if(U){V="&security=reality";let ue=r["reality-opts"]?.["public-key"];ue&&(W=`&pbk=${encodeURIComponent(ue)}`);let Ce=r["reality-opts"]?.["short-id"];Ce&&(M=`&sid=${encodeURIComponent(Ce)}`);let Oe=r["reality-opts"]?.["_spider-x"];Oe&&(K=`&spx=${encodeURIComponent(Oe)}`),r._extra&&(re=`&extra=${encodeURIComponent(r._extra)}`),r._mode&&(z=`&mode=${encodeURIComponent(r._mode)}`)}n=`trojan://${r.password}@${r.server}:${r.port}?sni=${encodeURIComponent(r.sni||r.server)}${r["skip-cert-verify"]?"&allowInsecure=1":""}${_}${k}${P}${V}${M}${W}${K}${z}${re}#${encodeURIComponent(r.name)}`;break;case"hysteria2":let Ee=[];r["hop-interval"]&&Ee.push(`hop-interval=${r["hop-interval"]}`),r.keepalive&&Ee.push(`keepalive=${r.keepalive}`),r["skip-cert-verify"]&&Ee.push("insecure=1"),r.obfs&&(Ee.push(`obfs=${encodeURIComponent(r.obfs)}`),r["obfs-password"]&&Ee.push(`obfs-password=${encodeURIComponent(r["obfs-password"])}`)),r.sni&&Ee.push(`sni=${encodeURIComponent(r.sni)}`),r.ports&&Ee.push(`mport=${r.ports}`),r["tls-fingerprint"]&&Ee.push(`pinSHA256=${encodeURIComponent(r["tls-fingerprint"])}`),r.tfo&&Ee.push("fastopen=1"),n=`hysteria2://${encodeURIComponent(r.password)}@${r.server}:${r.port}?${Ee.join("&")}#${encodeURIComponent(r.name)}`;break;case"hysteria":let we=[];Object.keys(r).forEach(ue=>{if(!["name","type","server","port"].includes(ue)){let Ce=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&we.push(`${Ce}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&we.push("insecure=1"):["tfo","fast-open"].includes(ue)?r[ue]&&!we.includes("fastopen=1")&&we.push("fastopen=1"):["ports"].includes(ue)?we.push(`mport=${r[ue]}`):["auth-str"].includes(ue)?we.push(`auth=${r[ue]}`):["up"].includes(ue)?we.push(`upmbps=${r[ue]}`):["down"].includes(ue)?we.push(`downmbps=${r[ue]}`):["_obfs"].includes(ue)?we.push(`obfs=${r[ue]}`):["obfs"].includes(ue)?we.push(`obfsParam=${r[ue]}`):["sni"].includes(ue)?we.push(`peer=${r[ue]}`):r[ue]&&!/^_/i.test(ue)&&we.push(`${Ce}=${encodeURIComponent(r[ue])}`)}}),n=`hysteria://${r.server}:${r.port}?${we.join("&")}#${encodeURIComponent(r.name)}`;break;case"tuic":if(!r.token||r.token.length===0){let ue=[];Object.keys(r).forEach(Ce=>{if(!["name","type","uuid","password","server","port","tls"].includes(Ce)){let Oe=Ce.replace(/-/,"_");["alpn"].includes(Ce)?r[Ce]&&ue.push(`${Oe}=${encodeURIComponent(Array.isArray(r[Ce])?r[Ce][0]:r[Ce])}`):["skip-cert-verify"].includes(Ce)?r[Ce]&&ue.push("allow_insecure=1"):["tfo","fast-open"].includes(Ce)?r[Ce]&&!ue.includes("fast_open=1")&&ue.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(Ce)&&r[Ce]?ue.push(`${Oe.replace(/-/g,"_")}=1`):["congestion-controller"].includes(Ce)?ue.push(`congestion_control=${r[Ce]}`):r[Ce]&&!/^_/i.test(Ce)&&ue.push(`${Oe.replace(/-/g,"_")}=${encodeURIComponent(r[Ce])}`)}}),n=`tuic://${encodeURIComponent(r.uuid)}:${encodeURIComponent(r.password)}@${r.server}:${r.port}?${ue.join("&")}#${encodeURIComponent(r.name)}`}break;case"anytls":let _e=[];Object.keys(r).forEach(ue=>{if(!["name","type","password","server","port","tls"].includes(ue)){let Ce=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&_e.push(`${Ce}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&_e.push("insecure=1"):["udp"].includes(ue)?r[ue]&&_e.push("udp=1"):r[ue]&&!/^_/i.test(ue)&&_e.push(`${Ce.replace(/-/g,"_")}=${encodeURIComponent(r[ue])}`)}}),n=`anytls://${encodeURIComponent(r.password)}@${r.server}:${r.port}/?${_e.join("&")}#${encodeURIComponent(r.name)}`;break;case"wireguard":let He=[];Object.keys(r).forEach(ue=>{["name","type","server","port","ip","ipv6","private-key"].includes(ue)||(["public-key"].includes(ue)?He.push(`publickey=${r[ue]}`):["udp"].includes(ue)?r[ue]&&He.push(`${ue}=1`):r[ue]&&!/^_/i.test(ue)&&He.push(`${ue}=${encodeURIComponent(r[ue])}`))}),r.ip&&r.ipv6?He.push(`address=${r.ip}/32,${r.ipv6}/128`):r.ip?He.push(`address=${r.ip}/32`):r.ipv6&&He.push(`address=${r.ipv6}/128`),n=`wireguard://${encodeURIComponent(r["private-key"])}@${r.server}:${r.port}/?${He.join("&")}#${encodeURIComponent(r.name)}`;break}return n}}}var G9=uo();function Ic(){return{type:"ALL",produce:r=>{let n=[];return r.map(s=>{try{n.push(G9.produce(s))}catch(a){ne.error(`Cannot produce proxy: ${JSON.stringify(s,null,2)} +Reason: ${a}`)}}),ct.encode(n.join(` +`))}}}var z9="QX";function Bc(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return W9(t);case"ssr":return Y9(t);case"trojan":return X9(t);case"vmess":return J9(t);case"http":return Q9(t);case"socks5":return eB(t);case"vless":return Z9(t)}throw new Error(`Platform ${z9} does not support proxy type: ${t.type}`)}}}function W9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),_n(e)&&(e.tls=!0),se(e,"plugin")){if(e.plugin==="obfs"){let s=e["plugin-opts"];r(`,obfs=${s.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return _n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Y9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function X9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),se(e,"network"))if(e.network==="ws")_n(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&_n(e)&&r(",over-tls=true"),_n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function J9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let s;if(e.cipher==="auto"?s="chacha20-ietf-poly1305":s=e.cipher,r(`,method=${s}`),r(`,password=${e.uuid}`),_n(e)&&(e.tls=!0),se(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(i)?i[0]:i}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return _n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),se(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Z9(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),_n(e)&&(e.tls=!0),se(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(i)?i[0]:i}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return _n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Q9(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),_n(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),_n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function eB(e){let t=new Ye(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),_n(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),_n(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function _n(e){return e.tls}function Dc(){return{type:"ALL",produce:(r,n,s={})=>{let a=r.filter(i=>s["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"?!1:!["mieru"].includes(i.type)).map(i=>{if(i.type==="vmess"?(se(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),se(i,"sni")&&(i.servername=i.sni,delete i.sni),se(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(se(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!se(i,"version")&&(i.version=5)):i.type==="hysteria"?(se(i,"auth_str")&&!se(i,"auth-str")&&(i["auth-str"]=i.auth_str),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="hysteria2"?(i["obfs-password"]&&i.obfs=="salamander"&&(i.obfs=i["obfs-password"],delete i["obfs-password"]),se(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),se(i,"tfo")&&!se(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?se(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&se(i,"shadow-tls-password")&&!se(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let c=i["http-opts"]?.path;se(i,"http-opts.path")&&!Array.isArray(c)&&(i["http-opts"].path=[c]);let l=i["http-opts"]?.headers?.Host;se(i,"http-opts.headers.Host")&&!Array.isArray(l)&&(i["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let c=i["h2-opts"]?.path;se(i,"h2-opts.path")&&Array.isArray(c)&&(i["h2-opts"].path=c[0]);let l=i["h2-opts"]?.headers?.host;se(i,"h2-opts.headers.Host")&&!Array.isArray(l)&&(i["h2-opts"].headers.host=[l])}if(i["plugin-opts"]?.tls&&se(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],se(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],n!=="internal")for(let c in i)(i[c]==null||/^_/i.test(c))&&delete i[c];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return n==="internal"?a:`proxies: +`+a.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var tB="Surfboard";function kf(){return{produce:t=>{switch(t.name=t.name.replace(/=|,/g,""),t.type){case"ss":return rB(t);case"trojan":return nB(t);case"vmess":return iB(t);case"http":return sB(t);case"socks5":return aB(t);case"wireguard-surge":return uB(t)}throw new Error(`Platform ${tB} does not support proxy type: ${t.type}`)}}}function rB(e){let t=new Ye(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),se(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function nB(e){let t=new Ye(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),tw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function iB(e){let t=new Ye(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),tw(t,e),se(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function sB(e){let t=new Ye(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function aB(e){let t=new Ye(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function uB(e){let t=new Ye(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function tw(e,t){if(se(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),se(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),se(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(s=>{let a=r[s];return["Host"].includes(s)&&(a=`"${a}"`),`${s}:${a}`}).join("|");yi(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var ln=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},ys=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},In=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},Pi=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},k0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:s={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(s).length>0){let a={};for(let c of Object.keys(s)){let l=s[c];l!==""&&(Array.isArray(l)||(l=[`${l}`]),l.length>0&&(a[c]=l))}let{Host:i}=a;if(i.length===1)for(let c of`Host:${i[0]}`.split(` +`)){let[l,h]=c.split(":");h.trim()!==""&&(a[l.trim()]=h.trim().split(","))}r.headers=a}}if(e["ws-headers"]){let n={};for(let a of Object.keys(e["ws-headers"])){let i=e["ws-headers"][a];i!==""&&(Array.isArray(i)||(i=[`${i}`]),i.length>0&&(n[a]=i))}let{Host:s}=n;if(s.length===1)for(let a of`Host:${s[0]}`.split(` +`)){let[i,c]=a.split(":");c.trim()!==""&&(n[i.trim()]=c.trim().split(","))}for(let a of Object.keys(n))r.headers[a]=n[a]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[s,a="",i=""]=n.exec(r.path);r.path=a,i!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(i,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let s=r.headers[n];s.length===1&&(r.headers[n]=s[0])}t.transport=r},oB=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:s="",headers:a={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(s)?r.path=`${s[0]}`:s!==""&&(r.path=`${s}`);for(let i of Object.keys(a)){let c=a[i];if(c!==""){if(i.toLowerCase()==="host"){let l=c;Array.isArray(l)||(l=`${l}`.split(",").map(h=>h.trim())),l.length>0&&(r.host=l);continue}Array.isArray(c)||(c=`${c}`.split(",").map(l=>l.trim())),c.length>0&&(r.headers[i]=c)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(s=>s.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let s=r.headers[n];s.length===1&&(r.headers[n]=s[0])}t.transport=r}},cB=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:s=""}=e["h2-opts"];s!==""&&(r.path=`${s}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(a=>a.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(s=>s.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},N0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},Gs=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},lB=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),In(e,t),ln(e,t),t},fB=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),In(e,t),ln(e,t),Gs(e,t),t},hB=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),ys(e,t),In(e,t),ln(e,t),t},pB=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),In(e,r),ln(e,r),Pi(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},dB=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),ys(e,t),In(e,t),ln(e,t),Pi(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},gB=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),In(e,t),ln(e,t),Pi(e.smux,t),t},mB=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&k0(e,t),e.network==="h2"&&cB(e,t),e.network==="http"&&oB(e,t),e.network==="grpc"&&N0(e,t),ys(e,t),In(e,t),ln(e,t),Gs(e,t),Pi(e.smux,t),t},vB=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&k0(e,t),e.network==="grpc"&&N0(e,t),ys(e,t),In(e,t),ln(e,t),Pi(e.smux,t),Gs(e,t),t},wB=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&N0(e,t),e.network==="ws"&&k0(e,t),ys(e,t),In(e,t),ln(e,t),Gs(e,t),Pi(e.smux,t),t},AB=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),ys(e,t),Gs(e,t),ln(e,t),In(e,t),Pi(e.smux,t),t},EB=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,ys(e,t),Gs(e,t),In(e,t),ln(e,t),Pi(e.smux,t),t},yB=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),ys(e,t),In(e,t),ln(e,t),Gs(e,t),Pi(e.smux,t),t},SB=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),ln(e,t),Gs(e,t),t},bB=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(nr(n))return`${n}/32`;if(ir(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let s={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")s.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let a of n.reserved)s.reserved.push(a);else delete s.reserved;n["pre-shared-key"]&&(s.pre_shared_key=n["pre-shared-key"]),r.peers.push(s)}}return ys(e,r),In(e,r),ln(e,r),Pi(e.smux,r),r};function Nf(){return{type:"ALL",produce:(r,n,s={})=>{let a=[];return Fn().produce(r,"internal",{"include-unsupported-proxy":!0}).map(i=>{try{switch(i.type){case"ssh":a.push(lB(i));break;case"http":a.push(fB(i));break;case"socks5":if(i.tls)throw new Error(`Platform sing-box does not support proxy type: ${i.type} with tls`);a.push(hB(i));break;case"ss":if(i.plugin==="shadow-tls"){let{ssPart:c,stPart:l}=pB(i);a.push(c),a.push(l)}else a.push(dB(i));break;case"ssr":if(s["include-unsupported-proxy"])a.push(gB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type}`);break;case"vmess":if(!i.network||["ws","grpc","h2","http"].includes(i.network))a.push(mB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with network ${i.network}`);break;case"vless":if(!i.flow||["xtls-rprx-vision"].includes(i.flow))a.push(vB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"trojan":if(!i.flow)a.push(wB(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"hysteria":a.push(AB(i));break;case"hysteria2":a.push(EB(i,s["include-unsupported-proxy"]));break;case"tuic":if(!i.token||i.token.length===0)a.push(yB(i));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":a.push(bB(i));break;case"anytls":a.push(SB(i));break;default:throw new Error(`Platform sing-box does not support proxy type: ${i.type}`)}}catch(c){ne.error(c.message??c)}}),n==="internal"?a:JSON.stringify({outbounds:a},null,2)}}}function Lf(){return{type:"ALL",produce:(r,n)=>{let s=r.filter(a=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(a.type)||a.type==="ss"&&(a.plugin==="obfs"&&!["http","tls"].includes(a["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(a.cipher))||a.type==="vmess"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="trojan"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="vless"&&(typeof a.flow<"u"||a["reality-opts"]||!["http","ws","tcp"].includes(a.network)&&a.network)||a.type==="tuic"&&a.token&&a.token.length!==0)).map(a=>{let i={...a};a.tls&&!a.sni&&(a.sni=a.server);let c=a.prev_hop||a["underlying-proxy"]||a["dialer-proxy"]||a.detour;if(a.type==="http")a={type:"http",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],next_hop:a.next_hop};else if(a.type==="socks5")a={type:"socks5",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop};else if(a.type==="ss")a={type:"shadowsocks",name:a.name,method:a.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":a.cipher,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop},i.plugin==="obfs"&&(a.obfs=i["plugin-opts"].mode,a.obfs_host=i["plugin-opts"].host,a.obfs_uri=i["plugin-opts"].path);else if(a.type==="hysteria2")a={type:"hysteria2",name:a.name,server:a.server,port:a.port,auth:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]},i["obfs-password"]&&i.obfs=="salamander"&&(a.obfs="salamander",a.obfs_password=i["obfs-password"]);else if(a.type==="tuic")a={type:"tuic",name:a.name,server:a.server,port:a.port,uuid:a.uuid,password:a.password,next_hop:a.next_hop,sni:a.sni,alpn:Array.isArray(a.alpn)?a.alpn:[a.alpn||"h3"],skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]};else if(a.type==="trojan")a.network==="ws"&&(a.websocket={path:a["ws-opts"]?.path,host:a["ws-opts"]?.headers?.Host}),a={type:"trojan",name:a.name,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],websocket:a.websocket};else if(a.type==="vmess"){let l=a.cipher;l&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(l)&&(l="auto"),a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http1:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:a.network==="h2"?a.transport={http2:{method:a["h2-opts"]?.method,path:Array.isArray(a["h2-opts"]?.path)?a["h2-opts"]?.path[0]:a["h2-opts"]?.path,headers:{Host:Array.isArray(a["h2-opts"]?.headers?.Host)?a["h2-opts"]?.headers?.Host[0]:a["h2-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&a.tls&&(a.transport={tls:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vmess",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:l,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport}}else a.type==="vless"&&(a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&(a.transport={[a.tls?"tls":"tcp"]:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vless",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:a.cipher,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(i.type)){if(se(i,"shadow-tls-password")){if(i["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${i["shadow-tls-version"]} is not supported`);a.shadow_tls={password:i["shadow-tls-password"],sni:i["shadow-tls-sni"]}}else if(["shadow-tls"].includes(i.plugin)&&i["plugin-opts"]){if(i["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${i["plugin-opts"].version} is not supported`);a.shadow_tls={password:i["plugin-opts"].password,sni:i["plugin-opts"].host}}}if(delete a.subName,delete a.collectionName,delete a.id,delete a.resolved,delete a["no-resolve"],n!=="internal")for(let l in a)(a[l]==null||/^_/i.test(l))&&delete a[l];return{[a.type]:{...a,type:void 0,prev_hop:c}}});return n==="internal"?s:`proxies: +`+s.map(a=>" - "+JSON.stringify(a)+` +`).join("")}}}function rw(){return{type:"ALL",produce:(r,n)=>n==="internal"?r:JSON.stringify(r,null,2)}}var nw={qx:Bc(),QX:Bc(),QuantumultX:Bc(),surge:ao(),Surge:ao(),SurgeMac:T0(),Loon:O0(),Clash:x0(),meta:Fn(),clashmeta:Fn(),"clash.meta":Fn(),"Clash.Meta":Fn(),ClashMeta:Fn(),mihomo:Fn(),Mihomo:Fn(),uri:uo(),URI:uo(),v2:Ic(),v2ray:Ic(),V2Ray:Ic(),json:rw(),JSON:rw(),stash:Of(),Stash:Of(),shadowrocket:Dc(),Shadowrocket:Dc(),ShadowRocket:Dc(),surfboard:kf(),Surfboard:kf(),singbox:Nf(),"sing-box":Nf(),egern:Lf(),Egern:Lf()};var cA=Un(kc()),RD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,nd;function Dn(){return nd||(nd=cA.generate(RD)),nd}var lA=Un(kc()),TD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,sd;function $i(){return sd||(sd=lA.generate(TD)),sd}var fA=Un(kc()),xD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,ad;function bs(){return ad||(ad=fA.generate(xD)),ad}var hA=Un(kc()),OD=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,ud;function od(){return ud||(ud=hA.generate(OD)),ud}function pA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function kD(){return{name:"URI PROXY Parser",test:n=>/^(socks5\+tls|socks5|http|https):\/\//.test(n),parse:n=>{let[s,a,i,c,l,h,v,E,p]=n.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(v)v=parseInt(v,10);else{if(i)v=443;else if(a==="http")v=80;else throw ne.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);ne.info(`port is not present in line: ${n}, set to ${v}`)}return{name:p!=null?decodeURIComponent(p):`${a} ${h}:${v}`,type:a,tls:!!i,server:h,port:v,username:c!=null?decodeURIComponent(c):void 0,password:l!=null?decodeURIComponent(l):void 0}}}}function ND(){return{name:"URI SOCKS Parser",test:n=>/^socks:\/\//.test(n),parse:n=>{let[s,a,i,c,l,h,v]=n.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(l)l=parseInt(l,10);else throw ne.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);let E,p;if(i){let A=ct.decode(decodeURIComponent(i)).split(":");E=A[0],p=A[1]}return{name:v!=null?decodeURIComponent(v):`${a} ${c}:${l}`,type:"socks5",server:c,port:l,username:E,password:p}}}}function LD(){return{name:"URI SS Parser",test:n=>/^ss:\/\//.test(n),parse:n=>{let s=n.split("ss://")[1],a=n.split("#")[1],i={type:"ss"};s=s.split("#")[0];let c=s.match(/@([^/?]*)(\/|\?|$)/),l=decodeURIComponent(s.split("@")[0]),h;l?.startsWith("2022-blake3-")?h=l:h=ct.decode(l);let v="";if(c)s.includes("?")&&(v=s.match(/(\?.*)$/)[1]);else{if(s.includes("?")){let b=s.match(/^(.*)(\?.*)$/);s=b[1],v=b[2]}if(s=ct.decode(s),v){if(/(&|\?)v2ray-plugin=/.test(v)){let w=v.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(i.plugin="v2ray-plugin",i["plugin-opts"]=JSON.parse(ct.decode(w)))}s=`${s}${v}`}h=s.match(/(^.*)@/)?.[1],c=s.match(/@([^/@]*)(\/|$)/)}let E=c[1],p=E.lastIndexOf(":");i.server=E.substring(0,p),i.port=`${E.substring(p+1)}`.match(/\d+/)?.[0];let f=h.match(/(^.*?):(.*$)/);i.cipher=f?.[1],i.password=f?.[2];let A=s.match(/[?&]plugin=([^&]+)/),m=s.match(/[?&]shadow-tls=([^&]+)/);if(A){let b=("plugin="+decodeURIComponent(A[1])).split(";"),w={};for(let S of b){let[F,D]=S.split("=");F&&(w[F]=D||!0)}switch(w.plugin){case"obfs-local":case"simple-obfs":i.plugin="obfs",i["plugin-opts"]={mode:w.obfs,host:Ft(w["obfs-host"])};break;case"v2ray-plugin":i.plugin="v2ray-plugin",i["plugin-opts"]={mode:"websocket",host:Ft(w["obfs-host"]),path:Ft(w.path),tls:Zu(w.tls)};break;case"shadow-tls":{i.plugin="shadow-tls";let S=Ft(w.version);i["plugin-opts"]={host:Ft(w.host),password:Ft(w.password),version:S?parseInt(S,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${w.plugin}`)}}if(m){let b=JSON.parse(ct.decode(m[1])),w=Ft(b.version),S=Ft(b.address),F=Ft(b.port);i.plugin="shadow-tls",i["plugin-opts"]={host:Ft(b.host),password:Ft(b.password),version:w?parseInt(w,10):void 0},S&&(i.server=S),F&&(i.port=parseInt(F,10))}return/(&|\?)uot=(1|true)/i.test(v)&&(i["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(v)&&(i.tfo=!0),a!=null&&(a=decodeURIComponent(a)),i.name=a??`SS ${i.server}:${i.port}`,i}}}function UD(){return{name:"URI SSR Parser",test:n=>/^ssr:\/\//.test(n),parse:n=>{n=ct.decode(n.split("ssr://")[1]);let s=n.indexOf(":origin");s===-1&&(s=n.indexOf(":auth_"));let a=n.substring(0,s),i=a.substring(0,a.lastIndexOf(":")),c=a.substring(a.lastIndexOf(":")+1),l=n.substring(s+1).split("/?")[0].split(":"),h={type:"ssr",server:i,port:c,protocol:l[0],cipher:l[1],obfs:l[2],password:ct.decode(l[3])},v={};if(n=n.split("/?")[1].split("&"),n.length>1)for(let E of n){let[p,f]=E.split("=");f=f.trim(),f.length>0&&f!=="(null)"&&(v[p]=f)}return h={...h,name:v.remarks?ct.decode(v.remarks):h.server,"protocol-param":Ft(ct.decode(v.protoparam||"").replace(/\s/g,"")),"obfs-param":Ft(ct.decode(v.obfsparam||"").replace(/\s/g,""))},h}}}function HD(){return{name:"URI VMess Parser",test:n=>/^vmess:\/\//.test(n),parse:n=>{n=n.split("vmess://")[1];let s=ct.decode(n.replace(/\?.*?$/,""));if(/=\s*vmess/.test(s)){let a=s.split(",").map(l=>l.trim()),i={};for(let l of a)if(l.indexOf("=")!==-1){let[h,v]=l.split("=");i[h.trim()]=v.trim()}let c={name:a[0].split("=")[0].trim(),type:"vmess",server:a[1],port:a[2],cipher:Ft(a[3],"auto"),uuid:a[4].match(/^"(.*)"$/)[1],tls:i.obfs==="wss",udp:Zu(i["udp-relay"]),tfo:Zu(i["fast-open"]),"skip-cert-verify":Ju(i["tls-verification"])?!i["tls-verification"]:void 0};if(Ju(i.obfs))if(i.obfs==="ws"||i.obfs==="wss"){c.network="ws",c["ws-opts"].path=(Ft(i["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let l=i["obfs-header"];l&&l.indexOf("Host")!==-1&&(l=l.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),yi(l)&&(c["ws-opts"].headers={Host:l})}else throw new Error(`Unsupported obfs: ${i.obfs}`);return c}else{let a={};try{a=JSON.parse(s)}catch{let[E,p,f]=/(^[^?]+?)\/?\?(.*)$/.exec(n);s=ct.decode(p);for(let F of f.split("&")){let[D,I]=F.split("="),j=I;j=decodeURIComponent(I),j.indexOf(",")===-1?a[D]=j:a[D]=j.split(",")}let[A,m,b,w,S]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(s);a.scy=m,a.id=b,a.port=S,a.add=w}let i=a.add,c=parseInt(Zu(a.port),10),l={name:a.ps??a.remarks??a.remark??`VMess ${i}:${c}`,type:"vmess",server:i,port:c,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(a.scy)?a.scy:"auto",uuid:a.id,alterId:parseInt(Zu(a.aid??a.alterId,0),10),tls:["tls",!0,1,"1"].includes(a.tls),"skip-cert-verify":Ju(a.verify_cert)?!a.verify_cert:void 0};!l["skip-cert-verify"]&&Ju(a.allowInsecure)&&(l["skip-cert-verify"]=/(TRUE)|1/i.test(a.allowInsecure)),l.tls&&(a.sni&&a.sni!==""?l.sni=a.sni:a.peer&&a.peer!==""&&(l.sni=a.peer));let h=!1;if(a.net==="ws"||a.obfs==="websocket"?l.network="ws":["http"].includes(a.net)||["http"].includes(a.obfs)||["http"].includes(a.type)?l.network="http":["grpc","kcp","quic"].includes(a.net)?l.network=a.net:a.net==="httpupgrade"||l.network==="httpupgrade"?(l.network="ws",h=!0):(a.net==="h2"||l.network==="h2")&&(l.network="h2"),l.network){let v=a.host??a.obfsParam;try{let f=JSON.parse(v)?.Host;f&&(v=f)}catch{}let E=a.path;if(["ws"].includes(l.network)&&(E=E||"/"),l.network==="http"&&(v&&(v=v.split(",").map(p=>p.trim()),v=Array.isArray(v)?v[0]:v),E?E=Array.isArray(E)?E[0]:E:E="/"),E||v||["kcp","quic"].includes(l.network))if(["grpc"].includes(l.network))l[`${l.network}-opts`]={"grpc-service-name":Ft(E),"_grpc-type":Ft(a.type),"_grpc-authority":Ft(a.authority)};else if(["kcp","quic"].includes(l.network))l[`${l.network}-opts`]={[`_${l.network}-type`]:Ft(a.type),[`_${l.network}-host`]:Ft(Ft(v)),[`_${l.network}-path`]:Ft(E)};else{let p={path:Ft(E),headers:{Host:Ft(v)}};h&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),l[`${l.network}-opts`]=p}else delete l.network}return l["client-fingerprint"]=a.fp,l.alpn=a.alpn?a.alpn.split(","):void 0,l}}}}function jD(){return{name:"URI VLESS Parser",test:n=>/^vless:\/\//.test(n),parse:n=>{n=n.split("vless://")[1];let s,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);if(!a){let[b,w,S]=/^(.*?)(\?.*?$)/.exec(n);n=`${ct.decode(w)}${S}`,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n),s=!0}let[i,c,l,h,v,E="",p]=a;s&&(c=c.replace(/^.*?:/g,"")),h=parseInt(`${h}`,10),c=decodeURIComponent(c),p!=null&&(p=decodeURIComponent(p));let f={type:"vless",name:p,server:l,port:h,uuid:c},A={};for(let b of E.split("&")){let[w,S]=b.split("="),F=S;F=decodeURIComponent(S),A[w]=F}if(f.name=p??A.remarks??A.remark??`VLESS ${l}:${h}`,f.tls=A.security&&A.security!=="none",s&&/TRUE|1/i.test(A.tls)&&(f.tls=!0,A.security=A.security??"reality"),f.sni=A.sni||A.peer,f.flow=A.flow,!f.flow&&s&&A.xtls){let b=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][A.xtls];b&&(f.flow=b)}if(f["client-fingerprint"]=A.fp,f.alpn=A.alpn?A.alpn.split(","):void 0,f["skip-cert-verify"]=/(TRUE)|1/i.test(A.allowInsecure),["reality"].includes(A.security)){let b={};A.pbk&&(b["public-key"]=A.pbk),A.sid&&(b["short-id"]=A.sid),A.spx&&(b["_spider-x"]=A.spx),Object.keys(b).length>0&&(f[`${A.security}-opts`]=b)}let m=!1;if(f.network=A.type,f.network==="tcp"&&A.headerType==="http"?f.network="http":f.network==="httpupgrade"&&(f.network="ws",m=!0),!f.network&&s&&A.obfs&&(f.network=A.obfs,["none"].includes(f.network)&&(f.network="tcp")),["websocket"].includes(f.network)&&(f.network="ws"),f.network&&!["tcp","none"].includes(f.network)){let b={},w=A.host??A.obfsParam;if(w)if(A.obfsParam)try{let S=JSON.parse(w);b.headers=S}catch{b.headers={Host:w}}else b.headers={Host:w};A.serviceName?(b[`${f.network}-service-name`]=A.serviceName,["grpc"].includes(f.network)&&A.authority&&(b["_grpc-authority"]=A.authority)):s&&A.path&&(["ws","http","h2"].includes(f.network)||(b[`${f.network}-service-name`]=A.path,delete A.path)),A.path&&(b.path=A.path),["grpc"].includes(f.network)&&(b["_grpc-type"]=A.mode||"gun"),m&&(b["v2ray-http-upgrade"]=!0,b["v2ray-http-upgrade-fast-open"]=!0),Object.keys(b).length>0&&(f[`${f.network}-opts`]=b),f.network==="kcp"&&(A.seed&&(f.seed=A.seed),f.headerType=A.headerType||"none"),A.mode&&(f._mode=A.mode),A.extra&&(f._extra=A.extra)}return f}}}function MD(){return{name:"URI AnyTLS Parser",test:n=>/^anytls:\/\//.test(n),parse:n=>{n=n.split(/anytls:\/\//)[1];let[s,a,i,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a),c=parseInt(`${c}`,10),isNaN(c)&&(c=443),a=decodeURIComponent(a),h!=null&&(h=decodeURIComponent(h)),h=h??`AnyTLS ${i}:${c}`;let v={type:"anytls",name:h,server:i,port:c,password:a};for(let E of l.split("&")){let[p,f]=E.split("=");p=p.replace(/_/g,"-"),f=decodeURIComponent(f),["alpn"].includes(p)?v[p]=f?f.split(","):void 0:["insecure"].includes(p)?v["skip-cert-verify"]=/(TRUE)|1/i.test(f):["udp"].includes(p)?v[p]=/(TRUE)|1/i.test(f):v[p]=f}return v}}}function qD(){return{name:"URI Hysteria2 Parser",test:n=>/^(hysteria2|hy2):\/\//.test(n),parse:n=>{n=n.split(/(hysteria2|hy2):\/\//)[2];let s,[a,i,c,l,h,v,E,p,f,A,m="",b]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);/^\d+$/.test(h)?(h=parseInt(`${h}`,10),isNaN(h)&&(h=443)):h?(s=h,h=Ac(s)):h=443,i=decodeURIComponent(i),b!=null&&(b=decodeURIComponent(b)),b=b??`Hysteria2 ${c}:${h}`;let w={type:"hysteria2",name:b,server:c,port:h,ports:s,password:i},S={};for(let I of m.split("&")){let[j,q]=I.split("="),_=q;_=decodeURIComponent(q),S[j]=_}w.sni=S.sni,!w.sni&&S.peer&&(w.sni=S.peer),S.obfs&&S.obfs!=="none"&&(w.obfs=S.obfs),S.mport&&(w.ports=S.mport),w["obfs-password"]=S["obfs-password"],w["skip-cert-verify"]=/(TRUE)|1/i.test(S.insecure),w.tfo=/(TRUE)|1/i.test(S.fastopen),w["tls-fingerprint"]=S.pinSHA256;let F=S["hop-interval"]||S.hop_interval;/^\d+$/.test(F)&&(w["hop-interval"]=parseInt(`${F}`,10));let D=S.keepalive;return/^\d+$/.test(D)&&(w.keepalive=parseInt(`${D}`,10)),w}}}function KD(){return{name:"URI Hysteria Parser",test:n=>/^(hysteria|hy):\/\//.test(n),parse:n=>{n=n.split(/(hysteria|hy):\/\//)[2];let[s,a,i,c,l,h="",v]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);c=parseInt(`${c}`,10),isNaN(c)&&(c=443),v!=null&&(v=decodeURIComponent(v)),v=v??`Hysteria ${a}:${c}`;let E={type:"hysteria",name:v,server:a,port:c},p={};for(let f of h.split("&")){let[A,m]=f.split("=");A=A.replace(/_/,"-"),m=decodeURIComponent(m),["alpn"].includes(A)?E[A]=m?m.split(","):void 0:["insecure"].includes(A)?E["skip-cert-verify"]=/(TRUE)|1/i.test(m):["auth"].includes(A)?E["auth-str"]=m:["mport"].includes(A)?E.ports=m:["obfsParam"].includes(A)?E.obfs=m:["upmbps"].includes(A)?E.up=m:["downmbps"].includes(A)?E.down=m:["obfs"].includes(A)?E._obfs=m||"":["fast-open","peer"].includes(A)?p[A]=m:E[A]=m}return!E.sni&&p.peer&&(E.sni=p.peer),!E["fast-open"]&&p.fastopen&&(E["fast-open"]=!0),E.protocol||(E.protocol="udp"),E}}}function VD(){return{name:"URI TUIC Parser",test:n=>/^tuic:\/\//.test(n),parse:n=>{n=n.split(/tuic:\/\//)[1];let[s,a,i,c,l="",h]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a);let[v,...E]=a.split(":"),p=E.join(":");c=parseInt(`${c}`,10),isNaN(c)&&(c=443),p=decodeURIComponent(p),h!=null&&(h=decodeURIComponent(h)),h=h??`TUIC ${i}:${c}`;let f={type:"tuic",name:h,server:i,port:c,password:p,uuid:v};for(let A of l.split("&")){let[m,b]=A.split("=");m=m.replace(/_/g,"-"),b=decodeURIComponent(b),["alpn"].includes(m)?f[m]=b?b.split(","):void 0:["allow-insecure"].includes(m)?f["skip-cert-verify"]=/(TRUE)|1/i.test(b):["fast-open"].includes(m)?f.tfo=!0:["disable-sni","reduce-rtt"].includes(m)?f[m]=/(TRUE)|1/i.test(b):m==="congestion-control"?(f["congestion-controller"]=b,delete f[m]):f[m]=b}return f}}}function GD(){return{name:"URI WireGuard Parser",test:n=>/^(wireguard|wg):\/\//.test(n),parse:n=>{n=n.split(/(wireguard|wg):\/\//)[2];let[s,a,i,c,l,h,v,E="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);h=parseInt(`${h}`,10),isNaN(h)&&(h=51820),i=decodeURIComponent(i),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${c}:${h}`;let f={type:"wireguard",name:p,server:c,port:h,"private-key":i,udp:!0};for(let A of E.split("&")){let[m,b]=A.split("=");if(m=m.replace(/_/,"-"),b=decodeURIComponent(b),["reserved"].includes(m)){let w=b.split(",").map(S=>parseInt(S.trim(),10)).filter(S=>Number.isInteger(S));w.length===3&&(f[m]=w)}else if(["address","ip"].includes(m))b.split(",").map(w=>{let S=w.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");nr(S)?f.ip=S:ir(S)&&(f.ipv6=S)});else if(["mtu"].includes(m)){let w=parseInt(b.trim(),10);Number.isInteger(w)&&(f[m]=w)}else/publickey/i.test(m)?f["public-key"]=b:/privatekey/i.test(m)?f["private-key"]=b:["udp"].includes(m)?f[m]=/(TRUE)|1/i.test(b):["flag"].includes(m)||(f[m]=b)}return f}}}function zD(){return{name:"URI Trojan Parser",test:n=>/^trojan:\/\//.test(n),parse:n=>{let s=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(n);s?.[2]||(n=n.replace(s[1],`${s[1]}:443`));let[i,c]=n.split(/#(.+)/,2),h=od().parse(i);if(yi(c))try{h.name=decodeURIComponent(c)}catch(v){console.log(v)}return h}}}function WD(){return{name:"Clash Parser",test:n=>{try{JSON.parse(n)}catch{return!1}return!0},parse:n=>{let s=JSON.parse(n);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(s.type))throw new Error(`Clash does not support proxy with type: ${s.type}`);return["vmess","vless"].includes(s.type)&&(s.sni=s.servername,delete s.servername),s["server-cert-fingerprint"]&&(s["tls-fingerprint"]=s["server-cert-fingerprint"]),s.fingerprint&&(s["tls-fingerprint"]=s.fingerprint),s["dialer-proxy"]&&(s["underlying-proxy"]=s["dialer-proxy"]),s["benchmark-url"]&&(s["test-url"]=s["benchmark-url"]),s["benchmark-timeout"]&&(s["test-timeout"]=s["benchmark-timeout"]),s}}}function YD(){return{name:"QX SS Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")===-1,parse:n=>bs().parse(n)}}function XD(){return{name:"QX SSR Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")!==-1,parse:n=>bs().parse(n)}}function JD(){return{name:"QX VMess Parser",test:n=>/^vmess\s*=/.test(n.split(",")[0].trim()),parse:n=>bs().parse(n)}}function ZD(){return{name:"QX VLESS Parser",test:n=>/^vless\s*=/.test(n.split(",")[0].trim()),parse:n=>bs().parse(n)}}function QD(){return{name:"QX Trojan Parser",test:n=>/^trojan\s*=/.test(n.split(",")[0].trim()),parse:n=>bs().parse(n)}}function e7(){return{name:"QX HTTP Parser",test:n=>/^http\s*=/.test(n.split(",")[0].trim()),parse:n=>bs().parse(n)}}function t7(){return{name:"QX Socks5 Parser",test:n=>/^socks5\s*=/.test(n.split(",")[0].trim()),parse:n=>bs().parse(n)}}function r7(){return{name:"Loon SS Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:n=>$i().parse(n)}}function n7(){return{name:"Loon SSR Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:n=>$i().parse(n)}}function i7(){return{name:"Loon VMess Parser",test:n=>/^.*=\s*vmess/i.test(n.split(",")[0])&&n.indexOf("username")===-1,parse:n=>$i().parse(n)}}function s7(){return{name:"Loon Vless Parser",test:n=>/^.*=\s*vless/i.test(n.split(",")[0]),parse:n=>$i().parse(n)}}function a7(){return{name:"Loon Trojan Parser",test:n=>/^.*=\s*trojan/i.test(n.split(",")[0]),parse:n=>$i().parse(n)}}function u7(){return{name:"Loon Hysteria2 Parser",test:n=>/^.*=\s*Hysteria2/i.test(n.split(",")[0]),parse:n=>$i().parse(n)}}function o7(){return{name:"Loon HTTP Parser",test:n=>/^.*=\s*http/i.test(n.split(",")[0]),parse:n=>$i().parse(n)}}function c7(){return{name:"Loon SOCKS5 Parser",test:n=>/^.*=\s*socks5/i.test(n.split(",")[0]),parse:n=>$i().parse(n)}}function l7(){return{name:"Loon WireGuard Parser",test:n=>/^.*=\s*wireguard/i.test(n.split(",")[0]),parse:n=>{let s=n.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];n=n.replace(s,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let a=n.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],i=a.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),c=i?.[2],l=parseInt(i?.[3],10),h=n.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];h&&(h=parseInt(h,10));let v=n.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];v&&(v=parseInt(v,10));let E=a.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];E&&(E=JSON.parse(E));let p,f=n.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],A=n.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(f||A)&&(p=[],f&&p.push(f),A&&p.push(A));let m=a.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(I=>I.trim()),b=a.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],w=n.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],S=n.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],F=a.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],D={type:"wireguard",name:s,server:c,port:l,ip:w,ipv6:S,"private-key":n.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":F,mtu:h,keepalive:v,reserved:E,"allowed-ips":m,"preshared-key":b,dns:p,udp:!0,peers:[{server:c,port:l,ip:w,ipv6:S,"public-key":F,"pre-shared-key":b,"allowed-ips":m,reserved:E}]};return Array.isArray(D.dns)&&D.dns.length>0&&(D["remote-dns-resolve"]=!0),D}}}function f7(){return{name:"Surge Direct Parser",test:n=>/^.*=\s*direct/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function h7(){return{name:"Surge SSH Parser",test:n=>/^.*=\s*ssh/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function p7(){return{name:"Surge SS Parser",test:n=>/^.*=\s*ss/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function d7(){return{name:"Surge VMess Parser",test:n=>/^.*=\s*vmess/.test(n.split(",")[0])&&n.indexOf("username")!==-1,parse:n=>Dn().parse(n)}}function g7(){return{name:"Surge Trojan Parser",test:n=>/^.*=\s*trojan/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function m7(){return{name:"Surge HTTP Parser",test:n=>/^.*=\s*https?/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function v7(){return{name:"Surge Socks5 Parser",test:n=>/^.*=\s*socks5(-tls)?/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function w7(){return{name:"Surge External Parser",test:n=>/^.*=\s*external/.test(n.split(",")[0]),parse:n=>{let s=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(n),[a,i,c]=s;n=c;let l=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];l||(l=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let h=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];h||(h=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let v=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,E,p=[];for(;(E=v.exec(n))!==null;)E[3]!=null?p.push(E[3]):E[4]!=null&&p.push(E[4]);let f=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,m=[];for(;(A=f.exec(n))!==null;){let w;A[3]!=null?w=A[3]:A[4]!=null&&(w=A[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),b7(w)&&m.push(w)}return{type:"external",name:i,exec:l,"local-port":h,args:p,addresses:m}}}}function A7(){return{name:"Surge Snell Parser",test:n=>/^.*=\s*snell/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function E7(){return{name:"Surge Tuic Parser",test:n=>/^.*=\s*tuic(-v5)?/.test(n.split(",")[0]),parse:n=>{let{port_hopping:s,line:a}=pA(n),i=Dn().parse(a);return i.ports=s,i}}}function y7(){return{name:"Surge WireGuard Parser",test:n=>/^.*=\s*wireguard/.test(n.split(",")[0]),parse:n=>Dn().parse(n)}}function S7(){return{name:"Surge Hysteria2 Parser",test:n=>/^.*=\s*hysteria2/.test(n.split(",")[0]),parse:n=>{let{port_hopping:s,line:a}=pA(n),i=Dn().parse(a);return i.ports=s,i}}}function b7(e){return nr(e)||ir(e)}var dA=[kD(),ND(),LD(),UD(),HD(),jD(),VD(),GD(),KD(),qD(),zD(),MD(),WD(),f7(),h7(),p7(),d7(),g7(),m7(),A7(),E7(),y7(),S7(),v7(),w7(),r7(),n7(),i7(),s7(),u7(),a7(),o7(),c7(),l7(),YD(),XD(),JD(),ZD(),QD(),e7(),t7()];function C7(e){for(let t of Ff)try{if(t.test(e))return ne.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){ne.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function F7(e){e=C7(e);let t=e.split(` +`),r=[],n;for(let s of t){if(s=s.trim(),s.length===0)continue;let a=!1;if(n){let[i,c]=gA(n,s);c||(r.push(vA(i)),a=!0)}if(!a)for(let i of dA){let[c,l]=gA(i,s);if(!l){r.push(vA(c)),n=i,a=!0,ne.info(`${i.name} is activated`);break}}a||ne.error(`Failed to parse line: ${s}`)}return r.filter(s=>(["vless","vmess"].includes(s.type)&&(yf(s.uuid)||ne.error(`UUID may be invalid: ${s.name} ${s.uuid}`)),!0))}async function _7(e,t=[],r,n,s){for(let a of t){if(a.disabled){ne.log(`Skipping disabled operator: "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);continue}let i,c={};if(a.type.indexOf("Script")!==-1){let{mode:h,content:v}=a.args;if(h==="link"){let E=v||"",p=E.split("#");if(p.length>1)try{c=JSON.parse(decodeURIComponent(p[1]))}catch{for(let m of p[1].split("&")){let b=m.split("=")[0],w=m.split("=")[1];c[b]=w==null||w===""?!0:decodeURIComponent(w)}}E=`${E.split("#")[0]}${p[2]?`#${p[2]}`:c?.noCache!=null||c?.insecure!=null?`#${p[1]}`:""}`;let f=E.match(/^\/api\/(file|module)\/(.+)/);if(f){let A="";try{A=f?.[1];let m=f?.[2];if(m==null)throw new Error(`\u672C\u5730 ${A} URL \u65E0\u6548: ${E}`);m=decodeURIComponent(m);let b=A==="module"?r2:uf,w=ws(ne.read(b),m);if(!w)throw new Error(`\u627E\u4E0D\u5230 ${A}: ${m}`);A==="module"?i=w.content:i=await so({type:"file",name:m})}catch(m){throw ne.error(`Error when loading ${A}: ${a.args.content}. + Reason: ${m}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${A}: ${E}`)}}else try{i=await Or(E)}catch(A){throw ne.error(`Error when downloading remote script: ${a.args.content}. + Reason: ${A}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${E}`)}}else i=v,c=a.args.arguments||{}}if(!xf[a.type]){ne.error(`Unknown operator: "${a.type}"`);continue}ne.log(`Applying "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);let l;a.type.indexOf("Script")!==-1?l=xf[a.type](i,r,c,n,s):l=xf[a.type](a.args||{}),e=await X2(l,e)}return e}function I7(e,t,r,n={}){let s=nw[t];if(!s)throw new Error(`Target platform: ${t} is not supported!`);let a=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(i=>i.supported&&i.supported[t]===!1?!1:(["vless","vmess"].includes(i.type)&&(yf(i.uuid)||ne.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0)),e=e.map(i=>(i._resolved=i.resolved,yi(i.name)||(i.name=`${i.type} ${i.server}:${i.port}`),i["disable-sni"]&&(a?i.sni="off":["tuic"].includes(i.type)||(ne.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),i.sni="",i["skip-cert-verify"]=!0,delete i["tls-fingerprint"])),i.ports&&(i.ports=String(i.ports),["ClashMeta"].includes(t)||(i.ports=i.ports.replace(/\//g,",")),i.port||(i.port=Ac(i.ports))),i)),ne.log(`Producing proxies for target: ${t}`),typeof s.type>"u"||s.type==="SINGLE"){let i=e.map(c=>{try{return s.produce(c,r,n)}catch(l){return ne.error(`Cannot produce proxy: ${JSON.stringify(c,null,2)} +Reason: ${l}`),""}}).filter(c=>c.length>0);return i=r==="internal"?i:i.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(c=>c.type==="wireguard")&&(i=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${i}`),i}else if(s.type==="ALL")return s.produce(e,r,n)}var Bt={parse:F7,process:_7,produce:I7,ipAddress:Ef,getRandomPort:Ac,isIPv4:nr,isIPv6:ir,isIP:cd,yaml:Oa,getFlag:eo,removeFlag:Sc,getISO:_2,MMDB:If,Gist:io,download:Or,downloadFile:F2,isValidUUID:yf,doh:ro,Buffer:zf.Buffer,Base64:ct};function gA(e,t){if(!B7(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function B7(e,t){try{return e.test(t)}catch{return!1}}function mA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function vA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=y2(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),E2(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>mA(n)):t!=null&&(e[`${e.network}-opts`].path=mA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,s=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!s&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):s&&!n&&(e[`${e.network}-opts`].headers.Host=s,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,s=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(s)&&(e["h2-opts"].path=s[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!cd(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;s&&!Array.isArray(s)&&(e[`${e.network}-opts`].headers.Host=[s]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(cd(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=zf.Buffer.from(e.name.data).toString("utf8"):e.name=zf.Buffer.from(e.name).toString("utf8")}catch(n){ne.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{ne.env.isNode&&!r&&e._ca&&(r=ne.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){ne.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=sm.generateFingerprint(r)),["ss"].includes(e.type)&&se(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function cd(e){return nr(e)||ir(e)}var Ri="",ld=typeof $resource<"u"?$resource:"",wA=typeof $resourceType<"u"?$resourceType:"",lo=typeof $resourceUrl<"u"?$resourceUrl:"";(async()=>{console.log(` + \u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store -- v${$f} + Loon -- ${$loon} + \u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + `);let e=$loon.match(/\((\d+)\)$/)?.[1],t;typeof $argument<"u"?t=Object.fromEntries($argument.split("&").map(n=>n.split("="))):t={},console.log(`arg: ${JSON.stringify(t)}`);let r={PROXY:1,RULE:2};if(t.resourceUrlOnly||(Ri=ld),wA===r.PROXY){if(!t.resourceUrlOnly)try{let n=Bt.parse(ld);Ri=Bt.produce(n,"Loon",void 0,{"include-unsupported-proxy":t?.includeUnsupportedProxy||e>=842})}catch(n){console.log("\u89E3\u6790\u5668: \u4F7F\u7528 resource \u51FA\u73B0\u9519\u8BEF"),console.log(n.message??n)}if((!Ri||/^\s*$/.test(Ri))&&lo){console.log(`\u89E3\u6790\u5668: \u5C1D\u8BD5\u4ECE ${lo} \u83B7\u53D6\u8BA2\u9605`);try{let n=await Or(lo,t?.ua,t?.timeout,void 0,void 0,void 0,void 0,!0),s=Bt.parse(n);Ri=Bt.produce(s,"Loon",void 0,{"include-unsupported-proxy":t?.includeUnsupportedProxy||e>=842})}catch(n){console.log(n.message??n)}}}else if(wA===r.RULE){if(!t.resourceUrlOnly)try{let n=As.parse(ld);Ri=As.produce(n,"Loon")}catch(n){console.log(n.message??n)}if((!Ri||/^\s*$/.test(Ri))&&lo){console.log(`\u89E3\u6790\u5668: \u5C1D\u8BD5\u4ECE ${lo} \u83B7\u53D6\u89C4\u5219`);try{let n=await Or(lo,t?.ua,t?.timeout),s=As.parse(n);Ri=As.produce(s,"Loon")}catch(n){console.log(n.message??n)}}}})().catch(async e=>{console.log("\u89E3\u6790\u5668: \u51FA\u73B0\u9519\u8BEF"),console.log(e.message??e)}).finally(()=>{$done(Ri||"")});})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/sub-store.bundle.js b/sub-store.bundle.js new file mode 100644 index 0000000..d72c282 --- /dev/null +++ b/sub-store.bundle.js @@ -0,0 +1,1915 @@ +// SUB_STORE_BACKEND_VERSION: 2.19.56 +var he=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var jk=he((f6e,die)=>{die.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Wk=he((h6e,rl)=>{var yb=require("fs"),Cb=require("path"),gie=require("os"),mie=require("crypto"),Eie=jk(),Yk=Eie.version,yie=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Cie(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,` +`);let n;for(;(n=yie.exec(r))!=null;){let i=n[1],s=n[2]||"";s=s.trim();let o=s[0];s=s.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(s=s.replace(/\\n/g,` +`),s=s.replace(/\\r/g,"\r")),t[i]=s}return t}function vie(e){let t=Jk(e),r=Vi.configDotenv({path:t});if(!r.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw o.code="MISSING_DATA",o}let n=Vk(e).split(","),i=n.length,s;for(let o=0;o=i)throw u}return Vi.parse(s)}function Iie(e){console.log(`[dotenv@${Yk}][WARN] ${e}`)}function B0(e){console.log(`[dotenv@${Yk}][DEBUG] ${e}`)}function Vk(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function Bie(e,t){let r;try{r=new URL(t)}catch(u){if(u.code==="ERR_INVALID_URL"){let A=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw A.code="INVALID_DOTENV_KEY",A}throw u}let n=r.password;if(!n){let u=new Error("INVALID_DOTENV_KEY: Missing key part");throw u.code="INVALID_DOTENV_KEY",u}let i=r.searchParams.get("environment");if(!i){let u=new Error("INVALID_DOTENV_KEY: Missing environment part");throw u.code="INVALID_DOTENV_KEY",u}let s=`DOTENV_VAULT_${i.toUpperCase()}`,o=e.parsed[s];if(!o){let u=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${s} in your .env.vault file.`);throw u.code="NOT_FOUND_DOTENV_ENVIRONMENT",u}return{ciphertext:o,key:n}}function Jk(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)yb.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=Cb.resolve(process.cwd(),".env.vault");return yb.existsSync(t)?t:null}function Gk(e){return e[0]==="~"?Cb.join(gie.homedir(),e.slice(1)):e}function wie(e){!!(e&&e.debug)&&B0("Loading env from encrypted .env.vault");let r=Vi._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),Vi.populate(n,r,e),{parsed:r}}function bie(e){let t=Cb.resolve(process.cwd(),".env"),r="utf8",n=!!(e&&e.debug);e&&e.encoding?r=e.encoding:n&&B0("No encoding is specified. UTF-8 is used by default");let i=[t];if(e&&e.path)if(!Array.isArray(e.path))i=[Gk(e.path)];else{i=[];for(let A of e.path)i.push(Gk(A))}let s,o={};for(let A of i)try{let p=Vi.parse(yb.readFileSync(A,{encoding:r}));Vi.populate(o,p,e)}catch(p){n&&B0(`Failed to load ${A} ${p.message}`),s=p}let u=process.env;return e&&e.processEnv!=null&&(u=e.processEnv),Vi.populate(u,o,e),s?{parsed:o,error:s}:{parsed:o}}function xie(e){if(Vk(e).length===0)return Vi.configDotenv(e);let t=Jk(e);return t?Vi._configVault(e):(Iie(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),Vi.configDotenv(e))}function Qie(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),s=n.subarray(-16);n=n.subarray(12,-16);try{let o=mie.createDecipheriv("aes-256-gcm",r,i);return o.setAuthTag(s),`${o.update(n)}${o.final()}`}catch(o){let u=o instanceof RangeError,A=o.message==="Invalid key length",p=o.message==="Unsupported state or unable to authenticate data";if(u||A){let f=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw f.code="INVALID_DOTENV_KEY",f}else if(p){let f=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw f.code="DECRYPTION_FAILED",f}else throw o}}function Fie(e,t,r={}){let n=!!(r&&r.debug),i=!!(r&&r.override);if(typeof t!="object"){let s=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw s.code="OBJECT_REQUIRED",s}for(let s of Object.keys(t))Object.prototype.hasOwnProperty.call(e,s)?(i===!0&&(e[s]=t[s]),n&&B0(i===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):e[s]=t[s]}var Vi={configDotenv:bie,_configVault:wie,_parseVault:vie,config:xie,decrypt:Qie,parse:Cie,populate:Fie};rl.exports.configDotenv=Vi.configDotenv;rl.exports._configVault=Vi._configVault;rl.exports._parseVault=Vi._parseVault;rl.exports.config=Vi.config;rl.exports.decrypt=Vi.decrypt;rl.exports.parse=Vi.parse;rl.exports.populate=Vi.populate;rl.exports=Vi});var qn=he((d6e,zk)=>{"use strict";zk.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var tn=he((g6e,Kk)=>{"use strict";var Ai=class extends Error{constructor(t,r){super(t,r),this.name="UndiciError",this.code="UND_ERR"}},vb=class extends Ai{constructor(t){super(t),this.name="ConnectTimeoutError",this.message=t||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}},Ib=class extends Ai{constructor(t){super(t),this.name="HeadersTimeoutError",this.message=t||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}},Bb=class extends Ai{constructor(t){super(t),this.name="HeadersOverflowError",this.message=t||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}},wb=class extends Ai{constructor(t){super(t),this.name="BodyTimeoutError",this.message=t||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}},bb=class extends Ai{constructor(t,r,n,i){super(t),this.name="ResponseStatusCodeError",this.message=t||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=i,this.status=r,this.statusCode=r,this.headers=n}},xb=class extends Ai{constructor(t){super(t),this.name="InvalidArgumentError",this.message=t||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}},Qb=class extends Ai{constructor(t){super(t),this.name="InvalidReturnValueError",this.message=t||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}},Cy=class extends Ai{constructor(t){super(t),this.name="AbortError",this.message=t||"The operation was aborted"}},Fb=class extends Cy{constructor(t){super(t),this.name="AbortError",this.message=t||"Request aborted",this.code="UND_ERR_ABORTED"}},Db=class extends Ai{constructor(t){super(t),this.name="InformationalError",this.message=t||"Request information",this.code="UND_ERR_INFO"}},Sb=class extends Ai{constructor(t){super(t),this.name="RequestContentLengthMismatchError",this.message=t||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}},Rb=class extends Ai{constructor(t){super(t),this.name="ResponseContentLengthMismatchError",this.message=t||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}},kb=class extends Ai{constructor(t){super(t),this.name="ClientDestroyedError",this.message=t||"The client is destroyed",this.code="UND_ERR_DESTROYED"}},Nb=class extends Ai{constructor(t){super(t),this.name="ClientClosedError",this.message=t||"The client is closed",this.code="UND_ERR_CLOSED"}},Tb=class extends Ai{constructor(t,r){super(t),this.name="SocketError",this.message=t||"Socket error",this.code="UND_ERR_SOCKET",this.socket=r}},_b=class extends Ai{constructor(t){super(t),this.name="NotSupportedError",this.message=t||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}},Ub=class extends Ai{constructor(t){super(t),this.name="MissingUpstreamError",this.message=t||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}},Ob=class extends Error{constructor(t,r,n){super(t),this.name="HTTPParserError",this.code=r?`HPE_${r}`:void 0,this.data=n?n.toString():void 0}},Mb=class extends Ai{constructor(t){super(t),this.name="ResponseExceededMaxSizeError",this.message=t||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}},Lb=class extends Ai{constructor(t,r,{headers:n,data:i}){super(t),this.name="RequestRetryError",this.message=t||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=r,this.data=i,this.headers=n}},Pb=class extends Ai{constructor(t,r,{headers:n,body:i}){super(t),this.name="ResponseError",this.message=t||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=r,this.body=i,this.headers=n}},$b=class extends Ai{constructor(t,r,n={}){super(r,{cause:t,...n}),this.name="SecureProxyConnectionError",this.message=r||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=t}};Kk.exports={AbortError:Cy,HTTPParserError:Ob,UndiciError:Ai,HeadersTimeoutError:Ib,HeadersOverflowError:Bb,BodyTimeoutError:wb,RequestContentLengthMismatchError:Sb,ConnectTimeoutError:vb,ResponseStatusCodeError:bb,InvalidArgumentError:xb,InvalidReturnValueError:Qb,RequestAbortedError:Fb,ClientDestroyedError:kb,ClientClosedError:Nb,InformationalError:Db,SocketError:Tb,NotSupportedError:_b,ResponseContentLengthMismatchError:Rb,BalancedPoolMissingUpstreamError:Ub,ResponseExceededMaxSizeError:Mb,RequestRetryError:Lb,ResponseError:Pb,SecureProxyConnectionError:$b}});var Iy=he((m6e,Xk)=>{"use strict";var Hb=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],vy={};Object.setPrototypeOf(vy,null);var Zk={};Object.setPrototypeOf(Zk,null);function Die(e){let t=Zk[e];return t===void 0&&(t=Buffer.from(e)),t}for(let e=0;e{"use strict";var{wellknownHeaderNames:eN,headerNameLowerCasedRecord:Sie}=Iy(),qb=class e{value=null;left=null;middle=null;right=null;code;constructor(t,r,n){if(n===void 0||n>=t.length)throw new TypeError("Unreachable");if((this.code=t.charCodeAt(n))>127)throw new TypeError("key must be ascii string");t.length!==++n?this.middle=new e(t,r,n):this.value=r}add(t,r){let n=t.length;if(n===0)throw new TypeError("Unreachable");let i=0,s=this;for(;;){let o=t.charCodeAt(i);if(o>127)throw new TypeError("key must be ascii string");if(s.code===o)if(n===++i){s.value=r;break}else if(s.middle!==null)s=s.middle;else{s.middle=new e(t,r,i);break}else if(s.code=65&&(s|=32);i!==null;){if(s===i.code){if(r===++n)return i;i=i.middle;break}i=i.code{"use strict";var x0=require("node:assert"),{kDestroyed:sN,kBodyUsed:Jh,kListeners:wy,kBody:iN}=qn(),{IncomingMessage:Rie}=require("node:http"),oN=require("node:stream"),kie=require("node:net"),{Blob:Nie}=require("node:buffer"),Tie=require("node:util"),{stringify:_ie}=require("node:querystring"),{EventEmitter:Uie}=require("node:events"),{InvalidArgumentError:ss}=tn(),{headerNameLowerCasedRecord:Oie}=Iy(),{tree:aN}=nN(),[Mie,Lie]=process.versions.node.split(".").map(e=>Number(e)),xy=class{constructor(t){this[iN]=t,this[Jh]=!1}async*[Symbol.asyncIterator](){x0(!this[Jh],"disturbed"),this[Jh]=!0,yield*this[iN]}};function Pie(e){return Qy(e)?(pN(e)===0&&e.on("data",function(){x0(!1)}),typeof e.readableDidRead!="boolean"&&(e[Jh]=!1,Uie.prototype.on.call(e,"data",function(){this[Jh]=!0})),e):e&&typeof e.pipeTo=="function"?new xy(e):e&&typeof e!="string"&&!ArrayBuffer.isView(e)&&AN(e)?new xy(e):e}function Qy(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function uN(e){if(e===null)return!1;if(e instanceof Nie)return!0;if(typeof e!="object")return!1;{let t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream=="function"||"arrayBuffer"in e&&typeof e.arrayBuffer=="function")}}function $ie(e,t){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let r=_ie(t);return r&&(e+="?"+r),e}function cN(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function by(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function lN(e){if(typeof e=="string"){if(e=new URL(e),!by(e.origin||e.protocol))throw new ss("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new ss("Invalid URL: The URL argument must be a non-null object.");if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&cN(e.port)===!1)throw new ss("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new ss("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new ss("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new ss("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new ss("Invalid URL origin: the origin must be a string or null/undefined.");if(!by(e.origin||e.protocol))throw new ss("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port!=null?e.port:e.protocol==="https:"?443:80,r=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`,n=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;return r[r.length-1]==="/"&&(r=r.slice(0,r.length-1)),n&&n[0]!=="/"&&(n=`/${n}`),new URL(`${r}${n}`)}if(!by(e.origin||e.protocol))throw new ss("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function Hie(e){if(e=lN(e),e.pathname!=="/"||e.search||e.hash)throw new ss("invalid url");return e}function qie(e){if(e[0]==="["){let r=e.indexOf("]");return x0(r!==-1),e.substring(1,r)}let t=e.indexOf(":");return t===-1?e:e.substring(0,t)}function jie(e){if(!e)return null;x0(typeof e=="string");let t=qie(e);return kie.isIP(t)?"":t}function Gie(e){return JSON.parse(JSON.stringify(e))}function Yie(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function AN(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function pN(e){if(e==null)return 0;if(Qy(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}else{if(uN(e))return e.size!=null?e.size:null;if(dN(e))return e.byteLength}return null}function fN(e){return e&&!!(e.destroyed||e[sN]||oN.isDestroyed?.(e))}function Vie(e,t){e==null||!Qy(e)||fN(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===Rie&&(e.socket=null),e.destroy(t)):t&&queueMicrotask(()=>{e.emit("error",t)}),e.destroyed!==!0&&(e[sN]=!0))}var Jie=/timeout=(\d+)/;function Wie(e){let t=e.match(Jie);return t?parseInt(t[1],10)*1e3:null}function hN(e){return typeof e=="string"?Oie[e]??e.toLowerCase():aN.lookup(e)??e.toString("latin1").toLowerCase()}function zie(e){return aN.lookup(e)??e.toString("latin1").toLowerCase()}function Kie(e,t){t===void 0&&(t={});for(let r=0;ro.toString("utf8")):s.toString("utf8")}}return"content-length"in t&&"content-disposition"in t&&(t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")),t}function Zie(e){let t=e.length,r=new Array(t),n=!1,i=-1,s,o,u=0;for(let A=0;ABuffer.from(t))}function dN(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function ese(e,t,r){if(!e||typeof e!="object")throw new ss("handler must be an object");if(typeof e.onRequestStart!="function"){if(typeof e.onConnect!="function")throw new ss("invalid onConnect method");if(typeof e.onError!="function")throw new ss("invalid onError method");if(typeof e.onBodySent!="function"&&e.onBodySent!==void 0)throw new ss("invalid onBodySent method");if(r||t==="CONNECT"){if(typeof e.onUpgrade!="function")throw new ss("invalid onUpgrade method")}else{if(typeof e.onHeaders!="function")throw new ss("invalid onHeaders method");if(typeof e.onData!="function")throw new ss("invalid onData method");if(typeof e.onComplete!="function")throw new ss("invalid onComplete method")}}}function tse(e){return!!(e&&(oN.isDisturbed(e)||e[Jh]))}function rse(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}function nse(e){let t;return new ReadableStream({async start(){t=e[Symbol.asyncIterator]()},pull(r){async function n(){let{done:i,value:s}=await t.next();if(i)queueMicrotask(()=>{r.close(),r.byobRequest?.respond(0)});else{let o=Buffer.isBuffer(s)?s:Buffer.from(s);if(o.byteLength)r.enqueue(new Uint8Array(o));else return await n()}}return n()},async cancel(){await t.return()},type:"bytes"})}function ise(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function sse(e,t){return"addEventListener"in e?(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)):(e.once("abort",t),()=>e.removeListener("abort",t))}var gN=typeof String.prototype.toWellFormed=="function"?e=>`${e}`.toWellFormed():Tie.toUSVString,ose=typeof String.prototype.isWellFormed=="function"?e=>`${e}`.isWellFormed():e=>gN(e)===`${e}`;function mN(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return e>=33&&e<=126}}function ase(e){if(e.length===0)return!1;for(let t=0;t{"use strict";var Xn=require("node:diagnostics_channel"),Gb=require("node:util"),Gp=Gb.debuglog("undici"),F0=Gb.debuglog("fetch"),Fy=Gb.debuglog("websocket"),dse={beforeConnect:Xn.channel("undici:client:beforeConnect"),connected:Xn.channel("undici:client:connected"),connectError:Xn.channel("undici:client:connectError"),sendHeaders:Xn.channel("undici:client:sendHeaders"),create:Xn.channel("undici:request:create"),bodySent:Xn.channel("undici:request:bodySent"),headers:Xn.channel("undici:request:headers"),trailers:Xn.channel("undici:request:trailers"),error:Xn.channel("undici:request:error"),open:Xn.channel("undici:websocket:open"),close:Xn.channel("undici:websocket:close"),socketError:Xn.channel("undici:websocket:socket_error"),ping:Xn.channel("undici:websocket:ping"),pong:Xn.channel("undici:websocket:pong")},vN=!1;function wN(e=Gp){vN||(vN=!0,Xn.subscribe("undici:client:beforeConnect",t=>{let{connectParams:{version:r,protocol:n,port:i,host:s}}=t;e("connecting to %s%s using %s%s",s,i?`:${i}`:"",n,r)}),Xn.subscribe("undici:client:connected",t=>{let{connectParams:{version:r,protocol:n,port:i,host:s}}=t;e("connected to %s%s using %s%s",s,i?`:${i}`:"",n,r)}),Xn.subscribe("undici:client:connectError",t=>{let{connectParams:{version:r,protocol:n,port:i,host:s},error:o}=t;e("connection to %s%s using %s%s errored - %s",s,i?`:${i}`:"",n,r,o.message)}),Xn.subscribe("undici:client:sendHeaders",t=>{let{request:{method:r,path:n,origin:i}}=t;e("sending request to %s %s/%s",r,i,n)}))}var IN=!1;function gse(e=Gp){IN||(IN=!0,Xn.subscribe("undici:request:headers",t=>{let{request:{method:r,path:n,origin:i},response:{statusCode:s}}=t;e("received response to %s %s/%s - HTTP %d",r,i,n,s)}),Xn.subscribe("undici:request:trailers",t=>{let{request:{method:r,path:n,origin:i}}=t;e("trailers received from %s %s/%s",r,i,n)}),Xn.subscribe("undici:request:error",t=>{let{request:{method:r,path:n,origin:i},error:s}=t;e("request to %s %s/%s errored - %s",r,i,n,s.message)}))}var BN=!1;function mse(e=Fy){BN||(BN=!0,Xn.subscribe("undici:websocket:open",t=>{let{address:{address:r,port:n}}=t;e("connection opened %s%s",r,n?`:${n}`:"")}),Xn.subscribe("undici:websocket:close",t=>{let{websocket:r,code:n,reason:i}=t;e("closed connection to %s - %s %s",r.url,n,i)}),Xn.subscribe("undici:websocket:socket_error",t=>{e("connection errored - %s",t.message)}),Xn.subscribe("undici:websocket:ping",t=>{e("ping received")}),Xn.subscribe("undici:websocket:pong",t=>{e("pong received")}))}(Gp.enabled||F0.enabled)&&(wN(F0.enabled?F0:Gp),gse(F0.enabled?F0:Gp));Fy.enabled&&(wN(Gp.enabled?Gp:Fy),mse(Fy));bN.exports={channels:dse}});var SN=he((v6e,DN)=>{"use strict";var{InvalidArgumentError:si,NotSupportedError:Ese}=tn(),Yu=require("node:assert"),{isValidHTTPToken:FN,isValidHeaderValue:xN,isStream:yse,destroy:Cse,isBuffer:vse,isFormDataLike:Ise,isIterable:Bse,isBlobLike:wse,serializePathWithQuery:bse,assertRequestHandler:xse,getServerName:Qse,normalizedMethodRecords:Fse}=Tr(),{channels:Vu}=ol(),{headerNameLowerCasedRecord:QN}=Iy(),Dse=/[^\u0021-\u00ff]/,ya=Symbol("handler"),Yb=class{constructor(t,{path:r,method:n,body:i,headers:s,query:o,idempotent:u,blocking:A,upgrade:p,headersTimeout:f,bodyTimeout:c,reset:m,expectContinue:w,servername:C,throwOnError:F},P){if(typeof r!="string")throw new si("path must be a string");if(r[0]!=="/"&&!(r.startsWith("http://")||r.startsWith("https://"))&&n!=="CONNECT")throw new si("path must be an absolute URL or start with a slash");if(Dse.test(r))throw new si("invalid request path");if(typeof n!="string")throw new si("method must be a string");if(Fse[n]===void 0&&!FN(n))throw new si("invalid request method");if(p&&typeof p!="string")throw new si("upgrade must be a string");if(f!=null&&(!Number.isFinite(f)||f<0))throw new si("invalid headersTimeout");if(c!=null&&(!Number.isFinite(c)||c<0))throw new si("invalid bodyTimeout");if(m!=null&&typeof m!="boolean")throw new si("invalid reset");if(w!=null&&typeof w!="boolean")throw new si("invalid expectContinue");if(F!=null)throw new si("invalid throwOnError");if(this.headersTimeout=f,this.bodyTimeout=c,this.method=n,this.abort=null,i==null)this.body=null;else if(yse(i)){this.body=i;let j=this.body._readableState;(!j||!j.autoDestroy)&&(this.endHandler=function(){Cse(this)},this.body.on("end",this.endHandler)),this.errorHandler=re=>{this.abort?this.abort(re):this.error=re},this.body.on("error",this.errorHandler)}else if(vse(i))this.body=i.byteLength?i:null;else if(ArrayBuffer.isView(i))this.body=i.buffer.byteLength?Buffer.from(i.buffer,i.byteOffset,i.byteLength):null;else if(i instanceof ArrayBuffer)this.body=i.byteLength?Buffer.from(i):null;else if(typeof i=="string")this.body=i.length?Buffer.from(i):null;else if(Ise(i)||Bse(i)||wse(i))this.body=i;else throw new si("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=p||null,this.path=o?bse(r,o):r,this.origin=t,this.idempotent=u??(n==="HEAD"||n==="GET"),this.blocking=A??this.method!=="HEAD",this.reset=m??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=w??!1,Array.isArray(s)){if(s.length%2!==0)throw new si("headers array must be even");for(let j=0;j{"use strict";var{InvalidArgumentError:Sse}=tn();kN.exports=class RN{#e;constructor(t){this.#e=t}static wrap(t){return t.onRequestStart?t:new RN(t)}onConnect(t,r){return this.#e.onConnect?.(t,r)}onHeaders(t,r,n,i){return this.#e.onHeaders?.(t,r,n,i)}onUpgrade(t,r,n){return this.#e.onUpgrade?.(t,r,n)}onData(t){return this.#e.onData?.(t)}onComplete(t){return this.#e.onComplete?.(t)}onError(t){if(!this.#e.onError)throw t;return this.#e.onError?.(t)}onRequestStart(t,r){this.#e.onConnect?.(n=>t.abort(n),r)}onRequestUpgrade(t,r,n,i){let s=[];for(let[o,u]of Object.entries(n))s.push(Buffer.from(o),Array.isArray(u)?u.map(A=>Buffer.from(A)):Buffer.from(u));this.#e.onUpgrade?.(r,s,i)}onResponseStart(t,r,n,i){let s=[];for(let[o,u]of Object.entries(n))s.push(Buffer.from(o),Array.isArray(u)?u.map(A=>Buffer.from(A)):Buffer.from(u));this.#e.onHeaders?.(r,s,()=>t.resume(),i)===!1&&t.pause()}onResponseData(t,r){this.#e.onData?.(r)===!1&&t.pause()}onResponseEnd(t,r){let n=[];for(let[i,s]of Object.entries(r))n.push(Buffer.from(i),Array.isArray(s)?s.map(o=>Buffer.from(o)):Buffer.from(s));this.#e.onComplete?.(n)}onResponseError(t,r){if(!this.#e.onError)throw new Sse("invalid onError method");this.#e.onError?.(r)}}});var D0=he((B6e,NN)=>{"use strict";var Rse=require("node:events"),kse=Sy(),Nse=e=>(t,r)=>e(t,kse.wrap(r)),Vb=class extends Rse{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...t){let r=Array.isArray(t[0])?t[0]:t,n=this.dispatch.bind(this);for(let i of r)if(i!=null){if(typeof i!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof i}`);if(n=i(n),n=Nse(n),n==null||typeof n!="function"||n.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(i,s)=>s==="dispatch"?n:i[s]})}};NN.exports=Vb});var UN=he((w6e,_N)=>{"use strict";var{parseHeaders:Jb}=Tr(),{InvalidArgumentError:Tse}=tn(),Wb=Symbol("resume"),zb=class{#e=!1;#t=null;#r=!1;#n;[Wb]=null;constructor(t){this.#n=t}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[Wb]?.())}abort(t){this.#r||(this.#r=!0,this.#t=t,this.#n(t))}get aborted(){return this.#r}get reason(){return this.#t}get paused(){return this.#e}};_N.exports=class TN{#e;#t;constructor(t){this.#e=t}static unwrap(t){return t.onRequestStart?new TN(t):t}onConnect(t,r){this.#t=new zb(t),this.#e.onRequestStart?.(this.#t,r)}onUpgrade(t,r,n){this.#e.onRequestUpgrade?.(this.#t,t,Jb(r),n)}onHeaders(t,r,n,i){return this.#t[Wb]=n,this.#e.onResponseStart?.(this.#t,t,Jb(r),i),!this.#t.paused}onData(t){return this.#e.onResponseData?.(this.#t,t),!this.#t.paused}onComplete(t){this.#e.onResponseEnd?.(this.#t,Jb(t))}onError(t){if(!this.#e.onResponseError)throw new Tse("invalid onError method");this.#e.onResponseError?.(this.#t,t)}}});var Kh=he((b6e,ON)=>{"use strict";var _se=D0(),Use=UN(),{ClientDestroyedError:Kb,ClientClosedError:Ose,InvalidArgumentError:Ry}=tn(),{kDestroy:Mse,kClose:Lse,kClosed:R0,kDestroyed:Wh,kDispatch:Pse}=qn(),ul=Symbol("onDestroyed"),zh=Symbol("onClosed"),Zb=class extends _se{constructor(){super(),this[Wh]=!1,this[ul]=null,this[R0]=!1,this[zh]=[]}get destroyed(){return this[Wh]}get closed(){return this[R0]}close(t){if(t===void 0)return new Promise((n,i)=>{this.close((s,o)=>s?i(s):n(o))});if(typeof t!="function")throw new Ry("invalid callback");if(this[Wh]){queueMicrotask(()=>t(new Kb,null));return}if(this[R0]){this[zh]?this[zh].push(t):queueMicrotask(()=>t(null,null));return}this[R0]=!0,this[zh].push(t);let r=()=>{let n=this[zh];this[zh]=null;for(let i=0;ithis.destroy()).then(()=>{queueMicrotask(r)})}destroy(t,r){if(typeof t=="function"&&(r=t,t=null),r===void 0)return new Promise((i,s)=>{this.destroy(t,(o,u)=>o?s(o):i(u))});if(typeof r!="function")throw new Ry("invalid callback");if(this[Wh]){this[ul]?this[ul].push(r):queueMicrotask(()=>r(null,null));return}t||(t=new Kb),this[Wh]=!0,this[ul]=this[ul]||[],this[ul].push(r);let n=()=>{let i=this[ul];this[ul]=null;for(let s=0;s{queueMicrotask(n)})}dispatch(t,r){if(!r||typeof r!="object")throw new Ry("handler must be an object");r=Use.unwrap(r);try{if(!t||typeof t!="object")throw new Ry("opts must be an object.");if(this[Wh]||this[ul])throw new Kb;if(this[R0])throw new Ose;return this[Pse](t,r)}catch(n){if(typeof r.onError!="function")throw n;return r.onError(n),!1}}};ON.exports=Zb});var s2=he((x6e,$N)=>{"use strict";var Zh=0,Xb=1e3,e2=(Xb>>1)-1,cl,t2=Symbol("kFastTimer"),ll=[],r2=-2,n2=-1,LN=0,MN=1;function i2(){Zh+=e2;let e=0,t=ll.length;for(;e=r._idleStart+r._idleTimeout&&(r._state=n2,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===n2?(r._state=r2,--t!==0&&(ll[e]=ll[t])):++e}ll.length=t,ll.length!==0&&PN()}function PN(){cl?cl.refresh():(clearTimeout(cl),cl=setTimeout(i2,e2),cl.unref&&cl.unref())}var ky=class{[t2]=!0;_state=r2;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(t,r,n){this._onTimeout=t,this._idleTimeout=r,this._timerArg=n,this.refresh()}refresh(){this._state===r2&&ll.push(this),(!cl||ll.length===1)&&PN(),this._state=LN}clear(){this._state=n2,this._idleStart=-1}};$N.exports={setTimeout(e,t,r){return t<=Xb?setTimeout(e,t,r):new ky(e,t,r)},clearTimeout(e){e[t2]?e.clear():clearTimeout(e)},setFastTimeout(e,t,r){return new ky(e,t,r)},clearFastTimeout(e){e.clear()},now(){return Zh},tick(e=0){Zh+=e-Xb+1,i2(),i2()},reset(){Zh=0,ll.length=0,clearTimeout(cl),cl=null},kFastTimer:t2}});var k0=he((D6e,YN)=>{"use strict";var $se=require("node:net"),HN=require("node:assert"),GN=Tr(),{InvalidArgumentError:Hse,ConnectTimeoutError:qse}=tn(),Ny=s2();function qN(){}var o2,a2;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?a2=class{constructor(t){this._maxCachedSessions=t,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(r=>{if(this._sessionCache.size=this._maxCachedSessions){let{value:n}=this._sessionCache.keys().next();this._sessionCache.delete(n)}this._sessionCache.set(t,r)}}};function jse({allowH2:e,maxCachedSessions:t,socketPath:r,timeout:n,session:i,...s}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Hse("maxCachedSessions must be a positive integer or zero");let o={path:r,...s},u=new a2(t??100);return n=n??1e4,e=e??!1,function({hostname:p,host:f,protocol:c,port:m,servername:w,localAddress:C,httpSocket:F},P){let j;if(c==="https:"){o2||(o2=require("node:tls")),w=w||o.servername||GN.getServerName(f)||null;let se=w||p;HN(se);let ge=i||u.get(se)||null;m=m||443,j=o2.connect({highWaterMark:16384,...o,servername:w,session:ge,localAddress:C,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:F,port:m,host:p}),j.on("session",function(oe){u.set(se,oe)})}else HN(!F,"httpSocket can only be sent on TLS update"),m=m||80,j=$se.connect({highWaterMark:64*1024,...o,localAddress:C,port:m,host:p});if(o.keepAlive==null||o.keepAlive){let se=o.keepAliveInitialDelay===void 0?6e4:o.keepAliveInitialDelay;j.setKeepAlive(!0,se)}let re=Gse(new WeakRef(j),{timeout:n,hostname:p,port:m});return j.setNoDelay(!0).once(c==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(re),P){let se=P;P=null,se(null,this)}}).on("error",function(se){if(queueMicrotask(re),P){let ge=P;P=null,ge(se)}}),j}}var Gse=process.platform==="win32"?(e,t)=>{if(!t.timeout)return qN;let r=null,n=null,i=Ny.setFastTimeout(()=>{r=setImmediate(()=>{n=setImmediate(()=>jN(e.deref(),t))})},t.timeout);return()=>{Ny.clearFastTimeout(i),clearImmediate(r),clearImmediate(n)}}:(e,t)=>{if(!t.timeout)return qN;let r=null,n=Ny.setFastTimeout(()=>{r=setImmediate(()=>{jN(e.deref(),t)})},t.timeout);return()=>{Ny.clearFastTimeout(n),clearImmediate(r)}};function jN(e,t){if(e==null)return;let r="Connect Timeout Error";Array.isArray(e.autoSelectFamilyAttemptedAddresses)?r+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`:r+=` (attempted address: ${t.hostname}:${t.port},`,r+=` timeout: ${t.timeout}ms)`,GN.destroy(e,new qse(r))}YN.exports=jse});var VN=he(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.enumToMap=void 0;function Yse(e,t=[],r=[]){var n,i;let s=((n=t?.length)!==null&&n!==void 0?n:0)===0,o=((i=r?.length)!==null&&i!==void 0?i:0)===0;return Object.fromEntries(Object.entries(e).filter(([,u])=>typeof u=="number"&&(s||t.includes(u))&&(o||!r.includes(u))))}Ty.enumToMap=Yse});var JN=he(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.SPECIAL_HEADERS=_e.MINOR=_e.MAJOR=_e.HTAB_SP_VCHAR_OBS_TEXT=_e.QUOTED_STRING=_e.CONNECTION_TOKEN_CHARS=_e.HEADER_CHARS=_e.TOKEN=_e.HEX=_e.URL_CHAR=_e.USERINFO_CHARS=_e.MARK=_e.ALPHANUM=_e.NUM=_e.HEX_MAP=_e.NUM_MAP=_e.ALPHA=_e.STATUSES_HTTP=_e.H_METHOD_MAP=_e.METHOD_MAP=_e.METHODS_RTSP=_e.METHODS_ICE=_e.METHODS_HTTP=_e.HEADER_STATE=_e.FINISH=_e.STATUSES=_e.METHODS=_e.LENIENT_FLAGS=_e.FLAGS=_e.TYPE=_e.ERROR=void 0;var Vse=VN();_e.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31};_e.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};_e.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};_e.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};_e.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};_e.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};_e.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};_e.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};_e.METHODS_HTTP=[_e.METHODS.DELETE,_e.METHODS.GET,_e.METHODS.HEAD,_e.METHODS.POST,_e.METHODS.PUT,_e.METHODS.CONNECT,_e.METHODS.OPTIONS,_e.METHODS.TRACE,_e.METHODS.COPY,_e.METHODS.LOCK,_e.METHODS.MKCOL,_e.METHODS.MOVE,_e.METHODS.PROPFIND,_e.METHODS.PROPPATCH,_e.METHODS.SEARCH,_e.METHODS.UNLOCK,_e.METHODS.BIND,_e.METHODS.REBIND,_e.METHODS.UNBIND,_e.METHODS.ACL,_e.METHODS.REPORT,_e.METHODS.MKACTIVITY,_e.METHODS.CHECKOUT,_e.METHODS.MERGE,_e.METHODS["M-SEARCH"],_e.METHODS.NOTIFY,_e.METHODS.SUBSCRIBE,_e.METHODS.UNSUBSCRIBE,_e.METHODS.PATCH,_e.METHODS.PURGE,_e.METHODS.MKCALENDAR,_e.METHODS.LINK,_e.METHODS.UNLINK,_e.METHODS.PRI,_e.METHODS.SOURCE,_e.METHODS.QUERY];_e.METHODS_ICE=[_e.METHODS.SOURCE];_e.METHODS_RTSP=[_e.METHODS.OPTIONS,_e.METHODS.DESCRIBE,_e.METHODS.ANNOUNCE,_e.METHODS.SETUP,_e.METHODS.PLAY,_e.METHODS.PAUSE,_e.METHODS.TEARDOWN,_e.METHODS.GET_PARAMETER,_e.METHODS.SET_PARAMETER,_e.METHODS.REDIRECT,_e.METHODS.RECORD,_e.METHODS.FLUSH,_e.METHODS.GET,_e.METHODS.POST];_e.METHOD_MAP=(0,Vse.enumToMap)(_e.METHODS);_e.H_METHOD_MAP=Object.fromEntries(Object.entries(_e.METHODS).filter(([e])=>e.startsWith("H")));_e.STATUSES_HTTP=[_e.STATUSES.CONTINUE,_e.STATUSES.SWITCHING_PROTOCOLS,_e.STATUSES.PROCESSING,_e.STATUSES.EARLY_HINTS,_e.STATUSES.RESPONSE_IS_STALE,_e.STATUSES.REVALIDATION_FAILED,_e.STATUSES.DISCONNECTED_OPERATION,_e.STATUSES.HEURISTIC_EXPIRATION,_e.STATUSES.MISCELLANEOUS_WARNING,_e.STATUSES.OK,_e.STATUSES.CREATED,_e.STATUSES.ACCEPTED,_e.STATUSES.NON_AUTHORITATIVE_INFORMATION,_e.STATUSES.NO_CONTENT,_e.STATUSES.RESET_CONTENT,_e.STATUSES.PARTIAL_CONTENT,_e.STATUSES.MULTI_STATUS,_e.STATUSES.ALREADY_REPORTED,_e.STATUSES.TRANSFORMATION_APPLIED,_e.STATUSES.IM_USED,_e.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,_e.STATUSES.MULTIPLE_CHOICES,_e.STATUSES.MOVED_PERMANENTLY,_e.STATUSES.FOUND,_e.STATUSES.SEE_OTHER,_e.STATUSES.NOT_MODIFIED,_e.STATUSES.USE_PROXY,_e.STATUSES.SWITCH_PROXY,_e.STATUSES.TEMPORARY_REDIRECT,_e.STATUSES.PERMANENT_REDIRECT,_e.STATUSES.BAD_REQUEST,_e.STATUSES.UNAUTHORIZED,_e.STATUSES.PAYMENT_REQUIRED,_e.STATUSES.FORBIDDEN,_e.STATUSES.NOT_FOUND,_e.STATUSES.METHOD_NOT_ALLOWED,_e.STATUSES.NOT_ACCEPTABLE,_e.STATUSES.PROXY_AUTHENTICATION_REQUIRED,_e.STATUSES.REQUEST_TIMEOUT,_e.STATUSES.CONFLICT,_e.STATUSES.GONE,_e.STATUSES.LENGTH_REQUIRED,_e.STATUSES.PRECONDITION_FAILED,_e.STATUSES.PAYLOAD_TOO_LARGE,_e.STATUSES.URI_TOO_LONG,_e.STATUSES.UNSUPPORTED_MEDIA_TYPE,_e.STATUSES.RANGE_NOT_SATISFIABLE,_e.STATUSES.EXPECTATION_FAILED,_e.STATUSES.IM_A_TEAPOT,_e.STATUSES.PAGE_EXPIRED,_e.STATUSES.ENHANCE_YOUR_CALM,_e.STATUSES.MISDIRECTED_REQUEST,_e.STATUSES.UNPROCESSABLE_ENTITY,_e.STATUSES.LOCKED,_e.STATUSES.FAILED_DEPENDENCY,_e.STATUSES.TOO_EARLY,_e.STATUSES.UPGRADE_REQUIRED,_e.STATUSES.PRECONDITION_REQUIRED,_e.STATUSES.TOO_MANY_REQUESTS,_e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,_e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,_e.STATUSES.LOGIN_TIMEOUT,_e.STATUSES.NO_RESPONSE,_e.STATUSES.RETRY_WITH,_e.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,_e.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,_e.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,_e.STATUSES.INVALID_X_FORWARDED_FOR,_e.STATUSES.REQUEST_HEADER_TOO_LARGE,_e.STATUSES.SSL_CERTIFICATE_ERROR,_e.STATUSES.SSL_CERTIFICATE_REQUIRED,_e.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,_e.STATUSES.INVALID_TOKEN,_e.STATUSES.CLIENT_CLOSED_REQUEST,_e.STATUSES.INTERNAL_SERVER_ERROR,_e.STATUSES.NOT_IMPLEMENTED,_e.STATUSES.BAD_GATEWAY,_e.STATUSES.SERVICE_UNAVAILABLE,_e.STATUSES.GATEWAY_TIMEOUT,_e.STATUSES.HTTP_VERSION_NOT_SUPPORTED,_e.STATUSES.VARIANT_ALSO_NEGOTIATES,_e.STATUSES.INSUFFICIENT_STORAGE,_e.STATUSES.LOOP_DETECTED,_e.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,_e.STATUSES.NOT_EXTENDED,_e.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,_e.STATUSES.WEB_SERVER_UNKNOWN_ERROR,_e.STATUSES.WEB_SERVER_IS_DOWN,_e.STATUSES.CONNECTION_TIMEOUT,_e.STATUSES.ORIGIN_IS_UNREACHABLE,_e.STATUSES.TIMEOUT_OCCURED,_e.STATUSES.SSL_HANDSHAKE_FAILED,_e.STATUSES.INVALID_SSL_CERTIFICATE,_e.STATUSES.RAILGUN_ERROR,_e.STATUSES.SITE_IS_OVERLOADED,_e.STATUSES.SITE_IS_FROZEN,_e.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,_e.STATUSES.NETWORK_READ_TIMEOUT,_e.STATUSES.NETWORK_CONNECT_TIMEOUT];_e.ALPHA=[];for(let e=65;e<=90;e++)_e.ALPHA.push(String.fromCharCode(e)),_e.ALPHA.push(String.fromCharCode(e+32));_e.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};_e.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};_e.NUM=["0","1","2","3","4","5","6","7","8","9"];_e.ALPHANUM=_e.ALPHA.concat(_e.NUM);_e.MARK=["-","_",".","!","~","*","'","(",")"];_e.USERINFO_CHARS=_e.ALPHANUM.concat(_e.MARK).concat(["%",";",":","&","=","+","$",","]);_e.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(_e.ALPHANUM);_e.HEX=_e.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);_e.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(_e.ALPHANUM);_e.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&_e.HEADER_CHARS.push(e);_e.CONNECTION_TOKEN_CHARS=_e.HEADER_CHARS.filter(e=>e!==44);_e.QUOTED_STRING=[" "," "];for(let e=33;e<=255;e++)e!==34&&e!==92&&_e.QUOTED_STRING.push(e);_e.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let e=33;e<=126;e++)_e.HTAB_SP_VCHAR_OBS_TEXT.push(e);for(let e=128;e<=255;e++)_e.HTAB_SP_VCHAR_OBS_TEXT.push(e);_e.MAJOR=_e.NUM_MAP;_e.MINOR=_e.MAJOR;_e.SPECIAL_HEADERS={connection:_e.HEADER_STATE.CONNECTION,"content-length":_e.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":_e.HEADER_STATE.CONNECTION,"transfer-encoding":_e.HEADER_STATE.TRANSFER_ENCODING,upgrade:_e.HEADER_STATE.UPGRADE}});var c2=he((k6e,WN)=>{"use strict";var{Buffer:Jse}=require("node:buffer"),Wse="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzQzBQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEDAAADAAAABAUBcAESEgUDAQACBggBfwFBgNgECwfFBygGbWVtb3J5AgALX2luaXRpYWxpemUACBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQACRhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUANgxsbGh0dHBfYWxsb2MACwZtYWxsb2MAOAtsbGh0dHBfZnJlZQAMBGZyZWUADA9sbGh0dHBfZ2V0X3R5cGUADRVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADhVsbGh0dHBfZ2V0X2h0dHBfbWlub3IADxFsbGh0dHBfZ2V0X21ldGhvZAAQFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAERJsbGh0dHBfZ2V0X3VwZ3JhZGUAEgxsbGh0dHBfcmVzZXQAEw5sbGh0dHBfZXhlY3V0ZQAUFGxsaHR0cF9zZXR0aW5nc19pbml0ABUNbGxodHRwX2ZpbmlzaAAWDGxsaHR0cF9wYXVzZQAXDWxsaHR0cF9yZXN1bWUAGBtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGRBsbGh0dHBfZ2V0X2Vycm5vABoXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AGxdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAcFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB0RbGxodHRwX2Vycm5vX25hbWUAHhJsbGh0dHBfbWV0aG9kX25hbWUAHxJsbGh0dHBfc3RhdHVzX25hbWUAIBpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAhIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAiHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACMkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACQabGxodHRwX3NldF9sZW5pZW50X3ZlcnNpb24AJSNsbGh0dHBfc2V0X2xlbmllbnRfZGF0YV9hZnRlcl9jbG9zZQAmJ2xsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9sZl9hZnRlcl9jcgAnLGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcmxmX2FmdGVyX2NodW5rACgobGxodHRwX3NldF9sZW5pZW50X29wdGlvbmFsX2NyX2JlZm9yZV9sZgApKmxsaHR0cF9zZXRfbGVuaWVudF9zcGFjZXNfYWZ0ZXJfY2h1bmtfc2l6ZQAqGGxsaHR0cF9tZXNzYWdlX25lZWRzX2VvZgA1CRcBAEEBCxEBAgMEBQoGBzEzMi0uLCsvMAq8ywIzFgBB/NMAKAIABEAAC0H80wBBATYCAAsUACAAEDcgACACNgI4IAAgAToAKAsUACAAIAAvATQgAC0AMCAAEDYQAAseAQF/QcAAEDkiARA3IAFBgAg2AjggASAAOgAoIAELjwwBB38CQCAARQ0AIABBCGsiASAAQQRrKAIAIgBBeHEiBGohBQJAIABBAXENACAAQQNxRQ0BIAEgASgCACIAayIBQZDUACgCAEkNASAAIARqIQQCQAJAQZTUACgCACABRwRAIABB/wFNBEAgAEEDdiEDIAEoAggiACABKAIMIgJGBEBBgNQAQYDUACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAEoAhghBiABIAEoAgwiAEcEQCAAIAEoAggiAjYCCCACIAA2AgwMAwsgAUEUaiIDKAIAIgJFBEAgASgCECICRQ0CIAFBEGohAwsDQCADIQcgAiIAQRRqIgMoAgAiAg0AIABBEGohAyAAKAIQIgINAAsgB0EANgIADAILIAUoAgQiAEEDcUEDRw0CIAUgAEF+cTYCBEGI1AAgBDYCACAFIAQ2AgAgASAEQQFyNgIEDAMLQQAhAAsgBkUNAAJAIAEoAhwiAkECdEGw1gBqIgMoAgAgAUYEQCADIAA2AgAgAA0BQYTUAEGE1AAoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECABRhtqIAA2AgAgAEUNAQsgACAGNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAFBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAVPDQAgBSgCBCIAQQFxRQ0AAkACQAJAAkAgAEECcUUEQEGY1AAoAgAgBUYEQEGY1AAgATYCAEGM1ABBjNQAKAIAIARqIgA2AgAgASAAQQFyNgIEIAFBlNQAKAIARw0GQYjUAEEANgIAQZTUAEEANgIADAYLQZTUACgCACAFRgRAQZTUACABNgIAQYjUAEGI1AAoAgAgBGoiADYCACABIABBAXI2AgQgACABaiAANgIADAYLIABBeHEgBGohBCAAQf8BTQRAIABBA3YhAyAFKAIIIgAgBSgCDCICRgRAQYDUAEGA1AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyAFKAIYIQYgBSAFKAIMIgBHBEBBkNQAKAIAGiAAIAUoAggiAjYCCCACIAA2AgwMAwsgBUEUaiIDKAIAIgJFBEAgBSgCECICRQ0CIAVBEGohAwsDQCADIQcgAiIAQRRqIgMoAgAiAg0AIABBEGohAyAAKAIQIgINAAsgB0EANgIADAILIAUgAEF+cTYCBCABIARqIAQ2AgAgASAEQQFyNgIEDAMLQQAhAAsgBkUNAAJAIAUoAhwiAkECdEGw1gBqIgMoAgAgBUYEQCADIAA2AgAgAA0BQYTUAEGE1AAoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAA2AgAgAEUNAQsgACAGNgIYIAUoAhAiAgRAIAAgAjYCECACIAA2AhgLIAVBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIARqIAQ2AgAgASAEQQFyNgIEIAFBlNQAKAIARw0AQYjUACAENgIADAELIARB/wFNBEAgBEF4cUGo1ABqIQACf0GA1AAoAgAiAkEBIARBA3Z0IgNxRQRAQYDUACACIANyNgIAIAAMAQsgACgCCAsiAiABNgIMIAAgATYCCCABIAA2AgwgASACNgIIDAELQR8hAiAEQf///wdNBEAgBEEmIARBCHZnIgBrdkEBcSAAQQF0a0E+aiECCyABIAI2AhwgAUIANwIQIAJBAnRBsNYAaiEAAkBBhNQAKAIAIgNBASACdCIHcUUEQCAAIAE2AgBBhNQAIAMgB3I2AgAgASAANgIYIAEgATYCCCABIAE2AgwMAQsgBEEZIAJBAXZrQQAgAkEfRxt0IQIgACgCACEAAkADQCAAIgMoAgRBeHEgBEYNASACQR12IQAgAkEBdCECIAMgAEEEcWpBEGoiBygCACIADQALIAcgATYCACABIAM2AhggASABNgIMIAEgATYCCAwBCyADKAIIIgAgATYCDCADIAE2AgggAUEANgIYIAEgAzYCDCABIAA2AggLQaDUAEGg1AAoAgBBAWsiAEF/IAAbNgIACwsHACAALQAoCwcAIAAtACoLBwAgAC0AKwsHACAALQApCwcAIAAvATQLBwAgAC0AMAtAAQR/IAAoAhghASAALwEuIQIgAC0AKCEDIAAoAjghBCAAEDcgACAENgI4IAAgAzoAKCAAIAI7AS4gACABNgIYC8X4AQIHfwN+IAEgAmohBAJAIAAiAygCDCIADQAgAygCBARAIAMgATYCBAsjAEEQayIJJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQFrDuwB7gEB6AECAwQFBgcICQoLDA0ODxAREucBE+YBFBXlARYX5AEYGRobHB0eHyDvAe0BIeMBIiMkJSYnKCkqK+IBLC0uLzAxMuEB4AEzNN8B3gE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/pAVBRUlPdAdwBVNsBVdoBVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHZAdgBxgHXAccB1gHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAQDqAQtBAAzUAQtBDgzTAQtBDQzSAQtBDwzRAQtBEAzQAQtBEQzPAQtBEgzOAQtBEwzNAQtBFAzMAQtBFQzLAQtBFgzKAQtBFwzJAQtBGAzIAQtBGQzHAQtBGgzGAQtBGwzFAQtBHAzEAQtBHQzDAQtBHgzCAQtBHwzBAQtBCAzAAQtBIAy/AQtBIgy+AQtBIQy9AQtBBwy8AQtBIwy7AQtBJAy6AQtBJQy5AQtBJgy4AQtBJwy3AQtBzgEMtgELQSgMtQELQSkMtAELQSoMswELQSsMsgELQc8BDLEBC0EtDLABC0EuDK8BC0EvDK4BC0EwDK0BC0ExDKwBC0EyDKsBC0EzDKoBC0HQAQypAQtBNAyoAQtBOAynAQtBDAymAQtBNQylAQtBNgykAQtBNwyjAQtBPQyiAQtBOQyhAQtB0QEMoAELQQsMnwELQT4MngELQToMnQELQQoMnAELQTsMmwELQTwMmgELQdIBDJkBC0HAAAyYAQtBPwyXAQtBwQAMlgELQQkMlQELQSwMlAELQcIADJMBC0HDAAySAQtBxAAMkQELQcUADJABC0HGAAyPAQtBxwAMjgELQcgADI0BC0HJAAyMAQtBygAMiwELQcsADIoBC0HMAAyJAQtBzQAMiAELQc4ADIcBC0HPAAyGAQtB0AAMhQELQdEADIQBC0HSAAyDAQtB1AAMggELQdMADIEBC0HVAAyAAQtB1gAMfwtB1wAMfgtB2AAMfQtB2QAMfAtB2gAMewtB2wAMegtB0wEMeQtB3AAMeAtB3QAMdwtBBgx2C0HeAAx1C0EFDHQLQd8ADHMLQQQMcgtB4AAMcQtB4QAMcAtB4gAMbwtB4wAMbgtBAwxtC0HkAAxsC0HlAAxrC0HmAAxqC0HoAAxpC0HnAAxoC0HpAAxnC0HqAAxmC0HrAAxlC0HsAAxkC0ECDGMLQe0ADGILQe4ADGELQe8ADGALQfAADF8LQfEADF4LQfIADF0LQfMADFwLQfQADFsLQfUADFoLQfYADFkLQfcADFgLQfgADFcLQfkADFYLQfoADFULQfsADFQLQfwADFMLQf0ADFILQf4ADFELQf8ADFALQYABDE8LQYEBDE4LQYIBDE0LQYMBDEwLQYQBDEsLQYUBDEoLQYYBDEkLQYcBDEgLQYgBDEcLQYkBDEYLQYoBDEULQYsBDEQLQYwBDEMLQY0BDEILQY4BDEELQY8BDEALQZABDD8LQZEBDD4LQZIBDD0LQZMBDDwLQZQBDDsLQZUBDDoLQZYBDDkLQZcBDDgLQZgBDDcLQZkBDDYLQZoBDDULQZsBDDQLQZwBDDMLQZ0BDDILQZ4BDDELQZ8BDDALQaABDC8LQaEBDC4LQaIBDC0LQaMBDCwLQaQBDCsLQaUBDCoLQaYBDCkLQacBDCgLQagBDCcLQakBDCYLQaoBDCULQasBDCQLQawBDCMLQa0BDCILQa4BDCELQa8BDCALQbABDB8LQbEBDB4LQbIBDB0LQbMBDBwLQbQBDBsLQbUBDBoLQbYBDBkLQbcBDBgLQbgBDBcLQQEMFgtBuQEMFQtBugEMFAtBuwEMEwtBvAEMEgtBvQEMEQtBvgEMEAtBvwEMDwtBwAEMDgtBwQEMDQtBwgEMDAtBwwEMCwtBxAEMCgtBxQEMCQtBxgEMCAtB1AEMBwtBxwEMBgtByAEMBQtByQEMBAtBygEMAwtBywEMAgtBzQEMAQtBzAELIQIDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDtQBAAECAwQFBgcICQoLDA0ODxARFBUWFxgZGhscHR4fICEjJCUnKCmIA4cDhQOEA/wC9QLuAusC6ALmAuMC4ALfAt0C2wLWAtUC1ALTAtICygLJAsgCxwLGAsUCxALDAr0CvAK6ArkCuAK3ArYCtQK0ArICsQKsAqoCqAKnAqYCpQKkAqMCogKhAqACnwKbApoCmQKYApcCkAKIAoQCgwKCAvkB9gH1AfQB8wHyAfEB8AHvAe0B6wHoAeMB4QHgAd8B3gHdAdwB2wHaAdkB2AHXAdYB1QHUAdIB0QHQAc8BzgHNAcwBywHKAckByAHHAcYBxQHEAcMBwgHBAcABvwG+Ab0BvAG7AboBuQG4AbcBtgG1AbQBswGyAbEBsAGvAa4BrQGsAasBqgGpAagBpwGmAaUBpAGjAaIBoQGgAZ8BngGdAZwBmwGaAZcBlgGRAZABjwGOAY0BjAGLAYoBiQGIAYUBhAGDAX59fHt6d3Z1LFFSU1RVVgsgASAERw1zQewBIQIMqQMLIAEgBEcNkAFB0QEhAgyoAwsgASAERw3pAUGEASECDKcDCyABIARHDfQBQfoAIQIMpgMLIAEgBEcNggJB9QAhAgylAwsgASAERw2JAkHzACECDKQDCyABIARHDYwCQfEAIQIMowMLIAEgBEcNHkEeIQIMogMLIAEgBEcNGUEYIQIMoQMLIAEgBEcNuAJBzQAhAgygAwsgASAERw3DAkHGACECDJ8DCyABIARHDcQCQcMAIQIMngMLIAEgBEcNygJBOCECDJ0DCyADLQAwQQFGDZUDDPICC0EAIQACQAJAAkAgAy0AKkUNACADLQArRQ0AIAMvATIiAkECcUUNAQwCCyADLwEyIgJBAXFFDQELQQEhACADLQAoQQFGDQAgAy8BNCIGQeQAa0HkAEkNACAGQcwBRg0AIAZBsAJGDQAgAkHAAHENAEEAIQAgAkGIBHFBgARGDQAgAkEocUEARyEACyADQQA7ATIgA0EAOgAxAkAgAEUEQCADQQA6ADEgAy0ALkEEcQ0BDJwDCyADQgA3AyALIANBADoAMSADQQE6ADYMSQtBACEAAkAgAygCOCICRQ0AIAIoAiwiAkUNACADIAIRAAAhAAsgAEUNSSAAQRVHDWMgA0EENgIcIAMgATYCFCADQb0aNgIQIANBFTYCDEEAIQIMmgMLIAEgBEYEQEEGIQIMmgMLIAEtAABBCkYNGQwBCyABIARGBEBBByECDJkDCwJAIAEtAABBCmsOBAIBAQABCyABQQFqIQFBECECDP4CCyADLQAuQYABcQ0YQQAhAiADQQA2AhwgAyABNgIUIANBqR82AhAgA0ECNgIMDJcDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBhB82AhAgA0EZNgIMDJYDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0ZQQghAgyVAwsgASAERwRAIANBCTYCCCADIAE2AgRBEiECDPsCC0EJIQIMlAMLIAMpAyBQDZwCDEQLIAEgBEYEQEELIQIMkwMLIAEtAABBCkcNFyABQQFqIQEMGAsgA0Evai0AAEEBcUUNGgwnC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAADRoMQwtBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAA0bDCULQQAhAAJAIAMoAjgiAkUNACACKAJIIgJFDQAgAyACEQAAIQALIAANHAwzCyADQS9qLQAAQQFxRQ0dDCMLQQAhAAJAIAMoAjgiAkUNACACKAJMIgJFDQAgAyACEQAAIQALIAANHQxDC0EAIQACQCADKAI4IgJFDQAgAigCTCICRQ0AIAMgAhEAACEACyAADR4MIQsgASAERgRAQRMhAgyLAwsCQCABLQAAIgBBCmsOBCAkJAAjCyABQQFqIQEMIAtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAA0jDEMLIAEgBEYEQEEWIQIMiQMLIAEtAABB8D9qLQAAQQFHDSQM7QILAkADQCABLQAAQeA5ai0AACIAQQFHBEACQCAAQQJrDgIDACgLIAFBAWohAUEfIQIM8AILIAQgAUEBaiIBRw0AC0EYIQIMiAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABQQFqIgEQMyIADSIMQgtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAA0kDCsLIAEgBEYEQEEcIQIMhgMLIANBCjYCCCADIAE2AgRBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAA0mQSIhAgzrAgsgASAERwRAA0AgAS0AAEHgO2otAAAiAEEDRwRAIABBAWsOBRkbJ+wCJicLIAQgAUEBaiIBRw0AC0EbIQIMhQMLQRshAgyEAwsDQCABLQAAQeA9ai0AACIAQQNHBEAgAEEBaw4FEBIoFCcoCyAEIAFBAWoiAUcNAAtBHiECDIMDCyABIARHBEAgA0ELNgIIIAMgATYCBEEHIQIM6QILQR8hAgyCAwsgASAERgRAQSAhAgyCAwsCQCABLQAAQQ1rDhQvQEBAQEBAQEBAQEBAQEBAQEBAAEALQQAhAiADQQA2AhwgA0G3CzYCECADQQI2AgwgAyABQQFqNgIUDIEDCyADQS9qIQIDQCABIARGBEBBISECDIIDCwJAAkACQCABLQAAIgBBCWsOGAIAKioBKioqKioqKioqKioqKioqKioqAigLIAFBAWohASADQS9qLQAAQQFxRQ0LDBkLIAFBAWohAQwYCyABQQFqIQEgAi0AAEECcQ0AC0EAIQIgA0EANgIcIAMgATYCFCADQc4UNgIQIANBDDYCDAyAAwsgAUEBaiEBC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADQEM0QILIANCADcDIAw8CyAAQRVGBEAgA0EkNgIcIAMgATYCFCADQYYaNgIQIANBFTYCDEEAIQIM/QILQQAhAiADQQA2AhwgAyABNgIUIANB4g02AhAgA0EUNgIMDPwCCyADKAIEIQBBACECIANBADYCBCADIAAgASAMp2oiARAxIgBFDSsgA0EHNgIcIAMgATYCFCADIAA2AgwM+wILIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAARQ0rIABBFUYEQCADQQo2AhwgAyABNgIUIANB8Rg2AhAgA0EVNgIMQQAhAgz6AgtBACECIANBADYCHCADIAE2AhQgA0GLDDYCECADQRM2AgwM+QILQQAhAiADQQA2AhwgAyABNgIUIANBsRQ2AhAgA0ECNgIMDPgCC0EAIQIgA0EANgIcIAMgATYCFCADQYwUNgIQIANBGTYCDAz3AgtBACECIANBADYCHCADIAE2AhQgA0HRHDYCECADQRk2AgwM9gILIABBFUYNPUEAIQIgA0EANgIcIAMgATYCFCADQaIPNgIQIANBIjYCDAz1AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMiIARQ0oIANBDTYCHCADIAE2AhQgAyAANgIMDPQCCyAAQRVGDTpBACECIANBADYCHCADIAE2AhQgA0GiDzYCECADQSI2AgwM8wILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDIiAEUEQCABQQFqIQEMKAsgA0EONgIcIAMgADYCDCADIAFBAWo2AhQM8gILIABBFUYNN0EAIQIgA0EANgIcIAMgATYCFCADQaIPNgIQIANBIjYCDAzxAgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMiIARQRAIAFBAWohAQwnCyADQQ82AhwgAyAANgIMIAMgAUEBajYCFAzwAgtBACECIANBADYCHCADIAE2AhQgA0HoFjYCECADQRk2AgwM7wILIABBFUYNM0EAIQIgA0EANgIcIAMgATYCFCADQc4MNgIQIANBIzYCDAzuAgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMyIARQ0lIANBETYCHCADIAE2AhQgAyAANgIMDO0CCyAAQRVGDTBBACECIANBADYCHCADIAE2AhQgA0HODDYCECADQSM2AgwM7AILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJQsgA0ESNgIcIAMgADYCDCADIAFBAWo2AhQM6wILIANBL2otAABBAXFFDQELQRUhAgzPAgtBACECIANBADYCHCADIAE2AhQgA0HoFjYCECADQRk2AgwM6AILIABBO0cNACABQQFqIQEMDAtBACECIANBADYCHCADIAE2AhQgA0GYFzYCECADQQI2AgwM5gILIABBFUYNKEEAIQIgA0EANgIcIAMgATYCFCADQc4MNgIQIANBIzYCDAzlAgsgA0EUNgIcIAMgATYCFCADIAA2AgwM5AILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEM3AILIANBFTYCHCADIAA2AgwgAyABQQFqNgIUDOMCCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDNoCCyADQRc2AhwgAyAANgIMIAMgAUEBajYCFAziAgsgAEEVRg0jQQAhAiADQQA2AhwgAyABNgIUIANBzgw2AhAgA0EjNgIMDOECCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDB0LIANBGTYCHCADIAA2AgwgAyABQQFqNgIUDOACCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDNYCCyADQRo2AhwgAyAANgIMIAMgAUEBajYCFAzfAgsgAEEVRg0fQQAhAiADQQA2AhwgAyABNgIUIANBog82AhAgA0EiNgIMDN4CCyADKAIEIQBBACECIANBADYCBCADIAAgARAyIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUDN0CCyADKAIEIQBBACECIANBADYCBCADIAAgARAyIgBFBEAgAUEBaiEBDNICCyADQR02AhwgAyAANgIMIAMgAUEBajYCFAzcAgsgAEE7Rw0BIAFBAWohAQtBJCECDMACC0EAIQIgA0EANgIcIAMgATYCFCADQc4UNgIQIANBDDYCDAzZAgsgASAERwRAA0AgAS0AAEEgRw3xASAEIAFBAWoiAUcNAAtBLCECDNkCC0EsIQIM2AILIAEgBEYEQEE0IQIM2AILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0E0IQIM2QILIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ2MAiADQTI2AhwgAyABNgIUIAMgADYCDEEAIQIM2AILIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQRAIAFBAWohAQyMAgsgA0EyNgIcIAMgADYCDCADIAFBAWo2AhRBACECDNcCCyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE5IQIMwAILIAMpAyAiC0KZs+bMmbPmzBlWDQEgAyALQgp+Igo3AyAgCiAArUL/AYMiC0J/hVYNASADIAogC3w3AyAgBCABQQFqIgFHDQALQcAAIQIM2AILIAMoAgQhACADQQA2AgQgAyAAIAFBAWoiARAwIgANFwzJAgtBwAAhAgzWAgsgASAERgRAQckAIQIM1gILAkADQAJAIAEtAABBCWsOGAACjwKPApMCjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CAI8CCyAEIAFBAWoiAUcNAAtByQAhAgzWAgsgAUEBaiEBIANBL2otAABBAXENjwIgA0EANgIcIAMgATYCFCADQekPNgIQIANBCjYCDEEAIQIM1QILIAEgBEcEQANAIAEtAAAiAEEgRwRAAkACQAJAIABByABrDgsAAc0BzQHNAc0BzQHNAc0BzQECzQELIAFBAWohAUHZACECDL8CCyABQQFqIQFB2gAhAgy+AgsgAUEBaiEBQdsAIQIMvQILIAQgAUEBaiIBRw0AC0HuACECDNUCC0HuACECDNQCCyADQQI6ACgMMAtBACECIANBADYCHCADQbcLNgIQIANBAjYCDCADIAFBAWo2AhQM0gILQQAhAgy3AgtBDSECDLYCC0ERIQIMtQILQRMhAgy0AgtBFCECDLMCC0EWIQIMsgILQRchAgyxAgtBGCECDLACC0EZIQIMrwILQRohAgyuAgtBGyECDK0CC0EcIQIMrAILQR0hAgyrAgtBHiECDKoCC0EgIQIMqQILQSEhAgyoAgtBIyECDKcCC0EnIQIMpgILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgy/AgsgA0EbNgIcIAMgATYCFCADQY8bNgIQIANBFTYCDEEAIQIMvgILIANBIDYCHCADIAE2AhQgA0GeGTYCECADQRU2AgxBACECDL0CCyADQRM2AhwgAyABNgIUIANBnhk2AhAgA0EVNgIMQQAhAgy8AgsgA0ELNgIcIAMgATYCFCADQZ4ZNgIQIANBFTYCDEEAIQIMuwILIANBEDYCHCADIAE2AhQgA0GeGTYCECADQRU2AgxBACECDLoCCyADQSA2AhwgAyABNgIUIANBjxs2AhAgA0EVNgIMQQAhAgy5AgsgA0ELNgIcIAMgATYCFCADQY8bNgIQIANBFTYCDEEAIQIMuAILIANBDDYCHCADIAE2AhQgA0GPGzYCECADQRU2AgxBACECDLcCC0EAIQIgA0EANgIcIAMgATYCFCADQa8ONgIQIANBEjYCDAy2AgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0HsASECDLYCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJYIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB6wE2AhwgAyABNgIUIANB4hg2AhAgA0EVNgIMQQAhAgy3AgtBzAEhAgycAgsgA0EANgIcIAMgATYCFCADQfELNgIQIANBHzYCDEEAIQIMtQILAkACQCADLQAoQQFrDgIEAQALQcsBIQIMmwILQcQBIQIMmgILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQc0BIQIMmgILIABBFUcEQCADQQA2AhwgAyABNgIUIANBrAw2AhAgA0EQNgIMQQAhAgy0AgsgA0HqATYCHCADIAE2AhQgA0GHGTYCECADQRU2AgxBACECDLMCCyABIARGBEBB6QEhAgyzAgsgAS0AAEHIAEYNASADQQE6ACgLQbYBIQIMlwILQcoBIQIMlgILIAEgBEcEQCADQQw2AgggAyABNgIEQckBIQIMlgILQegBIQIMrwILIAEgBEYEQEHnASECDK8CCyABLQAAQcgARw0EIAFBAWohAUHIASECDJQCCyABIARGBEBB5gEhAgyuAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQcYBIQIMlAILIAFBAWohAUHHASECDJMCC0HlASECIAEgBEYNrAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB99MAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMrQILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAtIgBFBEBB1AEhAgyTAgsgA0HkATYCHCADIAE2AhQgAyAANgIMQQAhAgysAgtB4wEhAiABIARGDasCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQfXTAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADKwCCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAtIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB0B42AhAgA0EINgIMDKkCC0HFASECDI4CCyADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDKcCC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQ1lIABBFUcEQCADQQA2AhwgAyABNgIUIANB1A42AhAgA0EgNgIMQQAhAgynAgsgA0GFATYCHCADIAE2AhQgA0HXGjYCECADQRU2AgxBACECDKYCC0HhASECIAQgASIARg2lAiAEIAFrIAMoAgAiAWohBSAAIAFrQQRqIQYCQANAIAAtAAAgAUHw0wBqLQAARw0BIAFBBEYNAyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBTYCAAymAgsgA0EANgIcIAMgADYCFCADQYQ3NgIQIANBCDYCDCADQQA2AgBBACECDKUCCyABIARHBEAgA0ENNgIIIAMgATYCBEHCASECDIsCC0HgASECDKQCCyADQQA2AgAgBkEBaiEBC0HDASECDIgCCyABIARGBEBB3wEhAgyiAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBwQEhAgyIAgsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYgCIANB3gE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILIAEgBEYEQEHdASECDKECCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYkCIANB3AE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILQcABIQIMhgILIAEgBEYEQEHbASECDKACC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDQIgA0HYATYCHCADIAE2AhQgAyAANgIMQQAhAgyiAgsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYsCIANB2QE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILIAMoAgQhACADQQA2AgQgAyAAIAEQLiIARQ2JAiADQdoBNgIcIAMgATYCFCADIAA2AgwMoAILQb8BIQIMhQILQQAhAAJAIAMoAjgiAkUNACACKAI8IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBnA02AhAgA0EhNgIMQQAhAgygAgtBvgEhAgyFAgsgA0HXATYCHCADIAE2AhQgA0HWGTYCECADQRU2AgxBACECDJ4CCyABIARGBEBB1wEhAgyeAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANB6xA2AhAgA0EJNgIMQQAhAgyeAgtBvQEhAgyDAgsgASAERgRAQdYBIQIMnQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQYAdNgIQIANBDTYCDAyeAgsgA0EANgIcIAMgATYCFCADQYAdNgIQIANBDTYCDEEAIQIMnQILQbwBIQIMggILIAEgBEYEQEHVASECDJwCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GAHTYCECADQQ02AgwMnQILIANBADYCHCADIAE2AhQgA0GAHTYCECADQQ02AgxBACECDJwCC0G7ASECDIECCyABIARGBEBB1AEhAgybAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBgB02AhAgA0ENNgIMDJwCCyADQQA2AhwgAyABNgIUIANBgB02AhAgA0ENNgIMQQAhAgybAgtBugEhAgyAAgsgASAERgRAQdMBIQIMmgILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUG5ASECDIECCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GFCzYCECADQQ02AgxBACECDJoCCyADQQA2AhwgAyABNgIUIANBhQs2AhAgA0ENNgIMQQAhAgyZAgsgASAERwRAIANBDjYCCCADIAE2AgRBASECDP8BC0HSASECDJgCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB0QEhAgyZAgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFBEAgAUEBaiEBDAQLIANB0AE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMmAILIAMoAgQhACADQQA2AgQgAyAAIAEQLCIADQEgAUEBagshAUG3ASECDPwBCyADQc8BNgIcIAMgADYCDCADIAFBAWo2AhRBACECDJUCC0G4ASECDPoBCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQc8bNgIQIANBGTYCDEEAIQIMkwILIAEgBEYEQEHPASECDJMCCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsgAEUNlgEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBvRk2AhAgA0EVNgIMQQAhAgySAgsgA0EANgIcIAMgATYCFCADQfgMNgIQIANBGzYCDEEAIQIMkQILIANBADYCHCADIAE2AhQgA0HHJzYCECADQQI2AgxBACECDJACCyABIARHBEAgA0EMNgIIIAMgATYCBEG1ASECDPYBC0HOASECDI8CCyABIARGBEBBzQEhAgyPAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB8QAhAgyEAgsgAUEBaiEBQfIAIQIMgwILIAFBAWohAUH3ACECDIICCyABQQFqIQFB+wAhAgyBAgsgAUEBaiEBQfwAIQIMgAILIAFBAWohAUH/ACECDP8BCyABQQFqIQFBgAEhAgz+AQsgAUEBaiEBQYMBIQIM/QELIAFBAWohAUGMASECDPwBCyABQQFqIQFBjQEhAgz7AQsgAUEBaiEBQY4BIQIM+gELIAFBAWohAUGbASECDPkBCyABQQFqIQFBnAEhAgz4AQsgAUEBaiEBQaIBIQIM9wELIAFBAWohAUGqASECDPYBCyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbQBIQIM9AELIAEgBEYEQEHMASECDI4CCyABLQAAQc4ARw1IIAFBAWohAUGzASECDPMBCyABIARGBEBBywEhAgyNAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUGuASECDPQBCyABQQFqIQFBsQEhAgzzAQsgAUEBaiEBQbIBIQIM8gELQcoBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEHo0wBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHJASECDIsCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBrwEhAgzxAQsgAUEBaiEBQbABIQIM8AELQcgBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm0wBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEPDEMLQccBIQIgASAERg2IAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk0wBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyJAgsgA0EANgIAIAZBAWohAUEgDEILQcYBIQIgASAERg2HAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHh0wBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyIAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHFASECDIcCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQasBIQIM7QELIAFBAWohAUGsASECDOwBC0HEASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB3tMAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBBww/C0HDASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB2NMAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBwgEhAgyEAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQacBIQIM6wELIAFBAWohAUGoASECDOoBCyABQQFqIQFBqQEhAgzpAQtBwQEhAiABIARGDYICIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQdHTAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADIMCCyADQQA2AgAgBkEBaiEBQRoMPAtBwAEhAiABIARGDYECIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQc3TAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADIICCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQb8BIQIMgQILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBowEhAgznAQsgAUEBaiEBQaYBIQIM5gELIAEgBEYEQEG+ASECDIACCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQaQBIQIM5gELIAFBAWohAUGlASECDOUBC0G9ASECIAEgBEYN/gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBxNMAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/wELIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBvAEhAgz+AQsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0G7ASECIAEgBEYN/AEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBwdMAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/QELIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBugEhAgz8AQsgAS0AAEHFAEcNNiABQQFqIQFBoQEhAgzhAQsgASAERgRAQbkBIQIM+wELAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGdASECDOMBCyABQQFqIQFBngEhAgziAQsgAUEBaiEBQZ8BIQIM4QELIAFBAWohAUGgASECDOABC0G4ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtMAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBFAwzC0G3ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBudMAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBKwwyC0G2ASECIAEgBEYN9wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBttMAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+AELIANBADYCACAGQQFqIQFBLAwxC0G1ASECIAEgBEYN9gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB4dMAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM9wELIANBADYCACAGQQFqIQFBEQwwC0G0ASECIAEgBEYN9QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBstMAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM9gELIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBswEhAgz1AQsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBkQEhAgzeAQsgAUEBaiEBQZIBIQIM3QELIAFBAWohAUGTASECDNwBCyABQQFqIQFBmAEhAgzbAQsgAUEBaiEBQZoBIQIM2gELIAEgBEYEQEGyASECDPQBCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGZASECDNoBCyABQQFqIQFBBAwtC0GxASECIAEgBEYN8gEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBsNMAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM8wELIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBsAEhAgzyAQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQZcBIQIM2AELIAFBAWohAUEiDCsLIAEgBEYEQEGvASECDPEBCyABLQAAQdAARw0rIAFBAWohAUGWASECDNYBCyABIARGBEBBrgEhAgzwAQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGUASECDNYBCyABQQFqIQFBlQEhAgzVAQtBrQEhAiABIARGDe4BIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazTAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO8BCyADQQA2AgAgBkEBaiEBQQ0MKAtBrAEhAiABIARGDe0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQeHTAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO4BCyADQQA2AgAgBkEBaiEBQQwMJwtBqwEhAiABIARGDewBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQarTAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO0BCyADQQA2AgAgBkEBaiEBQQMMJgtBqgEhAiABIARGDesBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQajTAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOwBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQakBIQIM6wELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBjwEhAgzRAQsgAUEBaiEBQZABIQIM0AELQagBIQIgASAERg3pASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm0wBqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzqAQsgA0EANgIAIAZBAWohAUEnDCMLQacBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk0wBqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEcDCILQaYBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGe0wBqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEGDCELQaUBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGZ0wBqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGkASECDOYBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQYQBIQIMzgELIAFBAWohAUGFASECDM0BCyABQQFqIQFBigEhAgzMAQsgAUEBaiEBQYsBIQIMywELQaMBIQIgASAERg3kASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGX0wBqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzlAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGiASECDOQBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGGASECDMoBCyABQQFqIQFBiQEhAgzJAQsgASAERgRAQaEBIQIM4wELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQYcBIQIMyQELIAFBAWohAUGIASECDMgBCyABIARGBEBBoAEhAgziAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GfASECIAEgBEYN4AEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBkdMAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4QELIANBADYCACAGQQFqIQFBHgwaC0GeASECIAEgBEYN3wEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBitMAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4AELIANBADYCACAGQQFqIQFBFQwZC0GdASECIAEgBEYN3gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBh9MAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3wELIANBADYCACAGQQFqIQFBFwwYC0GcASECIAEgBEYN3QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBgdMAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3gELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBmwEhAgzdAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYEBIQIMwwELIAFBAWohAUGCASECDMIBC0GaASECIAEgBEYN2wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB5tMAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3AELIANBADYCACAGQQFqIQFBCQwVC0GZASECIAEgBEYN2gEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB5NMAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM2wELIANBADYCACAGQQFqIQFBHwwUC0GYASECIAEgBEYN2QEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tIAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM2gELIANBADYCACAGQQFqIQFBAgwTC0GXASECIAEgBEYN2AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQfzSAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyABIARGBEBBlgEhAgzYAQtBASABLQAAQd8ARw0RGiABQQFqIQFB/QAhAgy9AQsgA0EANgIAIAZBAWohAUH+ACECDLwBC0GVASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBxNMAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBKQwPC0GUASECIAEgBEYN1AEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB+NIAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1QELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBkwEhAgzUAQsgAS0AAEHFAEcNDiABQQFqIQFB+gAhAgy5AQsgASAERgRAQZIBIQIM0wELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFB+AAhAgy5AQsgAUEBaiEBQfkAIQIMuAELQZEBIQIgASAERg3RASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHz0gBqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzSAQsgA0EANgIAIAZBAWohAUEjDAsLQZABIQIgASAERg3QASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHw0gBqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzRAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGPASECDNABCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQfMAIQIMtgELIAFBAWohAUH2ACECDLUBCyABIARGBEBBjgEhAgzPAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB9AAhAgy1AQsgAUEBaiEBQfUAIQIMtAELIAEgBEYEQEGNASECDM4BCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQYwBIQIgASAERg3MASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHs0gBqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzNAQsgA0EANgIAIAZBAWohAUEFDAYLQYsBIQIgASAERg3LASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHm0gBqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzMAQsgA0EANgIAIAZBAWohAUEWDAULQYoBIQIgASAERg3KASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHh0wBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzLAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGJASECDMoBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUHvACECDLABCyABQQFqIQFB8AAhAgyvAQtBiAEhAiABIARGDcgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQeDSAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMkBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGHASECDMcBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC0iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB6R42AhAgA0EGNgIMDMQBC0HuACECDKkBCyADQYYBNgIcIAMgATYCFCADIAA2AgxBACECDMIBC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANB1A42AhAgA0EgNgIMQQAhAgzBAQtB7QAhAgymAQsgA0GFATYCHCADIAE2AhQgA0HXGjYCECADQRU2AgxBACECDL8BCyABIARGBEBBhQEhAgy/AQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GGHjYCECADQQY2AgxBACECDL8BC0ECIQIMpAELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GEASECDL0BCyABIARGBEBBgwEhAgy9AQsCQCABLQAAQQlrDgRAAABAAAtB6wAhAgyiAQsgAy0AKUEFRgRAQewAIQIMogELQeoAIQIMoQELIAEgBEYEQEGCASECDLsBCyADQQ82AgggAyABNgIEDAoLIAEgBEYEQEGBASECDLoBCwJAIAEtAABBCWsOBD0AAD0AC0HpACECDJ8BCyABIARHBEAgA0EPNgIIIAMgATYCBEHnACECDJ8BC0GAASECDLgBCwJAIAEgBEcEQANAIAEtAABB4M4Aai0AACIAQQNHBEACQCAAQQFrDgI/AAQLQeYAIQIMoQELIAQgAUEBaiIBRw0AC0H+ACECDLkBC0H+ACECDLgBCyADQQA2AhwgAyABNgIUIANBxh82AhAgA0EHNgIMQQAhAgy3AQsgASAERgRAQf8AIQIMtwELAkACQAJAIAEtAABB4NAAai0AAEEBaw4DPAIAAQtB6AAhAgyeAQsgA0EANgIcIAMgATYCFCADQYYSNgIQIANBBzYCDEEAIQIMtwELQeAAIQIMnAELIAEgBEcEQCABQQFqIQFB5QAhAgycAQtB/QAhAgy1AQsgBCABIgBGBEBB/AAhAgy1AQsgAC0AACIBQS9GBEAgAEEBaiEBQeQAIQIMmwELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDTcMAQsgBCABIgBGBEBB+wAhAgy0AQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQcYfNgIQIANBBzYCDAyyAQsCQAJAAkACQAJAA0AgAS0AAEHgzABqLQAAIgBBBUcEQAJAAkAgAEEBaw4IPQUGBwgABAEIC0HhACECDJ8BCyABQQFqIQFB4wAhAgyeAQsgBCABQQFqIgFHDQALQfoAIQIMtgELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy0AQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyzAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyyAQsgA0EANgIcIAMgATYCFCADQcsPNgIQIANBBzYCDEEAIQIMsQELIAEgBEYEQEH5ACECDLEBCwJAIAEtAABB4MwAai0AAEEBaw4INAQFBgAIAgMHCyABQQFqIQELQQMhAgyVAQsgAUEBagwNC0EAIQIgA0EANgIcIANBoxI2AhAgA0EHNgIMIAMgAUEBajYCFAytAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgysAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgA0EANgIcIAMgATYCFCADQcsPNgIQIANBBzYCDEEAIQIMqQELQeIAIQIMjgELIAEgBEYEQEH4ACECDKgBCyABQQFqDAILIAEgBEYEQEH3ACECDKcBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyKAQtB9gAhAgyjAQsDQCABLQAAQeDKAGotAAAiAEECRwRAIABBAUcEQEHfACECDIsBCwwnCyAEIAFBAWoiAUcNAAtB9QAhAgyiAQsgASAERgRAQfQAIQIMogELAkAgAS0AAEEJaw43JQMGJQQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDIYBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMngELIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMnQELIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB8AA2AhwgAyABNgIUIAMgADYCDEEAIQIMnAELIANBADYCHCADIAE2AhQgA0G8EzYCECADQQc2AgxBACECDJsBCwJAAkACQAJAA0AgAS0AAEHgyABqLQAAIgBBBUcEQAJAIABBAWsOBiQDBAUGAAYLQd4AIQIMhgELIAQgAUEBaiIBRw0AC0HzACECDJ4BCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDJ0BCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDJwBCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQfAANgIcIAMgATYCFCADIAA2AgxBACECDJsBCyADQQA2AhwgAyABNgIUIANB3Ag2AhAgA0EHNgIMQQAhAgyaAQsgASAERg0BIAFBAWoLIQFBBiECDH4LQfIAIQIMlwELAkACQAJAAkADQCABLQAAQeDGAGotAAAiAEEFRwRAIABBAWsOBB8CAwQFCyAEIAFBAWoiAUcNAAtB8QAhAgyaAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyZAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyYAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyXAQsgA0EANgIcIAMgATYCFCADQbQKNgIQIANBBzYCDEEAIQIMlgELQc4AIQIMewtB0AAhAgx6C0HdACECDHkLIAEgBEYEQEHwACECDJMBCwJAIAEtAABBCWsOBBYAABYACyABQQFqIQFB3AAhAgx4CyABIARGBEBB7wAhAgySAQsCQCABLQAAQQlrDgQVAAAVAAtBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUEQEHTASECDHgLIABBFUcEQCADQQA2AhwgAyABNgIUIANBwQ02AhAgA0EaNgIMQQAhAgySAQsgA0HuADYCHCADIAE2AhQgA0HwGTYCECADQRU2AgxBACECDJEBC0HtACECIAEgBEYNkAEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB18YAai0AAEcNBCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkQELIANBADYCACAGQQFqIQEgAy0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACECIANBADYCHCADIAE2AhQgA0HlCTYCECADQQg2AgwMkAELQewAIQIgASAERg2PASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHUxgBqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyQAQsgA0EANgIAIAZBAWohASADLQApQSFGDQMgA0EANgIcIAMgATYCFCADQYkKNgIQIANBCDYCDEEAIQIMjwELQesAIQIgASAERg2OASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHQxgBqLQAARw0CIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyPAQsgA0EANgIAIAZBAWohASADLQApIgBBI0kNAiAAQS5GDQIgA0EANgIcIAMgATYCFCADQcEJNgIQIANBCDYCDEEAIQIMjgELIANBADYCAAtBACECIANBADYCHCADIAE2AhQgA0GENzYCECADQQg2AgwMjAELQdgAIQIMcQsgASAERwRAIANBDTYCCCADIAE2AgRB1wAhAgxxC0HqACECDIoBCyABIARGBEBB6QAhAgyKAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1gAhAgxwCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdCADQegANgIcIAMgATYCFCADIAA2AgxBACECDIkBCyABIARGBEBB5wAhAgyJAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLiIARQ11IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMiQELQdUAIQIMbgsgASAERgRAQeUAIQIMiAELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDIoBCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdyADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIkBCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdSADQeQANgIcIAMgATYCFCADIAA2AgwMiAELQdMAIQIMbQsgAy0AKUEiRg2AAUHSACECDGwLQQAhAAJAIAMoAjgiAkUNACACKAI8IgJFDQAgAyACEQAAIQALIABFBEBB1AAhAgxsCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQZwNNgIQIANBITYCDEEAIQIMhgELIANB4QA2AhwgAyABNgIUIANB1hk2AhAgA0EVNgIMQQAhAgyFAQsgASAERgRAQeAAIQIMhQELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HRACECDGwLIANBADYCHCADIAE2AhQgA0GIETYCECADQQk2AgxBACECDIUBCyADQQA2AhwgAyABNgIUIANBiBE2AhAgA0EJNgIMQQAhAgyEAQsgASAERgRAQd8AIQIMhAELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBiBE2AhAgA0ECNgIMQQAhAgyDAQsgASAERgRAQd0AIQIMgwELIAEtAAAiAkENRgRAIAFBAWohAUHPACECDGkLIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyCAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0G1LDYCECADQQc2AgwMgAELIAEgBEYEQEHbACECDIABCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc0AIQIMZAsgASAERgRAQdoAIQIMfgsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0HsETYCECADQQc2AgwgAyABQQFqNgIUDHwLIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HwGTYCECADQRU2AgxBACECDHsLQcwAIQIMYAsgA0EANgIcIAMgATYCFCADQcENNgIQIANBGjYCDEEAIQIMeQsgASAERgRAQdkAIQIMeQsgAS0AAEEgRw06IAFBAWohASADLQAuQQFxDTogA0EANgIcIAMgATYCFCADQa0bNgIQIANBHjYCDEEAIQIMeAsgASAERgRAQdgAIQIMeAsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUErIQIMYQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0G5ETYCECADQQo2AgxBACECDHoLIAFBAWohASADQS9qLQAAQQFxRQ1tIAMtADJBgAFxRQRAIANBMmohAiADEDRBACEAAkAgAygCOCIGRQ0AIAYoAiQiBkUNACADIAYRAAAhAAsCQAJAIAAOFkpJSAEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBshg2AhAgA0EVNgIMQQAhAgx7CyADQQA2AhwgAyABNgIUIANB3Qs2AhAgA0ERNgIMQQAhAgx6C0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAARQ1VIABBFUcNASADQQU2AhwgAyABNgIUIANBhho2AhAgA0EVNgIMQQAhAgx5C0HKACECDF4LQQAhAiADQQA2AhwgAyABNgIUIANB4g02AhAgA0EUNgIMDHcLIAMgAy8BMkGAAXI7ATIMOAsgASAERwRAIANBEDYCCCADIAE2AgRByQAhAgxcC0HXACECDHULIAEgBEYEQEHWACECDHULAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAPT09PT09PT09PT09AT09PQIDPQsgAUEBaiEBQcUAIQIMXQsgAUEBaiEBQcYAIQIMXAsgAUEBaiEBQccAIQIMWwsgAUEBaiEBQcgAIQIMWgtB1QAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQcDGAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHMLQdQAIQIgBCABIgBGDXIgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGwxgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxyC0HTACECIAQgASIARg1xIAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFBksYAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMcQtB0gAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQZDGAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHALIAEgBEYEQEHRACECDHALAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA2NjY2NgE2CyABQQFqIQFBwgAhAgxWCyABQQFqIQFBwwAhAgxVCyADQQA2AgAgBkEBaiEBQcQAIQIMVAtB0AAhAiAEIAEiAEYNbSAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQYbGAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADG0LQc8AIQIgBCABIgBGDWwgBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUGAxgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxsCyAAIQEgA0EANgIADDALQQELOgAsIANBADYCACAHQQFqIQELQSwhAgxOCwJAA0AgAS0AAEGAxABqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMaAtBwQAhAgxNCyABIARGBEBBzAAhAgxnCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAvIgBFDTAgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxnCyADQQA2AhwgAyABNgIUIANBuRE2AhAgA0EKNgIMQQAhAgxmCwJAAkAgAy0ALEECaw4CAAEkCyADQTNqLQAAQQJxRQ0jIAMtAC5BAnENIyADQQA2AhwgAyABNgIUIANB1RM2AhAgA0ELNgIMQQAhAgxmCyADLQAyQSBxRQ0iIAMtAC5BAnENIiADQQA2AhwgAyABNgIUIANB7BI2AhAgA0EPNgIMQQAhAgxlC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQRAQcAAIQIMSwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0H4DjYCECADQRw2AgxBACECDGULIANBygA2AhwgAyABNgIUIANB8Bo2AhAgA0EVNgIMQQAhAgxkCyABIARHBEADQCABLQAAQfA/ai0AAEEBRw0XIAQgAUEBaiIBRw0AC0HEACECDGQLQcQAIQIMYwsgASAERwRAA0ACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcSIAQQlGDQAgAEEgRg0AAkACQAJAAkAgAEHjAGsOEwADAwMDAwMDAQMDAwMDAwMDAwIDCyABQQFqIQFBNSECDE4LIAFBAWohAUE2IQIMTQsgAUEBaiEBQTchAgxMCwwVCyAEIAFBAWoiAUcNAAtBPCECDGMLQTwhAgxiCyABIARGBEBByAAhAgxiCyADQRE2AgggAyABNgIEAkACQAJAAkACQCADLQAsQQFrDgQUAAECCQsgAy0AMkEgcQ0DQdEBIQIMSwsCQCADLwEyIgBBCHFFDQAgAy0AKEEBRw0AIAMtAC5BCHFFDQILIAMgAEH3+wNxQYAEcjsBMgwLCyADIAMvATJBEHI7ATIMBAsgA0EANgIEIAMgASABEDAiAARAIANBwQA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMYwsgAUEBaiEBDFILIANBADYCHCADIAE2AhQgA0GjEzYCECADQQQ2AgxBACECDGELQccAIQIgASAERg1gIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEHwwwBqLQAAIAEtAABBIHJHDQEgAEEGRg1GIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADGELIANBADYCAAwFCwJAIAEgBEcEQANAIAEtAABB8MEAai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBxQAhAgxhC0HFACECDGALCyADQQA6ACwMAQtBCyECDEMLQT4hAgxCCwJAAkADQCABLQAAIgBBIEcEQAJAIABBCmsOBAMFBQMACyAAQSxGDQMMBAsgBCABQQFqIgFHDQALQcYAIQIMXQsgA0EIOgAsDA4LIAMtAChBAUcNAiADLQAuQQhxDQIgAygCBCEAIANBADYCBCADIAAgARAwIgAEQCADQcIANgIcIAMgADYCDCADIAFBAWo2AhRBACECDFwLIAFBAWohAQxKC0E6IQIMQAsCQANAIAEtAAAiAEEgRyAAQQlHcQ0BIAQgAUEBaiIBRw0AC0HDACECDFoLC0E7IQIMPgsCQAJAIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBAMEBAMECyAEIAFBAWoiAUcNAAtBPyECDFoLQT8hAgxZCyADIAMvATJBIHI7ATIMCgsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDUggA0E+NgIcIAMgATYCFCADIAA2AgxBACECDFcLAkAgASAERwRAA0AgAS0AAEHwwQBqLQAAIgBBAUcEQCAAQQJGDQMMDAsgBCABQQFqIgFHDQALQTchAgxYC0E3IQIMVwsgAUEBaiEBDAQLQTshAiAEIAEiAEYNVSAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcCQANAIAFBwMYAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQVGBEBBByEBDDsLIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFYLIANBADYCACAAIQEMBQtBOiECIAQgASIARg1UIAQgAWsgAygCACIBaiEGIAAgAWtBCGohBwJAA0AgAUHkP2otAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEIRgRAQQUhAQw6CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxVCyADQQA2AgAgACEBDAQLQTkhAiAEIAEiAEYNUyAEIAFrIAMoAgAiAWohBiAAIAFrQQNqIQcCQANAIAFB4D9qLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMOQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVAsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMUwsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPSECDDcLIANBADoALAtBOCECDDULIAEgBEYEQEE2IQIMTwsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDAiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMUgsgAygCBCEAIANBADYCBCADIAAgARAwIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxRCyADLQAuQQFxBEBB0AEhAgw3CyADKAIEIQAgA0EANgIEIAMgACABEDAiAA0BDEMLQTMhAgw1CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMTgtBNCECDDMLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB8RU2AhAgA0EZNgIMQQAhAgxMC0EyIQIMMQsgASAERgRAQTIhAgxLCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZgWNgIQIANBAzYCDEEAIQIMSwtBMSECDDALIAEgBEYEQEExIQIMSgsgAS0AACIAQQlHIABBIEdxDQEgAy0ALEEIRw0AIANBADoALAtBPCECDC4LQQEhAgJAAkACQAJAIAMtACxBBWsOBAMBAgAKCyADIAMvATJBCHI7ATIMCQtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgwGCyABIARGBEBBMCECDEcLIAEtAABBCkYEQCABQQFqIQEMAQsgAy0ALkEBcQ0AIANBADYCHCADIAE2AhQgA0HHJzYCECADQQI2AgxBACECDEYLQS8hAgwrCyABQQFqIQFBMCECDCoLIAEgBEYEQEEvIQIMRAsgAS0AACIAQQlHIABBIEdxRQRAIAFBAWohASADLQAuQQFxDQEgA0EANgIcIAMgATYCFCADQekPNgIQIANBCjYCDEEAIQIMRAtBASECAkACQAJAAkACQAJAIAMtACxBAmsOBwUEBAMBAgAECyADIAMvATJBCHI7ATIMAwtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgtBLiECDCoLIANBADYCHCADIAE2AhQgA0GzEjYCECADQQs2AgxBACECDEMLQdIBIQIMKAsgASAERgRAQS4hAgxCCyADQQA2AgQgA0ERNgIIIAMgASABEDAiAA0BC0EtIQIMJgsgA0EtNgIcIAMgATYCFCADIAA2AgxBACECDD8LQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2AA2AhwgAyABNgIUIANBnho2AhAgA0EVNgIMQQAhAgw+C0HLACECDCMLIANBADYCHCADIAE2AhQgA0GFDjYCECADQR02AgxBACECDDwLIAEgBEYEQEHOACECDDwLIAEtAAAiAEEgRg0CIABBOkYNAQsgA0EAOgAsQQkhAgwgCyADKAIEIQAgA0EANgIEIAMgACABEC8iAA0BDAILIAMtAC5BAXEEQEHPASECDB8LIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANBKjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgw4CyADQcsANgIcIAMgADYCDCADIAFBAWo2AhRBACECDDcLIAFBAWohAUE/IQIMHAsgAUEBaiEBDCkLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIABFDREgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GGGjYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0HiDTYCECADQRQ2AgxBACECDDULIANBMmohAiADEDRBACEAAkAgAygCOCIGRQ0AIAYoAiQiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKiECDBcLIANBKTYCHCADIAE2AhQgA0GyGDYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HdCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GdCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNUEAR0ECdCEADAELQQBBAyADKQMgUBshAAsCQCAAQQFrDgUAAQYHAgMLQQAhAgJAIAMoAjgiAEUNACAAKAIsIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0G9GjYCECADQRU2AgxBACECDC4LQQAhAiADQQA2AhwgAyABNgIUIANBrw42AhAgA0ESNgIMDC0LQc4BIQIMEgtBACECIANBADYCHCADIAE2AhQgA0HkHzYCECADQQ82AgwMKwtBACEAAkAgAygCOCICRQ0AIAIoAiwiAkUNACADIAIRAAAhAAsgAA0BC0EOIQIMDwsgAEEVRgRAIANBAjYCHCADIAE2AhQgA0G9GjYCECADQRU2AgxBACECDCkLQQAhAiADQQA2AhwgAyABNgIUIANBrw42AhAgA0ESNgIMDCgLQSkhAgwNCyADQQE6ADEMJAsgASAERwRAIANBCTYCCCADIAE2AgRBKCECDAwLQSYhAgwlCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwlCyADKAIEIQBBACECIANBADYCBCADIAAgASAMp2oiARAxIgBFDQAgA0EFNgIcIAMgATYCFCADIAA2AgwMJAtBDyECDAkLIAEgBEYEQEEjIQIMIwtCACEKAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsONxcWAAECAwQFBgcUFBQUFBQUCAkKCwwNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQODxAREhMUC0ICIQoMFgtCAyEKDBULQgQhCgwUC0IFIQoMEwtCBiEKDBILQgchCgwRC0IIIQoMEAtCCSEKDA8LQgohCgwOC0ILIQoMDQtCDCEKDAwLQg0hCgwLC0IOIQoMCgtCDyEKDAkLQgohCgwIC0ILIQoMBwtCDCEKDAYLQg0hCgwFC0IOIQoMBAtCDyEKDAMLQQAhAiADQQA2AhwgAyABNgIUIANBzhQ2AhAgA0EMNgIMDCILIAEgBEYEQEEiIQIMIgtCACEKAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcVFAABAgMEBQYHFhYWFhYWFggJCgsMDRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDg8QERITFgtCAiEKDBQLQgMhCgwTC0IEIQoMEgtCBSEKDBELQgYhCgwQC0IHIQoMDwtCCCEKDA4LQgkhCgwNC0IKIQoMDAtCCyEKDAsLQgwhCgwKC0INIQoMCQtCDiEKDAgLQg8hCgwHC0IKIQoMBgtCCyEKDAULQgwhCgwEC0INIQoMAwtCDiEKDAILQg8hCgwBC0IBIQoLIAFBAWohASADKQMgIgtC//////////8PWARAIAMgC0IEhiAKhDcDIAwCC0EAIQIgA0EANgIcIAMgATYCFCADQa0JNgIQIANBDDYCDAwfC0ElIQIMBAtBJiECDAMLIAMgAToALCADQQA2AgAgB0EBaiEBQQwhAgwCCyADQQA2AgAgBkEBaiEBQQohAgwBCyABQQFqIQFBCCECDAALAAtBACECIANBADYCHCADIAE2AhQgA0HVEDYCECADQQk2AgwMGAtBACECIANBADYCHCADIAE2AhQgA0HXCjYCECADQQk2AgwMFwtBACECIANBADYCHCADIAE2AhQgA0G/EDYCECADQQk2AgwMFgtBACECIANBADYCHCADIAE2AhQgA0GkETYCECADQQk2AgwMFQtBACECIANBADYCHCADIAE2AhQgA0HVEDYCECADQQk2AgwMFAtBACECIANBADYCHCADIAE2AhQgA0HXCjYCECADQQk2AgwMEwtBACECIANBADYCHCADIAE2AhQgA0G/EDYCECADQQk2AgwMEgtBACECIANBADYCHCADIAE2AhQgA0GkETYCECADQQk2AgwMEQtBACECIANBADYCHCADIAE2AhQgA0G/FjYCECADQQ82AgwMEAtBACECIANBADYCHCADIAE2AhQgA0G/FjYCECADQQ82AgwMDwtBACECIANBADYCHCADIAE2AhQgA0HIEjYCECADQQs2AgwMDgtBACECIANBADYCHCADIAE2AhQgA0GVCTYCECADQQs2AgwMDQtBACECIANBADYCHCADIAE2AhQgA0HpDzYCECADQQo2AgwMDAtBACECIANBADYCHCADIAE2AhQgA0GDEDYCECADQQo2AgwMCwtBACECIANBADYCHCADIAE2AhQgA0GmHDYCECADQQI2AgwMCgtBACECIANBADYCHCADIAE2AhQgA0HFFTYCECADQQI2AgwMCQtBACECIANBADYCHCADIAE2AhQgA0H/FzYCECADQQI2AgwMCAtBACECIANBADYCHCADIAE2AhQgA0HKFzYCECADQQI2AgwMBwsgA0ECNgIcIAMgATYCFCADQZQdNgIQIANBFjYCDEEAIQIMBgtB3gAhAiABIARGDQUgCUEIaiEHIAMoAgAhBQJAAkAgASAERwRAIAVBxsYAaiEIIAQgBWogAWshBiAFQX9zQQpqIgUgAWohAANAIAEtAAAgCC0AAEcEQEECIQgMAwsgBUUEQEEAIQggACEBDAMLIAVBAWshBSAIQQFqIQggBCABQQFqIgFHDQALIAYhBSAEIQELIAdBATYCACADIAU2AgAMAQsgA0EANgIAIAcgCDYCAAsgByABNgIEIAkoAgwhACAJKAIIDgMBBQIACwALIANBADYCHCADQa0dNgIQIANBFzYCDCADIABBAWo2AhRBACECDAMLIANBADYCHCADIAA2AhQgA0HCHTYCECADQQk2AgxBACECDAILIAEgBEYEQEEoIQIMAgsgA0EJNgIIIAMgATYCBEEnIQIMAQsgASAERgRAQQEhAgwBCwNAAkACQAJAIAEtAABBCmsOBAABAQABCyABQQFqIQEMAQsgAUEBaiEBIAMtAC5BIHENAEEAIQIgA0EANgIcIAMgATYCFCADQYwgNgIQIANBBTYCDAwCC0EBIQIgASAERw0ACwsgCUEQaiQAIAJFBEAgAygCDCEADAELIAMgAjYCHEEAIQAgAygCBCIBRQ0AIAMgASAEIAMoAggRAQAiAUUNACADIAQ2AhQgAyABNgIMIAEhAAsgAAu+AgECfyAAQQA6AAAgAEHcAGoiAUEBa0EAOgAAIABBADoAAiAAQQA6AAEgAUEDa0EAOgAAIAFBAmtBADoAACAAQQA6AAMgAUEEa0EAOgAAQQAgAGtBA3EiASAAaiIAQQA2AgBB3AAgAWtBfHEiAiAAaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC1YBAX8CQCAAKAIMDQACQAJAAkACQCAALQAxDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgAREAACIBDQMLQQAPCwALIABB0Bg2AhBBDiEBCyABCxoAIAAoAgxFBEAgAEHJHjYCECAAQRU2AgwLCxQAIAAoAgxBFUYEQCAAQQA2AgwLCxQAIAAoAgxBFkYEQCAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsXACAAQSRPBEAACyAAQQJ0QZQ3aigCAAsXACAAQS9PBEAACyAAQQJ0QaQ4aigCAAu/CQEBf0HfLCEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHkAGsO9ANjYgABYWFhYWFhAgMEBWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEGBwgJCgsMDQ4PYWFhYWEQYWFhYWFhYWFhYWERYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhEhMUFRYXGBkaG2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEcHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTZhNzg5OmFhYWFhYWFhO2FhYTxhYWFhPT4/YWFhYWFhYWFAYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQkNERUZHSElKS0xNTk9QUVJTYWFhYWFhYWFUVVZXWFlaW2FcXWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV5hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFfYGELQdUrDwtBgyUPC0G/MA8LQfI1DwtBtCgPC0GfKA8LQYEsDwtB1ioPC0H0Mw8LQa0zDwtByygPC0HOIw8LQcAjDwtB2SMPC0HRJA8LQZwzDwtBojYPC0H8Mw8LQeArDwtB4SUPC0HtIA8LQcQyDwtBqScPC0G5Ng8LQbggDwtBqyAPC0GjJA8LQbYkDwtBgSMPC0HhMg8LQZ80DwtByCkPC0HAMg8LQe4yDwtB8C8PC0HGNA8LQdAhDwtBmiQPC0HrLw8LQYQ1DwtByzUPC0GWMQ8LQcgrDwtB1C8PC0GTMA8LQd81DwtBtCMPC0G+NQ8LQdIpDwtBsyIPC0HNIA8LQZs2DwtBkCEPC0H/IA8LQa01DwtBsDQPC0HxJA8LQacqDwtB3TAPC0GLIg8LQcgvDwtB6yoPC0H0KQ8LQY8lDwtB3SIPC0HsJg8LQf0wDwtB1iYPC0GUNQ8LQY0jDwtBuikPC0HHIg8LQfIlDwtBtjMPC0GiIQ8LQf8vDwtBwCEPC0GBMw8LQcklDwtBqDEPC0HGMw8LQdM2DwtBxjYPC0HkNA8LQYgmDwtB7ScPC0H4IQ8LQakwDwtBjzQPC0GGNg8LQaovDwtBoSYPC0HsNg8LQZIpDwtBryYPC0GZIg8LQeAhDwsAC0G1JSEBCyABCxcAIAAgAC8BLkH+/wNxIAFBAEdyOwEuCxoAIAAgAC8BLkH9/wNxIAFBAEdBAXRyOwEuCxoAIAAgAC8BLkH7/wNxIAFBAEdBAnRyOwEuCxoAIAAgAC8BLkH3/wNxIAFBAEdBA3RyOwEuCxoAIAAgAC8BLkHv/wNxIAFBAEdBBHRyOwEuCxoAIAAgAC8BLkHf/wNxIAFBAEdBBXRyOwEuCxoAIAAgAC8BLkG//wNxIAFBAEdBBnRyOwEuCxoAIAAgAC8BLkH//gNxIAFBAEdBB3RyOwEuCxoAIAAgAC8BLkH//QNxIAFBAEdBCHRyOwEuCxoAIAAgAC8BLkH/+wNxIAFBAEdBCXRyOwEuCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBzhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB5Ao2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB5R02AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBnRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBoh42AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7hQ2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9xs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRU2AhBBGCEECyAECzgAIAACfyAALwEyQRRxQRRGBEBBASAALQAoQQFGDQEaIAAvATRB5QBGDAELIAAtAClBBUYLOgAwC1kBAn8CQCAALQAoQQFGDQAgAC8BNCIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMiIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEyIgFBAnFFDQEMAgsgAC8BMiIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATQiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtXACAAQRhqQgA3AwAgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIABB7AE2AhwLBgAgABA5C5otAQt/IwBBEGsiCiQAQZjUACgCACIJRQRAQdjXACgCACIFRQRAQeTXAEJ/NwIAQdzXAEKAgISAgIDAADcCAEHY1wAgCkEIakFwcUHYqtWqBXMiBTYCAEHs1wBBADYCAEG81wBBADYCAAtBwNcAQYDYBDYCAEGQ1ABBgNgENgIAQaTUACAFNgIAQaDUAEF/NgIAQcTXAEGAqAM2AgADQCABQbzUAGogAUGw1ABqIgI2AgAgAiABQajUAGoiAzYCACABQbTUAGogAzYCACABQcTUAGogAUG41ABqIgM2AgAgAyACNgIAIAFBzNQAaiABQcDUAGoiAjYCACACIAM2AgAgAUHI1ABqIAI2AgAgAUEgaiIBQYACRw0AC0GM2ARBwacDNgIAQZzUAEHo1wAoAgA2AgBBjNQAQcCnAzYCAEGY1ABBiNgENgIAQcz/B0E4NgIAQYjYBCEJCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFNBEBBgNQAKAIAIgZBECAAQRNqQXBxIABBC0kbIgRBA3YiAHYiAUEDcQRAAkAgAUEBcSAAckEBcyICQQN0IgBBqNQAaiIBIABBsNQAaigCACIAKAIIIgNGBEBBgNQAIAZBfiACd3E2AgAMAQsgASADNgIIIAMgATYCDAsgAEEIaiEBIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDBELQYjUACgCACIIIARPDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIAQQN0IgJBqNQAaiIBIAJBsNQAaigCACICKAIIIgNGBEBBgNQAIAZBfiAAd3EiBjYCAAwBCyABIAM2AgggAyABNgIMCyACIARBA3I2AgQgAEEDdCIAIARrIQUgACACaiAFNgIAIAIgBGoiBCAFQQFyNgIEIAgEQCAIQXhxQajUAGohAEGU1AAoAgAhAwJ/QQEgCEEDdnQiASAGcUUEQEGA1AAgASAGcjYCACAADAELIAAoAggLIgEgAzYCDCAAIAM2AgggAyAANgIMIAMgATYCCAsgAkEIaiEBQZTUACAENgIAQYjUACAFNgIADBELQYTUACgCACILRQ0BIAtoQQJ0QbDWAGooAgAiACgCBEF4cSAEayEFIAAhAgNAAkAgAigCECIBRQRAIAJBFGooAgAiAUUNAQsgASgCBEF4cSAEayIDIAVJIQIgAyAFIAIbIQUgASAAIAIbIQAgASECDAELCyAAKAIYIQkgACgCDCIDIABHBEBBkNQAKAIAGiADIAAoAggiATYCCCABIAM2AgwMEAsgAEEUaiICKAIAIgFFBEAgACgCECIBRQ0DIABBEGohAgsDQCACIQcgASIDQRRqIgIoAgAiAQ0AIANBEGohAiADKAIQIgENAAsgB0EANgIADA8LQX8hBCAAQb9/Sw0AIABBE2oiAUFwcSEEQYTUACgCACIIRQ0AQQAgBGshBQJAAkACQAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIARBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBsNYAaigCACICRQRAQQAhAUEAIQMMAQtBACEBIARBGSAGQQF2a0EAIAZBH0cbdCEAQQAhAwNAAkAgAigCBEF4cSAEayIHIAVPDQAgAiEDIAciBQ0AQQAhBSACIQEMAwsgASACQRRqKAIAIgcgByACIABBHXZBBHFqQRBqKAIAIgJGGyABIAcbIQEgAEEBdCEAIAINAAsLIAEgA3JFBEBBACEDQQIgBnQiAEEAIABrciAIcSIARQ0DIABoQQJ0QbDWAGooAgAhAQsgAUUNAQsDQCABKAIEQXhxIARrIgIgBUkhACACIAUgABshBSABIAMgABshAyABKAIQIgAEfyAABSABQRRqKAIACyIBDQALCyADRQ0AIAVBiNQAKAIAIARrTw0AIAMoAhghByADIAMoAgwiAEcEQEGQ1AAoAgAaIAAgAygCCCIBNgIIIAEgADYCDAwOCyADQRRqIgIoAgAiAUUEQCADKAIQIgFFDQMgA0EQaiECCwNAIAIhBiABIgBBFGoiAigCACIBDQAgAEEQaiECIAAoAhAiAQ0ACyAGQQA2AgAMDQtBiNQAKAIAIgMgBE8EQEGU1AAoAgAhAQJAIAMgBGsiAkEQTwRAIAEgBGoiACACQQFyNgIEIAEgA2ogAjYCACABIARBA3I2AgQMAQsgASADQQNyNgIEIAEgA2oiACAAKAIEQQFyNgIEQQAhAEEAIQILQYjUACACNgIAQZTUACAANgIAIAFBCGohAQwPC0GM1AAoAgAiAyAESwRAIAQgCWoiACADIARrIgFBAXI2AgRBmNQAIAA2AgBBjNQAIAE2AgAgCSAEQQNyNgIEIAlBCGohAQwPC0EAIQEgBAJ/QdjXACgCAARAQeDXACgCAAwBC0Hk1wBCfzcCAEHc1wBCgICEgICAwAA3AgBB2NcAIApBDGpBcHFB2KrVqgVzNgIAQezXAEEANgIAQbzXAEEANgIAQYCABAsiACAEQccAaiIFaiIGQQAgAGsiB3EiAk8EQEHw1wBBMDYCAAwPCwJAQbjXACgCACIBRQ0AQbDXACgCACIIIAJqIQAgACABTSAAIAhLcQ0AQQAhAUHw1wBBMDYCAAwPC0G81wAtAABBBHENBAJAAkAgCQRAQcDXACEBA0AgASgCACIAIAlNBEAgACABKAIEaiAJSw0DCyABKAIIIgENAAsLQQAQOiIAQX9GDQUgAiEGQdzXACgCACIBQQFrIgMgAHEEQCACIABrIAAgA2pBACABa3FqIQYLIAQgBk8NBSAGQf7///8HSw0FQbjXACgCACIDBEBBsNcAKAIAIgcgBmohASABIAdNDQYgASADSw0GCyAGEDoiASAARw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGEDohACAAIAEoAgAgASgCBGpGDQMgACEBCwJAIAYgBEHIAGpPDQAgAUF/Rg0AQeDXACgCACIAIAUgBmtqQQAgAGtxIgBB/v///wdLBEAgASEADAcLIAAQOkF/RwRAIAAgBmohBiABIQAMBwtBACAGaxA6GgwECyABIgBBf0cNBQwDC0EAIQMMDAtBACEADAoLIABBf0cNAgtBvNcAQbzXACgCAEEEcjYCAAsgAkH+////B0sNASACEDohAEEAEDohASAAQX9GDQEgAUF/Rg0BIAAgAU8NASABIABrIgYgBEE4ak0NAQtBsNcAQbDXACgCACAGaiIBNgIAQbTXACgCACABSQRAQbTXACABNgIACwJAAkACQEGY1AAoAgAiAgRAQcDXACEBA0AgACABKAIAIgMgASgCBCIFakYNAiABKAIIIgENAAsMAgtBkNQAKAIAIgFBAEcgACABT3FFBEBBkNQAIAA2AgALQQAhAUHE1wAgBjYCAEHA1wAgADYCAEGg1ABBfzYCAEGk1ABB2NcAKAIANgIAQczXAEEANgIAA0AgAUG81ABqIAFBsNQAaiICNgIAIAIgAUGo1ABqIgM2AgAgAUG01ABqIAM2AgAgAUHE1ABqIAFBuNQAaiIDNgIAIAMgAjYCACABQczUAGogAUHA1ABqIgI2AgAgAiADNgIAIAFByNQAaiACNgIAIAFBIGoiAUGAAkcNAAtBeCAAa0EPcSIBIABqIgIgBkE4ayIDIAFrIgFBAXI2AgRBnNQAQejXACgCADYCAEGM1AAgATYCAEGY1AAgAjYCACAAIANqQTg2AgQMAgsgACACTQ0AIAIgA0kNACABKAIMQQhxDQBBeCACa0EPcSIAIAJqIgNBjNQAKAIAIAZqIgcgAGsiAEEBcjYCBCABIAUgBmo2AgRBnNQAQejXACgCADYCAEGM1AAgADYCAEGY1AAgAzYCACACIAdqQTg2AgQMAQsgAEGQ1AAoAgBJBEBBkNQAIAA2AgALIAAgBmohA0HA1wAhAQJAAkACQANAIAMgASgCAEcEQCABKAIIIgENAQwCCwsgAS0ADEEIcUUNAQtBwNcAIQEDQCABKAIAIgMgAk0EQCADIAEoAgRqIgUgAksNAwsgASgCCCEBDAALAAsgASAANgIAIAEgASgCBCAGajYCBCAAQXggAGtBD3FqIgkgBEEDcjYCBCADQXggA2tBD3FqIgYgBCAJaiIEayEBIAIgBkYEQEGY1AAgBDYCAEGM1ABBjNQAKAIAIAFqIgA2AgAgBCAAQQFyNgIEDAgLQZTUACgCACAGRgRAQZTUACAENgIAQYjUAEGI1AAoAgAgAWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAgLIAYoAgQiBUEDcUEBRw0GIAVBeHEhCCAFQf8BTQRAIAVBA3YhAyAGKAIIIgAgBigCDCICRgRAQYDUAEGA1AAoAgBBfiADd3E2AgAMBwsgAiAANgIIIAAgAjYCDAwGCyAGKAIYIQcgBiAGKAIMIgBHBEAgACAGKAIIIgI2AgggAiAANgIMDAULIAZBFGoiAigCACIFRQRAIAYoAhAiBUUNBCAGQRBqIQILA0AgAiEDIAUiAEEUaiICKAIAIgUNACAAQRBqIQIgACgCECIFDQALIANBADYCAAwEC0F4IABrQQ9xIgEgAGoiByAGQThrIgMgAWsiAUEBcjYCBCAAIANqQTg2AgQgAiAFQTcgBWtBD3FqQT9rIgMgAyACQRBqSRsiA0EjNgIEQZzUAEHo1wAoAgA2AgBBjNQAIAE2AgBBmNQAIAc2AgAgA0EQakHI1wApAgA3AgAgA0HA1wApAgA3AghByNcAIANBCGo2AgBBxNcAIAY2AgBBwNcAIAA2AgBBzNcAQQA2AgAgA0EkaiEBA0AgAUEHNgIAIAUgAUEEaiIBSw0ACyACIANGDQAgAyADKAIEQX5xNgIEIAMgAyACayIFNgIAIAIgBUEBcjYCBCAFQf8BTQRAIAVBeHFBqNQAaiEAAn9BgNQAKAIAIgFBASAFQQN2dCIDcUUEQEGA1AAgASADcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbDWAGohAEGE1AAoAgAiA0EBIAF0IgZxRQRAIAAgAjYCAEGE1AAgAyAGcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQMCQANAIAMiACgCBEF4cSAFRg0BIAFBHXYhAyABQQF0IQEgACADQQRxakEQaiIGKAIAIgMNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAtBjNQAKAIAIgEgBE0NAEGY1AAoAgAiACAEaiICIAEgBGsiAUEBcjYCBEGM1AAgATYCAEGY1AAgAjYCACAAIARBA3I2AgQgAEEIaiEBDAgLQQAhAUHw1wBBMDYCAAwHC0EAIQALIAdFDQACQCAGKAIcIgJBAnRBsNYAaiIDKAIAIAZGBEAgAyAANgIAIAANAUGE1ABBhNQAKAIAQX4gAndxNgIADAILIAdBEEEUIAcoAhAgBkYbaiAANgIAIABFDQELIAAgBzYCGCAGKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAGQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAIaiEBIAYgCGoiBigCBCEFCyAGIAVBfnE2AgQgASAEaiABNgIAIAQgAUEBcjYCBCABQf8BTQRAIAFBeHFBqNQAaiEAAn9BgNQAKAIAIgJBASABQQN2dCIBcUUEQEGA1AAgASACcjYCACAADAELIAAoAggLIgEgBDYCDCAAIAQ2AgggBCAANgIMIAQgATYCCAwBC0EfIQUgAUH///8HTQRAIAFBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQsgBCAFNgIcIARCADcCECAFQQJ0QbDWAGohAEGE1AAoAgAiAkEBIAV0IgNxRQRAIAAgBDYCAEGE1AAgAiADcjYCACAEIAA2AhggBCAENgIIIAQgBDYCDAwBCyABQRkgBUEBdmtBACAFQR9HG3QhBSAAKAIAIQACQANAIAAiAigCBEF4cSABRg0BIAVBHXYhACAFQQF0IQUgAiAAQQRxakEQaiIDKAIAIgANAAsgAyAENgIAIAQgAjYCGCAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgCUEIaiEBDAILAkAgB0UNAAJAIAMoAhwiAUECdEGw1gBqIgIoAgAgA0YEQCACIAA2AgAgAA0BQYTUACAIQX4gAXdxIgg2AgAMAgsgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAQsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAVBD00EQCADIAQgBWoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARqIgIgBUEBcjYCBCADIARBA3I2AgQgAiAFaiAFNgIAIAVB/wFNBEAgBUF4cUGo1ABqIQACf0GA1AAoAgAiAUEBIAVBA3Z0IgVxRQRAQYDUACABIAVyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBsNYAaiEAQQEgAXQiBCAIcUUEQCAAIAI2AgBBhNQAIAQgCHI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEEAkADQCAEIgAoAgRBeHEgBUYNASABQR12IQQgAUEBdCEBIAAgBEEEcWpBEGoiBigCACIEDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLIANBCGohAQwBCwJAIAlFDQACQCAAKAIcIgFBAnRBsNYAaiICKAIAIABGBEAgAiADNgIAIAMNAUGE1AAgC0F+IAF3cTYCAAwCCyAJQRBBFCAJKAIQIABGG2ogAzYCACADRQ0BCyADIAk2AhggACgCECIBBEAgAyABNgIQIAEgAzYCGAsgAEEUaigCACIBRQ0AIANBFGogATYCACABIAM2AhgLAkAgBUEPTQRAIAAgBCAFaiIBQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELIAAgBGoiByAFQQFyNgIEIAAgBEEDcjYCBCAFIAdqIAU2AgAgCARAIAhBeHFBqNQAaiEBQZTUACgCACEDAn9BASAIQQN2dCICIAZxRQRAQYDUACACIAZyNgIAIAEMAQsgASgCCAsiAiADNgIMIAEgAzYCCCADIAE2AgwgAyACNgIIC0GU1AAgBzYCAEGI1AAgBTYCAAsgAEEIaiEBCyAKQRBqJAAgAQtDACAARQRAPwBBEHQPCwJAIABB//8DcQ0AIABBAEgNACAAQRB2QAAiAEF/RgRAQfDXAEEwNgIAQX8PCyAAQRB0DwsACwvbQCIAQYAICwkBAAAAAgAAAAMAQZQICwUEAAAABQBBpAgLCQYAAAAHAAAACABB3AgLgjFJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABUcmFuc2Zlci1FbmNvZGluZyBjYW4ndCBiZSBwcmVzZW50IHdpdGggQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBzaXplAEV4cGVjdGVkIExGIGFmdGVyIGNodW5rIHNpemUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAUhUAABoVAAAPEgAA5BkAAJEVAAAJFAAALRkAAOQUAADpEQAAaRQAAKEUAAB2FQAAQxYAAF4SAACUFwAAFxYAAH0UAAB/FgAAQRcAALMTAADDFgAABBoAAL0YAADQGAAAoBMAANQZAACvFgAAaBYAAHAXAADZFgAA/BgAAP4RAABZFwAAlxYAABwXAAD2FgAAjRcAAAsSAAB/GwAALhEAALMQAABJEgAArRIAAPYYAABoEAAAYhUAABAVAABaFgAAShkAALUVAADBFQAAYBUAAFwZAABaGQAAUxkAABYVAACtEQAAQhAAALcQAABXGAAAvxUAAIkQAAAcGQAAGhkAALkVAABRGAAA3BMAAFsVAABZFQAA5hgAAGcVAAARGQAA7RgAAOcTAACuEAAAwhcAAAAUAACSEwAAhBMAAEASAAAmGQAArxUAAGIQAEHpOQsBAQBBgDoL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB6jsLBAEAAAIAQYE8C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEHqPQsEAQAAAgBBgT4LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQeA/Cw1sb3NlZWVwLWFsaXZlAEH5PwsBAQBBkMAAC+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnBAAsBAQBBkMIAC+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGhxAALXgEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAQYDGAAshZWN0aW9uZW50LWxlbmd0aG9ucm94eS1jb25uZWN0aW9uAEGwxgALK3JhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KU00NCg0KVFRQL0NFL1RTUC8AQenGAAsFAQIAAQMAQYDHAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQenIAAsFAQIAAQMAQYDJAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQenKAAsEAQAAAQBBgcsAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEHpzAALBQECAAEDAEGAzQALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEHpzgALBQEBAAEBAEGAzwALAQEAQZrPAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQenQAAsFAQEAAQEAQYDRAAsBAQBBitEACwYCAAAAAAIAQaHRAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB4NIAC5oBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==",u2;Object.defineProperty(WN,"exports",{get:()=>u2||(u2=Jse.from(Wse,"base64"))})});var KN=he((N6e,zN)=>{"use strict";var{Buffer:zse}=require("node:buffer"),Kse="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzQzBQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEDAAADAAAABAUBcAESEgUDAQACBggBfwFBgNgECwfFBygGbWVtb3J5AgALX2luaXRpYWxpemUACBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQACRhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUANgxsbGh0dHBfYWxsb2MACwZtYWxsb2MAOAtsbGh0dHBfZnJlZQAMBGZyZWUADA9sbGh0dHBfZ2V0X3R5cGUADRVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADhVsbGh0dHBfZ2V0X2h0dHBfbWlub3IADxFsbGh0dHBfZ2V0X21ldGhvZAAQFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAERJsbGh0dHBfZ2V0X3VwZ3JhZGUAEgxsbGh0dHBfcmVzZXQAEw5sbGh0dHBfZXhlY3V0ZQAUFGxsaHR0cF9zZXR0aW5nc19pbml0ABUNbGxodHRwX2ZpbmlzaAAWDGxsaHR0cF9wYXVzZQAXDWxsaHR0cF9yZXN1bWUAGBtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGRBsbGh0dHBfZ2V0X2Vycm5vABoXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AGxdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAcFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB0RbGxodHRwX2Vycm5vX25hbWUAHhJsbGh0dHBfbWV0aG9kX25hbWUAHxJsbGh0dHBfc3RhdHVzX25hbWUAIBpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAhIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAiHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACMkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACQabGxodHRwX3NldF9sZW5pZW50X3ZlcnNpb24AJSNsbGh0dHBfc2V0X2xlbmllbnRfZGF0YV9hZnRlcl9jbG9zZQAmJ2xsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9sZl9hZnRlcl9jcgAnLGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcmxmX2FmdGVyX2NodW5rACgobGxodHRwX3NldF9sZW5pZW50X29wdGlvbmFsX2NyX2JlZm9yZV9sZgApKmxsaHR0cF9zZXRfbGVuaWVudF9zcGFjZXNfYWZ0ZXJfY2h1bmtfc2l6ZQAqGGxsaHR0cF9tZXNzYWdlX25lZWRzX2VvZgA1CRcBAEEBCxEBAgMEBQoGBzEzMi0uLCsvMArYywIzFgBB/NMAKAIABEAAC0H80wBBATYCAAsUACAAEDcgACACNgI4IAAgAToAKAsUACAAIAAvATQgAC0AMCAAEDYQAAseAQF/QcAAEDkiARA3IAFBgAg2AjggASAAOgAoIAELjwwBB38CQCAARQ0AIABBCGsiASAAQQRrKAIAIgBBeHEiBGohBQJAIABBAXENACAAQQNxRQ0BIAEgASgCACIAayIBQZDUACgCAEkNASAAIARqIQQCQAJAQZTUACgCACABRwRAIABB/wFNBEAgAEEDdiEDIAEoAggiACABKAIMIgJGBEBBgNQAQYDUACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAEoAhghBiABIAEoAgwiAEcEQCAAIAEoAggiAjYCCCACIAA2AgwMAwsgAUEUaiIDKAIAIgJFBEAgASgCECICRQ0CIAFBEGohAwsDQCADIQcgAiIAQRRqIgMoAgAiAg0AIABBEGohAyAAKAIQIgINAAsgB0EANgIADAILIAUoAgQiAEEDcUEDRw0CIAUgAEF+cTYCBEGI1AAgBDYCACAFIAQ2AgAgASAEQQFyNgIEDAMLQQAhAAsgBkUNAAJAIAEoAhwiAkECdEGw1gBqIgMoAgAgAUYEQCADIAA2AgAgAA0BQYTUAEGE1AAoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECABRhtqIAA2AgAgAEUNAQsgACAGNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAFBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAVPDQAgBSgCBCIAQQFxRQ0AAkACQAJAAkAgAEECcUUEQEGY1AAoAgAgBUYEQEGY1AAgATYCAEGM1ABBjNQAKAIAIARqIgA2AgAgASAAQQFyNgIEIAFBlNQAKAIARw0GQYjUAEEANgIAQZTUAEEANgIADAYLQZTUACgCACAFRgRAQZTUACABNgIAQYjUAEGI1AAoAgAgBGoiADYCACABIABBAXI2AgQgACABaiAANgIADAYLIABBeHEgBGohBCAAQf8BTQRAIABBA3YhAyAFKAIIIgAgBSgCDCICRgRAQYDUAEGA1AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyAFKAIYIQYgBSAFKAIMIgBHBEBBkNQAKAIAGiAAIAUoAggiAjYCCCACIAA2AgwMAwsgBUEUaiIDKAIAIgJFBEAgBSgCECICRQ0CIAVBEGohAwsDQCADIQcgAiIAQRRqIgMoAgAiAg0AIABBEGohAyAAKAIQIgINAAsgB0EANgIADAILIAUgAEF+cTYCBCABIARqIAQ2AgAgASAEQQFyNgIEDAMLQQAhAAsgBkUNAAJAIAUoAhwiAkECdEGw1gBqIgMoAgAgBUYEQCADIAA2AgAgAA0BQYTUAEGE1AAoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAA2AgAgAEUNAQsgACAGNgIYIAUoAhAiAgRAIAAgAjYCECACIAA2AhgLIAVBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIARqIAQ2AgAgASAEQQFyNgIEIAFBlNQAKAIARw0AQYjUACAENgIADAELIARB/wFNBEAgBEF4cUGo1ABqIQACf0GA1AAoAgAiAkEBIARBA3Z0IgNxRQRAQYDUACACIANyNgIAIAAMAQsgACgCCAsiAiABNgIMIAAgATYCCCABIAA2AgwgASACNgIIDAELQR8hAiAEQf///wdNBEAgBEEmIARBCHZnIgBrdkEBcSAAQQF0a0E+aiECCyABIAI2AhwgAUIANwIQIAJBAnRBsNYAaiEAAkBBhNQAKAIAIgNBASACdCIHcUUEQCAAIAE2AgBBhNQAIAMgB3I2AgAgASAANgIYIAEgATYCCCABIAE2AgwMAQsgBEEZIAJBAXZrQQAgAkEfRxt0IQIgACgCACEAAkADQCAAIgMoAgRBeHEgBEYNASACQR12IQAgAkEBdCECIAMgAEEEcWpBEGoiBygCACIADQALIAcgATYCACABIAM2AhggASABNgIMIAEgATYCCAwBCyADKAIIIgAgATYCDCADIAE2AgggAUEANgIYIAEgAzYCDCABIAA2AggLQaDUAEGg1AAoAgBBAWsiAEF/IAAbNgIACwsHACAALQAoCwcAIAAtACoLBwAgAC0AKwsHACAALQApCwcAIAAvATQLBwAgAC0AMAtAAQR/IAAoAhghASAALwEuIQIgAC0AKCEDIAAoAjghBCAAEDcgACAENgI4IAAgAzoAKCAAIAI7AS4gACABNgIYC8X4AQIHfwN+IAEgAmohBAJAIAAiAygCDCIADQAgAygCBARAIAMgATYCBAsjAEEQayIJJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQFrDuwB7gEB6AECAwQFBgcICQoLDA0ODxAREucBE+YBFBXlARYX5AEYGRobHB0eHyDvAe0BIeMBIiMkJSYnKCkqK+IBLC0uLzAxMuEB4AEzNN8B3gE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/pAVBRUlPdAdwBVNsBVdoBVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHZAdgBxgHXAccB1gHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAQDqAQtBAAzUAQtBDgzTAQtBDQzSAQtBDwzRAQtBEAzQAQtBEQzPAQtBEgzOAQtBEwzNAQtBFAzMAQtBFQzLAQtBFgzKAQtBFwzJAQtBGAzIAQtBGQzHAQtBGgzGAQtBGwzFAQtBHAzEAQtBHQzDAQtBHgzCAQtBHwzBAQtBCAzAAQtBIAy/AQtBIgy+AQtBIQy9AQtBBwy8AQtBIwy7AQtBJAy6AQtBJQy5AQtBJgy4AQtBJwy3AQtBzgEMtgELQSgMtQELQSkMtAELQSoMswELQSsMsgELQc8BDLEBC0EtDLABC0EuDK8BC0EvDK4BC0EwDK0BC0ExDKwBC0EyDKsBC0EzDKoBC0HQAQypAQtBNAyoAQtBOAynAQtBDAymAQtBNQylAQtBNgykAQtBNwyjAQtBPQyiAQtBOQyhAQtB0QEMoAELQQsMnwELQT4MngELQToMnQELQQoMnAELQTsMmwELQTwMmgELQdIBDJkBC0HAAAyYAQtBPwyXAQtBwQAMlgELQQkMlQELQSwMlAELQcIADJMBC0HDAAySAQtBxAAMkQELQcUADJABC0HGAAyPAQtBxwAMjgELQcgADI0BC0HJAAyMAQtBygAMiwELQcsADIoBC0HMAAyJAQtBzQAMiAELQc4ADIcBC0HPAAyGAQtB0AAMhQELQdEADIQBC0HSAAyDAQtB1AAMggELQdMADIEBC0HVAAyAAQtB1gAMfwtB1wAMfgtB2AAMfQtB2QAMfAtB2gAMewtB2wAMegtB0wEMeQtB3AAMeAtB3QAMdwtBBgx2C0HeAAx1C0EFDHQLQd8ADHMLQQQMcgtB4AAMcQtB4QAMcAtB4gAMbwtB4wAMbgtBAwxtC0HkAAxsC0HlAAxrC0HmAAxqC0HoAAxpC0HnAAxoC0HpAAxnC0HqAAxmC0HrAAxlC0HsAAxkC0ECDGMLQe0ADGILQe4ADGELQe8ADGALQfAADF8LQfEADF4LQfIADF0LQfMADFwLQfQADFsLQfUADFoLQfYADFkLQfcADFgLQfgADFcLQfkADFYLQfoADFULQfsADFQLQfwADFMLQf0ADFILQf4ADFELQf8ADFALQYABDE8LQYEBDE4LQYIBDE0LQYMBDEwLQYQBDEsLQYUBDEoLQYYBDEkLQYcBDEgLQYgBDEcLQYkBDEYLQYoBDEULQYsBDEQLQYwBDEMLQY0BDEILQY4BDEELQY8BDEALQZABDD8LQZEBDD4LQZIBDD0LQZMBDDwLQZQBDDsLQZUBDDoLQZYBDDkLQZcBDDgLQZgBDDcLQZkBDDYLQZoBDDULQZsBDDQLQZwBDDMLQZ0BDDILQZ4BDDELQZ8BDDALQaABDC8LQaEBDC4LQaIBDC0LQaMBDCwLQaQBDCsLQaUBDCoLQaYBDCkLQacBDCgLQagBDCcLQakBDCYLQaoBDCULQasBDCQLQawBDCMLQa0BDCILQa4BDCELQa8BDCALQbABDB8LQbEBDB4LQbIBDB0LQbMBDBwLQbQBDBsLQbUBDBoLQbYBDBkLQbcBDBgLQbgBDBcLQQEMFgtBuQEMFQtBugEMFAtBuwEMEwtBvAEMEgtBvQEMEQtBvgEMEAtBvwEMDwtBwAEMDgtBwQEMDQtBwgEMDAtBwwEMCwtBxAEMCgtBxQEMCQtBxgEMCAtB1AEMBwtBxwEMBgtByAEMBQtByQEMBAtBygEMAwtBywEMAgtBzQEMAQtBzAELIQIDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDtQBAAECAwQFBgcICQoLDA0ODxARFBUWFxgZGhscHR4fICEjJCUnKCmIA4cDhQOEA/wC9QLuAusC6ALmAuMC4ALfAt0C2wLWAtUC1ALTAtICygLJAsgCxwLGAsUCxALDAr0CvAK6ArkCuAK3ArYCtQK0ArICsQKsAqoCqAKnAqYCpQKkAqMCogKhAqACnwKbApoCmQKYApcCkAKIAoQCgwKCAvkB9gH1AfQB8wHyAfEB8AHvAe0B6wHoAeMB4QHgAd8B3gHdAdwB2wHaAdkB2AHXAdYB1QHUAdIB0QHQAc8BzgHNAcwBywHKAckByAHHAcYBxQHEAcMBwgHBAcABvwG+Ab0BvAG7AboBuQG4AbcBtgG1AbQBswGyAbEBsAGvAa4BrQGsAasBqgGpAagBpwGmAaUBpAGjAaIBoQGgAZ8BngGdAZwBmwGaAZcBlgGRAZABjwGOAY0BjAGLAYoBiQGIAYUBhAGDAX59fHt6d3Z1LFFSU1RVVgsgASAERw1zQewBIQIMqQMLIAEgBEcNkAFB0QEhAgyoAwsgASAERw3pAUGEASECDKcDCyABIARHDfQBQfoAIQIMpgMLIAEgBEcNggJB9QAhAgylAwsgASAERw2JAkHzACECDKQDCyABIARHDYwCQfEAIQIMowMLIAEgBEcNHkEeIQIMogMLIAEgBEcNGUEYIQIMoQMLIAEgBEcNuAJBzQAhAgygAwsgASAERw3DAkHGACECDJ8DCyABIARHDcQCQcMAIQIMngMLIAEgBEcNygJBOCECDJ0DCyADLQAwQQFGDZUDDPICC0EAIQACQAJAAkAgAy0AKkUNACADLQArRQ0AIAMvATIiAkECcUUNAQwCCyADLwEyIgJBAXFFDQELQQEhACADLQAoQQFGDQAgAy8BNCIGQeQAa0HkAEkNACAGQcwBRg0AIAZBsAJGDQAgAkHAAHENAEEAIQAgAkGIBHFBgARGDQAgAkEocUEARyEACyADQQA7ATIgA0EAOgAxAkAgAEUEQCADQQA6ADEgAy0ALkEEcQ0BDJwDCyADQgA3AyALIANBADoAMSADQQE6ADYMSQtBACEAAkAgAygCOCICRQ0AIAIoAiwiAkUNACADIAIRAAAhAAsgAEUNSSAAQRVHDWMgA0EENgIcIAMgATYCFCADQb0aNgIQIANBFTYCDEEAIQIMmgMLIAEgBEYEQEEGIQIMmgMLIAEtAABBCkYNGQwBCyABIARGBEBBByECDJkDCwJAIAEtAABBCmsOBAIBAQABCyABQQFqIQFBECECDP4CCyADLQAuQYABcQ0YQQAhAiADQQA2AhwgAyABNgIUIANBqR82AhAgA0ECNgIMDJcDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBhB82AhAgA0EZNgIMDJYDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0ZQQghAgyVAwsgASAERwRAIANBCTYCCCADIAE2AgRBEiECDPsCC0EJIQIMlAMLIAMpAyBQDZwCDEQLIAEgBEYEQEELIQIMkwMLIAEtAABBCkcNFyABQQFqIQEMGAsgA0Evai0AAEEBcUUNGgwnC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAADRoMQwtBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAA0bDCULQQAhAAJAIAMoAjgiAkUNACACKAJIIgJFDQAgAyACEQAAIQALIAANHAwzCyADQS9qLQAAQQFxRQ0dDCMLQQAhAAJAIAMoAjgiAkUNACACKAJMIgJFDQAgAyACEQAAIQALIAANHQxDC0EAIQACQCADKAI4IgJFDQAgAigCTCICRQ0AIAMgAhEAACEACyAADR4MIQsgASAERgRAQRMhAgyLAwsCQCABLQAAIgBBCmsOBCAkJAAjCyABQQFqIQEMIAtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAA0jDEMLIAEgBEYEQEEWIQIMiQMLIAEtAABB8D9qLQAAQQFHDSQM7QILAkADQCABLQAAQeA5ai0AACIAQQFHBEACQCAAQQJrDgIDACgLIAFBAWohAUEfIQIM8AILIAQgAUEBaiIBRw0AC0EYIQIMiAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABQQFqIgEQMyIADSIMQgtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAA0kDCsLIAEgBEYEQEEcIQIMhgMLIANBCjYCCCADIAE2AgRBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAA0mQSIhAgzrAgsgASAERwRAA0AgAS0AAEHgO2otAAAiAEEDRwRAIABBAWsOBRkbJ+wCJicLIAQgAUEBaiIBRw0AC0EbIQIMhQMLQRshAgyEAwsDQCABLQAAQeA9ai0AACIAQQNHBEAgAEEBaw4FEBIoFCcoCyAEIAFBAWoiAUcNAAtBHiECDIMDCyABIARHBEAgA0ELNgIIIAMgATYCBEEHIQIM6QILQR8hAgyCAwsgASAERgRAQSAhAgyCAwsCQCABLQAAQQ1rDhQvQEBAQEBAQEBAQEBAQEBAQEBAAEALQQAhAiADQQA2AhwgA0G3CzYCECADQQI2AgwgAyABQQFqNgIUDIEDCyADQS9qIQIDQCABIARGBEBBISECDIIDCwJAAkACQCABLQAAIgBBCWsOGAIAKioBKioqKioqKioqKioqKioqKioqAigLIAFBAWohASADQS9qLQAAQQFxRQ0LDBkLIAFBAWohAQwYCyABQQFqIQEgAi0AAEECcQ0AC0EAIQIgA0EANgIcIAMgATYCFCADQc4UNgIQIANBDDYCDAyAAwsgAUEBaiEBC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADQEM0QILIANCADcDIAw8CyAAQRVGBEAgA0EkNgIcIAMgATYCFCADQYYaNgIQIANBFTYCDEEAIQIM/QILQQAhAiADQQA2AhwgAyABNgIUIANB4g02AhAgA0EUNgIMDPwCCyADKAIEIQBBACECIANBADYCBCADIAAgASAMp2oiARAxIgBFDSsgA0EHNgIcIAMgATYCFCADIAA2AgwM+wILIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAARQ0rIABBFUYEQCADQQo2AhwgAyABNgIUIANB8Rg2AhAgA0EVNgIMQQAhAgz6AgtBACECIANBADYCHCADIAE2AhQgA0GLDDYCECADQRM2AgwM+QILQQAhAiADQQA2AhwgAyABNgIUIANBsRQ2AhAgA0ECNgIMDPgCC0EAIQIgA0EANgIcIAMgATYCFCADQYwUNgIQIANBGTYCDAz3AgtBACECIANBADYCHCADIAE2AhQgA0HRHDYCECADQRk2AgwM9gILIABBFUYNPUEAIQIgA0EANgIcIAMgATYCFCADQaIPNgIQIANBIjYCDAz1AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMiIARQ0oIANBDTYCHCADIAE2AhQgAyAANgIMDPQCCyAAQRVGDTpBACECIANBADYCHCADIAE2AhQgA0GiDzYCECADQSI2AgwM8wILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDIiAEUEQCABQQFqIQEMKAsgA0EONgIcIAMgADYCDCADIAFBAWo2AhQM8gILIABBFUYNN0EAIQIgA0EANgIcIAMgATYCFCADQaIPNgIQIANBIjYCDAzxAgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMiIARQRAIAFBAWohAQwnCyADQQ82AhwgAyAANgIMIAMgAUEBajYCFAzwAgtBACECIANBADYCHCADIAE2AhQgA0HoFjYCECADQRk2AgwM7wILIABBFUYNM0EAIQIgA0EANgIcIAMgATYCFCADQc4MNgIQIANBIzYCDAzuAgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMyIARQ0lIANBETYCHCADIAE2AhQgAyAANgIMDO0CCyAAQRVGDTBBACECIANBADYCHCADIAE2AhQgA0HODDYCECADQSM2AgwM7AILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJQsgA0ESNgIcIAMgADYCDCADIAFBAWo2AhQM6wILIANBL2otAABBAXFFDQELQRUhAgzPAgtBACECIANBADYCHCADIAE2AhQgA0HoFjYCECADQRk2AgwM6AILIABBO0cNACABQQFqIQEMDAtBACECIANBADYCHCADIAE2AhQgA0GYFzYCECADQQI2AgwM5gILIABBFUYNKEEAIQIgA0EANgIcIAMgATYCFCADQc4MNgIQIANBIzYCDAzlAgsgA0EUNgIcIAMgATYCFCADIAA2AgwM5AILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEM3AILIANBFTYCHCADIAA2AgwgAyABQQFqNgIUDOMCCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDNoCCyADQRc2AhwgAyAANgIMIAMgAUEBajYCFAziAgsgAEEVRg0jQQAhAiADQQA2AhwgAyABNgIUIANBzgw2AhAgA0EjNgIMDOECCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDB0LIANBGTYCHCADIAA2AgwgAyABQQFqNgIUDOACCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDNYCCyADQRo2AhwgAyAANgIMIAMgAUEBajYCFAzfAgsgAEEVRg0fQQAhAiADQQA2AhwgAyABNgIUIANBog82AhAgA0EiNgIMDN4CCyADKAIEIQBBACECIANBADYCBCADIAAgARAyIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUDN0CCyADKAIEIQBBACECIANBADYCBCADIAAgARAyIgBFBEAgAUEBaiEBDNICCyADQR02AhwgAyAANgIMIAMgAUEBajYCFAzcAgsgAEE7Rw0BIAFBAWohAQtBJCECDMACC0EAIQIgA0EANgIcIAMgATYCFCADQc4UNgIQIANBDDYCDAzZAgsgASAERwRAA0AgAS0AAEEgRw3xASAEIAFBAWoiAUcNAAtBLCECDNkCC0EsIQIM2AILIAEgBEYEQEE0IQIM2AILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0E0IQIM2QILIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ2MAiADQTI2AhwgAyABNgIUIAMgADYCDEEAIQIM2AILIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQRAIAFBAWohAQyMAgsgA0EyNgIcIAMgADYCDCADIAFBAWo2AhRBACECDNcCCyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE5IQIMwAILIAMpAyAiC0KZs+bMmbPmzBlWDQEgAyALQgp+Igo3AyAgCiAArUL/AYMiC0J/hVYNASADIAogC3w3AyAgBCABQQFqIgFHDQALQcAAIQIM2AILIAMoAgQhACADQQA2AgQgAyAAIAFBAWoiARAwIgANFwzJAgtBwAAhAgzWAgsgASAERgRAQckAIQIM1gILAkADQAJAIAEtAABBCWsOGAACjwKPApMCjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CjwKPAo8CAI8CCyAEIAFBAWoiAUcNAAtByQAhAgzWAgsgAUEBaiEBIANBL2otAABBAXENjwIgA0EANgIcIAMgATYCFCADQekPNgIQIANBCjYCDEEAIQIM1QILIAEgBEcEQANAIAEtAAAiAEEgRwRAAkACQAJAIABByABrDgsAAc0BzQHNAc0BzQHNAc0BzQECzQELIAFBAWohAUHZACECDL8CCyABQQFqIQFB2gAhAgy+AgsgAUEBaiEBQdsAIQIMvQILIAQgAUEBaiIBRw0AC0HuACECDNUCC0HuACECDNQCCyADQQI6ACgMMAtBACECIANBADYCHCADQbcLNgIQIANBAjYCDCADIAFBAWo2AhQM0gILQQAhAgy3AgtBDSECDLYCC0ERIQIMtQILQRMhAgy0AgtBFCECDLMCC0EWIQIMsgILQRchAgyxAgtBGCECDLACC0EZIQIMrwILQRohAgyuAgtBGyECDK0CC0EcIQIMrAILQR0hAgyrAgtBHiECDKoCC0EgIQIMqQILQSEhAgyoAgtBIyECDKcCC0EnIQIMpgILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgy/AgsgA0EbNgIcIAMgATYCFCADQY8bNgIQIANBFTYCDEEAIQIMvgILIANBIDYCHCADIAE2AhQgA0GeGTYCECADQRU2AgxBACECDL0CCyADQRM2AhwgAyABNgIUIANBnhk2AhAgA0EVNgIMQQAhAgy8AgsgA0ELNgIcIAMgATYCFCADQZ4ZNgIQIANBFTYCDEEAIQIMuwILIANBEDYCHCADIAE2AhQgA0GeGTYCECADQRU2AgxBACECDLoCCyADQSA2AhwgAyABNgIUIANBjxs2AhAgA0EVNgIMQQAhAgy5AgsgA0ELNgIcIAMgATYCFCADQY8bNgIQIANBFTYCDEEAIQIMuAILIANBDDYCHCADIAE2AhQgA0GPGzYCECADQRU2AgxBACECDLcCC0EAIQIgA0EANgIcIAMgATYCFCADQa8ONgIQIANBEjYCDAy2AgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0HsASECDLYCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJYIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB6wE2AhwgAyABNgIUIANB4hg2AhAgA0EVNgIMQQAhAgy3AgtBzAEhAgycAgsgA0EANgIcIAMgATYCFCADQfELNgIQIANBHzYCDEEAIQIMtQILAkACQCADLQAoQQFrDgIEAQALQcsBIQIMmwILQcQBIQIMmgILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQc0BIQIMmgILIABBFUcEQCADQQA2AhwgAyABNgIUIANBrAw2AhAgA0EQNgIMQQAhAgy0AgsgA0HqATYCHCADIAE2AhQgA0GHGTYCECADQRU2AgxBACECDLMCCyABIARGBEBB6QEhAgyzAgsgAS0AAEHIAEYNASADQQE6ACgLQbYBIQIMlwILQcoBIQIMlgILIAEgBEcEQCADQQw2AgggAyABNgIEQckBIQIMlgILQegBIQIMrwILIAEgBEYEQEHnASECDK8CCyABLQAAQcgARw0EIAFBAWohAUHIASECDJQCCyABIARGBEBB5gEhAgyuAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQcYBIQIMlAILIAFBAWohAUHHASECDJMCC0HlASECIAEgBEYNrAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB99MAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMrQILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAtIgBFBEBB1AEhAgyTAgsgA0HkATYCHCADIAE2AhQgAyAANgIMQQAhAgysAgtB4wEhAiABIARGDasCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQfXTAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADKwCCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAtIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB0B42AhAgA0EINgIMDKkCC0HFASECDI4CCyADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDKcCC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQ1lIABBFUcEQCADQQA2AhwgAyABNgIUIANB1A42AhAgA0EgNgIMQQAhAgynAgsgA0GFATYCHCADIAE2AhQgA0HXGjYCECADQRU2AgxBACECDKYCC0HhASECIAQgASIARg2lAiAEIAFrIAMoAgAiAWohBSAAIAFrQQRqIQYCQANAIAAtAAAgAUHw0wBqLQAARw0BIAFBBEYNAyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBTYCAAymAgsgA0EANgIcIAMgADYCFCADQYQ3NgIQIANBCDYCDCADQQA2AgBBACECDKUCCyABIARHBEAgA0ENNgIIIAMgATYCBEHCASECDIsCC0HgASECDKQCCyADQQA2AgAgBkEBaiEBC0HDASECDIgCCyABIARGBEBB3wEhAgyiAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBwQEhAgyIAgsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYgCIANB3gE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILIAEgBEYEQEHdASECDKECCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYkCIANB3AE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILQcABIQIMhgILIAEgBEYEQEHbASECDKACC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDQIgA0HYATYCHCADIAE2AhQgAyAANgIMQQAhAgyiAgsgAygCBCEAIANBADYCBCADIAAgARAuIgBFDYsCIANB2QE2AhwgAyABNgIUIAMgADYCDEEAIQIMoQILIAMoAgQhACADQQA2AgQgAyAAIAEQLiIARQ2JAiADQdoBNgIcIAMgATYCFCADIAA2AgwMoAILQb8BIQIMhQILQQAhAAJAIAMoAjgiAkUNACACKAI8IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBnA02AhAgA0EhNgIMQQAhAgygAgtBvgEhAgyFAgsgA0HXATYCHCADIAE2AhQgA0HWGTYCECADQRU2AgxBACECDJ4CCyABIARGBEBB1wEhAgyeAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANB6xA2AhAgA0EJNgIMQQAhAgyeAgtBvQEhAgyDAgsgASAERgRAQdYBIQIMnQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQYAdNgIQIANBDTYCDAyeAgsgA0EANgIcIAMgATYCFCADQYAdNgIQIANBDTYCDEEAIQIMnQILQbwBIQIMggILIAEgBEYEQEHVASECDJwCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GAHTYCECADQQ02AgwMnQILIANBADYCHCADIAE2AhQgA0GAHTYCECADQQ02AgxBACECDJwCC0G7ASECDIECCyABIARGBEBB1AEhAgybAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBgB02AhAgA0ENNgIMDJwCCyADQQA2AhwgAyABNgIUIANBgB02AhAgA0ENNgIMQQAhAgybAgtBugEhAgyAAgsgASAERgRAQdMBIQIMmgILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUG5ASECDIECCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GFCzYCECADQQ02AgxBACECDJoCCyADQQA2AhwgAyABNgIUIANBhQs2AhAgA0ENNgIMQQAhAgyZAgsgASAERwRAIANBDjYCCCADIAE2AgRBASECDP8BC0HSASECDJgCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB0QEhAgyZAgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFBEAgAUEBaiEBDAQLIANB0AE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMmAILIAMoAgQhACADQQA2AgQgAyAAIAEQLCIADQEgAUEBagshAUG3ASECDPwBCyADQc8BNgIcIAMgADYCDCADIAFBAWo2AhRBACECDJUCC0G4ASECDPoBCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQc8bNgIQIANBGTYCDEEAIQIMkwILIAEgBEYEQEHPASECDJMCCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsgAEUNlgEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBvRk2AhAgA0EVNgIMQQAhAgySAgsgA0EANgIcIAMgATYCFCADQfgMNgIQIANBGzYCDEEAIQIMkQILIANBADYCHCADIAE2AhQgA0HHJzYCECADQQI2AgxBACECDJACCyABIARHBEAgA0EMNgIIIAMgATYCBEG1ASECDPYBC0HOASECDI8CCyABIARGBEBBzQEhAgyPAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB8QAhAgyEAgsgAUEBaiEBQfIAIQIMgwILIAFBAWohAUH3ACECDIICCyABQQFqIQFB+wAhAgyBAgsgAUEBaiEBQfwAIQIMgAILIAFBAWohAUH/ACECDP8BCyABQQFqIQFBgAEhAgz+AQsgAUEBaiEBQYMBIQIM/QELIAFBAWohAUGMASECDPwBCyABQQFqIQFBjQEhAgz7AQsgAUEBaiEBQY4BIQIM+gELIAFBAWohAUGbASECDPkBCyABQQFqIQFBnAEhAgz4AQsgAUEBaiEBQaIBIQIM9wELIAFBAWohAUGqASECDPYBCyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbQBIQIM9AELIAEgBEYEQEHMASECDI4CCyABLQAAQc4ARw1IIAFBAWohAUGzASECDPMBCyABIARGBEBBywEhAgyNAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUGuASECDPQBCyABQQFqIQFBsQEhAgzzAQsgAUEBaiEBQbIBIQIM8gELQcoBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEHo0wBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHJASECDIsCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBrwEhAgzxAQsgAUEBaiEBQbABIQIM8AELQcgBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm0wBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEPDEMLQccBIQIgASAERg2IAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk0wBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyJAgsgA0EANgIAIAZBAWohAUEgDEILQcYBIQIgASAERg2HAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHh0wBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyIAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHFASECDIcCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQasBIQIM7QELIAFBAWohAUGsASECDOwBC0HEASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB3tMAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBBww/C0HDASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB2NMAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBwgEhAgyEAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQacBIQIM6wELIAFBAWohAUGoASECDOoBCyABQQFqIQFBqQEhAgzpAQtBwQEhAiABIARGDYICIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQdHTAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADIMCCyADQQA2AgAgBkEBaiEBQRoMPAtBwAEhAiABIARGDYECIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQc3TAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADIICCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQb8BIQIMgQILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBowEhAgznAQsgAUEBaiEBQaYBIQIM5gELIAEgBEYEQEG+ASECDIACCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQaQBIQIM5gELIAFBAWohAUGlASECDOUBC0G9ASECIAEgBEYN/gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBxNMAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/wELIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBvAEhAgz+AQsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0G7ASECIAEgBEYN/AEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBwdMAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/QELIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBugEhAgz8AQsgAS0AAEHFAEcNNiABQQFqIQFBoQEhAgzhAQsgASAERgRAQbkBIQIM+wELAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGdASECDOMBCyABQQFqIQFBngEhAgziAQsgAUEBaiEBQZ8BIQIM4QELIAFBAWohAUGgASECDOABC0G4ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtMAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBFAwzC0G3ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBudMAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBKwwyC0G2ASECIAEgBEYN9wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBttMAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+AELIANBADYCACAGQQFqIQFBLAwxC0G1ASECIAEgBEYN9gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB4dMAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM9wELIANBADYCACAGQQFqIQFBEQwwC0G0ASECIAEgBEYN9QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBstMAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM9gELIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBswEhAgz1AQsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBkQEhAgzeAQsgAUEBaiEBQZIBIQIM3QELIAFBAWohAUGTASECDNwBCyABQQFqIQFBmAEhAgzbAQsgAUEBaiEBQZoBIQIM2gELIAEgBEYEQEGyASECDPQBCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGZASECDNoBCyABQQFqIQFBBAwtC0GxASECIAEgBEYN8gEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBsNMAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM8wELIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBsAEhAgzyAQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQZcBIQIM2AELIAFBAWohAUEiDCsLIAEgBEYEQEGvASECDPEBCyABLQAAQdAARw0rIAFBAWohAUGWASECDNYBCyABIARGBEBBrgEhAgzwAQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGUASECDNYBCyABQQFqIQFBlQEhAgzVAQtBrQEhAiABIARGDe4BIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazTAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO8BCyADQQA2AgAgBkEBaiEBQQ0MKAtBrAEhAiABIARGDe0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQeHTAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO4BCyADQQA2AgAgBkEBaiEBQQwMJwtBqwEhAiABIARGDewBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQarTAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADO0BCyADQQA2AgAgBkEBaiEBQQMMJgtBqgEhAiABIARGDesBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQajTAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOwBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQakBIQIM6wELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBjwEhAgzRAQsgAUEBaiEBQZABIQIM0AELQagBIQIgASAERg3pASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm0wBqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzqAQsgA0EANgIAIAZBAWohAUEnDCMLQacBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk0wBqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEcDCILQaYBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGe0wBqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEGDCELQaUBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGZ0wBqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGkASECDOYBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQYQBIQIMzgELIAFBAWohAUGFASECDM0BCyABQQFqIQFBigEhAgzMAQsgAUEBaiEBQYsBIQIMywELQaMBIQIgASAERg3kASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGX0wBqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzlAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGiASECDOQBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGGASECDMoBCyABQQFqIQFBiQEhAgzJAQsgASAERgRAQaEBIQIM4wELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQYcBIQIMyQELIAFBAWohAUGIASECDMgBCyABIARGBEBBoAEhAgziAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GfASECIAEgBEYN4AEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBkdMAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4QELIANBADYCACAGQQFqIQFBHgwaC0GeASECIAEgBEYN3wEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBitMAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4AELIANBADYCACAGQQFqIQFBFQwZC0GdASECIAEgBEYN3gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBh9MAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3wELIANBADYCACAGQQFqIQFBFwwYC0GcASECIAEgBEYN3QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBgdMAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3gELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBmwEhAgzdAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYEBIQIMwwELIAFBAWohAUGCASECDMIBC0GaASECIAEgBEYN2wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB5tMAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM3AELIANBADYCACAGQQFqIQFBCQwVC0GZASECIAEgBEYN2gEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB5NMAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM2wELIANBADYCACAGQQFqIQFBHwwUC0GYASECIAEgBEYN2QEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tIAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM2gELIANBADYCACAGQQFqIQFBAgwTC0GXASECIAEgBEYN2AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQfzSAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyABIARGBEBBlgEhAgzYAQtBASABLQAAQd8ARw0RGiABQQFqIQFB/QAhAgy9AQsgA0EANgIAIAZBAWohAUH+ACECDLwBC0GVASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBxNMAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBKQwPC0GUASECIAEgBEYN1AEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB+NIAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1QELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBkwEhAgzUAQsgAS0AAEHFAEcNDiABQQFqIQFB+gAhAgy5AQsgASAERgRAQZIBIQIM0wELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFB+AAhAgy5AQsgAUEBaiEBQfkAIQIMuAELQZEBIQIgASAERg3RASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHz0gBqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzSAQsgA0EANgIAIAZBAWohAUEjDAsLQZABIQIgASAERg3QASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHw0gBqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzRAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGPASECDNABCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQfMAIQIMtgELIAFBAWohAUH2ACECDLUBCyABIARGBEBBjgEhAgzPAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB9AAhAgy1AQsgAUEBaiEBQfUAIQIMtAELIAEgBEYEQEGNASECDM4BCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQYwBIQIgASAERg3MASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHs0gBqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzNAQsgA0EANgIAIAZBAWohAUEFDAYLQYsBIQIgASAERg3LASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHm0gBqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzMAQsgA0EANgIAIAZBAWohAUEWDAULQYoBIQIgASAERg3KASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHh0wBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzLAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGJASECDMoBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUHvACECDLABCyABQQFqIQFB8AAhAgyvAQtBiAEhAiABIARGDcgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQeDSAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMkBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGHASECDMcBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC0iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB6R42AhAgA0EGNgIMDMQBC0HuACECDKkBCyADQYYBNgIcIAMgATYCFCADIAA2AgxBACECDMIBC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANB1A42AhAgA0EgNgIMQQAhAgzBAQtB7QAhAgymAQsgA0GFATYCHCADIAE2AhQgA0HXGjYCECADQRU2AgxBACECDL8BCyABIARGBEBBhQEhAgy/AQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GGHjYCECADQQY2AgxBACECDL8BC0ECIQIMpAELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GEASECDL0BCyABIARGBEBBgwEhAgy9AQsCQCABLQAAQQlrDgRAAABAAAtB6wAhAgyiAQsgAy0AKUEFRgRAQewAIQIMogELQeoAIQIMoQELIAEgBEYEQEGCASECDLsBCyADQQ82AgggAyABNgIEDAoLIAEgBEYEQEGBASECDLoBCwJAIAEtAABBCWsOBD0AAD0AC0HpACECDJ8BCyABIARHBEAgA0EPNgIIIAMgATYCBEHnACECDJ8BC0GAASECDLgBCwJAIAEgBEcEQANAIAEtAABB4M4Aai0AACIAQQNHBEACQCAAQQFrDgI/AAQLQeYAIQIMoQELIAQgAUEBaiIBRw0AC0H+ACECDLkBC0H+ACECDLgBCyADQQA2AhwgAyABNgIUIANBxh82AhAgA0EHNgIMQQAhAgy3AQsgASAERgRAQf8AIQIMtwELAkACQAJAIAEtAABB4NAAai0AAEEBaw4DPAIAAQtB6AAhAgyeAQsgA0EANgIcIAMgATYCFCADQYYSNgIQIANBBzYCDEEAIQIMtwELQeAAIQIMnAELIAEgBEcEQCABQQFqIQFB5QAhAgycAQtB/QAhAgy1AQsgBCABIgBGBEBB/AAhAgy1AQsgAC0AACIBQS9GBEAgAEEBaiEBQeQAIQIMmwELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDTcMAQsgBCABIgBGBEBB+wAhAgy0AQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQcYfNgIQIANBBzYCDAyyAQsCQAJAAkACQAJAA0AgAS0AAEHgzABqLQAAIgBBBUcEQAJAAkAgAEEBaw4IPQUGBwgABAEIC0HhACECDJ8BCyABQQFqIQFB4wAhAgyeAQsgBCABQQFqIgFHDQALQfoAIQIMtgELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy0AQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyzAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDR4gA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyyAQsgA0EANgIcIAMgATYCFCADQcsPNgIQIANBBzYCDEEAIQIMsQELIAEgBEYEQEH5ACECDLEBCwJAIAEtAABB4MwAai0AAEEBaw4INAQFBgAIAgMHCyABQQFqIQELQQMhAgyVAQsgAUEBagwNC0EAIQIgA0EANgIcIANBoxI2AhAgA0EHNgIMIAMgAUEBajYCFAytAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgysAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDRYgA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgA0EANgIcIAMgATYCFCADQcsPNgIQIANBBzYCDEEAIQIMqQELQeIAIQIMjgELIAEgBEYEQEH4ACECDKgBCyABQQFqDAILIAEgBEYEQEH3ACECDKcBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyKAQtB9gAhAgyjAQsDQCABLQAAQeDKAGotAAAiAEECRwRAIABBAUcEQEHfACECDIsBCwwnCyAEIAFBAWoiAUcNAAtB9QAhAgyiAQsgASAERgRAQfQAIQIMogELAkAgAS0AAEEJaw43JQMGJQQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDIYBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMngELIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMnQELIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ0IIANB8AA2AhwgAyABNgIUIAMgADYCDEEAIQIMnAELIANBADYCHCADIAE2AhQgA0G8EzYCECADQQc2AgxBACECDJsBCwJAAkACQAJAA0AgAS0AAEHgyABqLQAAIgBBBUcEQAJAIABBAWsOBiQDBAUGAAYLQd4AIQIMhgELIAQgAUEBaiIBRw0AC0HzACECDJ4BCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDJ0BCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDJwBCyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNByADQfAANgIcIAMgATYCFCADIAA2AgxBACECDJsBCyADQQA2AhwgAyABNgIUIANB3Ag2AhAgA0EHNgIMQQAhAgyaAQsgASAERg0BIAFBAWoLIQFBBiECDH4LQfIAIQIMlwELAkACQAJAAkADQCABLQAAQeDGAGotAAAiAEEFRwRAIABBAWsOBB8CAwQFCyAEIAFBAWoiAUcNAAtB8QAhAgyaAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyZAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyYAQsgAygCBCEAIANBADYCBCADIAAgARArIgBFDQMgA0HwADYCHCADIAE2AhQgAyAANgIMQQAhAgyXAQsgA0EANgIcIAMgATYCFCADQbQKNgIQIANBBzYCDEEAIQIMlgELQc4AIQIMewtB0AAhAgx6C0HdACECDHkLIAEgBEYEQEHwACECDJMBCwJAIAEtAABBCWsOBBYAABYACyABQQFqIQFB3AAhAgx4CyABIARGBEBB7wAhAgySAQsCQCABLQAAQQlrDgQVAAAVAAtBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUEQEHTASECDHgLIABBFUcEQCADQQA2AhwgAyABNgIUIANBwQ02AhAgA0EaNgIMQQAhAgySAQsgA0HuADYCHCADIAE2AhQgA0HwGTYCECADQRU2AgxBACECDJEBC0HtACECIAEgBEYNkAEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB18YAai0AAEcNBCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkQELIANBADYCACAGQQFqIQEgAy0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACECIANBADYCHCADIAE2AhQgA0HlCTYCECADQQg2AgwMkAELQewAIQIgASAERg2PASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHUxgBqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyQAQsgA0EANgIAIAZBAWohASADLQApQSFGDQMgA0EANgIcIAMgATYCFCADQYkKNgIQIANBCDYCDEEAIQIMjwELQesAIQIgASAERg2OASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHQxgBqLQAARw0CIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyPAQsgA0EANgIAIAZBAWohASADLQApIgBBI0kNAiAAQS5GDQIgA0EANgIcIAMgATYCFCADQcEJNgIQIANBCDYCDEEAIQIMjgELIANBADYCAAtBACECIANBADYCHCADIAE2AhQgA0GENzYCECADQQg2AgwMjAELQdgAIQIMcQsgASAERwRAIANBDTYCCCADIAE2AgRB1wAhAgxxC0HqACECDIoBCyABIARGBEBB6QAhAgyKAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1gAhAgxwCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdCADQegANgIcIAMgATYCFCADIAA2AgxBACECDIkBCyABIARGBEBB5wAhAgyJAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLiIARQ11IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMiQELQdUAIQIMbgsgASAERgRAQeUAIQIMiAELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDIoBCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdyADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIkBCyADKAIEIQAgA0EANgIEIAMgACABEC4iAEUNdSADQeQANgIcIAMgATYCFCADIAA2AgwMiAELQdMAIQIMbQsgAy0AKUEiRg2AAUHSACECDGwLQQAhAAJAIAMoAjgiAkUNACACKAI8IgJFDQAgAyACEQAAIQALIABFBEBB1AAhAgxsCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQZwNNgIQIANBITYCDEEAIQIMhgELIANB4QA2AhwgAyABNgIUIANB1hk2AhAgA0EVNgIMQQAhAgyFAQsgASAERgRAQeAAIQIMhQELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HRACECDGwLIANBADYCHCADIAE2AhQgA0GIETYCECADQQk2AgxBACECDIUBCyADQQA2AhwgAyABNgIUIANBiBE2AhAgA0EJNgIMQQAhAgyEAQsgASAERgRAQd8AIQIMhAELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBiBE2AhAgA0ECNgIMQQAhAgyDAQsgASAERgRAQd0AIQIMgwELIAEtAAAiAkENRgRAIAFBAWohAUHPACECDGkLIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyCAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0G1LDYCECADQQc2AgwMgAELIAEgBEYEQEHbACECDIABCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc0AIQIMZAsgASAERgRAQdoAIQIMfgsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0HsETYCECADQQc2AgwgAyABQQFqNgIUDHwLIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HwGTYCECADQRU2AgxBACECDHsLQcwAIQIMYAsgA0EANgIcIAMgATYCFCADQcENNgIQIANBGjYCDEEAIQIMeQsgASAERgRAQdkAIQIMeQsgAS0AAEEgRw06IAFBAWohASADLQAuQQFxDTogA0EANgIcIAMgATYCFCADQa0bNgIQIANBHjYCDEEAIQIMeAsgASAERgRAQdgAIQIMeAsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUErIQIMYQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0G5ETYCECADQQo2AgxBACECDHoLIAFBAWohASADQS9qLQAAQQFxRQ1tIAMtADJBgAFxRQRAIANBMmohAiADEDRBACEAAkAgAygCOCIGRQ0AIAYoAiQiBkUNACADIAYRAAAhAAsCQAJAIAAOFkpJSAEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBshg2AhAgA0EVNgIMQQAhAgx7CyADQQA2AhwgAyABNgIUIANB3Qs2AhAgA0ERNgIMQQAhAgx6C0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAARQ1VIABBFUcNASADQQU2AhwgAyABNgIUIANBhho2AhAgA0EVNgIMQQAhAgx5C0HKACECDF4LQQAhAiADQQA2AhwgAyABNgIUIANB4g02AhAgA0EUNgIMDHcLIAMgAy8BMkGAAXI7ATIMOAsgASAERwRAIANBEDYCCCADIAE2AgRByQAhAgxcC0HXACECDHULIAEgBEYEQEHWACECDHULAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAPT09PT09PT09PT09AT09PQIDPQsgAUEBaiEBQcUAIQIMXQsgAUEBaiEBQcYAIQIMXAsgAUEBaiEBQccAIQIMWwsgAUEBaiEBQcgAIQIMWgtB1QAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQcDGAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHMLQdQAIQIgBCABIgBGDXIgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGwxgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxyC0HTACECIAQgASIARg1xIAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFBksYAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMcQtB0gAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQZDGAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHALIAEgBEYEQEHRACECDHALAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA2NjY2NgE2CyABQQFqIQFBwgAhAgxWCyABQQFqIQFBwwAhAgxVCyADQQA2AgAgBkEBaiEBQcQAIQIMVAtB0AAhAiAEIAEiAEYNbSAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQYbGAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADG0LQc8AIQIgBCABIgBGDWwgBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUGAxgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxsCyAAIQEgA0EANgIADDALQQELOgAsIANBADYCACAHQQFqIQELQSwhAgxOCwJAA0AgAS0AAEGAxABqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMaAtBwQAhAgxNCyABIARGBEBBzAAhAgxnCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAvIgBFDTAgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxnCyADQQA2AhwgAyABNgIUIANBuRE2AhAgA0EKNgIMQQAhAgxmCwJAAkAgAy0ALEECaw4CAAEkCyADQTNqLQAAQQJxRQ0jIAMtAC5BAnENIyADQQA2AhwgAyABNgIUIANB1RM2AhAgA0ELNgIMQQAhAgxmCyADLQAyQSBxRQ0iIAMtAC5BAnENIiADQQA2AhwgAyABNgIUIANB7BI2AhAgA0EPNgIMQQAhAgxlC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQRAQcAAIQIMSwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0H4DjYCECADQRw2AgxBACECDGULIANBygA2AhwgAyABNgIUIANB8Bo2AhAgA0EVNgIMQQAhAgxkCyABIARHBEADQCABLQAAQfA/ai0AAEEBRw0XIAQgAUEBaiIBRw0AC0HEACECDGQLQcQAIQIMYwsgASAERwRAA0ACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcSIAQQlGDQAgAEEgRg0AAkACQAJAAkAgAEHjAGsOEwADAwMDAwMDAQMDAwMDAwMDAwIDCyABQQFqIQFBNSECDE4LIAFBAWohAUE2IQIMTQsgAUEBaiEBQTchAgxMCwwVCyAEIAFBAWoiAUcNAAtBPCECDGMLQTwhAgxiCyABIARGBEBByAAhAgxiCyADQRE2AgggAyABNgIEAkACQAJAAkACQCADLQAsQQFrDgQUAAECCQsgAy0AMkEgcQ0DQdEBIQIMSwsCQCADLwEyIgBBCHFFDQAgAy0AKEEBRw0AIAMtAC5BCHFFDQILIAMgAEH3+wNxQYAEcjsBMgwLCyADIAMvATJBEHI7ATIMBAsgA0EANgIEIAMgASABEDAiAARAIANBwQA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMYwsgAUEBaiEBDFILIANBADYCHCADIAE2AhQgA0GjEzYCECADQQQ2AgxBACECDGELQccAIQIgASAERg1gIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEHwwwBqLQAAIAEtAABBIHJHDQEgAEEGRg1GIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADGELIANBADYCAAwFCwJAIAEgBEcEQANAIAEtAABB8MEAai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBxQAhAgxhC0HFACECDGALCyADQQA6ACwMAQtBCyECDEMLQT4hAgxCCwJAAkADQCABLQAAIgBBIEcEQAJAIABBCmsOBAMFBQMACyAAQSxGDQMMBAsgBCABQQFqIgFHDQALQcYAIQIMXQsgA0EIOgAsDA4LIAMtAChBAUcNAiADLQAuQQhxDQIgAygCBCEAIANBADYCBCADIAAgARAwIgAEQCADQcIANgIcIAMgADYCDCADIAFBAWo2AhRBACECDFwLIAFBAWohAQxKC0E6IQIMQAsCQANAIAEtAAAiAEEgRyAAQQlHcQ0BIAQgAUEBaiIBRw0AC0HDACECDFoLC0E7IQIMPgsCQAJAIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBAMEBAMECyAEIAFBAWoiAUcNAAtBPyECDFoLQT8hAgxZCyADIAMvATJBIHI7ATIMCgsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDUggA0E+NgIcIAMgATYCFCADIAA2AgxBACECDFcLAkAgASAERwRAA0AgAS0AAEHwwQBqLQAAIgBBAUcEQCAAQQJGDQMMDAsgBCABQQFqIgFHDQALQTchAgxYC0E3IQIMVwsgAUEBaiEBDAQLQTshAiAEIAEiAEYNVSAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcCQANAIAFBwMYAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQVGBEBBByEBDDsLIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFYLIANBADYCACAAIQEMBQtBOiECIAQgASIARg1UIAQgAWsgAygCACIBaiEGIAAgAWtBCGohBwJAA0AgAUHkP2otAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEIRgRAQQUhAQw6CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxVCyADQQA2AgAgACEBDAQLQTkhAiAEIAEiAEYNUyAEIAFrIAMoAgAiAWohBiAAIAFrQQNqIQcCQANAIAFB4D9qLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMOQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVAsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMUwsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPSECDDcLIANBADoALAtBOCECDDULIAEgBEYEQEE2IQIMTwsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDAiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMUgsgAygCBCEAIANBADYCBCADIAAgARAwIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxRCyADLQAuQQFxBEBB0AEhAgw3CyADKAIEIQAgA0EANgIEIAMgACABEDAiAA0BDEMLQTMhAgw1CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMTgtBNCECDDMLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB8RU2AhAgA0EZNgIMQQAhAgxMC0EyIQIMMQsgASAERgRAQTIhAgxLCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZgWNgIQIANBAzYCDEEAIQIMSwtBMSECDDALIAEgBEYEQEExIQIMSgsgAS0AACIAQQlHIABBIEdxDQEgAy0ALEEIRw0AIANBADoALAtBPCECDC4LQQEhAgJAAkACQAJAIAMtACxBBWsOBAMBAgAKCyADIAMvATJBCHI7ATIMCQtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgwGCyABIARGBEBBMCECDEcLIAEtAABBCkYEQCABQQFqIQEMAQsgAy0ALkEBcQ0AIANBADYCHCADIAE2AhQgA0HHJzYCECADQQI2AgxBACECDEYLQS8hAgwrCyABQQFqIQFBMCECDCoLIAEgBEYEQEEvIQIMRAsgAS0AACIAQQlHIABBIEdxRQRAIAFBAWohASADLQAuQQFxDQEgA0EANgIcIAMgATYCFCADQekPNgIQIANBCjYCDEEAIQIMRAtBASECAkACQAJAAkACQAJAIAMtACxBAmsOBwUEBAMBAgAECyADIAMvATJBCHI7ATIMAwtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgtBLiECDCoLIANBADYCHCADIAE2AhQgA0GzEjYCECADQQs2AgxBACECDEMLQdIBIQIMKAsgASAERgRAQS4hAgxCCyADQQA2AgQgA0ERNgIIIAMgASABEDAiAA0BC0EtIQIMJgsgA0EtNgIcIAMgATYCFCADIAA2AgxBACECDD8LQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2AA2AhwgAyABNgIUIANBnho2AhAgA0EVNgIMQQAhAgw+C0HLACECDCMLIANBADYCHCADIAE2AhQgA0GFDjYCECADQR02AgxBACECDDwLIAEgBEYEQEHOACECDDwLIAEtAAAiAEEgRg0CIABBOkYNAQsgA0EAOgAsQQkhAgwgCyADKAIEIQAgA0EANgIEIAMgACABEC8iAA0BDAILIAMtAC5BAXEEQEHPASECDB8LIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANBKjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgw4CyADQcsANgIcIAMgADYCDCADIAFBAWo2AhRBACECDDcLIAFBAWohAUE/IQIMHAsgAUEBaiEBDCkLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIABFDREgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GGGjYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0HiDTYCECADQRQ2AgxBACECDDULIANBMmohAiADEDRBACEAAkAgAygCOCIGRQ0AIAYoAiQiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKiECDBcLIANBKTYCHCADIAE2AhQgA0GyGDYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HdCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GdCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNUEAR0ECdCEADAELQQBBAyADKQMgUBshAAsCQCAAQQFrDgUAAQYHAgMLQQAhAgJAIAMoAjgiAEUNACAAKAIsIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0G9GjYCECADQRU2AgxBACECDC4LQQAhAiADQQA2AhwgAyABNgIUIANBrw42AhAgA0ESNgIMDC0LQc4BIQIMEgtBACECIANBADYCHCADIAE2AhQgA0HkHzYCECADQQ82AgwMKwtBACEAAkAgAygCOCICRQ0AIAIoAiwiAkUNACADIAIRAAAhAAsgAA0BC0EOIQIMDwsgAEEVRgRAIANBAjYCHCADIAE2AhQgA0G9GjYCECADQRU2AgxBACECDCkLQQAhAiADQQA2AhwgAyABNgIUIANBrw42AhAgA0ESNgIMDCgLQSkhAgwNCyADQQE6ADEMJAsgASAERwRAIANBCTYCCCADIAE2AgRBKCECDAwLQSYhAgwlCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwlCyADKAIEIQBBACECIANBADYCBCADIAAgASAMp2oiARAxIgBFDQAgA0EFNgIcIAMgATYCFCADIAA2AgwMJAtBDyECDAkLIAEgBEYEQEEjIQIMIwtCACEKAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsONxcWAAECAwQFBgcUFBQUFBQUCAkKCwwNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQODxAREhMUC0ICIQoMFgtCAyEKDBULQgQhCgwUC0IFIQoMEwtCBiEKDBILQgchCgwRC0IIIQoMEAtCCSEKDA8LQgohCgwOC0ILIQoMDQtCDCEKDAwLQg0hCgwLC0IOIQoMCgtCDyEKDAkLQgohCgwIC0ILIQoMBwtCDCEKDAYLQg0hCgwFC0IOIQoMBAtCDyEKDAMLQQAhAiADQQA2AhwgAyABNgIUIANBzhQ2AhAgA0EMNgIMDCILIAEgBEYEQEEiIQIMIgtCACEKAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcVFAABAgMEBQYHFhYWFhYWFggJCgsMDRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDg8QERITFgtCAiEKDBQLQgMhCgwTC0IEIQoMEgtCBSEKDBELQgYhCgwQC0IHIQoMDwtCCCEKDA4LQgkhCgwNC0IKIQoMDAtCCyEKDAsLQgwhCgwKC0INIQoMCQtCDiEKDAgLQg8hCgwHC0IKIQoMBgtCCyEKDAULQgwhCgwEC0INIQoMAwtCDiEKDAILQg8hCgwBC0IBIQoLIAFBAWohASADKQMgIgtC//////////8PWARAIAMgC0IEhiAKhDcDIAwCC0EAIQIgA0EANgIcIAMgATYCFCADQa0JNgIQIANBDDYCDAwfC0ElIQIMBAtBJiECDAMLIAMgAToALCADQQA2AgAgB0EBaiEBQQwhAgwCCyADQQA2AgAgBkEBaiEBQQohAgwBCyABQQFqIQFBCCECDAALAAtBACECIANBADYCHCADIAE2AhQgA0HVEDYCECADQQk2AgwMGAtBACECIANBADYCHCADIAE2AhQgA0HXCjYCECADQQk2AgwMFwtBACECIANBADYCHCADIAE2AhQgA0G/EDYCECADQQk2AgwMFgtBACECIANBADYCHCADIAE2AhQgA0GkETYCECADQQk2AgwMFQtBACECIANBADYCHCADIAE2AhQgA0HVEDYCECADQQk2AgwMFAtBACECIANBADYCHCADIAE2AhQgA0HXCjYCECADQQk2AgwMEwtBACECIANBADYCHCADIAE2AhQgA0G/EDYCECADQQk2AgwMEgtBACECIANBADYCHCADIAE2AhQgA0GkETYCECADQQk2AgwMEQtBACECIANBADYCHCADIAE2AhQgA0G/FjYCECADQQ82AgwMEAtBACECIANBADYCHCADIAE2AhQgA0G/FjYCECADQQ82AgwMDwtBACECIANBADYCHCADIAE2AhQgA0HIEjYCECADQQs2AgwMDgtBACECIANBADYCHCADIAE2AhQgA0GVCTYCECADQQs2AgwMDQtBACECIANBADYCHCADIAE2AhQgA0HpDzYCECADQQo2AgwMDAtBACECIANBADYCHCADIAE2AhQgA0GDEDYCECADQQo2AgwMCwtBACECIANBADYCHCADIAE2AhQgA0GmHDYCECADQQI2AgwMCgtBACECIANBADYCHCADIAE2AhQgA0HFFTYCECADQQI2AgwMCQtBACECIANBADYCHCADIAE2AhQgA0H/FzYCECADQQI2AgwMCAtBACECIANBADYCHCADIAE2AhQgA0HKFzYCECADQQI2AgwMBwsgA0ECNgIcIAMgATYCFCADQZQdNgIQIANBFjYCDEEAIQIMBgtB3gAhAiABIARGDQUgCUEIaiEHIAMoAgAhBQJAAkAgASAERwRAIAVBxsYAaiEIIAQgBWogAWshBiAFQX9zQQpqIgUgAWohAANAIAEtAAAgCC0AAEcEQEECIQgMAwsgBUUEQEEAIQggACEBDAMLIAVBAWshBSAIQQFqIQggBCABQQFqIgFHDQALIAYhBSAEIQELIAdBATYCACADIAU2AgAMAQsgA0EANgIAIAcgCDYCAAsgByABNgIEIAkoAgwhACAJKAIIDgMBBQIACwALIANBADYCHCADQa0dNgIQIANBFzYCDCADIABBAWo2AhRBACECDAMLIANBADYCHCADIAA2AhQgA0HCHTYCECADQQk2AgxBACECDAILIAEgBEYEQEEoIQIMAgsgA0EJNgIIIAMgATYCBEEnIQIMAQsgASAERgRAQQEhAgwBCwNAAkACQAJAIAEtAABBCmsOBAABAQABCyABQQFqIQEMAQsgAUEBaiEBIAMtAC5BIHENAEEAIQIgA0EANgIcIAMgATYCFCADQYwgNgIQIANBBTYCDAwCC0EBIQIgASAERw0ACwsgCUEQaiQAIAJFBEAgAygCDCEADAELIAMgAjYCHEEAIQAgAygCBCIBRQ0AIAMgASAEIAMoAggRAQAiAUUNACADIAQ2AhQgAyABNgIMIAEhAAsgAAu+AgECfyAAQQA6AAAgAEHcAGoiAUEBa0EAOgAAIABBADoAAiAAQQA6AAEgAUEDa0EAOgAAIAFBAmtBADoAACAAQQA6AAMgAUEEa0EAOgAAQQAgAGtBA3EiASAAaiIAQQA2AgBB3AAgAWtBfHEiAiAAaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC1YBAX8CQCAAKAIMDQACQAJAAkACQCAALQAxDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgAREAACIBDQMLQQAPCwALIABB0Bg2AhBBDiEBCyABCxoAIAAoAgxFBEAgAEHJHjYCECAAQRU2AgwLCxQAIAAoAgxBFUYEQCAAQQA2AgwLCxQAIAAoAgxBFkYEQCAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsXACAAQSRPBEAACyAAQQJ0QZQ3aigCAAsXACAAQS9PBEAACyAAQQJ0QaQ4aigCAAu/CQEBf0HfLCEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHkAGsO9ANjYgABYWFhYWFhAgMEBWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEGBwgJCgsMDQ4PYWFhYWEQYWFhYWFhYWFhYWERYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhEhMUFRYXGBkaG2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEcHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTZhNzg5OmFhYWFhYWFhO2FhYTxhYWFhPT4/YWFhYWFhYWFAYWFBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQkNERUZHSElKS0xNTk9QUVJTYWFhYWFhYWFUVVZXWFlaW2FcXWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV5hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFfYGELQdUrDwtBgyUPC0G/MA8LQfI1DwtBtCgPC0GfKA8LQYEsDwtB1ioPC0H0Mw8LQa0zDwtByygPC0HOIw8LQcAjDwtB2SMPC0HRJA8LQZwzDwtBojYPC0H8Mw8LQeArDwtB4SUPC0HtIA8LQcQyDwtBqScPC0G5Ng8LQbggDwtBqyAPC0GjJA8LQbYkDwtBgSMPC0HhMg8LQZ80DwtByCkPC0HAMg8LQe4yDwtB8C8PC0HGNA8LQdAhDwtBmiQPC0HrLw8LQYQ1DwtByzUPC0GWMQ8LQcgrDwtB1C8PC0GTMA8LQd81DwtBtCMPC0G+NQ8LQdIpDwtBsyIPC0HNIA8LQZs2DwtBkCEPC0H/IA8LQa01DwtBsDQPC0HxJA8LQacqDwtB3TAPC0GLIg8LQcgvDwtB6yoPC0H0KQ8LQY8lDwtB3SIPC0HsJg8LQf0wDwtB1iYPC0GUNQ8LQY0jDwtBuikPC0HHIg8LQfIlDwtBtjMPC0GiIQ8LQf8vDwtBwCEPC0GBMw8LQcklDwtBqDEPC0HGMw8LQdM2DwtBxjYPC0HkNA8LQYgmDwtB7ScPC0H4IQ8LQakwDwtBjzQPC0GGNg8LQaovDwtBoSYPC0HsNg8LQZIpDwtBryYPC0GZIg8LQeAhDwsAC0G1JSEBCyABCxcAIAAgAC8BLkH+/wNxIAFBAEdyOwEuCxoAIAAgAC8BLkH9/wNxIAFBAEdBAXRyOwEuCxoAIAAgAC8BLkH7/wNxIAFBAEdBAnRyOwEuCxoAIAAgAC8BLkH3/wNxIAFBAEdBA3RyOwEuCxoAIAAgAC8BLkHv/wNxIAFBAEdBBHRyOwEuCxoAIAAgAC8BLkHf/wNxIAFBAEdBBXRyOwEuCxoAIAAgAC8BLkG//wNxIAFBAEdBBnRyOwEuCxoAIAAgAC8BLkH//gNxIAFBAEdBB3RyOwEuCxoAIAAgAC8BLkH//QNxIAFBAEdBCHRyOwEuCxoAIAAgAC8BLkH/+wNxIAFBAEdBCXRyOwEuCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBzhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB5Ao2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB5R02AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBnRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBoh42AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7hQ2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9xs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRU2AhBBGCEECyAECzgAIAACfyAALwEyQRRxQRRGBEBBASAALQAoQQFGDQEaIAAvATRB5QBGDAELIAAtAClBBUYLOgAwC1kBAn8CQCAALQAoQQFGDQAgAC8BNCIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMiIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEyIgFBAnFFDQEMAgsgAC8BMiIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATQiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtzACAAQRBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAA/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQTBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQSBq/QwAAAAAAAAAAAAAAAAAAAAA/QsDACAAQewBNgIcCwYAIAAQOQuaLQELfyMAQRBrIgokAEGY1AAoAgAiCUUEQEHY1wAoAgAiBUUEQEHk1wBCfzcCAEHc1wBCgICEgICAwAA3AgBB2NcAIApBCGpBcHFB2KrVqgVzIgU2AgBB7NcAQQA2AgBBvNcAQQA2AgALQcDXAEGA2AQ2AgBBkNQAQYDYBDYCAEGk1AAgBTYCAEGg1ABBfzYCAEHE1wBBgKgDNgIAA0AgAUG81ABqIAFBsNQAaiICNgIAIAIgAUGo1ABqIgM2AgAgAUG01ABqIAM2AgAgAUHE1ABqIAFBuNQAaiIDNgIAIAMgAjYCACABQczUAGogAUHA1ABqIgI2AgAgAiADNgIAIAFByNQAaiACNgIAIAFBIGoiAUGAAkcNAAtBjNgEQcGnAzYCAEGc1ABB6NcAKAIANgIAQYzUAEHApwM2AgBBmNQAQYjYBDYCAEHM/wdBODYCAEGI2AQhCQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQewBTQRAQYDUACgCACIGQRAgAEETakFwcSAAQQtJGyIEQQN2IgB2IgFBA3EEQAJAIAFBAXEgAHJBAXMiAkEDdCIAQajUAGoiASAAQbDUAGooAgAiACgCCCIDRgRAQYDUACAGQX4gAndxNgIADAELIAEgAzYCCCADIAE2AgwLIABBCGohASAAIAJBA3QiAkEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwRC0GI1AAoAgAiCCAETw0BIAEEQAJAQQIgAHQiAkEAIAJrciABIAB0cWgiAEEDdCICQajUAGoiASACQbDUAGooAgAiAigCCCIDRgRAQYDUACAGQX4gAHdxIgY2AgAMAQsgASADNgIIIAMgATYCDAsgAiAEQQNyNgIEIABBA3QiACAEayEFIAAgAmogBTYCACACIARqIgQgBUEBcjYCBCAIBEAgCEF4cUGo1ABqIQBBlNQAKAIAIQMCf0EBIAhBA3Z0IgEgBnFFBEBBgNQAIAEgBnI2AgAgAAwBCyAAKAIICyIBIAM2AgwgACADNgIIIAMgADYCDCADIAE2AggLIAJBCGohAUGU1AAgBDYCAEGI1AAgBTYCAAwRC0GE1AAoAgAiC0UNASALaEECdEGw1gBqKAIAIgAoAgRBeHEgBGshBSAAIQIDQAJAIAIoAhAiAUUEQCACQRRqKAIAIgFFDQELIAEoAgRBeHEgBGsiAyAFSSECIAMgBSACGyEFIAEgACACGyEAIAEhAgwBCwsgACgCGCEJIAAoAgwiAyAARwRAQZDUACgCABogAyAAKAIIIgE2AgggASADNgIMDBALIABBFGoiAigCACIBRQRAIAAoAhAiAUUNAyAAQRBqIQILA0AgAiEHIAEiA0EUaiICKAIAIgENACADQRBqIQIgAygCECIBDQALIAdBADYCAAwPC0F/IQQgAEG/f0sNACAAQRNqIgFBcHEhBEGE1AAoAgAiCEUNAEEAIARrIQUCQAJAAkACf0EAIARBgAJJDQAaQR8gBEH///8HSw0AGiAEQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qCyIGQQJ0QbDWAGooAgAiAkUEQEEAIQFBACEDDAELQQAhASAEQRkgBkEBdmtBACAGQR9HG3QhAEEAIQMDQAJAIAIoAgRBeHEgBGsiByAFTw0AIAIhAyAHIgUNAEEAIQUgAiEBDAMLIAEgAkEUaigCACIHIAcgAiAAQR12QQRxakEQaigCACICRhsgASAHGyEBIABBAXQhACACDQALCyABIANyRQRAQQAhA0ECIAZ0IgBBACAAa3IgCHEiAEUNAyAAaEECdEGw1gBqKAIAIQELIAFFDQELA0AgASgCBEF4cSAEayICIAVJIQAgAiAFIAAbIQUgASADIAAbIQMgASgCECIABH8gAAUgAUEUaigCAAsiAQ0ACwsgA0UNACAFQYjUACgCACAEa08NACADKAIYIQcgAyADKAIMIgBHBEBBkNQAKAIAGiAAIAMoAggiATYCCCABIAA2AgwMDgsgA0EUaiICKAIAIgFFBEAgAygCECIBRQ0DIANBEGohAgsDQCACIQYgASIAQRRqIgIoAgAiAQ0AIABBEGohAiAAKAIQIgENAAsgBkEANgIADA0LQYjUACgCACIDIARPBEBBlNQAKAIAIQECQCADIARrIgJBEE8EQCABIARqIgAgAkEBcjYCBCABIANqIAI2AgAgASAEQQNyNgIEDAELIAEgA0EDcjYCBCABIANqIgAgACgCBEEBcjYCBEEAIQBBACECC0GI1AAgAjYCAEGU1AAgADYCACABQQhqIQEMDwtBjNQAKAIAIgMgBEsEQCAEIAlqIgAgAyAEayIBQQFyNgIEQZjUACAANgIAQYzUACABNgIAIAkgBEEDcjYCBCAJQQhqIQEMDwtBACEBIAQCf0HY1wAoAgAEQEHg1wAoAgAMAQtB5NcAQn83AgBB3NcAQoCAhICAgMAANwIAQdjXACAKQQxqQXBxQdiq1aoFczYCAEHs1wBBADYCAEG81wBBADYCAEGAgAQLIgAgBEHHAGoiBWoiBkEAIABrIgdxIgJPBEBB8NcAQTA2AgAMDwsCQEG41wAoAgAiAUUNAEGw1wAoAgAiCCACaiEAIAAgAU0gACAIS3ENAEEAIQFB8NcAQTA2AgAMDwtBvNcALQAAQQRxDQQCQAJAIAkEQEHA1wAhAQNAIAEoAgAiACAJTQRAIAAgASgCBGogCUsNAwsgASgCCCIBDQALC0EAEDoiAEF/Rg0FIAIhBkHc1wAoAgAiAUEBayIDIABxBEAgAiAAayAAIANqQQAgAWtxaiEGCyAEIAZPDQUgBkH+////B0sNBUG41wAoAgAiAwRAQbDXACgCACIHIAZqIQEgASAHTQ0GIAEgA0sNBgsgBhA6IgEgAEcNAQwHCyAGIANrIAdxIgZB/v///wdLDQQgBhA6IQAgACABKAIAIAEoAgRqRg0DIAAhAQsCQCAGIARByABqTw0AIAFBf0YNAEHg1wAoAgAiACAFIAZrakEAIABrcSIAQf7///8HSwRAIAEhAAwHCyAAEDpBf0cEQCAAIAZqIQYgASEADAcLQQAgBmsQOhoMBAsgASIAQX9HDQUMAwtBACEDDAwLQQAhAAwKCyAAQX9HDQILQbzXAEG81wAoAgBBBHI2AgALIAJB/v///wdLDQEgAhA6IQBBABA6IQEgAEF/Rg0BIAFBf0YNASAAIAFPDQEgASAAayIGIARBOGpNDQELQbDXAEGw1wAoAgAgBmoiATYCAEG01wAoAgAgAUkEQEG01wAgATYCAAsCQAJAAkBBmNQAKAIAIgIEQEHA1wAhAQNAIAAgASgCACIDIAEoAgQiBWpGDQIgASgCCCIBDQALDAILQZDUACgCACIBQQBHIAAgAU9xRQRAQZDUACAANgIAC0EAIQFBxNcAIAY2AgBBwNcAIAA2AgBBoNQAQX82AgBBpNQAQdjXACgCADYCAEHM1wBBADYCAANAIAFBvNQAaiABQbDUAGoiAjYCACACIAFBqNQAaiIDNgIAIAFBtNQAaiADNgIAIAFBxNQAaiABQbjUAGoiAzYCACADIAI2AgAgAUHM1ABqIAFBwNQAaiICNgIAIAIgAzYCACABQcjUAGogAjYCACABQSBqIgFBgAJHDQALQXggAGtBD3EiASAAaiICIAZBOGsiAyABayIBQQFyNgIEQZzUAEHo1wAoAgA2AgBBjNQAIAE2AgBBmNQAIAI2AgAgACADakE4NgIEDAILIAAgAk0NACACIANJDQAgASgCDEEIcQ0AQXggAmtBD3EiACACaiIDQYzUACgCACAGaiIHIABrIgBBAXI2AgQgASAFIAZqNgIEQZzUAEHo1wAoAgA2AgBBjNQAIAA2AgBBmNQAIAM2AgAgAiAHakE4NgIEDAELIABBkNQAKAIASQRAQZDUACAANgIACyAAIAZqIQNBwNcAIQECQAJAAkADQCADIAEoAgBHBEAgASgCCCIBDQEMAgsLIAEtAAxBCHFFDQELQcDXACEBA0AgASgCACIDIAJNBEAgAyABKAIEaiIFIAJLDQMLIAEoAgghAQwACwALIAEgADYCACABIAEoAgQgBmo2AgQgAEF4IABrQQ9xaiIJIARBA3I2AgQgA0F4IANrQQ9xaiIGIAQgCWoiBGshASACIAZGBEBBmNQAIAQ2AgBBjNQAQYzUACgCACABaiIANgIAIAQgAEEBcjYCBAwIC0GU1AAoAgAgBkYEQEGU1AAgBDYCAEGI1ABBiNQAKAIAIAFqIgA2AgAgBCAAQQFyNgIEIAAgBGogADYCAAwICyAGKAIEIgVBA3FBAUcNBiAFQXhxIQggBUH/AU0EQCAFQQN2IQMgBigCCCIAIAYoAgwiAkYEQEGA1ABBgNQAKAIAQX4gA3dxNgIADAcLIAIgADYCCCAAIAI2AgwMBgsgBigCGCEHIAYgBigCDCIARwRAIAAgBigCCCICNgIIIAIgADYCDAwFCyAGQRRqIgIoAgAiBUUEQCAGKAIQIgVFDQQgBkEQaiECCwNAIAIhAyAFIgBBFGoiAigCACIFDQAgAEEQaiECIAAoAhAiBQ0ACyADQQA2AgAMBAtBeCAAa0EPcSIBIABqIgcgBkE4ayIDIAFrIgFBAXI2AgQgACADakE4NgIEIAIgBUE3IAVrQQ9xakE/ayIDIAMgAkEQakkbIgNBIzYCBEGc1ABB6NcAKAIANgIAQYzUACABNgIAQZjUACAHNgIAIANBEGpByNcAKQIANwIAIANBwNcAKQIANwIIQcjXACADQQhqNgIAQcTXACAGNgIAQcDXACAANgIAQczXAEEANgIAIANBJGohAQNAIAFBBzYCACAFIAFBBGoiAUsNAAsgAiADRg0AIAMgAygCBEF+cTYCBCADIAMgAmsiBTYCACACIAVBAXI2AgQgBUH/AU0EQCAFQXhxQajUAGohAAJ/QYDUACgCACIBQQEgBUEDdnQiA3FFBEBBgNQAIAEgA3I2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEGw1gBqIQBBhNQAKAIAIgNBASABdCIGcUUEQCAAIAI2AgBBhNQAIAMgBnI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEDAkADQCADIgAoAgRBeHEgBUYNASABQR12IQMgAUEBdCEBIAAgA0EEcWpBEGoiBigCACIDDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLQYzUACgCACIBIARNDQBBmNQAKAIAIgAgBGoiAiABIARrIgFBAXI2AgRBjNQAIAE2AgBBmNQAIAI2AgAgACAEQQNyNgIEIABBCGohAQwIC0EAIQFB8NcAQTA2AgAMBwtBACEACyAHRQ0AAkAgBigCHCICQQJ0QbDWAGoiAygCACAGRgRAIAMgADYCACAADQFBhNQAQYTUACgCAEF+IAJ3cTYCAAwCCyAHQRBBFCAHKAIQIAZGG2ogADYCACAARQ0BCyAAIAc2AhggBigCECICBEAgACACNgIQIAIgADYCGAsgBkEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgCGohASAGIAhqIgYoAgQhBQsgBiAFQX5xNgIEIAEgBGogATYCACAEIAFBAXI2AgQgAUH/AU0EQCABQXhxQajUAGohAAJ/QYDUACgCACICQQEgAUEDdnQiAXFFBEBBgNQAIAEgAnI2AgAgAAwBCyAAKAIICyIBIAQ2AgwgACAENgIIIAQgADYCDCAEIAE2AggMAQtBHyEFIAFB////B00EQCABQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qIQULIAQgBTYCHCAEQgA3AhAgBUECdEGw1gBqIQBBhNQAKAIAIgJBASAFdCIDcUUEQCAAIAQ2AgBBhNQAIAIgA3I2AgAgBCAANgIYIAQgBDYCCCAEIAQ2AgwMAQsgAUEZIAVBAXZrQQAgBUEfRxt0IQUgACgCACEAAkADQCAAIgIoAgRBeHEgAUYNASAFQR12IQAgBUEBdCEFIAIgAEEEcWpBEGoiAygCACIADQALIAMgBDYCACAEIAI2AhggBCAENgIMIAQgBDYCCAwBCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAlBCGohAQwCCwJAIAdFDQACQCADKAIcIgFBAnRBsNYAaiICKAIAIANGBEAgAiAANgIAIAANAUGE1AAgCEF+IAF3cSIINgIADAILIAdBEEEUIAcoAhAgA0YbaiAANgIAIABFDQELIAAgBzYCGCADKAIQIgEEQCAAIAE2AhAgASAANgIYCyADQRRqKAIAIgFFDQAgAEEUaiABNgIAIAEgADYCGAsCQCAFQQ9NBEAgAyAEIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAEaiICIAVBAXI2AgQgAyAEQQNyNgIEIAIgBWogBTYCACAFQf8BTQRAIAVBeHFBqNQAaiEAAn9BgNQAKAIAIgFBASAFQQN2dCIFcUUEQEGA1AAgASAFcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbDWAGohAEEBIAF0IgQgCHFFBEAgACACNgIAQYTUACAEIAhyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhBAJAA0AgBCIAKAIEQXhxIAVGDQEgAUEddiEEIAFBAXQhASAAIARBBHFqQRBqIgYoAgAiBA0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIICyADQQhqIQEMAQsCQCAJRQ0AAkAgACgCHCIBQQJ0QbDWAGoiAigCACAARgRAIAIgAzYCACADDQFBhNQAIAtBfiABd3E2AgAMAgsgCUEQQRQgCSgCECAARhtqIAM2AgAgA0UNAQsgAyAJNgIYIAAoAhAiAQRAIAMgATYCECABIAM2AhgLIABBFGooAgAiAUUNACADQRRqIAE2AgAgASADNgIYCwJAIAVBD00EQCAAIAQgBWoiAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBCyAAIARqIgcgBUEBcjYCBCAAIARBA3I2AgQgBSAHaiAFNgIAIAgEQCAIQXhxQajUAGohAUGU1AAoAgAhAwJ/QQEgCEEDdnQiAiAGcUUEQEGA1AAgAiAGcjYCACABDAELIAEoAggLIgIgAzYCDCABIAM2AgggAyABNgIMIAMgAjYCCAtBlNQAIAc2AgBBiNQAIAU2AgALIABBCGohAQsgCkEQaiQAIAELQwAgAEUEQD8AQRB0DwsCQCAAQf//A3ENACAAQQBIDQAgAEEQdkAAIgBBf0YEQEHw1wBBMDYCAEF/DwsgAEEQdA8LAAsL20AiAEGACAsJAQAAAAIAAAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4IxSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMARXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVycwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGhlYWRlciB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBxdW90ZWQtcGFpciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgcmVzcG9uc2UgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGV4dGVuc2lvbiBuYW1lAEludmFsaWQgc3RhdHVzIGNvZGUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBkYXRhAEV4cGVjdGVkIExGIGFmdGVyIGNodW5rIGRhdGEAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAERhdGEgYWZ0ZXIgYENvbm5lY3Rpb246IGNsb3NlYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAUVVFUlkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBFeHBlY3RlZCBMRiBhZnRlciBDUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAFIVAAAaFQAADxIAAOQZAACRFQAACRQAAC0ZAADkFAAA6REAAGkUAAChFAAAdhUAAEMWAABeEgAAlBcAABcWAAB9FAAAfxYAAEEXAACzEwAAwxYAAAQaAAC9GAAA0BgAAKATAADUGQAArxYAAGgWAABwFwAA2RYAAPwYAAD+EQAAWRcAAJcWAAAcFwAA9hYAAI0XAAALEgAAfxsAAC4RAACzEAAASRIAAK0SAAD2GAAAaBAAAGIVAAAQFQAAWhYAAEoZAAC1FQAAwRUAAGAVAABcGQAAWhkAAFMZAAAWFQAArREAAEIQAAC3EAAAVxgAAL8VAACJEAAAHBkAABoZAAC5FQAAURgAANwTAABbFQAAWRUAAOYYAABnFQAAERkAAO0YAADnEwAArhAAAMIXAAAAFAAAkhMAAIQTAABAEgAAJhkAAK8VAABiEABB6TkLAQEAQYA6C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQeo7CwQBAAACAEGBPAteAwQDAwMDAwAAAwMAAwMAAwMDAwMDAwMDAwAFAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMAAwBB6j0LBAEAAAIAQYE+C14DAAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAQABQAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEHgPwsNbG9zZWVlcC1hbGl2ZQBB+T8LAQEAQZDAAAvgAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5wQALAQEAQZDCAAvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBocQAC14BAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGAxgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBsMYACytyYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNClNNDQoNClRUUC9DRS9UU1AvAEHpxgALBQECAAEDAEGAxwALXwQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAEHpyAALBQECAAEDAEGAyQALXwQFBQYFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAEHpygALBAEAAAEAQYHLAAteAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBB6cwACwUBAgABAwBBgM0AC18EBQAABQUFBQUFBQUFBQUGBQUFBQUFBQUFBQUFAAUABwgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQAFAAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAAAABQBB6c4ACwUBAQABAQBBgM8ACwEBAEGazwALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEHp0AALBQEBAAEBAEGA0QALAQEAQYrRAAsGAgAAAAACAEGh0QALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQeDSAAuaAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VVRVJZT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=",l2;Object.defineProperty(zN,"exports",{get:()=>l2||(l2=zse.from(Kse,"base64"))})});var N0=he((T6e,s3)=>{"use strict";var ZN=["GET","HEAD","POST"],Zse=new Set(ZN),Xse=[101,204,205,304],XN=[301,302,303,307,308],eoe=new Set(XN),e3=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],toe=new Set(e3),t3=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],roe=["",...t3],noe=new Set(t3),ioe=["follow","manual","error"],r3=["GET","HEAD","OPTIONS","TRACE"],soe=new Set(r3),ooe=["navigate","same-origin","no-cors","cors"],aoe=["omit","same-origin","include"],uoe=["default","no-store","reload","no-cache","force-cache","only-if-cached"],coe=["content-encoding","content-language","content-location","content-type","content-length"],loe=["half"],n3=["CONNECT","TRACE","TRACK"],Aoe=new Set(n3),i3=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],poe=new Set(i3);s3.exports={subresource:i3,forbiddenMethods:n3,requestBodyHeader:coe,referrerPolicy:roe,requestRedirect:ioe,requestMode:ooe,requestCredentials:aoe,requestCache:uoe,redirectStatus:XN,corsSafeListedMethods:ZN,nullBodyStatus:Xse,safeMethods:r3,badPorts:e3,requestDuplex:loe,subresourceSet:poe,badPortsSet:toe,redirectStatusSet:eoe,corsSafeListedMethodsSet:Zse,safeMethodsSet:soe,forbiddenMethodsSet:Aoe,referrerPolicyTokens:noe}});var f2=he((_6e,o3)=>{"use strict";var p2=Symbol.for("undici.globalOrigin.1");function foe(){return globalThis[p2]}function hoe(e){if(e===void 0){Object.defineProperty(globalThis,p2,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let t=new URL(e);if(t.protocol!=="http:"&&t.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${t.protocol}`);Object.defineProperty(globalThis,p2,{value:t,writable:!0,enumerable:!1,configurable:!1})}o3.exports={getGlobalOrigin:foe,setGlobalOrigin:hoe}});var Oo=he((U6e,f3)=>{"use strict";var Uy=require("node:assert"),doe=new TextEncoder,T0=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,goe=/[\u000A\u000D\u0009\u0020]/,moe=/[\u0009\u000A\u000C\u000D\u0020]/g,Eoe=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function yoe(e){Uy(e.protocol==="data:");let t=c3(e,!0);t=t.slice(5);let r={position:0},n=Xh(",",t,r),i=n.length;if(n=boe(n,!0,!0),r.position>=t.length)return"failure";r.position++;let s=t.slice(i+1),o=l3(s);if(/;(\u0020){0,}base64$/i.test(n)){let A=p3(o);if(o=voe(A),o==="failure")return"failure";n=n.slice(0,-6),n=n.replace(/(\u0020)+$/,""),n=n.slice(0,-1)}n.startsWith(";")&&(n="text/plain"+n);let u=g2(n);return u==="failure"&&(u=g2("text/plain;charset=US-ASCII")),{mimeType:u,body:o}}function c3(e,t=!1){if(!t)return e.href;let r=e.href,n=e.hash.length,i=n===0?r:r.substring(0,r.length-n);return!n&&r.endsWith("#")?i.slice(0,-1):i}function Oy(e,t,r){let n="";for(;r.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function u3(e){return e>=48&&e<=57?e-48:(e&223)-55}function Coe(e){let t=e.length,r=new Uint8Array(t),n=0;for(let i=0;i=e.length)return"failure";t.position++;let n=Xh(";",e,t);if(n=_y(n,!1,!0),n.length===0||!T0.test(n))return"failure";let i=r.toLowerCase(),s=n.toLowerCase(),o={type:i,subtype:s,parameters:new Map,essence:`${i}/${s}`};for(;t.positiongoe.test(p),e,t);let u=Oy(p=>p!==";"&&p!=="=",e,t);if(u=u.toLowerCase(),t.position=e.length)break;let A=null;if(e[t.position]==='"')A=A3(e,t,!0),Xh(";",e,t);else if(A=Xh(";",e,t),A=_y(A,!1,!0),A.length===0)continue;u.length!==0&&T0.test(u)&&(A.length===0||Eoe.test(A))&&!o.parameters.has(u)&&o.parameters.set(u,A)}return o}function voe(e){e=e.replace(moe,"");let t=e.length;if(t%4===0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4===1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return"failure";let r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function A3(e,t,r=!1){let n=t.position,i="";for(Uy(e[t.position]==='"'),t.position++;i+=Oy(o=>o!=='"'&&o!=="\\",e,t),!(t.position>=e.length);){let s=e[t.position];if(t.position++,s==="\\"){if(t.position>=e.length){i+="\\";break}i+=e[t.position],t.position++}else{Uy(s==='"');break}}return r?i:e.slice(n,t.position)}function Ioe(e){Uy(e!=="failure");let{parameters:t,essence:r}=e,n=r;for(let[i,s]of t.entries())n+=";",n+=i,n+="=",T0.test(s)||(s=s.replace(/(\\|")/g,"\\$1"),s='"'+s,s+='"'),n+=s;return n}function Boe(e){return e===13||e===10||e===9||e===32}function _y(e,t=!0,r=!0){return v2(e,t,r,Boe)}function woe(e){return e===13||e===10||e===9||e===12||e===32}function boe(e,t=!0,r=!0){return v2(e,t,r,woe)}function v2(e,t,r,n){let i=0,s=e.length-1;if(t)for(;i0&&n(e.charCodeAt(s));)s--;return i===0&&s===e.length-1?e:e.slice(i,s+1)}function p3(e){let t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let r="",n=0,i=65535;for(;nt&&(i=t-n),r+=String.fromCharCode.apply(null,e.subarray(n,n+=i));return r}function xoe(e){switch(e.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return e.subtype.endsWith("+json")?"application/json":e.subtype.endsWith("+xml")?"application/xml":""}f3.exports={dataURLProcessor:yoe,URLSerializer:c3,collectASequenceOfCodePoints:Oy,collectASequenceOfCodePointsFast:Xh,stringPercentDecode:l3,parseMIMEType:g2,collectAnHTTPQuotedString:A3,serializeAMimeType:Ioe,removeChars:v2,removeHTTPWhitespace:_y,minimizeSupportedMimeType:xoe,HTTP_TOKEN_CODEPOINTS:T0,isomorphicDecode:p3}});var ms=he((O6e,d3)=>{"use strict";var{types:Yp,inspect:Qoe}=require("node:util"),{markAsUncloneable:Foe}=require("node:worker_threads"),{toUSVString:Doe}=Tr(),Q2=1,M2=2,My=3,Ly=4,q2=5,G2=6,Y2=7,Ju=8,h3=Function.call.bind(Function.prototype[Symbol.hasInstance]),bt={converters:{},util:{},errors:{},is:{}};bt.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};bt.errors.conversionFailed=function(e){let t=e.types.length===1?"":" one of",r=`${e.argument} could not be converted to${t}: ${e.types.join(", ")}.`;return bt.errors.exception({header:e.prefix,message:r})};bt.errors.invalidArgument=function(e){return bt.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};bt.brandCheck=function(e,t){if(!h3(t,e)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};bt.brandCheckMultiple=function(e){let t=e.map(r=>bt.util.MakeTypeAssertion(r));return r=>{if(t.every(n=>!n(r))){let n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}}};bt.argumentLengthCheck=function({length:e},t,r){if(eh3(e,t)};bt.util.Type=function(e){switch(typeof e){case"undefined":return Q2;case"boolean":return M2;case"string":return My;case"symbol":return Ly;case"number":return q2;case"bigint":return G2;case"function":case"object":return e===null?Y2:Ju}};bt.util.Types={UNDEFINED:Q2,BOOLEAN:M2,STRING:My,SYMBOL:Ly,NUMBER:q2,BIGINT:G2,NULL:Y2,OBJECT:Ju};bt.util.TypeValueToString=function(e){switch(bt.util.Type(e)){case Q2:return"Undefined";case M2:return"Boolean";case My:return"String";case Ly:return"Symbol";case q2:return"Number";case G2:return"BigInt";case Y2:return"Null";case Ju:return"Object"}};bt.util.markAsUncloneable=Foe||(()=>{});bt.util.ConvertToInt=function(e,t,r,n){let i,s;t===64?(i=Math.pow(2,53)-1,r==="unsigned"?s=0:s=Math.pow(-2,53)+1):r==="unsigned"?(s=0,i=Math.pow(2,t)-1):(s=Math.pow(-2,t)-1,i=Math.pow(2,t-1)-1);let o=Number(e);if(o===0&&(o=0),n?.enforceRange===!0){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY)throw bt.errors.exception({header:"Integer conversion",message:`Could not convert ${bt.util.Stringify(e)} to an integer.`});if(o=bt.util.IntegerPart(o),oi)throw bt.errors.exception({header:"Integer conversion",message:`Value must be between ${s}-${i}, got ${o}.`});return o}return!Number.isNaN(o)&&n?.clamp===!0?(o=Math.min(Math.max(o,s),i),Math.floor(o)%2===0?o=Math.floor(o):o=Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY?0:(o=bt.util.IntegerPart(o),o=o%Math.pow(2,t),r==="signed"&&o>=Math.pow(2,t)-1?o-Math.pow(2,t):o)};bt.util.IntegerPart=function(e){let t=Math.floor(Math.abs(e));return e<0?-1*t:t};bt.util.Stringify=function(e){switch(bt.util.Type(e)){case Ly:return`Symbol(${e.description})`;case Ju:return Qoe(e);case My:return`"${e}"`;default:return`${e}`}};bt.sequenceConverter=function(e){return(t,r,n,i)=>{if(bt.util.Type(t)!==Ju)throw bt.errors.exception({header:r,message:`${n} (${bt.util.Stringify(t)}) is not iterable.`});let s=typeof i=="function"?i():t?.[Symbol.iterator]?.(),o=[],u=0;if(s===void 0||typeof s.next!="function")throw bt.errors.exception({header:r,message:`${n} is not iterable.`});for(;;){let{done:A,value:p}=s.next();if(A)break;o.push(e(p,r,`${n}[${u++}]`))}return o}};bt.recordConverter=function(e,t){return(r,n,i)=>{if(bt.util.Type(r)!==Ju)throw bt.errors.exception({header:n,message:`${i} ("${bt.util.TypeValueToString(r)}") is not an Object.`});let s={};if(!Yp.isProxy(r)){let u=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let A of u){let p=bt.util.Stringify(A),f=e(A,n,`Key ${p} in ${i}`),c=t(r[A],n,`${i}[${p}]`);s[f]=c}return s}let o=Reflect.ownKeys(r);for(let u of o)if(Reflect.getOwnPropertyDescriptor(r,u)?.enumerable){let p=e(u,n,i),f=t(r[u],n,i);s[p]=f}return s}};bt.interfaceConverter=function(e,t){return(r,n,i)=>{if(!e(r))throw bt.errors.exception({header:n,message:`Expected ${i} ("${bt.util.Stringify(r)}") to be an instance of ${t}.`});return r}};bt.dictionaryConverter=function(e){return(t,r,n)=>{let i={};if(t!=null&&bt.util.Type(t)!==Ju)throw bt.errors.exception({header:r,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(let s of e){let{key:o,defaultValue:u,required:A,converter:p}=s;if(A===!0&&(t==null||!Object.hasOwn(t,o)))throw bt.errors.exception({header:r,message:`Missing required key "${o}".`});let f=t?.[o],c=u!==void 0;if(c&&f===void 0&&(f=u()),A||c||f!==void 0){if(f=p(f,r,`${n}.${o}`),s.allowedValues&&!s.allowedValues.includes(f))throw bt.errors.exception({header:r,message:`${f} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`});i[o]=f}}return i}};bt.nullableConverter=function(e){return(t,r,n)=>t===null?t:e(t,r,n)};bt.is.ReadableStream=bt.util.MakeTypeAssertion(ReadableStream);bt.is.Blob=bt.util.MakeTypeAssertion(Blob);bt.is.URLSearchParams=bt.util.MakeTypeAssertion(URLSearchParams);bt.is.File=bt.util.MakeTypeAssertion(globalThis.File??require("node:buffer").File);bt.is.URL=bt.util.MakeTypeAssertion(URL);bt.is.AbortSignal=bt.util.MakeTypeAssertion(AbortSignal);bt.is.MessagePort=bt.util.MakeTypeAssertion(MessagePort);bt.converters.DOMString=function(e,t,r,n){if(e===null&&n?.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw bt.errors.exception({header:t,message:`${r} is a symbol, which cannot be converted to a DOMString.`});return String(e)};bt.converters.ByteString=function(e,t,r){if(typeof e=="symbol")throw bt.errors.exception({header:t,message:`${r} is a symbol, which cannot be converted to a ByteString.`});let n=String(e);for(let i=0;i255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${i} has a value of ${n.charCodeAt(i)} which is greater than 255.`);return n};bt.converters.USVString=Doe;bt.converters.boolean=function(e){return!!e};bt.converters.any=function(e){return e};bt.converters["long long"]=function(e,t,r){return bt.util.ConvertToInt(e,64,"signed",void 0,t,r)};bt.converters["unsigned long long"]=function(e,t,r){return bt.util.ConvertToInt(e,64,"unsigned",void 0,t,r)};bt.converters["unsigned long"]=function(e,t,r){return bt.util.ConvertToInt(e,32,"unsigned",void 0,t,r)};bt.converters["unsigned short"]=function(e,t,r,n){return bt.util.ConvertToInt(e,16,"unsigned",n,t,r)};bt.converters.ArrayBuffer=function(e,t,r,n){if(bt.util.Type(e)!==Ju||!Yp.isAnyArrayBuffer(e))throw bt.errors.conversionFailed({prefix:t,argument:`${r} ("${bt.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(n?.allowShared===!1&&Yp.isSharedArrayBuffer(e))throw bt.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.resizable||e.growable)throw bt.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};bt.converters.TypedArray=function(e,t,r,n,i){if(bt.util.Type(e)!==Ju||!Yp.isTypedArray(e)||e.constructor.name!==t.name)throw bt.errors.conversionFailed({prefix:r,argument:`${n} ("${bt.util.Stringify(e)}")`,types:[t.name]});if(i?.allowShared===!1&&Yp.isSharedArrayBuffer(e.buffer))throw bt.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw bt.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};bt.converters.DataView=function(e,t,r,n){if(bt.util.Type(e)!==Ju||!Yp.isDataView(e))throw bt.errors.exception({header:t,message:`${r} is not a DataView.`});if(n?.allowShared===!1&&Yp.isSharedArrayBuffer(e.buffer))throw bt.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw bt.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};bt.converters["sequence"]=bt.sequenceConverter(bt.converters.ByteString);bt.converters["sequence>"]=bt.sequenceConverter(bt.converters["sequence"]);bt.converters["record"]=bt.recordConverter(bt.converters.ByteString,bt.converters.ByteString);bt.converters.Blob=bt.interfaceConverter(bt.is.Blob,"Blob");bt.converters.AbortSignal=bt.interfaceConverter(bt.is.AbortSignal,"AbortSignal");d3.exports={webidl:bt}});var Ys=he((M6e,R3)=>{"use strict";var{Transform:Soe}=require("node:stream"),g3=require("node:zlib"),{redirectStatusSet:Roe,referrerPolicyTokens:koe,badPortsSet:Noe}=N0(),{getGlobalOrigin:m3}=f2(),{collectASequenceOfCodePoints:Vp,collectAnHTTPQuotedString:Toe,removeChars:_oe,parseMIMEType:Uoe}=Oo(),{performance:Ooe}=require("node:perf_hooks"),{ReadableStreamFrom:Moe,isValidHTTPToken:E3,normalizedMethodRecordsBase:Loe}=Tr(),zp=require("node:assert"),{isUint8Array:Poe}=require("node:util/types"),{webidl:eA}=ms(),y3=[],$y;try{$y=require("node:crypto");let e=["sha256","sha384","sha512"];y3=$y.getHashes().filter(t=>e.includes(t))}catch{}function C3(e){let t=e.urlList,r=t.length;return r===0?null:t[r-1].toString()}function $oe(e,t){if(!Roe.has(e.status))return null;let r=e.headersList.get("location",!0);return r!==null&&I3(r)&&(v3(r)||(r=Hoe(r)),r=new URL(r,C3(e))),r&&!r.hash&&(r.hash=t),r}function v3(e){for(let t=0;t126||r<32)return!1}return!0}function Hoe(e){return Buffer.from(e,"binary").toString("utf8")}function Wp(e){return e.urlList[e.urlList.length-1]}function qoe(e){let t=Wp(e);return D3(t)&&Noe.has(t.port)?"blocked":"allowed"}function joe(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function Goe(e){for(let t=0;t=32&&r<=126||r>=128&&r<=255))return!1}return!0}var Yoe=E3;function I3(e){return(e[0]===" "||e[0]===" "||e[e.length-1]===" "||e[e.length-1]===" "||e.includes(` +`)||e.includes("\r")||e.includes("\0"))===!1}function Voe(e){let t=(e.headersList.get("referrer-policy",!0)??"").split(","),r="";if(t.length)for(let n=t.length;n!==0;n--){let i=t[n-1].trim();if(koe.has(i)){r=i;break}}return r}function Joe(e,t){let r=Voe(t);r!==""&&(e.referrerPolicy=r)}function Woe(){return"allowed"}function zoe(){return"success"}function Koe(){return"success"}function Zoe(e){let t=null;t=e.mode,e.headersList.set("sec-fetch-mode",t,!0)}function Xoe(e){let t=e.origin;if(!(t==="client"||t===void 0)){if(e.responseTainting==="cors"||e.mode==="websocket")e.headersList.append("origin",t,!0);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&W2(e.origin)&&!W2(Wp(e))&&(t=null);break;case"same-origin":U0(e,Wp(e))||(t=null);break;default:}e.headersList.append("origin",t,!0)}}}function nd(e,t){return e}function eae(e,t,r){return!e?.startTime||e.startTime4096&&(n=i),t){case"no-referrer":return"no-referrer";case"origin":return i??J2(r,!0);case"unsafe-url":return n;case"strict-origin":{let s=Wp(e);return Jp(n)&&!Jp(s)?"no-referrer":i}case"strict-origin-when-cross-origin":{let s=Wp(e);return U0(n,s)?n:Jp(n)&&!Jp(s)?"no-referrer":i}case"same-origin":return U0(e,n)?n:"no-referrer";case"origin-when-cross-origin":return U0(e,n)?n:i;case"no-referrer-when-downgrade":{let s=Wp(e);return Jp(n)&&!Jp(s)?"no-referrer":i}}}function J2(e,t=!1){return zp(eA.is.URL(e)),e=new URL(e),F3(e)?"no-referrer":(e.username="",e.password="",e.hash="",t===!0&&(e.pathname="",e.search=""),e)}var sae=new RegExp("^(?:(?:127\\.)(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){2}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9]))$"),oae=new RegExp("^(?:(?:(?:0{1,4}):){7}(?:(?:0{0,3}1))|(?:(?:0{1,4}):){1,6}(?::(?:0{0,3}1))|(?:::(?:0{0,3}1))|)$");function w3(e){return e.includes(":")?(e[0]==="["&&e[e.length-1]==="]"&&(e=e.slice(1,-1)),oae.test(e)):sae.test(e)}function aae(e){return e==null||e==="null"?!1:(e=new URL(e),!!(e.protocol==="https:"||e.protocol==="wss:"||w3(e.hostname)||e.hostname==="localhost"||e.hostname==="localhost."||e.hostname.endsWith(".localhost")||e.hostname.endsWith(".localhost.")||e.protocol==="file:"))}function Jp(e){return eA.is.URL(e)?e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="blob:"?!0:aae(e.origin):!1}function uae(e,t){if($y===void 0)return!0;let r=b3(t);if(r==="no metadata"||r.length===0)return!0;let n=lae(r),i=Aae(r,n);for(let s of i){let o=s.algo,u=s.hash,A=$y.createHash(o).update(e).digest("base64");if(A[A.length-1]==="="&&(A[A.length-2]==="="?A=A.slice(0,-2):A=A.slice(0,-1)),pae(A,u))return!0}return!1}var cae=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function b3(e){let t=[],r=!0;for(let n of e.split(" ")){r=!1;let i=cae.exec(n);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let s=i.groups.algo.toLowerCase();y3.includes(s)&&t.push(i.groups)}return r===!0?"no metadata":t}function lae(e){let t=e[0].algo;if(t[3]==="5")return t;for(let r=1;r{e=n,t=i}),resolve:e,reject:t}}function dae(e){return e.controller.state==="aborted"}function gae(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function mae(e){return Loe[e.toLowerCase()]??e}function Eae(e){let t=JSON.stringify(e);if(t===void 0)throw new TypeError("Value is not JSON serializable");return zp(typeof t=="string"),t}var yae=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function x3(e,t,r=0,n=1){class i{#e;#t;#r;constructor(o,u){this.#e=o,this.#t=u,this.#r=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`);let o=this.#r,u=t(this.#e),A=u.length;if(o>=A)return{value:void 0,done:!0};let{[r]:p,[n]:f}=u[o];this.#r=o+1;let c;switch(this.#t){case"key":c=p;break;case"value":c=f;break;case"key+value":c=[p,f];break}return{value:c,done:!1}}}return delete i.prototype.constructor,Object.setPrototypeOf(i.prototype,yae),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(s,o){return new i(s,o)}}function Cae(e,t,r,n=0,i=1){let s=x3(e,r,n,i),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return eA.brandCheck(this,t),s(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return eA.brandCheck(this,t),s(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return eA.brandCheck(this,t),s(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(A,p=globalThis){if(eA.brandCheck(this,t),eA.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof A!="function")throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:f,1:c}of s(this,"key+value"))A.call(p,c,f,this)}}};return Object.defineProperties(t.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function vae(e,t,r){let n=t,i=r,s;try{s=e.stream.getReader()}catch(o){i(o);return}Q3(s,n,i)}function Iae(e){try{e.close(),e.byobRequest?.respond(0)}catch(t){if(!t.message.includes("Controller is already closed")&&!t.message.includes("ReadableStream is already closed"))throw t}}var Bae=/[^\x00-\xFF]/;function Py(e){return zp(!Bae.test(e)),e}async function Q3(e,t,r){let n=[],i=0;try{do{let{done:s,value:o}=await e.read();if(s){t(Buffer.concat(n,i));return}if(!Poe(o)){r(TypeError("Received non-Uint8Array chunk"));return}n.push(o),i+=o.length}while(!0)}catch(s){r(s)}}function F3(e){zp("protocol"in e);let t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function W2(e){return typeof e=="string"&&e[5]===":"&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&e[4]==="s"||e.protocol==="https:"}function D3(e){zp("protocol"in e);let t=e.protocol;return t==="http:"||t==="https:"}function wae(e,t){let r=e;if(!r.startsWith("bytes"))return"failure";let n={position:5};if(t&&Vp(A=>A===" "||A===" ",r,n),r.charCodeAt(n.position)!==61)return"failure";n.position++,t&&Vp(A=>A===" "||A===" ",r,n);let i=Vp(A=>{let p=A.charCodeAt(0);return p>=48&&p<=57},r,n),s=i.length?Number(i):null;if(t&&Vp(A=>A===" "||A===" ",r,n),r.charCodeAt(n.position)!==45)return"failure";n.position++,t&&Vp(A=>A===" "||A===" ",r,n);let o=Vp(A=>{let p=A.charCodeAt(0);return p>=48&&p<=57},r,n),u=o.length?Number(o):null;return n.positionu?"failure":{rangeStartValue:s,rangeEndValue:u}}function bae(e,t,r){let n="bytes ";return n+=Py(`${e}`),n+="-",n+=Py(`${t}`),n+="/",n+=Py(`${r}`),n}var z2=class extends Soe{#e;constructor(t){super(),this.#e=t}_transform(t,r,n){if(!this._inflateStream){if(t.length===0){n();return}this._inflateStream=(t[0]&15)===8?g3.createInflate(this.#e):g3.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",i=>this.destroy(i))}this._inflateStream.write(t,r,n)}_final(t){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),t()}};function xae(e){return new z2(e)}function Qae(e){let t=null,r=null,n=null,i=S3("content-type",e);if(i===null)return"failure";for(let s of i){let o=Uoe(s);o==="failure"||o.essence==="*/*"||(n=o,n.essence!==r?(t=null,n.parameters.has("charset")&&(t=n.parameters.get("charset")),r=n.essence):!n.parameters.has("charset")&&t!==null&&n.parameters.set("charset",t))}return n??"failure"}function Fae(e){let t=e,r={position:0},n=[],i="";for(;r.positions!=='"'&&s!==",",t,r),r.positions===9||s===32),n.push(i),i=""}return n}function S3(e,t){let r=t.get(e,!0);return r===null?null:Fae(r)}var Dae=new TextDecoder;function Sae(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),Dae.decode(e))}var Z2=class{get baseUrl(){return m3()}get origin(){return this.baseUrl?.origin}policyContainer=B3()},X2=class{settingsObject=new Z2},Rae=new X2;R3.exports={isAborted:dae,isCancelled:gae,isValidEncodedURL:v3,createDeferredPromise:hae,ReadableStreamFrom:Moe,tryUpgradeRequestToAPotentiallyTrustworthyURL:fae,clampAndCoarsenConnectionTimingInfo:eae,coarsenedSharedCurrentTime:tae,determineRequestsReferrer:iae,makePolicyContainer:B3,clonePolicyContainer:nae,appendFetchMetadata:Zoe,appendRequestOriginHeader:Xoe,TAOCheck:Koe,corsCheck:zoe,crossOriginResourcePolicyCheck:Woe,createOpaqueTimingInfo:rae,setRequestReferrerPolicyOnRedirect:Joe,isValidHTTPToken:E3,requestBadPort:qoe,requestCurrentURL:Wp,responseURL:C3,responseLocationURL:$oe,isURLPotentiallyTrustworthy:Jp,isValidReasonPhrase:Goe,sameOrigin:U0,normalizeMethod:mae,serializeJavascriptValueToJSONString:Eae,iteratorMixin:Cae,createIterator:x3,isValidHeaderName:Yoe,isValidHeaderValue:I3,isErrorLike:joe,fullyReadBody:vae,bytesMatch:uae,readableStreamClose:Iae,isomorphicEncode:Py,urlIsLocal:F3,urlHasHttpsScheme:W2,urlIsHttpHttpsScheme:D3,readAllBytes:Q3,simpleRangeHeaderValue:wae,buildContentRange:bae,parseMetadata:b3,createInflate:xae,extractMimeType:Qae,getDecodeSplit:S3,utf8DecodeBytes:Sae,environmentSettingsObject:Rae,isOriginIPPotentiallyTrustworthy:w3}});var Hy=he((L6e,T3)=>{"use strict";var{iteratorMixin:kae}=Ys(),{kEnumerableProperty:ad}=Tr(),{webidl:mn}=ms(),{File:Nae}=require("node:buffer"),k3=require("node:util"),N3=globalThis.File??Nae,Al=class e{#e=[];constructor(t){if(mn.util.markAsUncloneable(this),t!==void 0)throw mn.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(t,r,n=void 0){mn.brandCheck(this,e);let i="FormData.append";mn.argumentLengthCheck(arguments,2,i),t=mn.converters.USVString(t),arguments.length===3||mn.is.Blob(r)?(r=mn.converters.Blob(r,i,"value"),n!==void 0&&(n=mn.converters.USVString(n))):r=mn.converters.USVString(r);let s=ex(t,r,n);this.#e.push(s)}delete(t){mn.brandCheck(this,e),mn.argumentLengthCheck(arguments,1,"FormData.delete"),t=mn.converters.USVString(t),this.#e=this.#e.filter(n=>n.name!==t)}get(t){mn.brandCheck(this,e),mn.argumentLengthCheck(arguments,1,"FormData.get"),t=mn.converters.USVString(t);let n=this.#e.findIndex(i=>i.name===t);return n===-1?null:this.#e[n].value}getAll(t){return mn.brandCheck(this,e),mn.argumentLengthCheck(arguments,1,"FormData.getAll"),t=mn.converters.USVString(t),this.#e.filter(n=>n.name===t).map(n=>n.value)}has(t){return mn.brandCheck(this,e),mn.argumentLengthCheck(arguments,1,"FormData.has"),t=mn.converters.USVString(t),this.#e.findIndex(n=>n.name===t)!==-1}set(t,r,n=void 0){mn.brandCheck(this,e);let i="FormData.set";mn.argumentLengthCheck(arguments,2,i),t=mn.converters.USVString(t),arguments.length===3||mn.is.Blob(r)?(r=mn.converters.Blob(r,i,"value"),n!==void 0&&(n=mn.converters.USVString(n))):r=mn.converters.USVString(r);let s=ex(t,r,n),o=this.#e.findIndex(u=>u.name===t);o!==-1?this.#e=[...this.#e.slice(0,o),s,...this.#e.slice(o+1).filter(u=>u.name!==t)]:this.#e.push(s)}[k3.inspect.custom](t,r){let n=this.#e.reduce((s,o)=>(s[o.name]?Array.isArray(s[o.name])?s[o.name].push(o.value):s[o.name]=[s[o.name],o.value]:s[o.name]=o.value,s),{__proto__:null});r.depth??=t,r.colors??=!0;let i=k3.formatWithOptions(r,n);return`FormData ${i.slice(i.indexOf("]")+2)}`}static getFormDataState(t){return t.#e}static setFormDataState(t,r){t.#e=r}},{getFormDataState:Tae,setFormDataState:_ae}=Al;Reflect.deleteProperty(Al,"getFormDataState");Reflect.deleteProperty(Al,"setFormDataState");kae("FormData",Al,Tae,"name","value");Object.defineProperties(Al.prototype,{append:ad,delete:ad,get:ad,getAll:ad,has:ad,set:ad,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function ex(e,t,r){if(typeof t!="string"){if(mn.is.File(t)||(t=new N3([t],"blob",{type:t.type})),r!==void 0){let n={type:t.type,lastModified:t.lastModified};t=new N3([t],r,n)}}return{name:e,value:t}}mn.is.FormData=mn.util.MakeTypeAssertion(Al);T3.exports={FormData:Al,makeEntry:ex,setFormDataState:_ae}});var L3=he((P6e,M3)=>{"use strict";var{isUSVString:_3,bufferToLowerCasedHeaderName:Uae}=Tr(),{utf8DecodeBytes:Oae}=Ys(),{HTTP_TOKEN_CODEPOINTS:Mae,isomorphicDecode:U3}=Oo(),{makeEntry:Lae}=Hy(),{webidl:Pae}=ms(),qy=require("node:assert"),{File:$ae}=require("node:buffer"),Hae=globalThis.File??$ae,qae=Buffer.from('form-data; name="'),jae=Buffer.from("filename"),Gae=Buffer.from("--"),Yae=Buffer.from(`--\r +`);function Vae(e){for(let t=0;t70)return!1;for(let r=0;r=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function Wae(e,t){qy(t!=="failure"&&t.essence==="multipart/form-data");let r=t.parameters.get("boundary");if(r===void 0)throw Ca("missing boundary in content-type header");let n=Buffer.from(`--${r}`,"utf8"),i=[],s={position:0};for(;e[s.position]===13&&e[s.position+1]===10;)s.position+=2;let o=e.length;for(;e[o-1]===10&&e[o-2]===13;)o-=2;for(o!==e.length&&(e=e.subarray(0,o));;){if(e.subarray(s.position,s.position+n.length).equals(n))s.position+=n.length;else throw Ca("expected a value starting with -- and the boundary");if(s.position===e.length-2&&jy(e,Gae,s)||s.position===e.length-4&&jy(e,Yae,s))return i;if(e[s.position]!==13||e[s.position+1]!==10)throw Ca("expected CRLF");s.position+=2;let u=zae(e,s),{name:A,filename:p,contentType:f,encoding:c}=u;s.position+=2;let m;{let C=e.indexOf(n.subarray(2),s.position);if(C===-1)throw Ca("expected boundary after body");m=e.subarray(s.position,C-4),s.position+=m.length,c==="base64"&&(m=Buffer.from(m.toString(),"base64"))}if(e[s.position]!==13||e[s.position+1]!==10)throw Ca("expected CRLF");s.position+=2;let w;p!==null?(f??="text/plain",Vae(f)||(f=""),w=new Hae([m],p,{type:f})):w=Oae(Buffer.from(m)),qy(_3(A)),qy(typeof w=="string"&&_3(w)||Pae.is.File(w)),i.push(Lae(A,w,p))}}function zae(e,t){let r=null,n=null,i=null,s=null;for(;;){if(e[t.position]===13&&e[t.position+1]===10){if(r===null)throw Ca("header name is null");return{name:r,filename:n,contentType:i,encoding:s}}let o=fl(u=>u!==10&&u!==13&&u!==58,e,t);if(o=tx(o,!0,!0,u=>u===9||u===32),!Mae.test(o.toString()))throw Ca("header name does not match the field-name token production");if(e[t.position]!==58)throw Ca("expected :");switch(t.position++,fl(u=>u===32||u===9,e,t),Uae(o)){case"content-disposition":{if(r=n=null,!jy(e,qae,t))throw Ca('expected form-data; name=" for content-disposition header');if(t.position+=17,r=O3(e,t),e[t.position]===59&&e[t.position+1]===32){let u={position:t.position+2};if(jy(e,jae,u))if(e[u.position+8]===42){u.position+=10,fl(p=>p===32||p===9,e,u);let A=fl(p=>p!==32&&p!==13&&p!==10,e,u);if(A[0]!==117&&A[0]!==85||A[1]!==116&&A[1]!==84||A[2]!==102&&A[2]!==70||A[3]!==45||A[4]!==56)throw Ca("unknown encoding, expected utf-8''");n=decodeURIComponent(new TextDecoder().decode(A.subarray(7))),t.position=u.position}else t.position+=11,fl(A=>A===32||A===9,e,t),t.position++,n=O3(e,t)}break}case"content-type":{let u=fl(A=>A!==10&&A!==13,e,t);u=tx(u,!1,!0,A=>A===9||A===32),i=U3(u);break}case"content-transfer-encoding":{let u=fl(A=>A!==10&&A!==13,e,t);u=tx(u,!1,!0,A=>A===9||A===32),s=U3(u);break}default:fl(u=>u!==10&&u!==13,e,t)}if(e[t.position]!==13&&e[t.position+1]!==10)throw Ca("expected CRLF");t.position+=2}}function O3(e,t){qy(e[t.position-1]===34);let r=fl(n=>n!==10&&n!==13&&n!==34,e,t);if(e[t.position]!==34)throw Ca('expected "');return t.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,` +`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r}function fl(e,t,r){let n=r.position;for(;n0&&n(e[s]);)s--;return i===0&&s===e.length-1?e:e.subarray(i,s+1)}function jy(e,t,r){if(e.length{"use strict";var Yy=Tr(),{ReadableStreamFrom:Kae,readableStreamClose:Zae,createDeferredPromise:Xae,fullyReadBody:eue,extractMimeType:tue,utf8DecodeBytes:H3}=Ys(),{FormData:P3,setFormDataState:rue}=Hy(),{webidl:hl}=ms(),{Blob:nue}=require("node:buffer"),rx=require("node:assert"),{isErrored:q3,isDisturbed:iue}=require("node:stream"),{isArrayBuffer:sue}=require("node:util/types"),{serializeAMimeType:oue}=Oo(),{multipartFormDataParser:aue}=L3(),nx;try{let e=require("node:crypto");nx=t=>e.randomInt(0,t)}catch{nx=e=>Math.floor(Math.random()*e)}var Gy=new TextEncoder;function uue(){}var ix=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,sx;ix&&(sx=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&!iue(t)&&!q3(t)&&t.cancel("Response object has been garbage collected").catch(uue)}));function j3(e,t=!1){let r=null;hl.is.ReadableStream(e)?r=e:hl.is.Blob(e)?r=e.stream():r=new ReadableStream({async pull(A){let p=typeof i=="string"?Gy.encode(i):i;p.byteLength&&A.enqueue(p),queueMicrotask(()=>Zae(A))},start(){},type:"bytes"}),rx(hl.is.ReadableStream(r));let n=null,i=null,s=null,o=null;if(typeof e=="string")i=e,o="text/plain;charset=UTF-8";else if(hl.is.URLSearchParams(e))i=e.toString(),o="application/x-www-form-urlencoded;charset=UTF-8";else if(sue(e))i=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))i=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(hl.is.FormData(e)){let A=`----formdata-undici-0${`${nx(1e11)}`.padStart(11,"0")}`,p=`--${A}\r +Content-Disposition: form-data`;let f=P=>P.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),c=P=>P.replace(/\r?\n|\r/g,`\r +`),m=[],w=new Uint8Array([13,10]);s=0;let C=!1;for(let[P,j]of e)if(typeof j=="string"){let re=Gy.encode(p+`; name="${f(c(P))}"\r +\r +${c(j)}\r +`);m.push(re),s+=re.byteLength}else{let re=Gy.encode(`${p}; name="${f(c(P))}"`+(j.name?`; filename="${f(j.name)}"`:"")+`\r +Content-Type: ${j.type||"application/octet-stream"}\r +\r +`);m.push(re,j,w),typeof j.size=="number"?s+=re.byteLength+j.size+w.byteLength:C=!0}let F=Gy.encode(`--${A}--\r +`);m.push(F),s+=F.byteLength,C&&(s=null),i=e,n=async function*(){for(let P of m)P.stream?yield*P.stream():yield P},o=`multipart/form-data; boundary=${A}`}else if(hl.is.Blob(e))i=e,s=e.size,e.type&&(o=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(t)throw new TypeError("keepalive");if(Yy.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");r=hl.is.ReadableStream(e)?e:Kae(e)}if((typeof i=="string"||Yy.isBuffer(i))&&(s=Buffer.byteLength(i)),n!=null){let A;r=new ReadableStream({async start(){A=n(e)[Symbol.asyncIterator]()},async pull(p){let{value:f,done:c}=await A.next();if(c)queueMicrotask(()=>{p.close(),p.byobRequest?.respond(0)});else if(!q3(r)){let m=new Uint8Array(f);m.byteLength&&p.enqueue(m)}return p.desiredSize>0},async cancel(p){await A.return()},type:"bytes"})}return[{stream:r,source:i,length:s},o]}function cue(e,t=!1){return hl.is.ReadableStream(e)&&(rx(!Yy.isDisturbed(e),"The body has already been consumed."),rx(!e.locked,"The stream is locked.")),j3(e,t)}function lue(e,t){let[r,n]=t.stream.tee();return ix&&sx.register(e,new WeakRef(r)),t.stream=r,{stream:n,length:t.length,source:t.source}}function Aue(e){if(e.aborted)throw new DOMException("The operation was aborted.","AbortError")}function pue(e,t){return{blob(){return ld(this,n=>{let i=$3(t(this));return i===null?i="":i&&(i=oue(i)),new nue([n],{type:i})},e,t)},arrayBuffer(){return ld(this,n=>new Uint8Array(n).buffer,e,t)},text(){return ld(this,H3,e,t)},json(){return ld(this,hue,e,t)},formData(){return ld(this,n=>{let i=$3(t(this));if(i!==null)switch(i.essence){case"multipart/form-data":{let s=aue(n,i),o=new P3;return rue(o,s),o}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(n.toString()),o=new P3;for(let[u,A]of s)o.append(u,A);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e,t)},bytes(){return ld(this,n=>new Uint8Array(n),e,t)}}}function fue(e,t){Object.assign(e.prototype,pue(e,t))}async function ld(e,t,r,n){hl.brandCheck(e,r);let i=n(e);if(G3(i))throw new TypeError("Body is unusable: Body has already been read");Aue(i);let s=Xae(),o=A=>s.reject(A),u=A=>{try{s.resolve(t(A))}catch(p){o(p)}};return i.body==null?(u(Buffer.allocUnsafe(0)),s.promise):(eue(i.body,u,o),s.promise)}function G3(e){let t=e.body;return t!=null&&(t.stream.locked||Yy.isDisturbed(t.stream))}function hue(e){return JSON.parse(H3(e))}function $3(e){let t=e.headersList,r=tue(t);return r==="failure"?null:r}Y3.exports={extractBody:j3,safelyExtractBody:cue,cloneBody:lue,mixinBody:fue,streamRegistry:sx,hasFinalizationRegistry:ix,bodyUnusable:G3}});var nT=he((H6e,rT)=>{"use strict";var yr=require("node:assert"),Br=Tr(),{channels:V3}=ol(),ox=s2(),{RequestContentLengthMismatchError:Kp,ResponseContentLengthMismatchError:due,RequestAbortedError:X3,HeadersTimeoutError:gue,HeadersOverflowError:mue,SocketError:H0,InformationalError:fd,BodyTimeoutError:Eue,HTTPParserError:yue,ResponseExceededMaxSizeError:Cue}=tn(),{kUrl:eT,kReset:uo,kClient:hx,kParser:Ci,kBlocking:q0,kRunning:bs,kPending:vue,kSize:J3,kWriting:iA,kQueue:eu,kNoRef:O0,kKeepAliveDefaultTimeout:Iue,kHostHeader:Bue,kPendingIdx:wue,kRunningIdx:Ia,kError:Ba,kPipelining:Wy,kSocket:hd,kKeepAliveTimeoutValue:Ky,kMaxHeadersSize:bue,kKeepAliveMaxTimeout:xue,kKeepAliveTimeoutThreshold:Que,kHeadersTimeout:Fue,kBodyTimeout:Due,kStrictContentLength:cx,kMaxRequests:W3,kCounter:Sue,kMaxResponseSize:Rue,kOnError:kue,kResume:rA,kHTTPContext:tT,kClosed:lx}=qn(),Wu=JN(),Nue=Buffer.alloc(0),Vy=Buffer[Symbol.species],Tue=Br.removeAllListeners,ax;async function _ue(){let e=process.env.JEST_WORKER_ID?c2():void 0,t;try{t=await WebAssembly.compile(KN())}catch{t=await WebAssembly.compile(e||c2())}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(r,n,i)=>0,wasm_on_status:(r,n,i)=>{yr(Ji.ptr===r);let s=n-Ku+zu.byteOffset;return Ji.onStatus(new Vy(zu.buffer,s,i))},wasm_on_message_begin:r=>(yr(Ji.ptr===r),Ji.onMessageBegin()),wasm_on_header_field:(r,n,i)=>{yr(Ji.ptr===r);let s=n-Ku+zu.byteOffset;return Ji.onHeaderField(new Vy(zu.buffer,s,i))},wasm_on_header_value:(r,n,i)=>{yr(Ji.ptr===r);let s=n-Ku+zu.byteOffset;return Ji.onHeaderValue(new Vy(zu.buffer,s,i))},wasm_on_headers_complete:(r,n,i,s)=>(yr(Ji.ptr===r),Ji.onHeadersComplete(n,i===1,s===1)),wasm_on_body:(r,n,i)=>{yr(Ji.ptr===r);let s=n-Ku+zu.byteOffset;return Ji.onBody(new Vy(zu.buffer,s,i))},wasm_on_message_complete:r=>(yr(Ji.ptr===r),Ji.onMessageComplete())}})}var ux=null,Ax=_ue();Ax.catch();var Ji=null,zu=null,Jy=0,Ku=null,Uue=0,M0=1,gd=2|M0,zy=4|M0,px=8|Uue,fx=class{constructor(t,r,{exports:n}){this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(Wu.TYPE.RESPONSE),this.client=t,this.socket=r,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=t[bue],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=t[Rue]}setTimeout(t,r){t!==this.timeoutValue||r&M0^this.timeoutType&M0?(this.timeout&&(ox.clearTimeout(this.timeout),this.timeout=null),t&&(r&M0?this.timeout=ox.setFastTimeout(z3,t,new WeakRef(this)):(this.timeout=setTimeout(z3,t,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=t):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=r}resume(){this.socket.destroyed||!this.paused||(yr(this.ptr!=null),yr(Ji===null),this.llhttp.llhttp_resume(this.ptr),yr(this.timeoutType===zy),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Nue),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let t=this.socket.read();if(t===null)break;this.execute(t)}}execute(t){yr(Ji===null),yr(this.ptr!=null),yr(!this.paused);let{socket:r,llhttp:n}=this;t.length>Jy&&(Ku&&n.free(Ku),Jy=Math.ceil(t.length/4096)*4096,Ku=n.malloc(Jy)),new Uint8Array(n.memory.buffer,Ku,Jy).set(t);try{let i;try{zu=t,Ji=this,i=n.llhttp_execute(this.ptr,Ku,t.length)}catch(s){throw s}finally{Ji=null,zu=null}if(i!==Wu.ERROR.OK){let s=t.subarray(n.llhttp_get_error_pos(this.ptr)-Ku);if(i===Wu.ERROR.PAUSED_UPGRADE)this.onUpgrade(s);else if(i===Wu.ERROR.PAUSED)this.paused=!0,r.unshift(s);else{let o=n.llhttp_get_error_reason(this.ptr),u="";if(o){let A=new Uint8Array(n.memory.buffer,o).indexOf(0);u="Response does not match the HTTP/1.1 protocol ("+Buffer.from(n.memory.buffer,o,A).toString()+")"}throw new yue(u,Wu.ERROR[i],s)}}}catch(i){Br.destroy(r,i)}}destroy(){yr(Ji===null),yr(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&ox.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(t){return this.statusText=t.toString(),0}onMessageBegin(){let{socket:t,client:r}=this;if(t.destroyed)return-1;let n=r[eu][r[Ia]];return n?(n.onResponseStarted(),0):-1}onHeaderField(t){let r=this.headers.length;return r&1?this.headers[r-1]=Buffer.concat([this.headers[r-1],t]):this.headers.push(t),this.trackHeader(t.length),0}onHeaderValue(t){let r=this.headers.length;(r&1)===1?(this.headers.push(t),r+=1):this.headers[r-1]=Buffer.concat([this.headers[r-1],t]);let n=this.headers[r-2];if(n.length===10){let i=Br.bufferToLowerCasedHeaderName(n);i==="keep-alive"?this.keepAlive+=t.toString():i==="connection"&&(this.connection+=t.toString())}else n.length===14&&Br.bufferToLowerCasedHeaderName(n)==="content-length"&&(this.contentLength+=t.toString());return this.trackHeader(t.length),0}trackHeader(t){this.headersSize+=t,this.headersSize>=this.headersMaxSize&&Br.destroy(this.socket,new mue)}onUpgrade(t){let{upgrade:r,client:n,socket:i,headers:s,statusCode:o}=this;yr(r),yr(n[hd]===i),yr(!i.destroyed),yr(!this.paused),yr((s.length&1)===0);let u=n[eu][n[Ia]];yr(u),yr(u.upgrade||u.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,i.unshift(t),i[Ci].destroy(),i[Ci]=null,i[hx]=null,i[Ba]=null,Tue(i),n[hd]=null,n[tT]=null,n[eu][n[Ia]++]=null,n.emit("disconnect",n[eT],[n],new fd("upgrade"));try{u.onUpgrade(o,s,i)}catch(A){Br.destroy(i,A)}n[rA]()}onHeadersComplete(t,r,n){let{client:i,socket:s,headers:o,statusText:u}=this;if(s.destroyed)return-1;let A=i[eu][i[Ia]];if(!A)return-1;if(yr(!this.upgrade),yr(this.statusCode<200),t===100)return Br.destroy(s,new H0("bad response",Br.getSocketInfo(s))),-1;if(r&&!A.upgrade)return Br.destroy(s,new H0("bad upgrade",Br.getSocketInfo(s))),-1;if(yr(this.timeoutType===gd),this.statusCode=t,this.shouldKeepAlive=n||A.method==="HEAD"&&!s[uo]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let f=A.bodyTimeout!=null?A.bodyTimeout:i[Due];this.setTimeout(f,zy)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(A.method==="CONNECT")return yr(i[bs]===1),this.upgrade=!0,2;if(r)return yr(i[bs]===1),this.upgrade=!0,2;if(yr((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&i[Wy]){let f=this.keepAlive?Br.parseKeepAliveTimeout(this.keepAlive):null;if(f!=null){let c=Math.min(f-i[Que],i[xue]);c<=0?s[uo]=!0:i[Ky]=c}else i[Ky]=i[Iue]}else s[uo]=!0;let p=A.onHeaders(t,o,this.resume,u)===!1;return A.aborted?-1:A.method==="HEAD"||t<200?1:(s[q0]&&(s[q0]=!1,i[rA]()),p?Wu.ERROR.PAUSED:0)}onBody(t){let{client:r,socket:n,statusCode:i,maxResponseSize:s}=this;if(n.destroyed)return-1;let o=r[eu][r[Ia]];return yr(o),yr(this.timeoutType===zy),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),yr(i>=200),s>-1&&this.bytesRead+t.length>s?(Br.destroy(n,new Cue),-1):(this.bytesRead+=t.length,o.onData(t)===!1?Wu.ERROR.PAUSED:0)}onMessageComplete(){let{client:t,socket:r,statusCode:n,upgrade:i,headers:s,contentLength:o,bytesRead:u,shouldKeepAlive:A}=this;if(r.destroyed&&(!n||A))return-1;if(i)return 0;yr(n>=100),yr((this.headers.length&1)===0);let p=t[eu][t[Ia]];if(yr(p),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,n<200)return 0;if(p.method!=="HEAD"&&o&&u!==parseInt(o,10))return Br.destroy(r,new due),-1;if(p.onComplete(s),t[eu][t[Ia]++]=null,r[iA])return yr(t[bs]===0),Br.destroy(r,new fd("reset")),Wu.ERROR.PAUSED;if(A){if(r[uo]&&t[bs]===0)return Br.destroy(r,new fd("reset")),Wu.ERROR.PAUSED;t[Wy]==null||t[Wy]===1?setImmediate(()=>t[rA]()):t[rA]()}else return Br.destroy(r,new fd("reset")),Wu.ERROR.PAUSED;return 0}};function z3(e){let{socket:t,timeoutType:r,client:n,paused:i}=e.deref();r===gd?(!t[iA]||t.writableNeedDrain||n[bs]>1)&&(yr(!i,"cannot be paused while waiting for headers"),Br.destroy(t,new gue)):r===zy?i||Br.destroy(t,new Eue):r===px&&(yr(n[bs]===0&&n[Ky]),Br.destroy(t,new fd("socket idle timeout")))}async function Oue(e,t){if(e[hd]=t,!ux){let r=()=>{};t.on("error",r),ux=await Ax,Ax=null,t.off("error",r)}if(t.errored)throw t.errored;if(t.destroyed)throw new H0("destroyed");return t[O0]=!1,t[iA]=!1,t[uo]=!1,t[q0]=!1,t[Ci]=new fx(e,t,ux),Br.addListener(t,"error",Mue),Br.addListener(t,"readable",Lue),Br.addListener(t,"end",Pue),Br.addListener(t,"close",$ue),t[lx]=!1,t.on("close",Hue),{version:"h1",defaultPipelining:1,write(r){return Gue(e,r)},resume(){que(e)},destroy(r,n){t[lx]?queueMicrotask(n):(t.on("close",n),t.destroy(r))},get destroyed(){return t.destroyed},busy(r){return!!(t[iA]||t[uo]||t[q0]||r&&(e[bs]>0&&!r.idempotent||e[bs]>0&&(r.upgrade||r.method==="CONNECT")||e[bs]>0&&Br.bodyLength(r.body)!==0&&(Br.isStream(r.body)||Br.isAsyncIterable(r.body)||Br.isFormDataLike(r.body))))}}}function Mue(e){yr(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let t=this[Ci];if(e.code==="ECONNRESET"&&t.statusCode&&!t.shouldKeepAlive){t.onMessageComplete();return}this[Ba]=e,this[hx][kue](e)}function Lue(){this[Ci]?.readMore()}function Pue(){let e=this[Ci];if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}Br.destroy(this,new H0("other side closed",Br.getSocketInfo(this)))}function $ue(){let e=this[Ci];e&&(!this[Ba]&&e.statusCode&&!e.shouldKeepAlive&&e.onMessageComplete(),this[Ci].destroy(),this[Ci]=null);let t=this[Ba]||new H0("closed",Br.getSocketInfo(this)),r=this[hx];if(r[hd]=null,r[tT]=null,r.destroyed){yr(r[vue]===0);let n=r[eu].splice(r[Ia]);for(let i=0;i0&&t.code!=="UND_ERR_INFO"){let n=r[eu][r[Ia]];r[eu][r[Ia]++]=null,Br.errorRequest(r,n,t)}r[wue]=r[Ia],yr(r[bs]===0),r.emit("disconnect",r[eT],[r],t),r[rA]()}function Hue(){this[lx]=!0}function que(e){let t=e[hd];if(t&&!t.destroyed){if(e[J3]===0?!t[O0]&&t.unref&&(t.unref(),t[O0]=!0):t[O0]&&t.ref&&(t.ref(),t[O0]=!1),e[J3]===0)t[Ci].timeoutType!==px&&t[Ci].setTimeout(e[Ky],px);else if(e[bs]>0&&t[Ci].statusCode<200&&t[Ci].timeoutType!==gd){let r=e[eu][e[Ia]],n=r.headersTimeout!=null?r.headersTimeout:e[Fue];t[Ci].setTimeout(n,gd)}}}function jue(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function Gue(e,t){let{method:r,path:n,host:i,upgrade:s,blocking:o,reset:u}=t,{body:A,headers:p,contentLength:f}=t,c=r==="PUT"||r==="POST"||r==="PATCH"||r==="QUERY"||r==="PROPFIND"||r==="PROPPATCH";if(Br.isFormDataLike(A)){ax||(ax=Ad().extractBody);let[P,j]=ax(A);t.contentType==null&&p.push("content-type",j),A=P.stream,f=P.length}else Br.isBlobLike(A)&&t.contentType==null&&A.type&&p.push("content-type",A.type);A&&typeof A.read=="function"&&A.read(0);let m=Br.bodyLength(A);if(f=m??f,f===null&&(f=t.contentLength),f===0&&!c&&(f=null),jue(r)&&f>0&&t.contentLength!==null&&t.contentLength!==f){if(e[cx])return Br.errorRequest(e,t,new Kp),!1;process.emitWarning(new Kp)}let w=e[hd],C=P=>{t.aborted||t.completed||(Br.errorRequest(e,t,P||new X3),Br.destroy(A),Br.destroy(w,new fd("aborted")))};try{t.onConnect(C)}catch(P){Br.errorRequest(e,t,P)}if(t.aborted)return!1;r==="HEAD"&&(w[uo]=!0),(s||r==="CONNECT")&&(w[uo]=!0),u!=null&&(w[uo]=u),e[W3]&&w[Sue]++>=e[W3]&&(w[uo]=!0),o&&(w[q0]=!0);let F=`${r} ${n} HTTP/1.1\r +`;if(typeof i=="string"?F+=`host: ${i}\r +`:F+=e[Bue],s?F+=`connection: upgrade\r +upgrade: ${s}\r +`:e[Wy]&&!w[uo]?F+=`connection: keep-alive\r +`:F+=`connection: close\r +`,Array.isArray(p))for(let P=0;P{t.removeListener("error",w)}),!A){let C=new X3;queueMicrotask(()=>w(C))}},w=function(C){if(!A){if(A=!0,yr(i.destroyed||i[iA]&&r[bs]<=1),i.off("drain",c).off("error",w),t.removeListener("data",f).removeListener("end",w).removeListener("close",m),!C)try{p.end()}catch(F){C=F}p.destroy(C),C&&(C.code!=="UND_ERR_INFO"||C.message!=="reset")?Br.destroy(t,C):Br.destroy(t)}};t.on("data",f).on("end",w).on("error",w).on("close",m),t.resume&&t.resume(),i.on("drain",c).on("error",w),t.errorEmitted??t.errored?setImmediate(()=>w(t.errored)):(t.endEmitted??t.readableEnded)&&setImmediate(()=>w(null)),(t.closeEmitted??t.closed)&&setImmediate(m)}function K3(e,t,r,n,i,s,o,u){try{t?Br.isBuffer(t)&&(yr(s===t.byteLength,"buffer body must have content length"),i.cork(),i.write(`${o}content-length: ${s}\r +\r +`,"latin1"),i.write(t),i.uncork(),n.onBodySent(t),!u&&n.reset!==!1&&(i[uo]=!0)):s===0?i.write(`${o}content-length: 0\r +\r +`,"latin1"):(yr(s===null,"no body must not have content length"),i.write(`${o}\r +`,"latin1")),n.onRequestSent(),r[rA]()}catch(A){e(A)}}async function Vue(e,t,r,n,i,s,o,u){yr(s===t.size,"blob body must have content length");try{if(s!=null&&s!==t.size)throw new Kp;let A=Buffer.from(await t.arrayBuffer());i.cork(),i.write(`${o}content-length: ${s}\r +\r +`,"latin1"),i.write(A),i.uncork(),n.onBodySent(A),n.onRequestSent(),!u&&n.reset!==!1&&(i[uo]=!0),r[rA]()}catch(A){e(A)}}async function Z3(e,t,r,n,i,s,o,u){yr(s!==0||r[bs]===0,"iterator body cannot be pipelined");let A=null;function p(){if(A){let m=A;A=null,m()}}let f=()=>new Promise((m,w)=>{yr(A===null),i[Ba]?w(i[Ba]):A=m});i.on("close",p).on("drain",p);let c=new Zy({abort:e,socket:i,request:n,contentLength:s,client:r,expectsPayload:u,header:o});try{for await(let m of t){if(i[Ba])throw i[Ba];c.write(m)||await f()}c.end()}catch(m){c.destroy(m)}finally{i.off("close",p).off("drain",p)}}var Zy=class{constructor({abort:t,socket:r,request:n,contentLength:i,client:s,expectsPayload:o,header:u}){this.socket=r,this.request=n,this.contentLength=i,this.client=s,this.bytesWritten=0,this.expectsPayload=o,this.header=u,this.abort=t,r[iA]=!0}write(t){let{socket:r,request:n,contentLength:i,client:s,bytesWritten:o,expectsPayload:u,header:A}=this;if(r[Ba])throw r[Ba];if(r.destroyed)return!1;let p=Buffer.byteLength(t);if(!p)return!0;if(i!==null&&o+p>i){if(s[cx])throw new Kp;process.emitWarning(new Kp)}r.cork(),o===0&&(!u&&n.reset!==!1&&(r[uo]=!0),i===null?r.write(`${A}transfer-encoding: chunked\r +`,"latin1"):r.write(`${A}content-length: ${i}\r +\r +`,"latin1")),i===null&&r.write(`\r +${p.toString(16)}\r +`,"latin1"),this.bytesWritten+=p;let f=r.write(t);return r.uncork(),n.onBodySent(t),f||r[Ci].timeout&&r[Ci].timeoutType===gd&&r[Ci].timeout.refresh&&r[Ci].timeout.refresh(),f}end(){let{socket:t,contentLength:r,client:n,bytesWritten:i,expectsPayload:s,header:o,request:u}=this;if(u.onRequestSent(),t[iA]=!1,t[Ba])throw t[Ba];if(!t.destroyed){if(i===0?s?t.write(`${o}content-length: 0\r +\r +`,"latin1"):t.write(`${o}\r +`,"latin1"):r===null&&t.write(`\r +0\r +\r +`,"latin1"),r!==null&&i!==r){if(n[cx])throw new Kp;process.emitWarning(new Kp)}t[Ci].timeout&&t[Ci].timeoutType===gd&&t[Ci].timeout.refresh&&t[Ci].timeout.refresh(),n[rA]()}}destroy(t){let{socket:r,client:n,abort:i}=this;r[iA]=!1,t&&(yr(n[bs]<=1,"pipeline should only contain this request"),i(t))}};rT.exports=Oue});var lT=he((q6e,cT)=>{"use strict";var ba=require("node:assert"),{pipeline:Jue}=require("node:stream"),an=Tr(),{RequestContentLengthMismatchError:dx,RequestAbortedError:Wue,SocketError:j0,InformationalError:Xy}=tn(),{kUrl:tC,kReset:rC,kClient:Xp,kRunning:nC,kPending:zue,kQueue:oA,kPendingIdx:mx,kRunningIdx:tu,kError:ru,kSocket:Si,kStrictContentLength:Kue,kOnError:iC,kMaxConcurrentStreams:uT,kHTTP2Session:Zu,kResume:dl,kSize:Zue,kHTTPContext:Ex,kClosed:gx,kBodyTimeout:Xue}=qn(),{channels:iT}=ol(),wa=Symbol("open streams"),sT,eC;try{eC=require("node:http2")}catch{eC={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:ece,HTTP2_HEADER_METHOD:tce,HTTP2_HEADER_PATH:rce,HTTP2_HEADER_SCHEME:nce,HTTP2_HEADER_CONTENT_LENGTH:ice,HTTP2_HEADER_EXPECT:sce,HTTP2_HEADER_STATUS:oce}}=eC;function ace(e){let t=[];for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let i of n)t.push(Buffer.from(r),Buffer.from(i));else t.push(Buffer.from(r),Buffer.from(n));return t}async function uce(e,t){e[Si]=t;let r=eC.connect(e[tC],{createConnection:()=>t,peerMaxConcurrentStreams:e[uT],settings:{enablePush:!1}});return r[wa]=0,r[Xp]=e,r[Si]=t,r[Zu]=null,an.addListener(r,"error",lce),an.addListener(r,"frameError",Ace),an.addListener(r,"end",pce),an.addListener(r,"goaway",fce),an.addListener(r,"close",hce),r.unref(),e[Zu]=r,t[Zu]=r,an.addListener(t,"error",gce),an.addListener(t,"end",mce),an.addListener(t,"close",dce),t[gx]=!1,t.on("close",Ece),{version:"h2",defaultPipelining:1/0,write(n){return Cce(e,n)},resume(){cce(e)},destroy(n,i){t[gx]?queueMicrotask(i):t.destroy(n).on("close",i)},get destroyed(){return t.destroyed},busy(){return!1}}}function cce(e){let t=e[Si];t?.destroyed===!1&&(e[Zue]===0||e[uT]===0?(t.unref(),e[Zu].unref()):(t.ref(),e[Zu].ref()))}function lce(e){ba(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Si][ru]=e,this[Xp][iC](e)}function Ace(e,t,r){if(r===0){let n=new Xy(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[Si][ru]=n,this[Xp][iC](n)}}function pce(){let e=new j0("other side closed",an.getSocketInfo(this[Si]));this.destroy(e),an.destroy(this[Si],e)}function fce(e){let t=this[ru]||new j0(`HTTP/2: "GOAWAY" frame received with code ${e}`,an.getSocketInfo(this[Si])),r=this[Xp];if(r[Si]=null,r[Ex]=null,this.close(),this[Zu]=null,an.destroy(this[Si],t),r[tu]{t.aborted||t.completed||(oe=oe||new Wue,an.errorRequest(e,t,oe),w!=null&&(w.removeAllListeners("data"),w.close(),e[iC](oe),e[dl]()),an.destroy(c,oe))};try{t.onConnect(P)}catch(oe){an.errorRequest(e,t,oe)}if(t.aborted)return!1;if(i==="CONNECT")return n.ref(),w=n.request(m,{endStream:!1,signal:p}),w.pending?w.once("ready",()=>{t.onUpgrade(null,null,w),++n[wa],e[oA][e[tu]++]=null}):(t.onUpgrade(null,null,w),++n[wa],e[oA][e[tu]++]=null),w.once("close",()=>{n[wa]-=1,n[wa]===0&&n.unref()}),w.setTimeout(r),!0;m[rce]=s,m[nce]="https";let j=i==="PUT"||i==="POST"||i==="PATCH";c&&typeof c.read=="function"&&c.read(0);let re=an.bodyLength(c);if(an.isFormDataLike(c)){sT??=Ad().extractBody;let[oe,be]=sT(c);m["content-type"]=be,c=oe.stream,re=oe.length}if(re==null&&(re=t.contentLength),(re===0||!j)&&(re=null),yce(i)&&re>0&&t.contentLength!=null&&t.contentLength!==re){if(e[Kue])return an.errorRequest(e,t,new dx),!1;process.emitWarning(new dx)}if(re!=null&&(ba(c,"no body must not have content length"),m[ice]=`${re}`),n.ref(),iT.sendHeaders.hasSubscribers){let oe="";for(let be in m)oe+=`${be}: ${m[be]}\r +`;iT.sendHeaders.publish({request:t,headers:oe,socket:n[Si]})}let se=i==="GET"||i==="HEAD"||c===null;return A?(m[sce]="100-continue",w=n.request(m,{endStream:se,signal:p}),w.once("continue",ge)):(w=n.request(m,{endStream:se,signal:p}),ge()),++n[wa],w.setTimeout(r),w.once("response",oe=>{let{[oce]:be,...fe}=oe;if(t.onResponseStarted(),t.aborted){w.removeAllListeners("data");return}t.onHeaders(Number(be),ace(fe),w.resume.bind(w),"")===!1&&w.pause()}),w.on("data",oe=>{t.onData(oe)===!1&&w.pause()}),w.once("end",oe=>{w.removeAllListeners("data"),w.state?.state==null||w.state.state<6?(!t.aborted&&!t.completed&&t.onComplete({}),e[oA][e[tu]++]=null,e[dl]()):(--n[wa],n[wa]===0&&n.unref(),P(oe??new Xy("HTTP/2: stream half-closed (remote)")),e[oA][e[tu]++]=null,e[mx]=e[tu],e[dl]())}),w.once("close",()=>{w.removeAllListeners("data"),n[wa]-=1,n[wa]===0&&n.unref()}),w.once("error",function(oe){w.removeAllListeners("data"),P(oe)}),w.once("frameError",(oe,be)=>{w.removeAllListeners("data"),P(new Xy(`HTTP/2: "frameError" received - type ${oe}, code ${be}`))}),w.on("aborted",()=>{w.removeAllListeners("data")}),w.on("timeout",()=>{let oe=new Xy(`HTTP/2: "stream timeout after ${r}"`);w.removeAllListeners("data"),n[wa]-=1,n[wa]===0&&n.unref(),P(oe)}),w.once("trailers",oe=>{t.aborted||t.completed||t.onComplete(oe)}),!0;function ge(){!c||re===0?oT(P,w,null,e,t,e[Si],re,j):an.isBuffer(c)?oT(P,w,c,e,t,e[Si],re,j):an.isBlobLike(c)?typeof c.stream=="function"?aT(P,w,c.stream(),e,t,e[Si],re,j):Ice(P,w,c,e,t,e[Si],re,j):an.isStream(c)?vce(P,e[Si],j,w,c,e,t,re):an.isIterable(c)?aT(P,w,c,e,t,e[Si],re,j):ba(!1)}}function oT(e,t,r,n,i,s,o,u){try{r!=null&&an.isBuffer(r)&&(ba(o===r.byteLength,"buffer body must have content length"),t.cork(),t.write(r),t.uncork(),t.end(),i.onBodySent(r)),u||(s[rC]=!0),i.onRequestSent(),n[dl]()}catch(A){e(A)}}function vce(e,t,r,n,i,s,o,u){ba(u!==0||s[nC]===0,"stream body cannot be pipelined");let A=Jue(i,n,f=>{f?(an.destroy(A,f),e(f)):(an.removeAllListeners(A),o.onRequestSent(),r||(t[rC]=!0),s[dl]())});an.addListener(A,"data",p);function p(f){o.onBodySent(f)}}async function Ice(e,t,r,n,i,s,o,u){ba(o===r.size,"blob body must have content length");try{if(o!=null&&o!==r.size)throw new dx;let A=Buffer.from(await r.arrayBuffer());t.cork(),t.write(A),t.uncork(),t.end(),i.onBodySent(A),i.onRequestSent(),u||(s[rC]=!0),n[dl]()}catch(A){e(A)}}async function aT(e,t,r,n,i,s,o,u){ba(o!==0||n[nC]===0,"iterator body cannot be pipelined");let A=null;function p(){if(A){let c=A;A=null,c()}}let f=()=>new Promise((c,m)=>{ba(A===null),s[ru]?m(s[ru]):A=c});t.on("close",p).on("drain",p);try{for await(let c of r){if(s[ru])throw s[ru];let m=t.write(c);i.onBodySent(c),m||await f()}t.end(),i.onRequestSent(),u||(s[rC]=!0),n[dl]()}catch(c){e(c)}finally{t.off("close",p).off("drain",p)}}cT.exports=uce});var Am=he((j6e,ET)=>{"use strict";var gl=require("node:assert"),hT=require("node:net"),K0=require("node:http"),ef=Tr(),{channels:md}=ol(),Bce=SN(),wce=Kh(),{InvalidArgumentError:Ri,InformationalError:bce,ClientDestroyedError:xce}=tn(),Qce=k0(),{kUrl:Xu,kServerName:cA,kClient:Fce,kBusy:yx,kConnect:Dce,kResuming:tf,kRunning:im,kPending:sm,kSize:nm,kQueue:nu,kConnected:Sce,kConnecting:yd,kNeedDrain:xA,kKeepAliveDefaultTimeout:AT,kHostHeader:Rce,kPendingIdx:iu,kRunningIdx:ml,kError:kce,kPipelining:sC,kKeepAliveTimeoutValue:Nce,kMaxHeadersSize:Tce,kKeepAliveMaxTimeout:_ce,kKeepAliveTimeoutThreshold:Uce,kHeadersTimeout:Oce,kBodyTimeout:Mce,kStrictContentLength:Lce,kConnector:em,kMaxRequests:Cx,kCounter:Pce,kClose:$ce,kDestroy:Hce,kDispatch:qce,kLocalAddress:tm,kMaxResponseSize:jce,kOnError:Gce,kHTTPContext:ki,kMaxConcurrentStreams:Yce,kResume:rm}=qn(),Vce=nT(),Jce=lT(),IA=Symbol("kClosedResolve"),Wce=K0&&K0.maxHeaderSize&&Number.isInteger(K0.maxHeaderSize)&&K0.maxHeaderSize>0?()=>K0.maxHeaderSize:()=>{throw new Ri("http module not available or http.maxHeaderSize invalid")},pT=()=>{};function dT(e){return e[sC]??e[ki]?.defaultPipelining??1}var vx=class extends wce{constructor(t,{maxHeaderSize:r,headersTimeout:n,socketTimeout:i,requestTimeout:s,connectTimeout:o,bodyTimeout:u,idleTimeout:A,keepAlive:p,keepAliveTimeout:f,maxKeepAliveTimeout:c,keepAliveMaxTimeout:m,keepAliveTimeoutThreshold:w,socketPath:C,pipelining:F,tls:P,strictContentLength:j,maxCachedSessions:re,connect:se,maxRequestsPerClient:ge,localAddress:oe,maxResponseSize:be,autoSelectFamily:fe,autoSelectFamilyAttemptTimeout:Ie,maxConcurrentStreams:$e,allowH2:Ve}={}){if(p!==void 0)throw new Ri("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new Ri("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(s!==void 0)throw new Ri("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(A!==void 0)throw new Ri("unsupported idleTimeout, use keepAliveTimeout instead");if(c!==void 0)throw new Ri("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null){if(!Number.isInteger(r)||r<1)throw new Ri("invalid maxHeaderSize")}else r=Wce();if(C!=null&&typeof C!="string")throw new Ri("invalid socketPath");if(o!=null&&(!Number.isFinite(o)||o<0))throw new Ri("invalid connectTimeout");if(f!=null&&(!Number.isFinite(f)||f<=0))throw new Ri("invalid keepAliveTimeout");if(m!=null&&(!Number.isFinite(m)||m<=0))throw new Ri("invalid keepAliveMaxTimeout");if(w!=null&&!Number.isFinite(w))throw new Ri("invalid keepAliveTimeoutThreshold");if(n!=null&&(!Number.isInteger(n)||n<0))throw new Ri("headersTimeout must be a positive integer or zero");if(u!=null&&(!Number.isInteger(u)||u<0))throw new Ri("bodyTimeout must be a positive integer or zero");if(se!=null&&typeof se!="function"&&typeof se!="object")throw new Ri("connect must be a function or an object");if(ge!=null&&(!Number.isInteger(ge)||ge<0))throw new Ri("maxRequestsPerClient must be a positive number");if(oe!=null&&(typeof oe!="string"||hT.isIP(oe)===0))throw new Ri("localAddress must be valid string IP address");if(be!=null&&(!Number.isInteger(be)||be<-1))throw new Ri("maxResponseSize must be a positive number");if(Ie!=null&&(!Number.isInteger(Ie)||Ie<-1))throw new Ri("autoSelectFamilyAttemptTimeout must be a positive number");if(Ve!=null&&typeof Ve!="boolean")throw new Ri("allowH2 must be a valid boolean value");if($e!=null&&(typeof $e!="number"||$e<1))throw new Ri("maxConcurrentStreams must be a positive integer, greater than 0");super(),typeof se!="function"&&(se=Qce({...P,maxCachedSessions:re,allowH2:Ve,socketPath:C,timeout:o,...fe?{autoSelectFamily:fe,autoSelectFamilyAttemptTimeout:Ie}:void 0,...se})),this[Xu]=ef.parseOrigin(t),this[em]=se,this[sC]=F??1,this[Tce]=r,this[AT]=f??4e3,this[_ce]=m??6e5,this[Uce]=w??2e3,this[Nce]=this[AT],this[cA]=null,this[tm]=oe??null,this[tf]=0,this[xA]=0,this[Rce]=`host: ${this[Xu].hostname}${this[Xu].port?`:${this[Xu].port}`:""}\r +`,this[Mce]=u??3e5,this[Oce]=n??3e5,this[Lce]=j??!0,this[Cx]=ge,this[IA]=null,this[jce]=be>-1?be:-1,this[Yce]=$e??100,this[ki]=null,this[nu]=[],this[ml]=0,this[iu]=0,this[rm]=Ae=>Ix(this,Ae),this[Gce]=Ae=>gT(this,Ae)}get pipelining(){return this[sC]}set pipelining(t){this[sC]=t,this[rm](!0)}get[sm](){return this[nu].length-this[iu]}get[im](){return this[iu]-this[ml]}get[nm](){return this[nu].length-this[ml]}get[Sce](){return!!this[ki]&&!this[yd]&&!this[ki].destroyed}get[yx](){return!!(this[ki]?.busy(null)||this[nm]>=(dT(this)||1)||this[sm]>0)}[Dce](t){mT(this),this.once("connect",t)}[qce](t,r){let n=t.origin||this[Xu].origin,i=new Bce(n,t,r);return this[nu].push(i),this[tf]||(ef.bodyLength(i.body)==null&&ef.isIterable(i.body)?(this[tf]=1,queueMicrotask(()=>Ix(this))):this[rm](!0)),this[tf]&&this[xA]!==2&&this[yx]&&(this[xA]=2),this[xA]<2}async[$ce](){return new Promise(t=>{this[nm]?this[IA]=t:t(null)})}async[Hce](t){return new Promise(r=>{let n=this[nu].splice(this[iu]);for(let s=0;s{this[IA]&&(this[IA](),this[IA]=null),r(null)};this[ki]?(this[ki].destroy(t,i),this[ki]=null):queueMicrotask(i),this[rm]()})}};function gT(e,t){if(e[im]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){gl(e[iu]===e[ml]);let r=e[nu].splice(e[ml]);for(let n=0;n{e[em]({host:t,hostname:r,protocol:n,port:i,servername:e[cA],localAddress:e[tm]},(A,p)=>{A?u(A):o(p)})});if(e.destroyed){ef.destroy(s.on("error",pT),new xce);return}gl(s);try{e[ki]=s.alpnProtocol==="h2"?await Jce(e,s):await Vce(e,s)}catch(o){throw s.destroy().on("error",pT),o}e[yd]=!1,s[Pce]=0,s[Cx]=e[Cx],s[Fce]=e,s[kce]=null,md.connected.hasSubscribers&&md.connected.publish({connectParams:{host:t,hostname:r,protocol:n,port:i,version:e[ki]?.version,servername:e[cA],localAddress:e[tm]},connector:e[em],socket:s}),e.emit("connect",e[Xu],[e])}catch(s){if(e.destroyed)return;if(e[yd]=!1,md.connectError.hasSubscribers&&md.connectError.publish({connectParams:{host:t,hostname:r,protocol:n,port:i,version:e[ki]?.version,servername:e[cA],localAddress:e[tm]},connector:e[em],error:s}),s.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(gl(e[im]===0);e[sm]>0&&e[nu][e[iu]].servername===e[cA];){let o=e[nu][e[iu]++];ef.errorRequest(e,o,s)}else gT(e,s);e.emit("connectionError",e[Xu],[e],s)}e[rm]()}function fT(e){e[xA]=0,e.emit("drain",e[Xu],[e])}function Ix(e,t){e[tf]!==2&&(e[tf]=2,zce(e,t),e[tf]=0,e[ml]>256&&(e[nu].splice(0,e[ml]),e[iu]-=e[ml],e[ml]=0))}function zce(e,t){for(;;){if(e.destroyed){gl(e[sm]===0);return}if(e[IA]&&!e[nm]){e[IA](),e[IA]=null;return}if(e[ki]&&e[ki].resume(),e[yx])e[xA]=2;else if(e[xA]===2){t?(e[xA]=1,queueMicrotask(()=>fT(e))):fT(e);continue}if(e[sm]===0||e[im]>=(dT(e)||1))return;let r=e[nu][e[iu]];if(e[Xu].protocol==="https:"&&e[cA]!==r.servername){if(e[im]>0)return;e[cA]=r.servername,e[ki]?.destroy(new bce("servername changed"),()=>{e[ki]=null,Ix(e)})}if(e[yd])return;if(!e[ki]){mT(e);return}if(e[ki].destroyed||e[ki].busy(r))return;!r.aborted&&e[ki].write(r)?e[iu]++:e[nu].splice(e[iu],1)}}ET.exports=vx});var Bx=he((Y6e,yT)=>{"use strict";var oC=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048).fill(void 0),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(t){this.list[this.top]=t,this.top=this.top+1&2047}shift(){let t=this.list[this.bottom];return t===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,t)}};yT.exports=class{constructor(){this.head=this.tail=new oC}isEmpty(){return this.head.isEmpty()}push(t){this.head.isFull()&&(this.head=this.head.next=new oC),this.head.push(t)}shift(){let t=this.tail,r=t.shift();return t.isEmpty()&&t.next!==null&&(this.tail=t.next,t.next=null),r}}});var vT=he((V6e,CT)=>{"use strict";var{kFree:Kce,kConnected:Zce,kPending:Xce,kQueued:ele,kRunning:tle,kSize:rle}=qn(),rf=Symbol("pool"),wx=class{constructor(t){this[rf]=t}get connected(){return this[rf][Zce]}get free(){return this[rf][Kce]}get pending(){return this[rf][Xce]}get queued(){return this[rf][ele]}get running(){return this[rf][tle]}get size(){return this[rf][rle]}};CT.exports=wx});var Sx=he((J6e,RT)=>{"use strict";var nle=Kh(),ile=Bx(),{kConnected:bx,kSize:IT,kRunning:BT,kPending:wT,kQueued:pm,kBusy:sle,kFree:ole,kUrl:ale,kClose:ule,kDestroy:cle,kDispatch:lle}=qn(),Ale=vT(),lo=Symbol("clients"),Vs=Symbol("needDrain"),hm=Symbol("queue"),xx=Symbol("closed resolve"),Qx=Symbol("onDrain"),bT=Symbol("onConnect"),xT=Symbol("onDisconnect"),QT=Symbol("onConnectionError"),Fx=Symbol("get dispatcher"),DT=Symbol("add client"),ST=Symbol("remove client"),FT=Symbol("stats"),Dx=class extends nle{constructor(){super(),this[hm]=new ile,this[lo]=[],this[pm]=0;let t=this;this[Qx]=function(n,i){let s=t[hm],o=!1;for(;!o;){let u=s.shift();if(!u)break;t[pm]--,o=!this.dispatch(u.opts,u.handler)}this[Vs]=o,!this[Vs]&&t[Vs]&&(t[Vs]=!1,t.emit("drain",n,[t,...i])),t[xx]&&s.isEmpty()&&Promise.all(t[lo].map(u=>u.close())).then(t[xx])},this[bT]=(r,n)=>{t.emit("connect",r,[t,...n])},this[xT]=(r,n,i)=>{t.emit("disconnect",r,[t,...n],i)},this[QT]=(r,n,i)=>{t.emit("connectionError",r,[t,...n],i)},this[FT]=new Ale(this)}get[sle](){return this[Vs]}get[bx](){return this[lo].filter(t=>t[bx]).length}get[ole](){return this[lo].filter(t=>t[bx]&&!t[Vs]).length}get[wT](){let t=this[pm];for(let{[wT]:r}of this[lo])t+=r;return t}get[BT](){let t=0;for(let{[BT]:r}of this[lo])t+=r;return t}get[IT](){let t=this[pm];for(let{[IT]:r}of this[lo])t+=r;return t}get stats(){return this[FT]}async[ule](){this[hm].isEmpty()?await Promise.all(this[lo].map(t=>t.close())):await new Promise(t=>{this[xx]=t})}async[cle](t){for(;;){let r=this[hm].shift();if(!r)break;r.handler.onError(t)}await Promise.all(this[lo].map(r=>r.destroy(t)))}[lle](t,r){let n=this[Fx]();return n?n.dispatch(t,r)||(n[Vs]=!0,this[Vs]=!this[Fx]()):(this[Vs]=!0,this[hm].push({opts:t,handler:r}),this[pm]++),!this[Vs]}[DT](t){return t.on("drain",this[Qx]).on("connect",this[bT]).on("disconnect",this[xT]).on("connectionError",this[QT]),this[lo].push(t),this[Vs]&&queueMicrotask(()=>{this[Vs]&&this[Qx](t[ale],[this,t])}),this}[ST](t){t.close(()=>{let r=this[lo].indexOf(t);r!==-1&&this[lo].splice(r,1)}),this[Vs]=this[lo].some(r=>!r[Vs]&&r.closed!==!0&&r.destroyed!==!0)}};RT.exports={PoolBase:Dx,kClients:lo,kNeedDrain:Vs,kAddClient:DT,kRemoveClient:ST,kGetDispatcher:Fx}});var Cd=he((W6e,UT)=>{"use strict";var{PoolBase:ple,kClients:kT,kNeedDrain:fle,kAddClient:hle,kGetDispatcher:dle}=Sx(),gle=Am(),{InvalidArgumentError:Rx}=tn(),NT=Tr(),{kUrl:TT}=qn(),mle=k0(),kx=Symbol("options"),Nx=Symbol("connections"),_T=Symbol("factory");function Ele(e,t){return new gle(e,t)}var Tx=class extends ple{constructor(t,{connections:r,factory:n=Ele,connect:i,connectTimeout:s,tls:o,maxCachedSessions:u,socketPath:A,autoSelectFamily:p,autoSelectFamilyAttemptTimeout:f,allowH2:c,...m}={}){if(r!=null&&(!Number.isFinite(r)||r<0))throw new Rx("invalid connections");if(typeof n!="function")throw new Rx("factory must be a function.");if(i!=null&&typeof i!="function"&&typeof i!="object")throw new Rx("connect must be a function or an object");super(),typeof i!="function"&&(i=mle({...o,maxCachedSessions:u,allowH2:c,socketPath:A,timeout:s,...p?{autoSelectFamily:p,autoSelectFamilyAttemptTimeout:f}:void 0,...i})),this[Nx]=r||null,this[TT]=NT.parseOrigin(t),this[kx]={...NT.deepClone(m),connect:i,allowH2:c},this[kx].interceptors=m.interceptors?{...m.interceptors}:void 0,this[_T]=n}[dle](){for(let t of this[kT])if(!t[fle])return t;if(!this[Nx]||this[kT].length{"use strict";var{BalancedPoolMissingUpstreamError:yle,InvalidArgumentError:Cle}=tn(),{PoolBase:vle,kClients:xs,kNeedDrain:dm,kAddClient:Ile,kRemoveClient:Ble,kGetDispatcher:wle}=Sx(),ble=Cd(),{kUrl:_x}=qn(),{parseOrigin:OT}=Tr(),MT=Symbol("factory"),aC=Symbol("options"),LT=Symbol("kGreatestCommonDivisor"),nf=Symbol("kCurrentWeight"),sf=Symbol("kIndex"),xa=Symbol("kWeight"),uC=Symbol("kMaxWeightPerServer"),cC=Symbol("kErrorPenalty");function xle(e,t){if(e===0)return t;for(;t!==0;){let r=t;t=e%t,e=r}return e}function Qle(e,t){return new ble(e,t)}var Ux=class extends vle{constructor(t=[],{factory:r=Qle,...n}={}){if(typeof r!="function")throw new Cle("factory must be a function.");super(),this[aC]=n,this[sf]=-1,this[nf]=0,this[uC]=this[aC].maxWeightPerServer||100,this[cC]=this[aC].errorPenalty||15,Array.isArray(t)||(t=[t]),this[MT]=r;for(let i of t)this.addUpstream(i);this._updateBalancedPoolStats()}addUpstream(t){let r=OT(t).origin;if(this[xs].find(i=>i[_x].origin===r&&i.closed!==!0&&i.destroyed!==!0))return this;let n=this[MT](r,Object.assign({},this[aC]));this[Ile](n),n.on("connect",()=>{n[xa]=Math.min(this[uC],n[xa]+this[cC])}),n.on("connectionError",()=>{n[xa]=Math.max(1,n[xa]-this[cC]),this._updateBalancedPoolStats()}),n.on("disconnect",(...i)=>{let s=i[2];s&&s.code==="UND_ERR_SOCKET"&&(n[xa]=Math.max(1,n[xa]-this[cC]),this._updateBalancedPoolStats())});for(let i of this[xs])i[xa]=this[uC];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let t=0;for(let r=0;ri[_x].origin===r&&i.closed!==!0&&i.destroyed!==!0);return n&&this[Ble](n),this}get upstreams(){return this[xs].filter(t=>t.closed!==!0&&t.destroyed!==!0).map(t=>t[_x].origin)}[wle](){if(this[xs].length===0)throw new yle;if(!this[xs].find(s=>!s[dm]&&s.closed!==!0&&s.destroyed!==!0)||this[xs].map(s=>s[dm]).reduce((s,o)=>s&&o,!0))return;let n=0,i=this[xs].findIndex(s=>!s[dm]);for(;n++this[xs][i][xa]&&!s[dm]&&(i=this[sf]),this[sf]===0&&(this[nf]=this[nf]-this[LT],this[nf]<=0&&(this[nf]=this[uC])),s[xa]>=this[nf]&&!s[dm])return s}return this[nf]=this[xs][i][xa],this[sf]=i,this[xs][i]}};PT.exports=Ux});var wd=he((K6e,WT)=>{"use strict";var{InvalidArgumentError:Ox}=tn(),{kClients:QA,kRunning:HT,kClose:Fle,kDestroy:Dle,kDispatch:Sle}=qn(),Rle=Kh(),kle=Cd(),Nle=Am(),Tle=Tr(),qT=Symbol("onConnect"),jT=Symbol("onDisconnect"),GT=Symbol("onConnectionError"),YT=Symbol("onDrain"),VT=Symbol("factory"),JT=Symbol("options");function _le(e,t){return t&&t.connections===1?new Nle(e,t):new kle(e,t)}var Mx=class extends Rle{constructor({factory:t=_le,connect:r,...n}={}){if(typeof t!="function")throw new Ox("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new Ox("connect must be a function or an object");super(),r&&typeof r!="function"&&(r={...r}),this[JT]={...Tle.deepClone(n),connect:r},this[VT]=t,this[QA]=new Map,this[YT]=(i,s)=>{this.emit("drain",i,[this,...s])},this[qT]=(i,s)=>{this.emit("connect",i,[this,...s])},this[jT]=(i,s,o)=>{this.emit("disconnect",i,[this,...s],o)},this[GT]=(i,s,o)=>{this.emit("connectionError",i,[this,...s],o)}}get[HT](){let t=0;for(let r of this[QA].values())t+=r[HT];return t}[Sle](t,r){let n;if(t.origin&&(typeof t.origin=="string"||t.origin instanceof URL))n=String(t.origin);else throw new Ox("opts.origin must be a non-empty string or URL.");let i=this[QA].get(n);return i||(i=this[VT](t.origin,this[JT]).on("drain",this[YT]).on("connect",this[qT]).on("disconnect",this[jT]).on("connectionError",this[GT]),this[QA].set(n,i)),i.dispatch(t,r)}async[Fle](){let t=[];for(let r of this[QA].values())t.push(r.close());this[QA].clear(),await Promise.all(t)}async[Dle](t){let r=[];for(let n of this[QA].values())r.push(n.destroy(t));this[QA].clear(),await Promise.all(r)}};WT.exports=Mx});var $x=he((Z6e,XT)=>{"use strict";var{kProxy:Ule,kClose:Ole,kDestroy:Mle}=qn(),{URL:gm}=require("node:url"),Lle=wd(),Ple=Cd(),$le=Kh(),{InvalidArgumentError:pC,RequestAbortedError:Hle,SecureProxyConnectionError:qle}=tn(),zT=k0(),lC=Symbol("proxy agent"),AC=Symbol("proxy client"),mm=Symbol("proxy headers"),Lx=Symbol("request tls settings"),KT=Symbol("proxy tls settings"),ZT=Symbol("connect endpoint function");function jle(e){return e==="https:"?443:80}function Gle(e,t){return new Ple(e,t)}var Yle=()=>{},Px=class extends $le{constructor(t){if(!t||typeof t=="object"&&!(t instanceof gm)&&!t.uri)throw new pC("Proxy uri is mandatory");let{clientFactory:r=Gle}=t;if(typeof r!="function")throw new pC("Proxy opts.clientFactory must be a function.");super();let n=this.#e(t),{href:i,origin:s,port:o,protocol:u,username:A,password:p,hostname:f}=n;if(this[Ule]={uri:i,protocol:u},this[Lx]=t.requestTls,this[KT]=t.proxyTls,this[mm]=t.headers||{},t.auth&&t.token)throw new pC("opts.auth cannot be used in combination with opts.token");t.auth?this[mm]["proxy-authorization"]=`Basic ${t.auth}`:t.token?this[mm]["proxy-authorization"]=t.token:A&&p&&(this[mm]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(p)}`).toString("base64")}`);let c=zT({...t.proxyTls});this[ZT]=zT({...t.requestTls}),this[AC]=r(n,{connect:c}),this[lC]=new Lle({...t,connect:async(m,w)=>{let C=m.host;m.port||(C+=`:${jle(m.protocol)}`);try{let{socket:F,statusCode:P}=await this[AC].connect({origin:s,port:o,path:C,signal:m.signal,headers:{...this[mm],host:m.host},servername:this[KT]?.servername||f});if(P!==200&&(F.on("error",Yle).destroy(),w(new Hle(`Proxy response (${P}) !== 200 when HTTP Tunneling`))),m.protocol!=="https:"){w(null,F);return}let j;this[Lx]?j=this[Lx].servername:j=m.servername,this[ZT]({...m,servername:j,httpSocket:F},w)}catch(F){F.code==="ERR_TLS_CERT_ALTNAME_INVALID"?w(new qle(F)):w(F)}}})}dispatch(t,r){let n=Vle(t.headers);if(Jle(n),n&&!("host"in n)&&!("Host"in n)){let{host:i}=new gm(t.origin);n.host=i}return this[lC].dispatch({...t,headers:n},r)}#e(t){return typeof t=="string"?new gm(t):t instanceof gm?t:new gm(t.uri)}async[Ole](){await this[lC].close(),await this[AC].close()}async[Mle](){await this[lC].destroy(),await this[AC].destroy()}};function Vle(e){if(Array.isArray(e)){let t={};for(let r=0;rr.toLowerCase()==="proxy-authorization"))throw new pC("Proxy-Authorization should be sent in ProxyAgent constructor")}XT.exports=Px});var y_=he((X6e,E_)=>{"use strict";var Wle=Kh(),{kClose:zle,kDestroy:Kle,kClosed:e_,kDestroyed:A_,kDispatch:Zle,kNoProxyAgent:Em,kHttpProxyAgent:FA,kHttpsProxyAgent:of}=qn(),m_=$x(),Xle=wd(),eAe={"http:":80,"https:":443},Hx=class extends Wle{#e=null;#t=null;#r=null;constructor(t={}){super(),this.#r=t;let{httpProxy:r,httpsProxy:n,noProxy:i,...s}=t;this[Em]=new Xle(s);let o=r??process.env.http_proxy??process.env.HTTP_PROXY;o?this[FA]=new m_({...s,uri:o}):this[FA]=this[Em];let u=n??process.env.https_proxy??process.env.HTTPS_PROXY;u?this[of]=new m_({...s,uri:u}):this[of]=this[FA],this.#i()}[Zle](t,r){let n=new URL(t.origin);return this.#n(n).dispatch(t,r)}async[zle](){await this[Em].close(),this[FA][e_]||await this[FA].close(),this[of][e_]||await this[of].close()}async[Kle](t){await this[Em].destroy(t),this[FA][A_]||await this[FA].destroy(t),this[of][A_]||await this[of].destroy(t)}#n(t){let{protocol:r,host:n,port:i}=t;return n=n.replace(/:\d*$/,"").toLowerCase(),i=Number.parseInt(i,10)||eAe[r]||0,this.#s(n,i)?r==="https:"?this[of]:this[FA]:this[Em]}#s(t,r){if(this.#u&&this.#i(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let n=0;n{"use strict";var bd=require("node:assert"),{kRetryHandlerDefaultRetry:C_}=qn(),{RequestRetryError:ym}=tn(),tAe=Sy(),{isDisturbed:v_,parseRangeHeader:I_,wrapRequestBody:rAe}=Tr();function nAe(e){let t=Date.now();return new Date(e).getTime()-t}var qx=class e{constructor(t,{dispatch:r,handler:n}){let{retryOptions:i,...s}=t,{retry:o,maxRetries:u,maxTimeout:A,minTimeout:p,timeoutFactor:f,methods:c,errorCodes:m,retryAfter:w,statusCodes:C}=i??{};this.dispatch=r,this.handler=tAe.wrap(n),this.opts={...s,body:rAe(t.body)},this.retryOpts={retry:o??e[C_],retryAfter:w??!0,maxTimeout:A??30*1e3,minTimeout:p??500,timeoutFactor:f??2,maxRetries:u??5,methods:c??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:C??[500,502,503,504,429],errorCodes:m??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onRequestStart(t,r){this.headersSent||this.handler.onRequestStart?.(t,r)}onRequestUpgrade(t,r,n,i){this.handler.onRequestUpgrade?.(t,r,n,i)}static[C_](t,{state:r,opts:n},i){let{statusCode:s,code:o,headers:u}=t,{method:A,retryOptions:p}=n,{maxRetries:f,minTimeout:c,maxTimeout:m,timeoutFactor:w,statusCodes:C,errorCodes:F,methods:P}=p,{counter:j}=r;if(o&&o!=="UND_ERR_REQ_RETRY"&&!F.includes(o)){i(t);return}if(Array.isArray(P)&&!P.includes(A)){i(t);return}if(s!=null&&Array.isArray(C)&&!C.includes(s)){i(t);return}if(j>f){i(t);return}let re=u?.["retry-after"];re&&(re=Number(re),re=Number.isNaN(re)?nAe(re):re*1e3);let se=re>0?Math.min(re,m):Math.min(c*w**(j-1),m);setTimeout(()=>i(null),se)}onResponseStart(t,r,n,i){if(this.retryCount+=1,r>=300)if(this.retryOpts.statusCodes.includes(r)===!1){this.headersSent=!0,this.handler.onResponseStart?.(t,r,n,i);return}else throw new ym("Request failed",r,{headers:n,data:{count:this.retryCount}});if(this.headersSent){if(r!==206&&(this.start>0||r!==200))throw new ym("server does not support the range header and the payload was partially consumed",r,{headers:n,data:{count:this.retryCount}});let s=I_(n["content-range"]);if(!s)throw new ym("Content-Range mismatch",r,{headers:n,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==n.etag)throw new ym("ETag mismatch",r,{headers:n,data:{count:this.retryCount}});let{start:o,size:u,end:A=u?u-1:null}=s;bd(this.start===o,"content-range mismatch"),bd(this.end==null||this.end===A,"content-range mismatch");return}if(this.end==null){if(r===206){let s=I_(n["content-range"]);if(s==null){this.headersSent=!0,this.handler.onResponseStart?.(t,r,n,i);return}let{start:o,size:u,end:A=u?u-1:null}=s;bd(o!=null&&Number.isFinite(o),"content-range mismatch"),bd(A!=null&&Number.isFinite(A),"invalid content-length"),this.start=o,this.end=A}if(this.end==null){let s=n["content-length"];this.end=s!=null?Number(s)-1:null}bd(Number.isFinite(this.start)),bd(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=n.etag!=null?n.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(t,r,n,i)}else throw new ym("Request failed",r,{headers:n,data:{count:this.retryCount}})}onResponseData(t,r){this.start+=r.length,this.handler.onResponseData?.(t,r)}onResponseEnd(t,r){return this.retryCount=0,this.handler.onResponseEnd?.(t,r)}onResponseError(t,r){if(t?.aborted||v_(this.opts.body)){this.handler.onResponseError?.(t,r);return}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(r,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},n.bind(this));function n(i){if(i!=null||t?.aborted||v_(this.opts.body))return this.handler.onResponseError?.(t,i);if(this.start!==0){let s={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(s["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...s}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(s){this.handler.onResponseError?.(t,s)}}}};B_.exports=qx});var b_=he((t8e,w_)=>{"use strict";var iAe=D0(),sAe=fC(),jx=class extends iAe{#e=null;#t=null;constructor(t,r={}){super(r),this.#e=t,this.#t=r}dispatch(t,r){let n=new sAe({...t,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:r});return this.#e.dispatch(t,n)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};w_.exports=jx});var T_=he((r8e,N_)=>{"use strict";var D_=require("node:assert"),{Readable:oAe}=require("node:stream"),{RequestAbortedError:S_,NotSupportedError:aAe,InvalidArgumentError:uAe,AbortError:Gx}=tn(),R_=Tr(),{ReadableStreamFrom:cAe}=Tr(),Mo=Symbol("kConsume"),hC=Symbol("kReading"),af=Symbol("kBody"),x_=Symbol("kAbort"),k_=Symbol("kContentType"),Yx=Symbol("kContentLength"),Vx=Symbol("kUsed"),dC=Symbol("kBytesRead"),lAe=()=>{},Jx=class extends oAe{constructor({resume:t,abort:r,contentType:n="",contentLength:i,highWaterMark:s=64*1024}){super({autoDestroy:!0,read:t,highWaterMark:s}),this._readableState.dataEmitted=!1,this[x_]=r,this[Mo]=null,this[dC]=0,this[af]=null,this[Vx]=!1,this[k_]=n,this[Yx]=Number.isFinite(i)?i:null,this[hC]=!1}_destroy(t,r){!t&&!this._readableState.endEmitted&&(t=new S_),t&&this[x_](),this[Vx]?r(t):setImmediate(()=>{r(t)})}on(t,r){return(t==="data"||t==="readable")&&(this[hC]=!0,this[Vx]=!0),super.on(t,r)}addListener(t,r){return this.on(t,r)}off(t,r){let n=super.off(t,r);return(t==="data"||t==="readable")&&(this[hC]=this.listenerCount("data")>0||this.listenerCount("readable")>0),n}removeListener(t,r){return this.off(t,r)}push(t){return this[dC]+=t?t.length:0,this[Mo]&&t!==null?(zx(this[Mo],t),this[hC]?super.push(t):!0):super.push(t)}text(){return vm(this,"text")}json(){return vm(this,"json")}blob(){return vm(this,"blob")}bytes(){return vm(this,"bytes")}arrayBuffer(){return vm(this,"arrayBuffer")}async formData(){throw new aAe}get bodyUsed(){return R_.isDisturbed(this)}get body(){return this[af]||(this[af]=cAe(this),this[Mo]&&(this[af].getReader(),D_(this[af].locked))),this[af]}async dump(t){let r=t?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new uAe("signal must be an AbortSignal");let n=t?.limit&&Number.isFinite(t.limit)?t.limit:128*1024;return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((i,s)=>{if((this[Yx]&&this[Yx]>n||this[dC]>n)&&this.destroy(new Gx),r){let o=()=>{this.destroy(r.reason??new Gx)};r.addEventListener("abort",o),this.on("close",function(){r.removeEventListener("abort",o),r.aborted?s(r.reason??new Gx):i(null)})}else this.on("close",i);this.on("error",lAe).on("data",()=>{this[dC]>n&&this.destroy()}).resume()})}setEncoding(t){return Buffer.isEncoding(t)&&(this._readableState.encoding=t),this}};function AAe(e){return e[af]?.locked===!0||e[Mo]!==null}function pAe(e){return R_.isDisturbed(e)||AAe(e)}function vm(e,t){return D_(!e[Mo]),new Promise((r,n)=>{if(pAe(e)){let i=e._readableState;i.destroyed&&i.closeEmitted===!1?e.on("error",s=>{n(s)}).on("close",()=>{n(new TypeError("unusable"))}):n(i.errored??new TypeError("unusable"))}else queueMicrotask(()=>{e[Mo]={type:t,stream:e,resolve:r,reject:n,length:0,body:[]},e.on("error",function(i){Kx(this[Mo],i)}).on("close",function(){this[Mo].body!==null&&Kx(this[Mo],new S_)}),fAe(e[Mo])})})}function fAe(e){if(e.body===null)return;let{_readableState:t}=e.stream;if(t.bufferIndex){let r=t.bufferIndex,n=t.buffer.length;for(let i=r;i2&&n[0]===239&&n[1]===187&&n[2]===191?3:0;return!r||r==="utf8"||r==="utf-8"?n.utf8Slice(s,i):n.subarray(s,i).toString(r)}function Q_(e,t){if(e.length===0||t===0)return new Uint8Array(0);if(e.length===1)return new Uint8Array(e[0]);let r=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer),n=0;for(let i=0;i{"use strict";var hAe=require("node:assert"),{AsyncResource:dAe}=require("node:async_hooks"),{Readable:gAe}=T_(),{InvalidArgumentError:xd,RequestAbortedError:__}=tn(),su=Tr();function gC(){}var mC=class extends dAe{constructor(t,r){if(!t||typeof t!="object")throw new xd("invalid opts");let{signal:n,method:i,opaque:s,body:o,onInfo:u,responseHeaders:A,highWaterMark:p}=t;try{if(typeof r!="function")throw new xd("invalid callback");if(p&&(typeof p!="number"||p<0))throw new xd("invalid highWaterMark");if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new xd("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new xd("invalid method");if(u&&typeof u!="function")throw new xd("invalid onInfo callback");super("UNDICI_REQUEST")}catch(f){throw su.isStream(o)&&su.destroy(o.on("error",gC),f),f}this.method=i,this.responseHeaders=A||null,this.opaque=s||null,this.callback=r,this.res=null,this.abort=null,this.body=o,this.trailers={},this.context=null,this.onInfo=u||null,this.highWaterMark=p,this.reason=null,this.removeAbortListener=null,n?.aborted?this.reason=n.reason??new __:n&&(this.removeAbortListener=su.addAbortListener(n,()=>{this.reason=n.reason??new __,this.res?su.destroy(this.res.on("error",gC),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(t,r){if(this.reason){t(this.reason);return}hAe(this.callback),this.abort=t,this.context=r}onHeaders(t,r,n,i){let{callback:s,opaque:o,abort:u,context:A,responseHeaders:p,highWaterMark:f}=this,c=p==="raw"?su.parseRawHeaders(r):su.parseHeaders(r);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:c});return}let m=p==="raw"?su.parseHeaders(r):c,w=m["content-type"],C=m["content-length"],F=new gAe({resume:n,abort:u,contentType:w,contentLength:this.method!=="HEAD"&&C?Number(C):null,highWaterMark:f});this.removeAbortListener&&(F.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=F,s!==null&&this.runInAsyncScope(s,null,null,{statusCode:t,headers:c,trailers:this.trailers,opaque:o,body:F,context:A})}onData(t){return this.res.push(t)}onComplete(t){su.parseHeaders(t,this.trailers),this.res.push(null)}onError(t){let{res:r,callback:n,body:i,opaque:s}=this;n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:s})})),r&&(this.res=null,queueMicrotask(()=>{su.destroy(r.on("error",gC),t)})),i&&(this.body=null,su.isStream(i)&&(i.on("error",gC),su.destroy(i,t))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function U_(e,t){if(t===void 0)return new Promise((r,n)=>{U_.call(this,e,(i,s)=>i?n(i):r(s))});try{let r=new mC(e,t);this.dispatch(e,r)}catch(r){if(typeof t!="function")throw r;let n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}Zx.exports=U_;Zx.exports.RequestHandler=mC});var Im=he((i8e,$_)=>{"use strict";var{addAbortListener:mAe}=Tr(),{RequestAbortedError:EAe}=tn(),Qd=Symbol("kListener"),ec=Symbol("kSignal");function L_(e){e.abort?e.abort(e[ec]?.reason):e.reason=e[ec]?.reason??new EAe,P_(e)}function yAe(e,t){if(e.reason=null,e[ec]=null,e[Qd]=null,!!t){if(t.aborted){L_(e);return}e[ec]=t,e[Qd]=()=>{L_(e)},mAe(e[ec],e[Qd])}}function P_(e){e[ec]&&("removeEventListener"in e[ec]?e[ec].removeEventListener("abort",e[Qd]):e[ec].removeListener("abort",e[Qd]),e[ec]=null,e[Qd]=null)}$_.exports={addSignal:yAe,removeSignal:P_}});var J_=he((s8e,Y_)=>{"use strict";var CAe=require("node:assert"),{finished:vAe}=require("node:stream"),{AsyncResource:IAe}=require("node:async_hooks"),{InvalidArgumentError:Fd,InvalidReturnValueError:BAe}=tn(),El=Tr(),{addSignal:wAe,removeSignal:H_}=Im();function bAe(){}var Xx=class extends IAe{constructor(t,r,n){if(!t||typeof t!="object")throw new Fd("invalid opts");let{signal:i,method:s,opaque:o,body:u,onInfo:A,responseHeaders:p}=t;try{if(typeof n!="function")throw new Fd("invalid callback");if(typeof r!="function")throw new Fd("invalid factory");if(i&&typeof i.on!="function"&&typeof i.addEventListener!="function")throw new Fd("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Fd("invalid method");if(A&&typeof A!="function")throw new Fd("invalid onInfo callback");super("UNDICI_STREAM")}catch(f){throw El.isStream(u)&&El.destroy(u.on("error",bAe),f),f}this.responseHeaders=p||null,this.opaque=o||null,this.factory=r,this.callback=n,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=u,this.onInfo=A||null,El.isStream(u)&&u.on("error",f=>{this.onError(f)}),wAe(this,i)}onConnect(t,r){if(this.reason){t(this.reason);return}CAe(this.callback),this.abort=t,this.context=r}onHeaders(t,r,n,i){let{factory:s,opaque:o,context:u,responseHeaders:A}=this,p=A==="raw"?El.parseRawHeaders(r):El.parseHeaders(r);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:p});return}if(this.factory=null,s===null)return;let f=this.runInAsyncScope(s,null,{statusCode:t,headers:p,opaque:o,context:u});if(!f||typeof f.write!="function"||typeof f.end!="function"||typeof f.on!="function")throw new BAe("expected Writable");return vAe(f,{readable:!1},m=>{let{callback:w,res:C,opaque:F,trailers:P,abort:j}=this;this.res=null,(m||!C.readable)&&El.destroy(C,m),this.callback=null,this.runInAsyncScope(w,null,m||null,{opaque:F,trailers:P}),m&&j()}),f.on("drain",n),this.res=f,(f.writableNeedDrain!==void 0?f.writableNeedDrain:f._writableState?.needDrain)!==!0}onData(t){let{res:r}=this;return r?r.write(t):!0}onComplete(t){let{res:r}=this;H_(this),r&&(this.trailers=El.parseHeaders(t),r.end())}onError(t){let{res:r,callback:n,opaque:i,body:s}=this;H_(this),this.factory=null,r?(this.res=null,El.destroy(r,t)):n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:i})})),s&&(this.body=null,El.destroy(s,t))}};function G_(e,t,r){if(r===void 0)return new Promise((n,i)=>{G_.call(this,e,t,(s,o)=>s?i(s):n(o))});try{let n=new Xx(e,t,r);this.dispatch(e,n)}catch(n){if(typeof r!="function")throw n;let i=e?.opaque;queueMicrotask(()=>r(n,{opaque:i}))}}Y_.exports=G_});var Z_=he((o8e,K_)=>{"use strict";var{Readable:z_,Duplex:xAe,PassThrough:QAe}=require("node:stream"),FAe=require("node:assert"),{AsyncResource:DAe}=require("node:async_hooks"),{InvalidArgumentError:Bm,InvalidReturnValueError:SAe,RequestAbortedError:eQ}=tn(),tc=Tr(),{addSignal:RAe,removeSignal:kAe}=Im();function W_(){}var Sd=Symbol("resume"),tQ=class extends z_{constructor(){super({autoDestroy:!0}),this[Sd]=null}_read(){let{[Sd]:t}=this;t&&(this[Sd]=null,t())}_destroy(t,r){this._read(),r(t)}},rQ=class extends z_{constructor(t){super({autoDestroy:!0}),this[Sd]=t}_read(){this[Sd]()}_destroy(t,r){!t&&!this._readableState.endEmitted&&(t=new eQ),r(t)}},nQ=class extends DAe{constructor(t,r){if(!t||typeof t!="object")throw new Bm("invalid opts");if(typeof r!="function")throw new Bm("invalid handler");let{signal:n,method:i,opaque:s,onInfo:o,responseHeaders:u}=t;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new Bm("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new Bm("invalid method");if(o&&typeof o!="function")throw new Bm("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=s||null,this.responseHeaders=u||null,this.handler=r,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new tQ().on("error",W_),this.ret=new xAe({readableObjectMode:t.objectMode,autoDestroy:!0,read:()=>{let{body:A}=this;A?.resume&&A.resume()},write:(A,p,f)=>{let{req:c}=this;c.push(A,p)||c._readableState.destroyed?f():c[Sd]=f},destroy:(A,p)=>{let{body:f,req:c,res:m,ret:w,abort:C}=this;!A&&!w._readableState.endEmitted&&(A=new eQ),C&&A&&C(),tc.destroy(f,A),tc.destroy(c,A),tc.destroy(m,A),kAe(this),p(A)}}).on("prefinish",()=>{let{req:A}=this;A.push(null)}),this.res=null,RAe(this,n)}onConnect(t,r){let{res:n}=this;if(this.reason){t(this.reason);return}FAe(!n,"pipeline cannot be retried"),this.abort=t,this.context=r}onHeaders(t,r,n){let{opaque:i,handler:s,context:o}=this;if(t<200){if(this.onInfo){let A=this.responseHeaders==="raw"?tc.parseRawHeaders(r):tc.parseHeaders(r);this.onInfo({statusCode:t,headers:A})}return}this.res=new rQ(n);let u;try{this.handler=null;let A=this.responseHeaders==="raw"?tc.parseRawHeaders(r):tc.parseHeaders(r);u=this.runInAsyncScope(s,null,{statusCode:t,headers:A,opaque:i,body:this.res,context:o})}catch(A){throw this.res.on("error",W_),A}if(!u||typeof u.on!="function")throw new SAe("expected Readable");u.on("data",A=>{let{ret:p,body:f}=this;!p.push(A)&&f.pause&&f.pause()}).on("error",A=>{let{ret:p}=this;tc.destroy(p,A)}).on("end",()=>{let{ret:A}=this;A.push(null)}).on("close",()=>{let{ret:A}=this;A._readableState.ended||tc.destroy(A,new eQ)}),this.body=u}onData(t){let{res:r}=this;return r.push(t)}onComplete(t){let{res:r}=this;r.push(null)}onError(t){let{ret:r}=this;this.handler=null,tc.destroy(r,t)}};function NAe(e,t){try{let r=new nQ(e,t);return this.dispatch({...e,body:r.req},r),r.ret}catch(r){return new QAe().destroy(r)}}K_.exports=NAe});var X9=he((a8e,Z9)=>{"use strict";var{InvalidArgumentError:iQ,SocketError:TAe}=tn(),{AsyncResource:_Ae}=require("node:async_hooks"),X_=require("node:assert"),Q9=Tr(),{addSignal:UAe,removeSignal:J9}=Im(),sQ=class extends _Ae{constructor(t,r){if(!t||typeof t!="object")throw new iQ("invalid opts");if(typeof r!="function")throw new iQ("invalid callback");let{signal:n,opaque:i,responseHeaders:s}=t;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new iQ("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=s||null,this.opaque=i||null,this.callback=r,this.abort=null,this.context=null,UAe(this,n)}onConnect(t,r){if(this.reason){t(this.reason);return}X_(this.callback),this.abort=t,this.context=null}onHeaders(){throw new TAe("bad upgrade",null)}onUpgrade(t,r,n){X_(t===101);let{callback:i,opaque:s,context:o}=this;J9(this),this.callback=null;let u=this.responseHeaders==="raw"?Q9.parseRawHeaders(r):Q9.parseHeaders(r);this.runInAsyncScope(i,null,null,{headers:u,socket:n,opaque:s,context:o})}onError(t){let{callback:r,opaque:n}=this;J9(this),r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:n})}))}};function W9(e,t){if(t===void 0)return new Promise((r,n)=>{W9.call(this,e,(i,s)=>i?n(i):r(s))});try{let r=new sQ(e,t),n={...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"};this.dispatch(n,r)}catch(r){if(typeof t!="function")throw r;let n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}Z9.exports=W9});var oU=he((u8e,sU)=>{"use strict";var OAe=require("node:assert"),{AsyncResource:MAe}=require("node:async_hooks"),{InvalidArgumentError:oQ,SocketError:LAe}=tn(),tU=Tr(),{addSignal:PAe,removeSignal:nU}=Im(),aQ=class extends MAe{constructor(t,r){if(!t||typeof t!="object")throw new oQ("invalid opts");if(typeof r!="function")throw new oQ("invalid callback");let{signal:n,opaque:i,responseHeaders:s}=t;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new oQ("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=i||null,this.responseHeaders=s||null,this.callback=r,this.abort=null,PAe(this,n)}onConnect(t,r){if(this.reason){t(this.reason);return}OAe(this.callback),this.abort=t,this.context=r}onHeaders(){throw new LAe("bad connect",null)}onUpgrade(t,r,n){let{callback:i,opaque:s,context:o}=this;nU(this),this.callback=null;let u=r;u!=null&&(u=this.responseHeaders==="raw"?tU.parseRawHeaders(r):tU.parseHeaders(r)),this.runInAsyncScope(i,null,null,{statusCode:t,headers:u,socket:n,opaque:s,context:o})}onError(t){let{callback:r,opaque:n}=this;nU(this),r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:n})}))}};function iU(e,t){if(t===void 0)return new Promise((r,n)=>{iU.call(this,e,(i,s)=>i?n(i):r(s))});try{let r=new aQ(e,t),n={...e,method:"CONNECT"};this.dispatch(n,r)}catch(r){if(typeof t!="function")throw r;let n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}sU.exports=iU});var aU=he((c8e,kd)=>{"use strict";kd.exports.request=O_();kd.exports.stream=J_();kd.exports.pipeline=Z_();kd.exports.upgrade=X9();kd.exports.connect=oU()});var cQ=he((l8e,uU)=>{"use strict";var{UndiciError:$Ae}=tn(),uQ=class extends $Ae{constructor(t){super(t),this.name="MockNotMatchedError",this.message=t||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}};uU.exports={MockNotMatchedError:uQ}});var Nd=he((A8e,cU)=>{"use strict";cU.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash")}});var xm=he((p8e,CU)=>{"use strict";var{MockNotMatchedError:Af}=cQ(),{kDispatches:EC,kMockAgent:HAe,kOriginalDispatch:qAe,kOrigin:jAe,kGetNetConnect:GAe}=Nd(),{serializePathWithQuery:YAe}=Tr(),{STATUS_CODES:VAe}=require("node:http"),{types:{isPromise:JAe}}=require("node:util");function rc(e,t){return typeof e=="string"?e===t:e instanceof RegExp?e.test(t):typeof e=="function"?e(t)===!0:!1}function AU(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[t.toLocaleLowerCase(),r]))}function pU(e,t){if(Array.isArray(e)){for(let r=0;r"u")return!0;if(typeof t!="object"||typeof e.headers!="object")return!1;for(let[r,n]of Object.entries(e.headers)){let i=pU(t,r);if(!rc(n,i))return!1}return!0}function lQ(e){if(typeof e!="string")return e;let t=e.split("?");if(t.length!==2)return e;let r=new URLSearchParams(t.pop());return r.sort(),[...t,r.toString()].join("?")}function WAe(e,{path:t,method:r,body:n,headers:i}){let s=rc(e.path,t),o=rc(e.method,r),u=typeof e.body<"u"?rc(e.body,n):!0,A=fU(e,i);return s&&o&&u&&A}function hU(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:typeof e=="object"?JSON.stringify(e):e?e.toString():""}function dU(e,t){let r=t.query?YAe(t.path,t.query):t.path,n=typeof r=="string"?lQ(r):r,i=lU(n),s=e.filter(({consumed:o})=>!o).filter(({path:o,ignoreTrailingSlash:u})=>u?rc(lU(lQ(o)),i):rc(lQ(o),n));if(s.length===0)throw new Af(`Mock dispatch not matched for path '${n}'`);if(s=s.filter(({method:o})=>rc(o,t.method)),s.length===0)throw new Af(`Mock dispatch not matched for method '${t.method}' on path '${n}'`);if(s=s.filter(({body:o})=>typeof o<"u"?rc(o,t.body):!0),s.length===0)throw new Af(`Mock dispatch not matched for body '${t.body}' on path '${n}'`);if(s=s.filter(o=>fU(o,t.headers)),s.length===0){let o=typeof t.headers=="object"?JSON.stringify(t.headers):t.headers;throw new Af(`Mock dispatch not matched for headers '${o}' on path '${n}'`)}return s[0]}function zAe(e,t,r,n){let i={timesInvoked:0,times:1,persist:!1,consumed:!1,...n},s=typeof r=="function"?{callback:r}:{...r},o={...i,...t,pending:!0,data:{error:null,...s}};return e.push(o),o}function AQ(e,t){let r=e.findIndex(n=>n.consumed?WAe(n,t):!1);r!==-1&&e.splice(r,1)}function lU(e){for(;e.endsWith("/");)e=e.slice(0,-1);return e.length===0&&(e="/"),e}function gU(e){let{path:t,method:r,body:n,headers:i,query:s}=e;return{path:t,method:r,body:n,headers:i,query:s}}function pQ(e){let t=Object.keys(e),r=[];for(let n=0;n=m,n.pending=c0?setTimeout(()=>{w(this[EC])},p):w(this[EC]);function w(F,P=s){let j=Array.isArray(e.headers)?fQ(e.headers):e.headers,re=typeof P=="function"?P({...e,headers:j}):P;if(JAe(re)){re.then(be=>w(F,be));return}let se=hU(re),ge=pQ(o),oe=pQ(u);t.onConnect?.(be=>t.onError(be),null),t.onHeaders?.(i,ge,C,mU(i)),t.onData?.(Buffer.from(se)),t.onComplete?.(oe),AQ(F,r)}function C(){}return!0}function ZAe(){let e=this[HAe],t=this[jAe],r=this[qAe];return function(i,s){if(e.isMockActive)try{EU.call(this,i,s)}catch(o){if(o instanceof Af){let u=e[GAe]();if(u===!1)throw new Af(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`);if(yU(u,t))r.call(this,i,s);else throw new Af(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}else throw o}else r.call(this,i,s)}}function yU(e,t){let r=new URL(t);return e===!0?!0:!!(Array.isArray(e)&&e.some(n=>rc(n,r.host)))}function XAe(e){if(e){let{agent:t,...r}=e;return r}}CU.exports={getResponseData:hU,getMockDispatch:dU,addMockDispatch:zAe,deleteMockDispatch:AQ,buildKey:gU,generateKeyValues:pQ,matchValue:rc,getResponse:KAe,getStatusText:mU,mockDispatch:EU,buildMockDispatch:ZAe,checkNetConnect:yU,buildMockOptions:XAe,getHeaderByName:pU,buildHeadersFromArray:fQ}});var CQ=he((f8e,yQ)=>{"use strict";var{getResponseData:epe,buildKey:tpe,addMockDispatch:hQ}=xm(),{kDispatches:yC,kDispatchKey:CC,kDefaultHeaders:dQ,kDefaultTrailers:gQ,kContentLength:mQ,kMockDispatch:vC,kIgnoreTrailingSlash:IC}=Nd(),{InvalidArgumentError:nc}=tn(),{serializePathWithQuery:rpe}=Tr(),Td=class{constructor(t){this[vC]=t}delay(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new nc("waitInMs must be a valid integer > 0");return this[vC].delay=t,this}persist(){return this[vC].persist=!0,this}times(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new nc("repeatTimes must be a valid integer > 0");return this[vC].times=t,this}},EQ=class{constructor(t,r){if(typeof t!="object")throw new nc("opts must be an object");if(typeof t.path>"u")throw new nc("opts.path must be defined");if(typeof t.method>"u"&&(t.method="GET"),typeof t.path=="string")if(t.query)t.path=rpe(t.path,t.query);else{let n=new URL(t.path,"data://");t.path=n.pathname+n.search}typeof t.method=="string"&&(t.method=t.method.toUpperCase()),this[CC]=tpe(t),this[yC]=r,this[IC]=t.ignoreTrailingSlash??!1,this[dQ]={},this[gQ]={},this[mQ]=!1}createMockScopeDispatchData({statusCode:t,data:r,responseOptions:n}){let i=epe(r),s=this[mQ]?{"content-length":i.length}:{},o={...this[dQ],...s,...n.headers},u={...this[gQ],...n.trailers};return{statusCode:t,data:r,headers:o,trailers:u}}validateReplyParameters(t){if(typeof t.statusCode>"u")throw new nc("statusCode must be defined");if(typeof t.responseOptions!="object"||t.responseOptions===null)throw new nc("responseOptions must be an object")}reply(t){if(typeof t=="function"){let s=u=>{let A=t(u);if(typeof A!="object"||A===null)throw new nc("reply options callback must return an object");let p={data:"",responseOptions:{},...A};return this.validateReplyParameters(p),{...this.createMockScopeDispatchData(p)}},o=hQ(this[yC],this[CC],s,{ignoreTrailingSlash:this[IC]});return new Td(o)}let r={statusCode:t,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(r);let n=this.createMockScopeDispatchData(r),i=hQ(this[yC],this[CC],n,{ignoreTrailingSlash:this[IC]});return new Td(i)}replyWithError(t){if(typeof t>"u")throw new nc("error must be defined");let r=hQ(this[yC],this[CC],{error:t},{ignoreTrailingSlash:this[IC]});return new Td(r)}defaultReplyHeaders(t){if(typeof t>"u")throw new nc("headers must be defined");return this[dQ]=t,this}defaultReplyTrailers(t){if(typeof t>"u")throw new nc("trailers must be defined");return this[gQ]=t,this}replyContentLength(){return this[mQ]=!0,this}};yQ.exports.MockInterceptor=EQ;yQ.exports.MockScope=Td});var BQ=he((h8e,FU)=>{"use strict";var{promisify:npe}=require("node:util"),ipe=Am(),{buildMockDispatch:spe}=xm(),{kDispatches:vU,kMockAgent:IU,kClose:BU,kOriginalClose:wU,kOrigin:bU,kOriginalDispatch:ope,kConnected:vQ,kIgnoreTrailingSlash:xU}=Nd(),{MockInterceptor:ape}=CQ(),QU=qn(),{InvalidArgumentError:upe}=tn(),IQ=class extends ipe{constructor(t,r){if(!r||!r.agent||typeof r.agent.dispatch!="function")throw new upe("Argument opts.agent must implement Agent");super(t,r),this[IU]=r.agent,this[bU]=t,this[xU]=r.ignoreTrailingSlash??!1,this[vU]=[],this[vQ]=1,this[ope]=this.dispatch,this[wU]=this.close.bind(this),this.dispatch=spe.call(this),this.close=this[BU]}get[QU.kConnected](){return this[vQ]}intercept(t){return new ape(t&&{ignoreTrailingSlash:this[xU],...t},this[vU])}async[BU](){await npe(this[wU])(),this[vQ]=0,this[IU][QU.kClients].delete(this[bU])}};FU.exports=IQ});var xQ=he((d8e,UU)=>{"use strict";var{promisify:cpe}=require("node:util"),lpe=Cd(),{buildMockDispatch:Ape}=xm(),{kDispatches:DU,kMockAgent:SU,kClose:RU,kOriginalClose:kU,kOrigin:NU,kOriginalDispatch:ppe,kConnected:wQ,kIgnoreTrailingSlash:TU}=Nd(),{MockInterceptor:fpe}=CQ(),_U=qn(),{InvalidArgumentError:hpe}=tn(),bQ=class extends lpe{constructor(t,r){if(!r||!r.agent||typeof r.agent.dispatch!="function")throw new hpe("Argument opts.agent must implement Agent");super(t,r),this[SU]=r.agent,this[NU]=t,this[TU]=r.ignoreTrailingSlash??!1,this[DU]=[],this[wQ]=1,this[ppe]=this.dispatch,this[kU]=this.close.bind(this),this.dispatch=Ape.call(this),this.close=this[RU]}get[_U.kConnected](){return this[wQ]}intercept(t){return new fpe(t&&{ignoreTrailingSlash:this[TU],...t},this[DU])}async[RU](){await cpe(this[kU])(),this[wQ]=0,this[SU][_U.kClients].delete(this[NU])}};UU.exports=bQ});var MU=he((m8e,OU)=>{"use strict";var{Transform:dpe}=require("node:stream"),{Console:gpe}=require("node:console"),mpe=process.versions.icu?"\u2705":"Y ",Epe=process.versions.icu?"\u274C":"N ";OU.exports=class{constructor({disableColors:t}={}){this.transform=new dpe({transform(r,n,i){i(null,r)}}),this.logger=new gpe({stdout:this.transform,inspectOptions:{colors:!t&&!process.env.CI}})}format(t){let r=t.map(({method:n,path:i,data:{statusCode:s},persist:o,times:u,timesInvoked:A,origin:p})=>({Method:n,Origin:p,Path:i,"Status code":s,Persistent:o?mpe:Epe,Invocations:A,Remaining:o?1/0:u-A}));return this.logger.table(r),this.transform.read().toString()}}});var HU=he((E8e,$U)=>{"use strict";var{kClients:df}=qn(),ype=wd(),{kAgent:QQ,kMockAgentSet:BC,kMockAgentGet:LU,kDispatches:FQ,kIsMockActive:wC,kNetConnect:mf,kGetNetConnect:Cpe,kOptions:bC,kFactory:xC}=Nd(),vpe=BQ(),Ipe=xQ(),{matchValue:Bpe,buildMockOptions:wpe}=xm(),{InvalidArgumentError:PU,UndiciError:bpe}=tn(),xpe=D0(),Qpe=MU(),DQ=class extends xpe{constructor(t){if(super(t),this[mf]=!0,this[wC]=!0,t?.agent&&typeof t.agent.dispatch!="function")throw new PU("Argument opts.agent must implement Agent");let r=t?.agent?t.agent:new ype(t);this[QQ]=r,this[df]=r[df],this[bC]=wpe(t)}get(t){let r=this[LU](t);return r||(r=this[xC](t),this[BC](t,r)),r}dispatch(t,r){return this.get(t.origin),this[QQ].dispatch(t,r)}async close(){await this[QQ].close(),this[df].clear()}deactivate(){this[wC]=!1}activate(){this[wC]=!0}enableNetConnect(t){if(typeof t=="string"||typeof t=="function"||t instanceof RegExp)Array.isArray(this[mf])?this[mf].push(t):this[mf]=[t];else if(typeof t>"u")this[mf]=!0;else throw new PU("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[mf]=!1}get isMockActive(){return this[wC]}[BC](t,r){this[df].set(t,r)}[xC](t){let r=Object.assign({agent:this},this[bC]);return this[bC]&&this[bC].connections===1?new vpe(t,r):new Ipe(t,r)}[LU](t){let r=this[df].get(t);if(r)return r;if(typeof t!="string"){let n=this[xC]("http://localhost:9999");return this[BC](t,n),n}for(let[n,i]of Array.from(this[df]))if(i&&typeof n!="string"&&Bpe(n,t)){let s=this[xC](t);return this[BC](t,s),s[FQ]=i[FQ],s}}[Cpe](){return this[mf]}pendingInterceptors(){let t=this[df];return Array.from(t.entries()).flatMap(([r,n])=>n[FQ].map(i=>({...i,origin:r}))).filter(({pending:r})=>r)}assertNoPendingInterceptors({pendingInterceptorsFormatter:t=new Qpe}={}){let r=this.pendingInterceptors();if(r.length!==0)throw new bpe(r.length===1?`1 interceptor is pending: + +${t.format(r)}`.trim():`${r.length} interceptors are pending: + +${t.format(r)}`.trim())}};$U.exports=DQ});var FC=he((y8e,YU)=>{"use strict";var qU=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Fpe}=tn(),Dpe=wd();GU()===void 0&&jU(new Dpe);function jU(e){if(!e||typeof e.dispatch!="function")throw new Fpe("Argument agent must implement Agent");Object.defineProperty(globalThis,qU,{value:e,writable:!0,enumerable:!1,configurable:!1})}function GU(){return globalThis[qU]}YU.exports={setGlobalDispatcher:jU,getGlobalDispatcher:GU}});var Qm=he((v8e,VU)=>{"use strict";var yl=require("node:assert"),Spe=Sy();VU.exports=class{#e;#t=!1;#r=!1;#n=!1;constructor(t){if(typeof t!="object"||t===null)throw new TypeError("handler must be an object");this.#e=Spe.wrap(t)}onRequestStart(...t){this.#e.onRequestStart?.(...t)}onRequestUpgrade(...t){return yl(!this.#t),yl(!this.#r),this.#e.onRequestUpgrade?.(...t)}onResponseStart(...t){return yl(!this.#t),yl(!this.#r),yl(!this.#n),this.#n=!0,this.#e.onResponseStart?.(...t)}onResponseData(...t){return yl(!this.#t),yl(!this.#r),this.#e.onResponseData?.(...t)}onResponseEnd(...t){return yl(!this.#t),yl(!this.#r),this.#t=!0,this.#e.onResponseEnd?.(...t)}onResponseError(...t){return this.#r=!0,this.#e.onResponseError?.(...t)}onBodySent(){}}});var kQ=he((I8e,ZU)=>{"use strict";var Lo=Tr(),{kBodyUsed:Dm}=qn(),RQ=require("node:assert"),{InvalidArgumentError:JU}=tn(),Rpe=require("node:events"),kpe=[300,301,302,303,307,308],WU=Symbol("body"),zU=()=>{},DC=class{constructor(t){this[WU]=t,this[Dm]=!1}async*[Symbol.asyncIterator](){RQ(!this[Dm],"disturbed"),this[Dm]=!0,yield*this[WU]}},SQ=class e{static buildDispatch(t,r){if(r!=null&&(!Number.isInteger(r)||r<0))throw new JU("maxRedirections must be a positive number");let n=t.dispatch.bind(t);return(i,s)=>n(i,new e(n,r,i,s))}constructor(t,r,n,i){if(r!=null&&(!Number.isInteger(r)||r<0))throw new JU("maxRedirections must be a positive number");this.dispatch=t,this.location=null,this.opts={...n,maxRedirections:0},this.maxRedirections=r,this.handler=i,this.history=[],Lo.isStream(this.opts.body)?(Lo.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){RQ(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[Dm]=!1,Rpe.prototype.on.call(this.opts.body,"data",function(){this[Dm]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new DC(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&Lo.isIterable(this.opts.body)&&!Lo.isFormDataLike(this.opts.body)&&(this.opts.body=new DC(this.opts.body))}onRequestStart(t,r){this.handler.onRequestStart?.(t,{...r,history:this.history})}onRequestUpgrade(t,r,n,i){this.handler.onRequestUpgrade?.(t,r,n,i)}onResponseStart(t,r,n,i){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((r===301||r===302)&&this.opts.method==="POST"&&(this.opts.method="GET",Lo.isStream(this.opts.body)&&Lo.destroy(this.opts.body.on("error",zU)),this.opts.body=null),r===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",Lo.isStream(this.opts.body)&&Lo.destroy(this.opts.body.on("error",zU)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||Lo.isDisturbed(this.opts.body)||kpe.indexOf(r)===-1?null:n.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(t,r,n,i);return}let{origin:s,pathname:o,search:u}=Lo.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),A=u?`${o}${u}`:o;this.opts.headers=Npe(this.opts.headers,r===303,this.opts.origin!==s),this.opts.path=A,this.opts.origin=s,this.opts.maxRedirections=0,this.opts.query=null}onResponseData(t,r){this.location||this.handler.onResponseData?.(t,r)}onResponseEnd(t,r){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(t,r)}onResponseError(t,r){this.handler.onResponseError?.(t,r)}};function KU(e,t,r){if(e.length===4)return Lo.headerNameToString(e)==="host";if(t&&Lo.headerNameToString(e).startsWith("content-"))return!0;if(r&&(e.length===13||e.length===6||e.length===19)){let n=Lo.headerNameToString(e);return n==="authorization"||n==="cookie"||n==="proxy-authorization"}return!1}function Npe(e,t,r){let n=[];if(Array.isArray(e))for(let i=0;i{"use strict";var Tpe=kQ();function _pe({maxRedirections:e}={}){return t=>function(n,i){let{maxRedirections:s=e,...o}=n;if(s==null||s===0)return t(n,i);let u={...o,maxRedirections:0},A=new Tpe(t,s,u,i);return t(u,A)}}XU.exports=_pe});var rO=he((w8e,tO)=>{"use strict";var Upe=Qm(),{ResponseError:Ope}=tn(),NQ=class extends Upe{#e;#t;#r;#n;#s;constructor(t,{handler:r}){super(r)}#i(t){return(this.#t??"").indexOf(t)===0}onRequestStart(t,r){return this.#e=0,this.#t=null,this.#r=null,this.#n=null,this.#s="",super.onRequestStart(t,r)}onResponseStart(t,r,n,i){if(this.#e=r,this.#n=n,this.#t=n["content-type"],this.#e<400)return super.onResponseStart(t,r,n,i);(this.#i("application/json")||this.#i("text/plain"))&&(this.#r=new TextDecoder("utf-8"))}onResponseData(t,r){if(this.#e<400)return super.onResponseData(t,r);this.#s+=this.#r?.decode(r,{stream:!0})??""}onResponseEnd(t,r){if(this.#e>=400){if(this.#s+=this.#r?.decode(void 0,{stream:!1})??"",this.#i("application/json"))try{this.#s=JSON.parse(this.#s)}catch{}let n,i=Error.stackTraceLimit;Error.stackTraceLimit=0;try{n=new Ope("Response Error",this.#e,{body:this.#s,headers:this.#n})}finally{Error.stackTraceLimit=i}super.onResponseError(t,n)}else super.onResponseEnd(t,r)}onResponseError(t,r){super.onResponseError(t,r)}};tO.exports=()=>e=>function(r,n){return e(r,new NQ(r,{handler:n}))}});var iO=he((b8e,nO)=>{"use strict";var Mpe=fC();nO.exports=e=>t=>function(n,i){return t(n,new Mpe({...n,retryOptions:{...e,...n.retryOptions}},{handler:i,dispatch:t}))}});var oO=he((x8e,sO)=>{"use strict";var{InvalidArgumentError:Lpe,RequestAbortedError:Ppe}=tn(),$pe=Qm(),TQ=class extends $pe{#e=1024*1024;#t=!1;#r=0;#n=null;aborted=!1;reason=!1;constructor({maxSize:t,signal:r},n){if(t!=null&&(!Number.isFinite(t)||t<1))throw new Lpe("maxSize must be a number greater than 0");super(n),this.#e=t??this.#e}#s(t){this.aborted=!0,this.reason=t}onRequestStart(t,r){return t.abort=this.#s.bind(this),this.#n=t,super.onRequestStart(t,r)}onResponseStart(t,r,n,i){let s=n["content-length"];if(s!=null&&s>this.#e)throw new Ppe(`Response size (${s}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(t,r,n,i)}onResponseError(t,r){this.#t||(r=this.#n.reason??r,super.onResponseError(t,r))}onResponseData(t,r){return this.#r=this.#r+r.length,this.#r>=this.#e&&(this.#t=!0,this.aborted===!0?super.onResponseError(t,this.reason):super.onResponseEnd(t,{})),!0}onResponseEnd(t,r){if(!this.#t){if(this.#n.aborted===!0){super.onResponseError(t,this.reason);return}super.onResponseEnd(t,r)}}};function Hpe({maxSize:e}={maxSize:1024*1024}){return t=>function(n,i){let{dumpMaxSize:s=e}=n,o=new TQ({maxSize:s,signal:n.signal},i);return t(n,o)}}sO.exports=Hpe});var uO=he((Q8e,aO)=>{"use strict";var{isIP:qpe}=require("node:net"),{lookup:jpe}=require("node:dns"),Gpe=Qm(),{InvalidArgumentError:_d,InformationalError:Ype}=tn(),_Q=Math.pow(2,31)-1,UQ=class{#e=0;#t=0;#r=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(t){this.#e=t.maxTTL,this.#t=t.maxItems,this.dualStack=t.dualStack,this.affinity=t.affinity,this.lookup=t.lookup??this.#n,this.pick=t.pick??this.#s}get full(){return this.#r.size===this.#t}runLookup(t,r,n){let i=this.#r.get(t.hostname);if(i==null&&this.full){n(null,t);return}let s={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(i==null)this.lookup(t,s,(o,u)=>{if(o||u==null||u.length===0){n(o??new Ype("No DNS entries found"));return}this.setRecords(t,u);let A=this.#r.get(t.hostname),p=this.pick(t,A,s.affinity),f;typeof p.port=="number"?f=`:${p.port}`:t.port!==""?f=`:${t.port}`:f="",n(null,new URL(`${t.protocol}//${p.family===6?`[${p.address}]`:p.address}${f}`))});else{let o=this.pick(t,i,s.affinity);if(o==null){this.#r.delete(t.hostname),this.runLookup(t,r,n);return}let u;typeof o.port=="number"?u=`:${o.port}`:t.port!==""?u=`:${t.port}`:u="",n(null,new URL(`${t.protocol}//${o.family===6?`[${o.address}]`:o.address}${u}`))}}#n(t,r,n){jpe(t.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(i,s)=>{if(i)return n(i);let o=new Map;for(let u of s)o.set(`${u.address}:${u.family}`,u);n(null,o.values())})}#s(t,r,n){let i=null,{records:s,offset:o}=r,u;if(this.dualStack?(n==null&&(o==null||o===_Q?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),s[n]!=null&&s[n].ips.length>0?u=s[n]:u=s[n===4?6:4]):u=s[n],u==null||u.ips.length===0)return i;u.offset==null||u.offset===_Q?u.offset=0:u.offset++;let A=u.offset%u.ips.length;return i=u.ips[A]??null,i==null?i:Date.now()-i.timestamp>i.ttl?(u.ips.splice(A,1),this.pick(t,r,n)):i}pickFamily(t,r){let n=this.#r.get(t.hostname)?.records;if(!n)return null;let i=n[r];if(!i)return null;i.offset==null||i.offset===_Q?i.offset=0:i.offset++;let s=i.offset%i.ips.length,o=i.ips[s]??null;return o==null||Date.now()-o.timestamp>o.ttl&&i.ips.splice(s,1),o}setRecords(t,r){let n=Date.now(),i={records:{4:null,6:null}};for(let s of r){s.timestamp=n,typeof s.ttl=="number"?s.ttl=Math.min(s.ttl,this.#e):s.ttl=this.#e;let o=i.records[s.family]??{ips:[]};o.ips.push(s),i.records[s.family]=o}this.#r.set(t.hostname,i)}deleteRecords(t){this.#r.delete(t.hostname)}getHandler(t,r){return new OQ(this,t,r)}},OQ=class extends Gpe{#e=null;#t=null;#r=null;#n=null;#s=null;#i=null;#u=!0;constructor(t,{origin:r,handler:n,dispatch:i,newOrigin:s},o){super(n),this.#n=r,this.#i=s,this.#t={...o},this.#e=t,this.#r=i}onResponseError(t,r){switch(r.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){if(!this.#u){super.onResponseError(t,r);return}this.#u=!1;let n=this.#i.hostname[0]==="["?4:6,i=this.#e.pickFamily(this.#n,n);if(i==null){super.onResponseError(t,r);return}let s;typeof i.port=="number"?s=`:${i.port}`:this.#n.port!==""?s=`:${this.#n.port}`:s="";let o={...this.#t,origin:`${this.#n.protocol}//${i.family===6?`[${i.address}]`:i.address}${s}`};this.#r(o,this);return}super.onResponseError(t,r);break}case"ENOTFOUND":this.#e.deleteRecords(this.#n),super.onResponseError(t,r);break;default:super.onResponseError(t,r);break}}};aO.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new _d("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new _d("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new _d("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new _d("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new _d("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new _d("Invalid pick. Must be a function");let t=e?.dualStack??!0,r;t?r=e?.affinity??null:r=e?.affinity??4;let n={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:r,maxItems:e?.maxItems??1/0},i=new UQ(n);return s=>function(u,A){let p=u.origin.constructor===URL?u.origin:new URL(u.origin);return qpe(p.hostname)!==0?s(u,A):(i.runLookup(p,u,(f,c)=>{if(f)return A.onResponseError(null,f);let m={...u,servername:p.hostname,origin:c.origin,headers:{host:p.host,...u.headers}};s(m,i.getHandler({origin:p,dispatch:s,handler:A,newOrigin:c},u))}),!0)}}});var Sm=he((F8e,lO)=>{"use strict";var{safeHTTPMethods:cO}=Tr();function Vpe(e){if(!e.origin)throw new Error("opts.origin is undefined");let t;if(e.headers==null)t={};else if(typeof e.headers[Symbol.iterator]=="function"){t={};for(let r of e.headers){if(!Array.isArray(r))throw new Error("opts.headers is not a valid header map");let[n,i]=r;if(typeof n!="string"||typeof i!="string")throw new Error("opts.headers is not a valid header map");t[n.toLowerCase()]=i}}else if(typeof e.headers=="object"){t={};for(let r of Object.keys(e.headers))t[r.toLowerCase()]=e.headers[r]}else throw new Error("opts.headers is not an object");return{origin:e.origin.toString(),method:e.method,path:e.path,headers:t}}function Jpe(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);for(let t of["origin","method","path"])if(typeof e[t]!="string")throw new TypeError(`expected key.${t} to be string, got ${typeof e[t]}`);if(e.headers!==void 0&&typeof e.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof e}`)}function Wpe(e){if(typeof e!="object")throw new TypeError(`expected value to be object, got ${typeof e}`);for(let t of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof e[t]!="number")throw new TypeError(`expected value.${t} to be number, got ${typeof e[t]}`);if(typeof e.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof e.statusMessage}`);if(e.headers!=null&&typeof e.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof e.headers}`);if(e.vary!==void 0&&typeof e.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof e.vary}`);if(e.etag!==void 0&&typeof e.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof e.etag}`)}function zpe(e){let t={},r;if(Array.isArray(e)){r=[];for(let n of e)r.push(...n.split(","))}else r=e.split(",");for(let n=0;n=2&&u[0]==='"'&&u[u.length-1]==='"'&&(u=u.substring(1,u.length-1));let A=parseInt(u,10);if(A!==A||o==="max-age"&&o in t&&t[o]>=A)continue;t[o]=A;break}case"private":case"no-cache":if(u){if(u[0]==='"'){let A=[u.substring(1)],p=u[u.length-1]==='"';if(!p)for(let f=n+1;f{"use strict";var AO=["mon","tue","wed","thu","fri","sat","sun"],tfe=[4,7,11,16,25],MQ=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],rfe=[19,22],nfe=[3,7,10,19],ife=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function sfe(e,t){switch(e=e.toLowerCase(),e[3]){case",":return ofe(e);case" ":return afe(e);default:return ufe(e,t)}}function ofe(e){if(e.length!==29||!e.endsWith("gmt"))return;for(let w of tfe)if(e[w]!==" ")return;for(let w of rfe)if(e[w]!==":")return;let t=e.substring(0,3);if(!AO.includes(t))return;let r=e.substring(5,7),n=Number.parseInt(r);if(isNaN(n)||n<10&&r[0]!=="0")return;let i=e.substring(8,11),s=MQ.indexOf(i);if(s===-1)return;let o=Number.parseInt(e.substring(12,16));if(isNaN(o))return;let u=e.substring(17,19),A=Number.parseInt(u);if(isNaN(A)||A<10&&u[0]!=="0")return;let p=e.substring(20,22),f=Number.parseInt(p);if(isNaN(f)||f<10&&p[0]!=="0")return;let c=e.substring(23,25),m=Number.parseInt(c);if(!(isNaN(m)||m<10&&c[0]!=="0"))return new Date(Date.UTC(o,s,n,A,f,m))}function afe(e){if(e.length!==24)return;for(let w of nfe)if(e[w]!==" ")return;let t=e.substring(0,3);if(!AO.includes(t))return;let r=e.substring(4,7),n=MQ.indexOf(r);if(n===-1)return;let i=e.substring(8,10),s=Number.parseInt(i);if(isNaN(s)||s<10&&i[0]!==" ")return;let o=e.substring(11,13),u=Number.parseInt(o);if(isNaN(u)||u<10&&o[0]!=="0")return;let A=e.substring(14,16),p=Number.parseInt(A);if(isNaN(p)||p<10&&A[0]!=="0")return;let f=e.substring(17,19),c=Number.parseInt(f);if(isNaN(c)||c<10&&f[0]!=="0")return;let m=Number.parseInt(e.substring(20,24));if(!isNaN(m))return new Date(Date.UTC(m,n,s,u,p,c))}function ufe(e,t=new Date){if(!e.endsWith("gmt"))return;let r=e.indexOf(",");if(r===-1||e.length-r-1!==23)return;let n=e.substring(0,r);if(!ife.includes(n)||e[r+1]!==" "||e[r+4]!=="-"||e[r+8]!=="-"||e[r+11]!==" "||e[r+14]!==":"||e[r+17]!==":"||e[r+20]!==" ")return;let i=e.substring(r+2,r+4),s=Number.parseInt(i);if(isNaN(s)||s<10&&i[0]!=="0")return;let o=e.substring(r+5,r+8),u=MQ.indexOf(o);if(u===-1)return;let A=Number.parseInt(e.substring(r+9,r+11));if(isNaN(A))return;let p=t.getUTCFullYear(),f=p%100,c=Math.floor(p/100);A>f&&A-f>=50?A+=(c-1)*100:A+=c*100;let m=e.substring(r+12,r+14),w=Number.parseInt(m);if(isNaN(w)||w<10&&m[0]!=="0")return;let C=e.substring(r+15,r+17),F=Number.parseInt(C);if(isNaN(F)||F<10&&C[0]!=="0")return;let P=e.substring(r+18,r+20),j=Number.parseInt(P);if(!(isNaN(j)||j<10&&P[0]!=="0"))return new Date(Date.UTC(A,u,s,w,F,j))}pO.exports={parseHttpDate:sfe}});var gO=he((S8e,dO)=>{"use strict";var cfe=Tr(),{parseCacheControlHeader:lfe,parseVaryHeader:Afe,isEtagUsable:pfe}=Sm(),{parseHttpDate:hO}=fO();function ffe(){}var hfe=[200,203,204,206,300,301,308,404,405,410,414,501],dfe=2147483647e3,LQ=class{#e;#t;#r;#n;#s;#i;constructor({store:t,type:r,cacheByDefault:n},i,s){this.#n=t,this.#t=r,this.#r=n,this.#e=i,this.#s=s}onRequestStart(t,r){this.#i?.destroy(),this.#i=void 0,this.#s.onRequestStart?.(t,r)}onRequestUpgrade(t,r,n,i){this.#s.onRequestUpgrade?.(t,r,n,i)}onResponseStart(t,r,n,i){let s=()=>this.#s.onResponseStart?.(t,r,n,i);if(!cfe.safeHTTPMethods.includes(this.#e.method)&&r>=200&&r<=399){try{this.#n.delete(this.#e)?.catch?.(ffe)}catch{}return s()}let o=n["cache-control"],u=n["last-modified"]&&hfe.includes(r);if(!o&&!n.expires&&!u&&!this.#r)return s();let A=o?lfe(o):{};if(!gfe(this.#t,r,n,A))return s();let p=Date.now(),f=n.age?mfe(n.age):void 0;if(f&&f>=dfe)return s();let c=typeof n.date=="string"?hO(n.date):void 0,m=Efe(this.#t,p,f,n,c,A)??this.#r;if(m===void 0||f&&f>m)return s();let w=c?c.getTime():p,C=m+w;if(p>=C)return s();let F;if(this.#e.headers&&n.vary&&(F=Afe(n.vary,this.#e.headers),!F))return s();let P=yfe(w,A,C),j=Cfe(n,A),re={statusCode:r,statusMessage:i,headers:j,vary:F,cacheControlDirectives:A,cachedAt:f?p-f:p,staleAt:C,deleteAt:P};if(typeof n.etag=="string"&&pfe(n.etag)&&(re.etag=n.etag),this.#i=this.#n.createWriteStream(this.#e,re),!this.#i)return s();let se=this;return this.#i.on("drain",()=>t.resume()).on("error",function(){se.#i=void 0,se.#n.delete(se.#e)}).on("close",function(){se.#i===this&&(se.#i=void 0),t.resume()}),s()}onResponseData(t,r){this.#i?.write(r)===!1&&t.pause(),this.#s.onResponseData?.(t,r)}onResponseEnd(t,r){this.#i?.end(),this.#s.onResponseEnd?.(t,r)}onResponseError(t,r){this.#i?.destroy(r),this.#i=void 0,this.#s.onResponseError?.(t,r)}};function gfe(e,t,r,n){return!(t!==200&&t!==307||n["no-store"]||e==="shared"&&n.private===!0||r.vary?.includes("*")||r.authorization&&(!n.public||typeof r.authorization!="string"||Array.isArray(n["no-cache"])&&n["no-cache"].includes("authorization")||Array.isArray(n.private)&&n.private.includes("authorization")))}function mfe(e){let t=parseInt(Array.isArray(e)?e[0]:e);return isNaN(t)?void 0:t*1e3}function Efe(e,t,r,n,i,s){if(e==="shared"){let u=s["s-maxage"];if(u!==void 0)return u>0?u*1e3:void 0}let o=s["max-age"];if(o!==void 0)return o>0?o*1e3:void 0;if(typeof n.expires=="string"){let u=hO(n.expires);if(u)return t>=u.getTime()||i&&(i>=u||r!==void 0&&r>u-i)?void 0:u.getTime()-t}if(typeof n["last-modified"]=="string"){let u=new Date(n["last-modified"]);if(vfe(u))return u.getTime()>=t?void 0:(t-u.getTime())*.1}if(s.immutable)return 31536e3}function yfe(e,t,r){let n=-1/0,i=-1/0,s=-1/0;return t["stale-while-revalidate"]&&(n=r+t["stale-while-revalidate"]*1e3),t["stale-if-error"]&&(i=r+t["stale-if-error"]*1e3),n===-1/0&&i===-1/0&&(s=e+31536e6),Math.max(r,n,i,s)}function Cfe(e,t){let r=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];e.connection&&(Array.isArray(e.connection)?r.push(...e.connection.map(i=>i.trim())):r.push(...e.connection.split(",").map(i=>i.trim()))),Array.isArray(t["no-cache"])&&r.push(...t["no-cache"]),Array.isArray(t.private)&&r.push(...t.private);let n;for(let i of r)e[i]&&(n??={...e},delete n[i]);return n??e}function vfe(e){return e instanceof Date&&Number.isFinite(e.valueOf())}dO.exports=LQ});var $Q=he((R8e,EO)=>{"use strict";var{Writable:Ife}=require("node:stream"),{assertCacheKey:mO,assertCacheValue:Bfe}=Sm(),PQ=class{#e=1/0;#t=1/0;#r=1/0;#n=0;#s=0;#i=new Map;constructor(t){if(t){if(typeof t!="object")throw new TypeError("MemoryCacheStore options must be an object");if(t.maxCount!==void 0){if(typeof t.maxCount!="number"||!Number.isInteger(t.maxCount)||t.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#e=t.maxCount}if(t.maxSize!==void 0){if(typeof t.maxSize!="number"||!Number.isInteger(t.maxSize)||t.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#t=t.maxSize}if(t.maxEntrySize!==void 0){if(typeof t.maxEntrySize!="number"||!Number.isInteger(t.maxEntrySize)||t.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#r=t.maxEntrySize}}}get(t){mO(t);let r=`${t.origin}:${t.path}`,n=Date.now(),i=this.#i.get(r)?.find(s=>s.deleteAt>n&&s.method===t.method&&(s.vary==null||Object.keys(s.vary).every(o=>s.vary[o]===null?t.headers[o]===void 0:s.vary[o]===t.headers[o])));return i==null?void 0:{statusMessage:i.statusMessage,statusCode:i.statusCode,headers:i.headers,body:i.body,vary:i.vary?i.vary:void 0,etag:i.etag,cacheControlDirectives:i.cacheControlDirectives,cachedAt:i.cachedAt,staleAt:i.staleAt,deleteAt:i.deleteAt}}createWriteStream(t,r){mO(t),Bfe(r);let n=`${t.origin}:${t.path}`,i=this,s={...t,...r,body:[],size:0};return new Ife({write(o,u,A){typeof o=="string"&&(o=Buffer.from(o,u)),s.size+=o.byteLength,s.size>=i.#r?this.destroy():s.body.push(o),A(null)},final(o){let u=i.#i.get(n);if(u||(u=[],i.#i.set(n,u)),u.push(s),i.#n+=s.size,i.#s+=1,i.#n>i.#t||i.#s>i.#e)for(let[A,p]of i.#i){for(let f of p.splice(0,p.length/2))i.#n-=f.size,i.#s-=1;p.length===0&&i.#i.delete(A)}o(null)}})}delete(t){if(typeof t!="object")throw new TypeError(`expected key to be object, got ${typeof t}`);let r=`${t.origin}:${t.path}`;for(let n of this.#i.get(r)??[])this.#n-=n.size,this.#s-=1;this.#i.delete(r)}};EO.exports=PQ});var CO=he((k8e,yO)=>{"use strict";var wfe=require("node:assert"),HQ=class{#e=!1;#t;#r;#n;#s;constructor(t,r,n){if(typeof t!="function")throw new TypeError("callback must be a function");this.#t=t,this.#r=r,this.#s=n}onRequestStart(t,r){this.#e=!1,this.#n=r}onRequestUpgrade(t,r,n,i){this.#r.onRequestUpgrade?.(t,r,n,i)}onResponseStart(t,r,n,i){if(wfe(this.#t!=null),this.#e=r===304||this.#s&&r>=500&&r<=504,this.#t(this.#e,this.#n),this.#t=null,this.#e)return!0;this.#r.onRequestStart?.(t,this.#n),this.#r.onResponseStart?.(t,r,n,i)}onResponseData(t,r){if(!this.#e)return this.#r.onResponseData?.(t,r)}onResponseEnd(t,r){this.#e||this.#r.onResponseEnd?.(t,r)}onResponseError(t,r){if(!this.#e)if(this.#t&&(this.#t(!1),this.#t=null),typeof this.#r.onResponseError=="function")this.#r.onResponseError(t,r);else throw r}};yO.exports=HQ});var bO=he((N8e,wO)=>{"use strict";var vO=require("node:assert"),{Readable:bfe}=require("node:stream"),Ud=Tr(),SC=gO(),xfe=$Q(),Qfe=CO(),{assertCacheStore:Ffe,assertCacheMethods:Dfe,makeCacheKey:Sfe,parseCacheControlHeader:Rfe}=Sm(),{AbortError:kfe}=tn();function Nfe(e,t){if(t?.["no-cache"])return!0;let r=Date.now();if(r>e.staleAt){if(t?.["max-stale"]){let n=e.staleAt+t["max-stale"]*1e3;return r>n}return!0}if(t?.["min-fresh"]){let n=e.staleAt-r,i=t["min-fresh"]*1e3;return n<=i}return!1}function Tfe(e,t,r,n,i,s){if(s?.["only-if-cached"]){let o=!1;try{if(typeof n.onConnect=="function"&&(n.onConnect(()=>{o=!0}),o)||typeof n.onHeaders=="function"&&(n.onHeaders(504,[],()=>{},"Gateway Timeout"),o))return;typeof n.onComplete=="function"&&n.onComplete([])}catch(u){typeof n.onError=="function"&&n.onError(u)}return!0}return e(i,new SC(t,r,n))}function IO(e,t,r,n,i,s){let o=Ud.isStream(r.body)?r.body:bfe.from(r.body??[]);vO(!o.destroyed,"stream should not be destroyed"),vO(!o.readableDidRead,"stream should not be readableDidRead");let u={resume(){o.resume()},pause(){o.pause()},get paused(){return o.isPaused()},get aborted(){return o.destroyed},get reason(){return o.errored},abort(p){o.destroy(p??new kfe)}};if(o.on("error",function(p){if(!this.readableEnded)if(typeof e.onResponseError=="function")e.onResponseError(u,p);else throw p}).on("close",function(){this.errored||e.onResponseEnd?.(u,{})}),e.onRequestStart?.(u,i),o.destroyed)return;let A={...r.headers,age:String(n)};s&&(A.warning='110 - "response is stale"'),e.onResponseStart?.(u,r.statusCode,A,r.statusMessage),t.method==="HEAD"?o.destroy():o.on("data",function(p){e.onResponseData?.(u,p)})}function BO(e,t,r,n,i,s,o){if(!o)return Tfe(e,t,r,n,i,s);let u=Date.now();if(u>o.deleteAt)return e(i,new SC(t,r,n));let A=Math.round((u-o.cachedAt)/1e3);if(s?.["max-age"]&&A>=s["max-age"])return e(i,n);if(Nfe(o,s)){if(Ud.isStream(i.body)&&Ud.bodyLength(i.body)!==0)return e(i,new SC(t,r,n));let p=!1,f=o.cacheControlDirectives["stale-if-error"]??s?.["stale-if-error"];f&&(p=u{m?IO(n,i,o,A,w,!0):Ud.isStream(o.body)&&o.body.on("error",()=>{}).destroy()},new SC(t,r,n),p))}Ud.isStream(i.body)&&i.body.on("error",()=>{}).destroy(),IO(n,i,o,A,null,!1)}wO.exports=(e={})=>{let{store:t=new xfe,methods:r=["GET"],cacheByDefault:n=void 0,type:i="shared"}=e;if(typeof e!="object"||e===null)throw new TypeError(`expected type of opts to be an Object, got ${e===null?"null":typeof e}`);if(Ffe(t,"opts.store"),Dfe(r,"opts.methods"),typeof n<"u"&&typeof n!="number")throw new TypeError(`exepcted opts.cacheByDefault to be number or undefined, got ${typeof n}`);if(typeof i<"u"&&i!=="shared"&&i!=="private")throw new TypeError(`exepcted opts.type to be shared, private, or undefined, got ${typeof i}`);let s={store:t,methods:r,cacheByDefault:n,type:i},o=Ud.safeHTTPMethods.filter(u=>r.includes(u)===!1);return u=>(A,p)=>{if(!A.origin||o.includes(A.method))return u(A,p);let f=A.headers?.["cache-control"]?Rfe(A.headers["cache-control"]):void 0;if(f?.["no-store"])return u(A,p);let c=Sfe(A),m=t.get(c);return m&&typeof m.then=="function"?m.then(w=>{BO(u,s,c,p,A,f,w)}):BO(u,s,c,p,A,f,m),!0}}});var FO=he((_8e,QO)=>{"use strict";var{Writable:_fe}=require("stream"),{assertCacheKey:qQ,assertCacheValue:Ufe}=Sm(),jQ,Js=3,xO=2*1e3*1e3*1e3;QO.exports=class{#e=xO;#t=1/0;#r;#n;#s;#i;#u;#o;#a;#c;constructor(t){if(t){if(typeof t!="object")throw new TypeError("SqliteCacheStore options must be an object");if(t.maxEntrySize!==void 0){if(typeof t.maxEntrySize!="number"||!Number.isInteger(t.maxEntrySize)||t.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(t.maxEntrySize>xO)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#e=t.maxEntrySize}if(t.maxCount!==void 0){if(typeof t.maxCount!="number"||!Number.isInteger(t.maxCount)||t.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#t=t.maxCount}}jQ||(jQ=require("node:sqlite").DatabaseSync),this.#r=new jQ(t?.location??":memory:"),this.#r.exec(` + CREATE TABLE IF NOT EXISTS cacheInterceptorV${Js} ( + -- Data specific to us + id INTEGER PRIMARY KEY AUTOINCREMENT, + url TEXT NOT NULL, + method TEXT NOT NULL, + + -- Data returned to the interceptor + body BUF NULL, + deleteAt INTEGER NOT NULL, + statusCode INTEGER NOT NULL, + statusMessage TEXT NOT NULL, + headers TEXT NULL, + cacheControlDirectives TEXT NULL, + etag TEXT NULL, + vary TEXT NULL, + cachedAt INTEGER NOT NULL, + staleAt INTEGER NOT NULL + ); + + CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${Js}_url ON cacheInterceptorV${Js}(url); + CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${Js}_method ON cacheInterceptorV${Js}(method); + CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${Js}_deleteAt ON cacheInterceptorV${Js}(deleteAt); + `),this.#n=this.#r.prepare(` + SELECT + id, + body, + deleteAt, + statusCode, + statusMessage, + headers, + etag, + cacheControlDirectives, + vary, + cachedAt, + staleAt + FROM cacheInterceptorV${Js} + WHERE + url = ? + AND method = ? + ORDER BY + deleteAt ASC + `),this.#s=this.#r.prepare(` + UPDATE cacheInterceptorV${Js} SET + body = ?, + deleteAt = ?, + statusCode = ?, + statusMessage = ?, + headers = ?, + etag = ?, + cacheControlDirectives = ?, + cachedAt = ?, + staleAt = ? + WHERE + id = ? + `),this.#i=this.#r.prepare(` + INSERT INTO cacheInterceptorV${Js} ( + url, + method, + body, + deleteAt, + statusCode, + statusMessage, + headers, + etag, + cacheControlDirectives, + vary, + cachedAt, + staleAt + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `),this.#o=this.#r.prepare(`DELETE FROM cacheInterceptorV${Js} WHERE url = ?`),this.#a=this.#r.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${Js}`),this.#u=this.#r.prepare(`DELETE FROM cacheInterceptorV${Js} WHERE deleteAt <= ?`),this.#c=this.#t===1/0?null:this.#r.prepare(` + DELETE FROM cacheInterceptorV${Js} + WHERE id IN ( + SELECT + id + FROM cacheInterceptorV${Js} + ORDER BY cachedAt DESC + LIMIT ? + ) + `)}close(){this.#r.close()}get(t){qQ(t);let r=this.#A(t);return r?{body:r.body?Buffer.from(r.body.buffer,r.body.byteOffset,r.body.byteLength):void 0,statusCode:r.statusCode,statusMessage:r.statusMessage,headers:r.headers?JSON.parse(r.headers):void 0,etag:r.etag?r.etag:void 0,vary:r.vary?JSON.parse(r.vary):void 0,cacheControlDirectives:r.cacheControlDirectives?JSON.parse(r.cacheControlDirectives):void 0,cachedAt:r.cachedAt,staleAt:r.staleAt,deleteAt:r.deleteAt}:void 0}set(t,r){qQ(t);let n=this.#l(t),i=Array.isArray(r.body)?Buffer.concat(r.body):r.body,s=i?.byteLength;if(s&&s>this.#e)return;let o=this.#A(t,!0);o?this.#s.run(i,r.deleteAt,r.statusCode,r.statusMessage,r.headers?JSON.stringify(r.headers):null,r.etag?r.etag:null,r.cacheControlDirectives?JSON.stringify(r.cacheControlDirectives):null,r.cachedAt,r.staleAt,o.id):(this.#p(),this.#i.run(n,t.method,i,r.deleteAt,r.statusCode,r.statusMessage,r.headers?JSON.stringify(r.headers):null,r.etag?r.etag:null,r.cacheControlDirectives?JSON.stringify(r.cacheControlDirectives):null,r.vary?JSON.stringify(r.vary):null,r.cachedAt,r.staleAt))}createWriteStream(t,r){qQ(t),Ufe(r);let n=0,i=[],s=this;return new _fe({decodeStrings:!0,write(o,u,A){n+=o.byteLength,n=A.deleteAt&&!r)return;let p=!0;if(A.vary){let f=JSON.parse(A.vary);for(let c in f)if(!Ofe(i[c],f[c])){p=!1;break}}if(p)return A}}};function Ofe(e,t){return e==null&&t==null?!0:e==null&&t!=null||e!=null&&t==null?!1:Array.isArray(e)&&Array.isArray(t)?e.length!==t.length?!1:e.every((r,n)=>r===t[n]):e===t}});var Ef=he((U8e,_O)=>{"use strict";var{kConstruct:Mfe}=qn(),{kEnumerableProperty:Od}=Tr(),{iteratorMixin:Lfe,isValidHeaderName:Nm,isValidHeaderValue:SO}=Ys(),{webidl:en}=ms(),GQ=require("node:assert"),RC=require("node:util");function DO(e){return e===10||e===13||e===9||e===32}function RO(e){let t=0,r=e.length;for(;r>t&&DO(e.charCodeAt(r-1));)--r;for(;r>t&&DO(e.charCodeAt(t));)++t;return t===0&&r===e.length?e:e.substring(t,r)}function kO(e,t){if(Array.isArray(t))for(let r=0;r>","record"]})}function YQ(e,t,r){if(r=RO(r),Nm(t)){if(!SO(r))throw en.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}else throw en.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"});if(TO(e)==="immutable")throw new TypeError("immutable");return NC(e).append(t,r,!1)}function Pfe(e){let t=NC(e);if(!t)return[];if(t.sortedMap)return t.sortedMap;let r=[],n=t.toSortedArray(),i=t.cookies;if(i===null||i.length===1)return t.sortedMap=n;for(let s=0;s>1),r[p][0]<=f[0]?A=p+1:u=p;if(s!==p){for(o=s;o>A;)r[o]=r[--o];r[A]=f}}if(!n.next().done)throw new TypeError("Unreachable");return r}else{let n=0;for(let{0:i,1:{value:s}}of this.headersMap)r[n++]=[i,s],GQ(s!==null);return r.sort(NO)}}},lu=class e{#e;#t;constructor(t=void 0){en.util.markAsUncloneable(this),t!==Mfe&&(this.#t=new kC,this.#e="none",t!==void 0&&(t=en.converters.HeadersInit(t,"Headers constructor","init"),kO(this,t)))}append(t,r){en.brandCheck(this,e),en.argumentLengthCheck(arguments,2,"Headers.append");let n="Headers.append";return t=en.converters.ByteString(t,n,"name"),r=en.converters.ByteString(r,n,"value"),YQ(this,t,r)}delete(t){if(en.brandCheck(this,e),en.argumentLengthCheck(arguments,1,"Headers.delete"),t=en.converters.ByteString(t,"Headers.delete","name"),!Nm(t))throw en.errors.invalidArgument({prefix:"Headers.delete",value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(t,!1)&&this.#t.delete(t,!1)}get(t){en.brandCheck(this,e),en.argumentLengthCheck(arguments,1,"Headers.get");let r="Headers.get";if(t=en.converters.ByteString(t,r,"name"),!Nm(t))throw en.errors.invalidArgument({prefix:r,value:t,type:"header name"});return this.#t.get(t,!1)}has(t){en.brandCheck(this,e),en.argumentLengthCheck(arguments,1,"Headers.has");let r="Headers.has";if(t=en.converters.ByteString(t,r,"name"),!Nm(t))throw en.errors.invalidArgument({prefix:r,value:t,type:"header name"});return this.#t.contains(t,!1)}set(t,r){en.brandCheck(this,e),en.argumentLengthCheck(arguments,2,"Headers.set");let n="Headers.set";if(t=en.converters.ByteString(t,n,"name"),r=en.converters.ByteString(r,n,"value"),r=RO(r),Nm(t)){if(!SO(r))throw en.errors.invalidArgument({prefix:n,value:r,type:"header value"})}else throw en.errors.invalidArgument({prefix:n,value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(t,r,!1)}getSetCookie(){en.brandCheck(this,e);let t=this.#t.cookies;return t?[...t]:[]}[RC.inspect.custom](t,r){return r.depth??=t,`Headers ${RC.formatWithOptions(r,this.#t.entries)}`}static getHeadersGuard(t){return t.#e}static setHeadersGuard(t,r){t.#e=r}static getHeadersList(t){return t.#t}static setHeadersList(t,r){t.#t=r}},{getHeadersGuard:TO,setHeadersGuard:$fe,getHeadersList:NC,setHeadersList:Hfe}=lu;Reflect.deleteProperty(lu,"getHeadersGuard");Reflect.deleteProperty(lu,"setHeadersGuard");Reflect.deleteProperty(lu,"getHeadersList");Reflect.deleteProperty(lu,"setHeadersList");Lfe("Headers",lu,Pfe,0,1);Object.defineProperties(lu.prototype,{append:Od,delete:Od,get:Od,has:Od,set:Od,getSetCookie:Od,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[RC.inspect.custom]:{enumerable:!1}});en.converters.HeadersInit=function(e,t,r){if(en.util.Type(e)===en.util.Types.OBJECT){let n=Reflect.get(e,Symbol.iterator);if(!RC.types.isProxy(e)&&n===lu.prototype.entries)try{return NC(e).entriesList}catch{}return typeof n=="function"?en.converters["sequence>"](e,t,r,n.bind(e)):en.converters["record"](e,t,r)}throw en.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};_O.exports={fill:kO,compareHeaderName:NO,Headers:lu,HeadersList:kC,getHeadersGuard:TO,setHeadersGuard:$fe,setHeadersList:Hfe,getHeadersList:NC}});var Om=he((O8e,YO)=>{"use strict";var{Headers:$O,HeadersList:UO,fill:qfe,getHeadersGuard:jfe,setHeadersGuard:HO,setHeadersList:qO}=Ef(),{extractBody:OO,cloneBody:Gfe,mixinBody:Yfe,hasFinalizationRegistry:Vfe,streamRegistry:Jfe,bodyUnusable:Wfe}=Ad(),jO=Tr(),MO=require("node:util"),{kEnumerableProperty:Po}=jO,{isValidReasonPhrase:zfe,isCancelled:Kfe,isAborted:Zfe,serializeJavascriptValueToJSONString:Xfe,isErrorLike:ehe,isomorphicEncode:the,environmentSettingsObject:rhe}=Ys(),{redirectStatusSet:nhe,nullBodyStatus:ihe}=N0(),{webidl:jr}=ms(),{URLSerializer:LO}=Oo(),{kConstruct:_C}=qn(),VQ=require("node:assert"),{types:she}=require("node:util"),ohe=new TextEncoder("utf-8"),$o=class e{#e;#t;static error(){return Tm(UC(),"immutable")}static json(t,r=void 0){jr.argumentLengthCheck(arguments,1,"Response.json"),r!==null&&(r=jr.converters.ResponseInit(r));let n=ohe.encode(Xfe(t)),i=OO(n),s=Tm(Md({}),"response");return PO(s,r,{body:i[0],type:"application/json"}),s}static redirect(t,r=302){jr.argumentLengthCheck(arguments,1,"Response.redirect"),t=jr.converters.USVString(t),r=jr.converters["unsigned short"](r);let n;try{n=new URL(t,rhe.settingsObject.baseUrl)}catch(o){throw new TypeError(`Failed to parse URL from ${t}`,{cause:o})}if(!nhe.has(r))throw new RangeError(`Invalid status code ${r}`);let i=Tm(Md({}),"immutable");i.#t.status=r;let s=the(LO(n));return i.#t.headersList.append("location",s,!0),i}constructor(t=null,r=void 0){if(jr.util.markAsUncloneable(this),t===_C)return;t!==null&&(t=jr.converters.BodyInit(t)),r=jr.converters.ResponseInit(r),this.#t=Md({}),this.#e=new $O(_C),HO(this.#e,"response"),qO(this.#e,this.#t.headersList);let n=null;if(t!=null){let[i,s]=OO(t);n={body:i,type:s}}PO(this,r,n)}get type(){return jr.brandCheck(this,e),this.#t.type}get url(){jr.brandCheck(this,e);let t=this.#t.urlList,r=t[t.length-1]??null;return r===null?"":LO(r,!0)}get redirected(){return jr.brandCheck(this,e),this.#t.urlList.length>1}get status(){return jr.brandCheck(this,e),this.#t.status}get ok(){return jr.brandCheck(this,e),this.#t.status>=200&&this.#t.status<=299}get statusText(){return jr.brandCheck(this,e),this.#t.statusText}get headers(){return jr.brandCheck(this,e),this.#e}get body(){return jr.brandCheck(this,e),this.#t.body?this.#t.body.stream:null}get bodyUsed(){return jr.brandCheck(this,e),!!this.#t.body&&jO.isDisturbed(this.#t.body.stream)}clone(){if(jr.brandCheck(this,e),Wfe(this.#t))throw jr.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let t=JQ(this.#t);return Tm(t,jfe(this.#e))}[MO.inspect.custom](t,r){r.depth===null&&(r.depth=2),r.colors??=!0;let n={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${MO.formatWithOptions(r,n)}`}static getResponseHeaders(t){return t.#e}static setResponseHeaders(t,r){t.#e=r}static getResponseState(t){return t.#t}static setResponseState(t,r){t.#t=r}},{getResponseHeaders:ahe,setResponseHeaders:uhe,getResponseState:yf,setResponseState:che}=$o;Reflect.deleteProperty($o,"getResponseHeaders");Reflect.deleteProperty($o,"setResponseHeaders");Reflect.deleteProperty($o,"getResponseState");Reflect.deleteProperty($o,"setResponseState");Yfe($o,yf);Object.defineProperties($o.prototype,{type:Po,url:Po,status:Po,ok:Po,redirected:Po,statusText:Po,headers:Po,clone:Po,body:Po,bodyUsed:Po,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties($o,{json:Po,redirect:Po,error:Po});function JQ(e){if(e.internalResponse)return GO(JQ(e.internalResponse),e.type);let t=Md({...e,body:null});return e.body!=null&&(t.body=Gfe(t,e.body)),t}function Md(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new UO(e?.headersList):new UO,urlList:e?.urlList?[...e.urlList]:[]}}function UC(e){let t=ehe(e);return Md({type:"error",status:0,error:t?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function lhe(e){return e.type==="error"&&e.status===0}function TC(e,t){return t={internalResponse:e,...t},new Proxy(e,{get(r,n){return n in t?t[n]:r[n]},set(r,n,i){return VQ(!(n in t)),r[n]=i,!0}})}function GO(e,t){if(t==="basic")return TC(e,{type:"basic",headersList:e.headersList});if(t==="cors")return TC(e,{type:"cors",headersList:e.headersList});if(t==="opaque")return TC(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(t==="opaqueredirect")return TC(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});VQ(!1)}function Ahe(e,t=null){return VQ(Kfe(e)),Zfe(e)?UC(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):UC(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function PO(e,t,r){if(t.status!==null&&(t.status<200||t.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in t&&t.statusText!=null&&!zfe(String(t.statusText)))throw new TypeError("Invalid statusText");if("status"in t&&t.status!=null&&(yf(e).status=t.status),"statusText"in t&&t.statusText!=null&&(yf(e).statusText=t.statusText),"headers"in t&&t.headers!=null&&qfe(ahe(e),t.headers),r){if(ihe.includes(e.status))throw jr.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`});yf(e).body=r.body,r.type!=null&&!yf(e).headersList.contains("content-type",!0)&&yf(e).headersList.append("content-type",r.type,!0)}}function Tm(e,t){let r=new $o(_C);che(r,e);let n=new $O(_C);return uhe(r,n),qO(n,e.headersList),HO(n,t),Vfe&&e.body?.stream&&Jfe.register(r,new WeakRef(e.body.stream)),r}jr.converters.XMLHttpRequestBodyInit=function(e,t,r){return typeof e=="string"?jr.converters.USVString(e,t,r):jr.is.Blob(e)||ArrayBuffer.isView(e)||she.isArrayBuffer(e)||jr.is.FormData(e)||jr.is.URLSearchParams(e)?e:jr.converters.DOMString(e,t,r)};jr.converters.BodyInit=function(e,t,r){return jr.is.ReadableStream(e)||e?.[Symbol.asyncIterator]?e:jr.converters.XMLHttpRequestBodyInit(e,t,r)};jr.converters.ResponseInit=jr.dictionaryConverter([{key:"status",converter:jr.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:jr.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:jr.converters.HeadersInit}]);jr.is.Response=jr.util.MakeTypeAssertion($o);YO.exports={isNetworkError:lhe,makeNetworkError:UC,makeResponse:Md,makeAppropriateNetworkError:Ahe,filterResponse:GO,Response:$o,cloneResponse:JQ,fromInnerResponse:Tm,getResponseState:yf}});var zO=he((M8e,WO)=>{"use strict";var{kConnected:VO,kSize:JO}=qn(),WQ=class{constructor(t){this.value=t}deref(){return this.value[VO]===0&&this.value[JO]===0?void 0:this.value}},zQ=class{constructor(t){this.finalizer=t}register(t,r){t.on&&t.on("disconnect",()=>{t[VO]===0&&t[JO]===0&&this.finalizer(r)})}unregister(t){}};WO.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:WQ,FinalizationRegistry:zQ}):{WeakRef,FinalizationRegistry}}});var Ld=he((L8e,lM)=>{"use strict";var{extractBody:phe,mixinBody:fhe,cloneBody:hhe,bodyUnusable:KO}=Ad(),{Headers:nM,fill:dhe,HeadersList:LC,setHeadersGuard:KQ,getHeadersGuard:ghe,setHeadersList:iM,getHeadersList:ZO}=Ef(),{FinalizationRegistry:mhe}=zO()(),MC=Tr(),XO=require("node:util"),{isValidHTTPToken:Ehe,sameOrigin:eM,environmentSettingsObject:OC}=Ys(),{forbiddenMethodsSet:yhe,corsSafeListedMethodsSet:Che,referrerPolicy:vhe,requestRedirect:Ihe,requestMode:Bhe,requestCredentials:whe,requestCache:bhe,requestDuplex:xhe}=N0(),{kEnumerableProperty:Li,normalizedMethodRecordsBase:Qhe,normalizedMethodRecords:Fhe}=MC,{webidl:cr}=ms(),{URLSerializer:Dhe}=Oo(),{kConstruct:PC}=qn(),She=require("node:assert"),{getMaxListeners:sM,setMaxListeners:Rhe,defaultMaxListeners:khe}=require("node:events"),Nhe=Symbol("abortController"),oM=new mhe(({signal:e,abort:t})=>{e.removeEventListener("abort",t)}),$C=new WeakMap,ZQ;try{ZQ=sM(new AbortController().signal)>0}catch{ZQ=!1}function tM(e){return t;function t(){let r=e.deref();if(r!==void 0){oM.unregister(t),this.removeEventListener("abort",t),r.abort(this.reason);let n=$C.get(r.signal);if(n!==void 0){if(n.size!==0){for(let i of n){let s=i.deref();s!==void 0&&s.abort(this.reason)}n.clear()}$C.delete(r.signal)}}}}var rM=!1,Ao=class e{#e;#t;#r;#n;constructor(t,r=void 0){if(cr.util.markAsUncloneable(this),t===PC)return;let n="Request constructor";cr.argumentLengthCheck(arguments,1,n),t=cr.converters.RequestInfo(t,n,"input"),r=cr.converters.RequestInit(r,n,"init");let i=null,s=null,o=OC.settingsObject.baseUrl,u=null;if(typeof t=="string"){this.#t=r.dispatcher;let j;try{j=new URL(t,o)}catch(re){throw new TypeError("Failed to parse URL from "+t,{cause:re})}if(j.username||j.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+t);i=HC({urlList:[j]}),s="cors"}else She(cr.is.Request(t)),i=t.#n,u=t.#e,this.#t=r.dispatcher||t.#t;let A=OC.settingsObject.origin,p="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&eM(i.window,A)&&(p=i.window),r.window!=null)throw new TypeError(`'window' option '${p}' must be null`);"window"in r&&(p="no-window"),i=HC({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:OC.settingsObject,window:p,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});let f=Object.keys(r).length!==0;if(f&&(i.mode==="navigate"&&(i.mode="same-origin"),i.reloadNavigation=!1,i.historyNavigation=!1,i.origin="client",i.referrer="client",i.referrerPolicy="",i.url=i.urlList[i.urlList.length-1],i.urlList=[i.url]),r.referrer!==void 0){let j=r.referrer;if(j==="")i.referrer="no-referrer";else{let re;try{re=new URL(j,o)}catch(se){throw new TypeError(`Referrer "${j}" is not a valid URL.`,{cause:se})}re.protocol==="about:"&&re.hostname==="client"||A&&!eM(re,OC.settingsObject.baseUrl)?i.referrer="client":i.referrer=re}}r.referrerPolicy!==void 0&&(i.referrerPolicy=r.referrerPolicy);let c;if(r.mode!==void 0?c=r.mode:c=s,c==="navigate")throw cr.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(c!=null&&(i.mode=c),r.credentials!==void 0&&(i.credentials=r.credentials),r.cache!==void 0&&(i.cache=r.cache),i.cache==="only-if-cached"&&i.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(r.redirect!==void 0&&(i.redirect=r.redirect),r.integrity!=null&&(i.integrity=String(r.integrity)),r.keepalive!==void 0&&(i.keepalive=!!r.keepalive),r.method!==void 0){let j=r.method,re=Fhe[j];if(re!==void 0)i.method=re;else{if(!Ehe(j))throw new TypeError(`'${j}' is not a valid HTTP method.`);let se=j.toUpperCase();if(yhe.has(se))throw new TypeError(`'${j}' HTTP method is unsupported.`);j=Qhe[se]??j,i.method=j}!rM&&i.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),rM=!0)}r.signal!==void 0&&(u=r.signal),this.#n=i;let m=new AbortController;if(this.#e=m.signal,u!=null)if(u.aborted)m.abort(u.reason);else{this[Nhe]=m;let j=new WeakRef(m),re=tM(j);ZQ&&sM(u)===khe&&Rhe(1500,u),MC.addAbortListener(u,re),oM.register(m,{signal:u,abort:re},re)}if(this.#r=new nM(PC),iM(this.#r,i.headersList),KQ(this.#r,"request"),c==="no-cors"){if(!Che.has(i.method))throw new TypeError(`'${i.method} is unsupported in no-cors mode.`);KQ(this.#r,"request-no-cors")}if(f){let j=ZO(this.#r),re=r.headers!==void 0?r.headers:new LC(j);if(j.clear(),re instanceof LC){for(let{name:se,value:ge}of re.rawValues())j.append(se,ge,!1);j.cookies=re.cookies}else dhe(this.#r,re)}let w=cr.is.Request(t)?t.#n.body:null;if((r.body!=null||w!=null)&&(i.method==="GET"||i.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let C=null;if(r.body!=null){let[j,re]=phe(r.body,i.keepalive);C=j,re&&!ZO(this.#r).contains("content-type",!0)&&this.#r.append("content-type",re,!0)}let F=C??w;if(F!=null&&F.source==null){if(C!=null&&r.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(i.mode!=="same-origin"&&i.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');i.useCORSPreflightFlag=!0}let P=F;if(C==null&&w!=null){if(KO(t.#n))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let j=new TransformStream;w.stream.pipeThrough(j),P={source:w.source,length:w.length,stream:j.readable}}this.#n.body=P}get method(){return cr.brandCheck(this,e),this.#n.method}get url(){return cr.brandCheck(this,e),Dhe(this.#n.url)}get headers(){return cr.brandCheck(this,e),this.#r}get destination(){return cr.brandCheck(this,e),this.#n.destination}get referrer(){return cr.brandCheck(this,e),this.#n.referrer==="no-referrer"?"":this.#n.referrer==="client"?"about:client":this.#n.referrer.toString()}get referrerPolicy(){return cr.brandCheck(this,e),this.#n.referrerPolicy}get mode(){return cr.brandCheck(this,e),this.#n.mode}get credentials(){return cr.brandCheck(this,e),this.#n.credentials}get cache(){return cr.brandCheck(this,e),this.#n.cache}get redirect(){return cr.brandCheck(this,e),this.#n.redirect}get integrity(){return cr.brandCheck(this,e),this.#n.integrity}get keepalive(){return cr.brandCheck(this,e),this.#n.keepalive}get isReloadNavigation(){return cr.brandCheck(this,e),this.#n.reloadNavigation}get isHistoryNavigation(){return cr.brandCheck(this,e),this.#n.historyNavigation}get signal(){return cr.brandCheck(this,e),this.#e}get body(){return cr.brandCheck(this,e),this.#n.body?this.#n.body.stream:null}get bodyUsed(){return cr.brandCheck(this,e),!!this.#n.body&&MC.isDisturbed(this.#n.body.stream)}get duplex(){return cr.brandCheck(this,e),"half"}clone(){if(cr.brandCheck(this,e),KO(this.#n))throw new TypeError("unusable");let t=uM(this.#n),r=new AbortController;if(this.signal.aborted)r.abort(this.signal.reason);else{let n=$C.get(this.signal);n===void 0&&(n=new Set,$C.set(this.signal,n));let i=new WeakRef(r);n.add(i),MC.addAbortListener(r.signal,tM(i))}return cM(t,this.#t,r.signal,ghe(this.#r))}[XO.inspect.custom](t,r){r.depth===null&&(r.depth=2),r.colors??=!0;let n={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${XO.formatWithOptions(r,n)}`}static setRequestSignal(t,r){return t.#e=r,t}static getRequestDispatcher(t){return t.#t}static setRequestDispatcher(t,r){t.#t=r}static setRequestHeaders(t,r){t.#r=r}static getRequestState(t){return t.#n}static setRequestState(t,r){t.#n=r}},{setRequestSignal:The,getRequestDispatcher:_he,setRequestDispatcher:Uhe,setRequestHeaders:Ohe,getRequestState:aM,setRequestState:Mhe}=Ao;Reflect.deleteProperty(Ao,"setRequestSignal");Reflect.deleteProperty(Ao,"getRequestDispatcher");Reflect.deleteProperty(Ao,"setRequestDispatcher");Reflect.deleteProperty(Ao,"setRequestHeaders");Reflect.deleteProperty(Ao,"getRequestState");Reflect.deleteProperty(Ao,"setRequestState");fhe(Ao,aM);function HC(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??!1,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new LC(e.headersList):new LC}}function uM(e){let t=HC({...e,body:null});return e.body!=null&&(t.body=hhe(t,e.body)),t}function cM(e,t,r,n){let i=new Ao(PC);Mhe(i,e),Uhe(i,t),The(i,r);let s=new nM(PC);return Ohe(i,s),iM(s,e.headersList),KQ(s,n),i}Object.defineProperties(Ao.prototype,{method:Li,url:Li,headers:Li,redirect:Li,clone:Li,signal:Li,duplex:Li,destination:Li,body:Li,bodyUsed:Li,isHistoryNavigation:Li,isReloadNavigation:Li,keepalive:Li,integrity:Li,cache:Li,credentials:Li,attribute:Li,referrerPolicy:Li,referrer:Li,mode:Li,[Symbol.toStringTag]:{value:"Request",configurable:!0}});cr.is.Request=cr.util.MakeTypeAssertion(Ao);cr.converters.RequestInfo=function(e,t,r){return typeof e=="string"?cr.converters.USVString(e):cr.is.Request(e)?e:cr.converters.USVString(e)};cr.converters.RequestInit=cr.dictionaryConverter([{key:"method",converter:cr.converters.ByteString},{key:"headers",converter:cr.converters.HeadersInit},{key:"body",converter:cr.nullableConverter(cr.converters.BodyInit)},{key:"referrer",converter:cr.converters.USVString},{key:"referrerPolicy",converter:cr.converters.DOMString,allowedValues:vhe},{key:"mode",converter:cr.converters.DOMString,allowedValues:Bhe},{key:"credentials",converter:cr.converters.DOMString,allowedValues:whe},{key:"cache",converter:cr.converters.DOMString,allowedValues:bhe},{key:"redirect",converter:cr.converters.DOMString,allowedValues:Ihe},{key:"integrity",converter:cr.converters.DOMString},{key:"keepalive",converter:cr.converters.boolean},{key:"signal",converter:cr.nullableConverter(e=>cr.converters.AbortSignal(e,"RequestInit","signal"))},{key:"window",converter:cr.converters.any},{key:"duplex",converter:cr.converters.DOMString,allowedValues:xhe},{key:"dispatcher",converter:cr.converters.any}]);lM.exports={Request:Ao,makeRequest:HC,fromInnerRequest:cM,cloneRequest:uM,getRequestDispatcher:_he,getRequestState:aM}});var Lm=he((P8e,wM)=>{"use strict";var{makeNetworkError:Tn,makeAppropriateNetworkError:qC,filterResponse:XQ,makeResponse:jC,fromInnerResponse:Lhe,getResponseState:Phe}=Om(),{HeadersList:AM}=Ef(),{Request:$he,cloneRequest:Hhe,getRequestDispatcher:qhe,getRequestState:jhe}=Ld(),DA=require("node:zlib"),{bytesMatch:Ghe,makePolicyContainer:Yhe,clonePolicyContainer:Vhe,requestBadPort:Jhe,TAOCheck:Whe,appendRequestOriginHeader:zhe,responseLocationURL:Khe,requestCurrentURL:ic,setRequestReferrerPolicyOnRedirect:Zhe,tryUpgradeRequestToAPotentiallyTrustworthyURL:Xhe,createOpaqueTimingInfo:iF,appendFetchMetadata:ede,corsCheck:tde,crossOriginResourcePolicyCheck:rde,determineRequestsReferrer:nde,coarsenedSharedCurrentTime:Mm,createDeferredPromise:ide,sameOrigin:nF,isCancelled:vf,isAborted:pM,isErrorLike:sde,fullyReadBody:ode,readableStreamClose:ade,isomorphicEncode:GC,urlIsLocal:ude,urlIsHttpHttpsScheme:sF,urlHasHttpsScheme:cde,clampAndCoarsenConnectionTimingInfo:lde,simpleRangeHeaderValue:Ade,buildContentRange:pde,createInflate:fde,extractMimeType:hde}=Ys(),Bf=require("node:assert"),{safelyExtractBody:oF,extractBody:fM}=Ad(),{redirectStatusSet:gM,nullBodyStatus:mM,safeMethodsSet:dde,requestBodyHeader:gde,subresourceSet:mde}=N0(),Ede=require("node:events"),{Readable:yde,pipeline:Cde,finished:vde,isErrored:Ide,isReadable:VC}=require("node:stream"),{addAbortListener:Bde,bufferToLowerCasedHeaderName:hM}=Tr(),{dataURLProcessor:wde,serializeAMimeType:bde,minimizeSupportedMimeType:xde}=Oo(),{getGlobalDispatcher:Qde}=FC(),{webidl:aF}=ms(),{STATUS_CODES:Fde}=require("node:http"),Dde=["GET","HEAD"],Sde=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",eF,zC=class extends Ede{constructor(t){super(),this.dispatcher=t,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(t){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(t),this.emit("terminated",t))}abort(t){this.state==="ongoing"&&(this.state="aborted",t||(t=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=t,this.connection?.destroy(t),this.emit("terminated",t))}};function Rde(e){EM(e,"fetch")}function kde(e,t=void 0){aF.argumentLengthCheck(arguments,1,"globalThis.fetch");let r=ide(),n;try{n=new $he(e,t)}catch(f){return r.reject(f),r.promise}let i=jhe(n);if(n.signal.aborted)return tF(r,i,null,n.signal.reason),r.promise;i.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(i.serviceWorkers="none");let o=null,u=!1,A=null;return Bde(n.signal,()=>{u=!0,Bf(A!=null),A.abort(n.signal.reason);let f=o?.deref();tF(r,i,f,n.signal.reason)}),A=CM({request:i,processResponseEndOfBody:Rde,processResponse:f=>{if(!u){if(f.aborted){tF(r,i,o,A.serializedAbortReason);return}if(f.type==="error"){r.reject(new TypeError("fetch failed",{cause:f.error}));return}o=new WeakRef(Lhe(f,"immutable")),r.resolve(o.deref()),r=null}},dispatcher:qhe(n)}),r.promise}function EM(e,t="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let r=e.urlList[0],n=e.timingInfo,i=e.cacheState;sF(r)&&n!==null&&(e.timingAllowPassed||(n=iF({startTime:n.startTime}),i=""),n.endTime=Mm(),e.timingInfo=n,yM(n,r.href,t,globalThis,i))}var yM=performance.markResourceTiming;function tF(e,t,r,n){if(e&&e.reject(n),t.body?.stream!=null&&VC(t.body.stream)&&t.body.stream.cancel(n).catch(s=>{if(s.code!=="ERR_INVALID_STATE")throw s}),r==null)return;let i=Phe(r);i.body?.stream!=null&&VC(i.body.stream)&&i.body.stream.cancel(n).catch(s=>{if(s.code!=="ERR_INVALID_STATE")throw s})}function CM({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseEndOfBody:i,processResponseConsumeBody:s,useParallelQueue:o=!1,dispatcher:u=Qde()}){Bf(u);let A=null,p=!1;e.client!=null&&(A=e.client.globalObject,p=e.client.crossOriginIsolatedCapability);let f=Mm(p),c=iF({startTime:f}),m={controller:new zC(u),request:e,timingInfo:c,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseConsumeBody:s,processResponseEndOfBody:i,taskDestination:A,crossOriginIsolatedCapability:p};return Bf(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=Vhe(e.client.policyContainer):e.policyContainer=Yhe()),e.headersList.contains("accept",!0)||e.headersList.append("accept","*/*",!0),e.headersList.contains("accept-language",!0)||e.headersList.append("accept-language","*",!0),e.priority,mde.has(e.destination),vM(m).catch(w=>{m.controller.terminate(w)}),m.controller}async function vM(e,t=!1){let r=e.request,n=null;if(r.localURLsOnly&&!ude(ic(r))&&(n=Tn("local URLs only")),Xhe(r),Jhe(r)==="blocked"&&(n=Tn("bad port")),r.referrerPolicy===""&&(r.referrerPolicy=r.policyContainer.referrerPolicy),r.referrer!=="no-referrer"&&(r.referrer=nde(r)),n===null){let s=ic(r);nF(s,r.url)&&r.responseTainting==="basic"||s.protocol==="data:"||r.mode==="navigate"||r.mode==="websocket"?(r.responseTainting="basic",n=await dM(e)):r.mode==="same-origin"?n=Tn('request mode cannot be "same-origin"'):r.mode==="no-cors"?r.redirect!=="follow"?n=Tn('redirect mode cannot be "follow" for "no-cors" request'):(r.responseTainting="opaque",n=await dM(e)):sF(ic(r))?(r.responseTainting="cors",n=await IM(e)):n=Tn("URL scheme must be a HTTP(S) scheme")}if(t)return n;n.status!==0&&!n.internalResponse&&(r.responseTainting,r.responseTainting==="basic"?n=XQ(n,"basic"):r.responseTainting==="cors"?n=XQ(n,"cors"):r.responseTainting==="opaque"?n=XQ(n,"opaque"):Bf(!1));let i=n.status===0?n:n.internalResponse;if(i.urlList.length===0&&i.urlList.push(...r.urlList),r.timingAllowFailed||(n.timingAllowPassed=!0),n.type==="opaque"&&i.status===206&&i.rangeRequested&&!r.headers.contains("range",!0)&&(n=i=Tn()),n.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||mM.includes(i.status))&&(i.body=null,e.controller.dump=!0),r.integrity){let s=u=>rF(e,Tn(u));if(r.responseTainting==="opaque"||n.body==null){s(n.error);return}let o=u=>{if(!Ghe(u,r.integrity)){s("integrity mismatch");return}n.body=oF(u)[0],rF(e,n)};await ode(n.body,o,s)}else rF(e,n)}function dM(e){if(vf(e)&&e.request.redirectCount===0)return Promise.resolve(qC(e));let{request:t}=e,{protocol:r}=ic(t);switch(r){case"about:":return Promise.resolve(Tn("about scheme is not supported"));case"blob:":{eF||(eF=require("node:buffer").resolveObjectURL);let n=ic(t);if(n.search.length!==0)return Promise.resolve(Tn("NetworkError when attempting to fetch resource."));let i=eF(n.toString());if(t.method!=="GET"||!aF.is.Blob(i))return Promise.resolve(Tn("invalid method"));let s=jC(),o=i.size,u=GC(`${o}`),A=i.type;if(t.headersList.contains("range",!0)){s.rangeRequested=!0;let p=t.headersList.get("range",!0),f=Ade(p,!0);if(f==="failure")return Promise.resolve(Tn("failed to fetch the data URL"));let{rangeStartValue:c,rangeEndValue:m}=f;if(c===null)c=o-m,m=c+m-1;else{if(c>=o)return Promise.resolve(Tn("Range start is greater than the blob's size."));(m===null||m>=o)&&(m=o-1)}let w=i.slice(c,m,A),C=fM(w);s.body=C[0];let F=GC(`${w.size}`),P=pde(c,m,o);s.status=206,s.statusText="Partial Content",s.headersList.set("content-length",F,!0),s.headersList.set("content-type",A,!0),s.headersList.set("content-range",P,!0)}else{let p=fM(i);s.statusText="OK",s.body=p[0],s.headersList.set("content-length",u,!0),s.headersList.set("content-type",A,!0)}return Promise.resolve(s)}case"data:":{let n=ic(t),i=wde(n);if(i==="failure")return Promise.resolve(Tn("failed to fetch the data URL"));let s=bde(i.mimeType);return Promise.resolve(jC({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:oF(i.body)[0]}))}case"file:":return Promise.resolve(Tn("not implemented... yet..."));case"http:":case"https:":return IM(e).catch(n=>Tn(n));default:return Promise.resolve(Tn("unknown scheme"))}}function Nde(e,t){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(t))}function rF(e,t){let r=e.timingInfo,n=()=>{let s=Date.now();e.request.destination==="document"&&(e.controller.fullTimingInfo=r),e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:")return;r.endTime=s;let u=t.cacheState,A=t.bodyInfo;t.timingAllowPassed||(r=iF(r),u="");let p=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){p=t.status;let f=hde(t.headersList);f!=="failure"&&(A.contentType=xde(f))}e.request.initiatorType!=null&&yM(r,e.request.url.href,e.request.initiatorType,globalThis,u,A,p)};let o=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(t)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>o())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(t),e.processResponse=null});let i=t.type==="error"?t:t.internalResponse??t;i.body==null?n():vde(i.body.stream,()=>{n()})}async function IM(e){let t=e.request,r=null,n=null,i=e.timingInfo;if(t.serviceWorkers,r===null){if(t.redirect==="follow"&&(t.serviceWorkers="none"),n=r=await BM(e),t.responseTainting==="cors"&&tde(t,r)==="failure")return Tn("cors failure");Whe(t,r)==="failure"&&(t.timingAllowFailed=!0)}return(t.responseTainting==="opaque"||r.type==="opaque")&&rde(t.origin,t.client,t.destination,n)==="blocked"?Tn("blocked"):(gM.has(n.status)&&(t.redirect!=="manual"&&e.controller.connection.destroy(void 0,!1),t.redirect==="error"?r=Tn("unexpected redirect"):t.redirect==="manual"?r=n:t.redirect==="follow"?r=await Tde(e,r):Bf(!1)),r.timingInfo=i,r)}function Tde(e,t){let r=e.request,n=t.internalResponse?t.internalResponse:t,i;try{if(i=Khe(n,ic(r).hash),i==null)return t}catch(o){return Promise.resolve(Tn(o))}if(!sF(i))return Promise.resolve(Tn("URL scheme must be a HTTP(S) scheme"));if(r.redirectCount===20)return Promise.resolve(Tn("redirect count exceeded"));if(r.redirectCount+=1,r.mode==="cors"&&(i.username||i.password)&&!nF(r,i))return Promise.resolve(Tn('cross origin not allowed for request mode "cors"'));if(r.responseTainting==="cors"&&(i.username||i.password))return Promise.resolve(Tn('URL cannot contain credentials for request mode "cors"'));if(n.status!==303&&r.body!=null&&r.body.source==null)return Promise.resolve(Tn());if([301,302].includes(n.status)&&r.method==="POST"||n.status===303&&!Dde.includes(r.method)){r.method="GET",r.body=null;for(let o of gde)r.headersList.delete(o)}nF(ic(r),i)||(r.headersList.delete("authorization",!0),r.headersList.delete("proxy-authorization",!0),r.headersList.delete("cookie",!0),r.headersList.delete("host",!0)),r.body!=null&&(Bf(r.body.source!=null),r.body=oF(r.body.source)[0]);let s=e.timingInfo;return s.redirectEndTime=s.postRedirectStartTime=Mm(e.crossOriginIsolatedCapability),s.redirectStartTime===0&&(s.redirectStartTime=s.startTime),r.urlList.push(i),Zhe(r,n),vM(e,!0)}async function BM(e,t=!1,r=!1){let n=e.request,i=null,s=null,o=null,u=null,A=!1;n.window==="no-window"&&n.redirect==="error"?(i=e,s=n):(s=Hhe(n),i={...e},i.request=s);let p=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic",f=s.body?s.body.length:null,c=null;if(s.body==null&&["POST","PUT"].includes(s.method)&&(c="0"),f!=null&&(c=GC(`${f}`)),c!=null&&s.headersList.append("content-length",c,!0),f!=null&&s.keepalive,aF.is.URL(s.referrer)&&s.headersList.append("referer",GC(s.referrer.href),!0),zhe(s),ede(s),s.headersList.contains("user-agent",!0)||s.headersList.append("user-agent",Sde,!0),s.cache==="default"&&(s.headersList.contains("if-modified-since",!0)||s.headersList.contains("if-none-match",!0)||s.headersList.contains("if-unmodified-since",!0)||s.headersList.contains("if-match",!0)||s.headersList.contains("if-range",!0))&&(s.cache="no-store"),s.cache==="no-cache"&&!s.preventNoCacheCacheControlHeaderModification&&!s.headersList.contains("cache-control",!0)&&s.headersList.append("cache-control","max-age=0",!0),(s.cache==="no-store"||s.cache==="reload")&&(s.headersList.contains("pragma",!0)||s.headersList.append("pragma","no-cache",!0),s.headersList.contains("cache-control",!0)||s.headersList.append("cache-control","no-cache",!0)),s.headersList.contains("range",!0)&&s.headersList.append("accept-encoding","identity",!0),s.headersList.contains("accept-encoding",!0)||(cde(ic(s))?s.headersList.append("accept-encoding","br, gzip, deflate",!0):s.headersList.append("accept-encoding","gzip, deflate",!0)),s.headersList.delete("host",!0),u==null&&(s.cache="no-store"),s.cache!=="no-store"&&s.cache,o==null){if(s.cache==="only-if-cached")return Tn("only if cached");let m=await _de(i,p,r);!dde.has(s.method)&&m.status>=200&&m.status<=399,A&&m.status,o==null&&(o=m)}if(o.urlList=[...s.urlList],s.headersList.contains("range",!0)&&(o.rangeRequested=!0),o.requestIncludesCredentials=p,o.status===407)return n.window==="no-window"?Tn():vf(e)?qC(e):Tn("proxy authentication required");if(o.status===421&&!r&&(n.body==null||n.body.source!=null)){if(vf(e))return qC(e);e.controller.connection.destroy(),o=await BM(e,t,!0)}return o}async function _de(e,t=!1,r=!1){Bf(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(C,F=!0){this.destroyed||(this.destroyed=!0,F&&this.abort?.(C??new DOMException("The operation was aborted.","AbortError")))}};let n=e.request,i=null,s=e.timingInfo;null==null&&(n.cache="no-store");let u=r?"yes":"no";n.mode;let A=null;if(n.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(n.body!=null){let C=async function*(j){vf(e)||(yield j,e.processRequestBodyChunkLength?.(j.byteLength))},F=()=>{vf(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},P=j=>{vf(e)||(j.name==="AbortError"?e.controller.abort():e.controller.terminate(j))};A=async function*(){try{for await(let j of n.body.stream)yield*C(j);F()}catch(j){P(j)}}()}try{let{body:C,status:F,statusText:P,headersList:j,socket:re}=await w({body:A});if(re)i=jC({status:F,statusText:P,headersList:j,socket:re});else{let se=C[Symbol.asyncIterator]();e.controller.next=()=>se.next(),i=jC({status:F,statusText:P,headersList:j})}}catch(C){return C.name==="AbortError"?(e.controller.connection.destroy(),qC(e,C)):Tn(C)}let p=()=>e.controller.resume(),f=C=>{vf(e)||e.controller.abort(C)},c=new ReadableStream({async start(C){e.controller.controller=C},async pull(C){await p(C)},async cancel(C){await f(C)},type:"bytes"});i.body={stream:c,source:null,length:null},e.controller.resume||e.controller.on("terminated",m),e.controller.resume=async()=>{for(;;){let C,F;try{let{done:j,value:re}=await e.controller.next();if(pM(e))break;C=j?void 0:re}catch(j){e.controller.ended&&!s.encodedBodySize?C=void 0:(C=j,F=!0)}if(C===void 0){ade(e.controller.controller),Nde(e,i);return}if(s.decodedBodySize+=C?.byteLength??0,F){e.controller.terminate(C);return}let P=new Uint8Array(C);if(P.byteLength&&e.controller.controller.enqueue(P),Ide(c)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function m(C){pM(e)?(i.aborted=!0,VC(c)&&e.controller.controller.error(e.controller.serializedAbortReason)):VC(c)&&e.controller.controller.error(new TypeError("terminated",{cause:sde(C)?C:void 0})),e.controller.connection.destroy()}return i;function w({body:C}){let F=ic(n),P=e.controller.dispatcher;return new Promise((j,re)=>P.dispatch({path:F.pathname+F.search,origin:F.origin,method:n.method,body:P.isMockActive?n.body&&(n.body.source||n.body.stream):C,headers:n.headersList.entries,maxRedirections:0,upgrade:n.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(se){let{connection:ge}=e.controller;s.finalConnectionTimingInfo=lde(void 0,s.postRedirectStartTime,e.crossOriginIsolatedCapability),ge.destroyed?se(new DOMException("The operation was aborted.","AbortError")):(e.controller.on("terminated",se),this.abort=ge.abort=se),s.finalNetworkRequestStartTime=Mm(e.crossOriginIsolatedCapability)},onResponseStarted(){s.finalNetworkResponseStartTime=Mm(e.crossOriginIsolatedCapability)},onHeaders(se,ge,oe,be){if(se<200)return;let fe=[],Ie="",$e=new AM;for(let ct=0;ctct.trim())),Ie=$e.get("location",!0),this.body=new yde({read:oe});let Ae=[],Ue=Ie&&n.redirect==="follow"&&gM.has(se);if(fe.length!==0&&n.method!=="HEAD"&&n.method!=="CONNECT"&&!mM.includes(se)&&!Ue)for(let ct=fe.length-1;ct>=0;--ct){let Re=fe[ct];if(Re==="x-gzip"||Re==="gzip")Ae.push(DA.createGunzip({flush:DA.constants.Z_SYNC_FLUSH,finishFlush:DA.constants.Z_SYNC_FLUSH}));else if(Re==="deflate")Ae.push(fde({flush:DA.constants.Z_SYNC_FLUSH,finishFlush:DA.constants.Z_SYNC_FLUSH}));else if(Re==="br")Ae.push(DA.createBrotliDecompress({flush:DA.constants.BROTLI_OPERATION_FLUSH,finishFlush:DA.constants.BROTLI_OPERATION_FLUSH}));else{Ae.length=0;break}}let Oe=this.onError.bind(this);return j({status:se,statusText:be,headersList:$e,body:Ae.length?Cde(this.body,...Ae,ct=>{ct&&this.onError(ct)}).on("error",Oe):this.body.on("error",Oe)}),!0},onData(se){if(e.controller.dump)return;let ge=se;return s.encodedBodySize+=ge.byteLength,this.body.push(ge)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.ended=!0,this.body.push(null)},onError(se){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(se),e.controller.terminate(se),re(se)},onUpgrade(se,ge,oe){if(se!==101)return;let be=new AM;for(let fe=0;fe{"use strict";var Ude=require("node:assert"),{URLSerializer:bM}=Oo(),{isValidHeaderName:Ode}=Ys();function Mde(e,t,r=!1){let n=bM(e,r),i=bM(t,r);return n===i}function Lde(e){Ude(e!==null);let t=[];for(let r of e.split(","))r=r.trim(),Ode(r)&&t.push(r);return t}xM.exports={urlEquals:Mde,getFieldValues:Lde}});var SM=he((H8e,DM)=>{"use strict";var{kConstruct:Pde}=qn(),{urlEquals:$de,getFieldValues:uF}=QM(),{kEnumerableProperty:wf,isDisturbed:Hde}=Tr(),{webidl:Zt}=ms(),{cloneResponse:qde,fromInnerResponse:jde,getResponseState:Gde}=Om(),{Request:Pm,fromInnerRequest:Yde,getRequestState:sc}=Ld(),{fetching:Vde}=Lm(),{urlIsHttpHttpsScheme:KC,createDeferredPromise:Pd,readAllBytes:Jde}=Ys(),cF=require("node:assert"),ev=class e{#e;constructor(){arguments[0]!==Pde&&Zt.illegalConstructor(),Zt.util.markAsUncloneable(this),this.#e=arguments[1]}async match(t,r={}){Zt.brandCheck(this,e);let n="Cache.match";Zt.argumentLengthCheck(arguments,1,n),t=Zt.converters.RequestInfo(t,n,"request"),r=Zt.converters.CacheQueryOptions(r,n,"options");let i=this.#s(t,r,1);if(i.length!==0)return i[0]}async matchAll(t=void 0,r={}){Zt.brandCheck(this,e);let n="Cache.matchAll";return t!==void 0&&(t=Zt.converters.RequestInfo(t,n,"request")),r=Zt.converters.CacheQueryOptions(r,n,"options"),this.#s(t,r)}async add(t){Zt.brandCheck(this,e);let r="Cache.add";Zt.argumentLengthCheck(arguments,1,r),t=Zt.converters.RequestInfo(t,r,"request");let n=[t];return await this.addAll(n)}async addAll(t){Zt.brandCheck(this,e);let r="Cache.addAll";Zt.argumentLengthCheck(arguments,1,r);let n=[],i=[];for(let m of t){if(m===void 0)throw Zt.errors.conversionFailed({prefix:r,argument:"Argument 1",types:["undefined is not allowed"]});if(m=Zt.converters.RequestInfo(m),typeof m=="string")continue;let w=sc(m);if(!KC(w.url)||w.method!=="GET")throw Zt.errors.exception({header:r,message:"Expected http/s scheme when method is not GET."})}let s=[];for(let m of t){let w=sc(new Pm(m));if(!KC(w.url))throw Zt.errors.exception({header:r,message:"Expected http/s scheme."});w.initiator="fetch",w.destination="subresource",i.push(w);let C=Pd();s.push(Vde({request:w,processResponse(F){if(F.type==="error"||F.status===206||F.status<200||F.status>299)C.reject(Zt.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(F.headersList.contains("vary")){let P=uF(F.headersList.get("vary"));for(let j of P)if(j==="*"){C.reject(Zt.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let re of s)re.abort();return}}},processResponseEndOfBody(F){if(F.aborted){C.reject(new DOMException("aborted","AbortError"));return}C.resolve(F)}})),n.push(C.promise)}let u=await Promise.all(n),A=[],p=0;for(let m of u){let w={type:"put",request:i[p],response:m};A.push(w),p++}let f=Pd(),c=null;try{this.#t(A)}catch(m){c=m}return queueMicrotask(()=>{c===null?f.resolve(void 0):f.reject(c)}),f.promise}async put(t,r){Zt.brandCheck(this,e);let n="Cache.put";Zt.argumentLengthCheck(arguments,2,n),t=Zt.converters.RequestInfo(t,n,"request"),r=Zt.converters.Response(r,n,"response");let i=null;if(Zt.is.Request(t)?i=sc(t):i=sc(new Pm(t)),!KC(i.url)||i.method!=="GET")throw Zt.errors.exception({header:n,message:"Expected an http/s scheme when method is not GET"});let s=Gde(r);if(s.status===206)throw Zt.errors.exception({header:n,message:"Got 206 status"});if(s.headersList.contains("vary")){let w=uF(s.headersList.get("vary"));for(let C of w)if(C==="*")throw Zt.errors.exception({header:n,message:"Got * vary field value"})}if(s.body&&(Hde(s.body.stream)||s.body.stream.locked))throw Zt.errors.exception({header:n,message:"Response body is locked or disturbed"});let o=qde(s),u=Pd();if(s.body!=null){let C=s.body.stream.getReader();Jde(C,u.resolve,u.reject)}else u.resolve(void 0);let A=[],p={type:"put",request:i,response:o};A.push(p);let f=await u.promise;o.body!=null&&(o.body.source=f);let c=Pd(),m=null;try{this.#t(A)}catch(w){m=w}return queueMicrotask(()=>{m===null?c.resolve():c.reject(m)}),c.promise}async delete(t,r={}){Zt.brandCheck(this,e);let n="Cache.delete";Zt.argumentLengthCheck(arguments,1,n),t=Zt.converters.RequestInfo(t,n,"request"),r=Zt.converters.CacheQueryOptions(r,n,"options");let i=null;if(Zt.is.Request(t)){if(i=sc(t),i.method!=="GET"&&!r.ignoreMethod)return!1}else cF(typeof t=="string"),i=sc(new Pm(t));let s=[],o={type:"delete",request:i,options:r};s.push(o);let u=Pd(),A=null,p;try{p=this.#t(s)}catch(f){A=f}return queueMicrotask(()=>{A===null?u.resolve(!!p?.length):u.reject(A)}),u.promise}async keys(t=void 0,r={}){Zt.brandCheck(this,e);let n="Cache.keys";t!==void 0&&(t=Zt.converters.RequestInfo(t,n,"request")),r=Zt.converters.CacheQueryOptions(r,n,"options");let i=null;if(t!==void 0)if(Zt.is.Request(t)){if(i=sc(t),i.method!=="GET"&&!r.ignoreMethod)return[]}else typeof t=="string"&&(i=sc(new Pm(t)));let s=Pd(),o=[];if(t===void 0)for(let u of this.#e)o.push(u[0]);else{let u=this.#r(i,r);for(let A of u)o.push(A[0])}return queueMicrotask(()=>{let u=[];for(let A of o){let p=Yde(A,void 0,new AbortController().signal,"immutable");u.push(p)}s.resolve(Object.freeze(u))}),s.promise}#t(t){let r=this.#e,n=[...r],i=[],s=[];try{for(let o of t){if(o.type!=="delete"&&o.type!=="put")throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(o.type==="delete"&&o.response!=null)throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#r(o.request,o.options,i).length)throw new DOMException("???","InvalidStateError");let u;if(o.type==="delete"){if(u=this.#r(o.request,o.options),u.length===0)return[];for(let A of u){let p=r.indexOf(A);cF(p!==-1),r.splice(p,1)}}else if(o.type==="put"){if(o.response==null)throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let A=o.request;if(!KC(A.url))throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(A.method!=="GET")throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(o.options!=null)throw Zt.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});u=this.#r(o.request);for(let p of u){let f=r.indexOf(p);cF(f!==-1),r.splice(f,1)}r.push([o.request,o.response]),i.push([o.request,o.response])}s.push([o.request,o.response])}return s}catch(o){throw this.#e.length=0,this.#e=n,o}}#r(t,r,n){let i=[],s=n??this.#e;for(let o of s){let[u,A]=o;this.#n(t,u,A,r)&&i.push(o)}return i}#n(t,r,n=null,i){let s=new URL(t.url),o=new URL(r.url);if(i?.ignoreSearch&&(o.search="",s.search=""),!$de(s,o,!0))return!1;if(n==null||i?.ignoreVary||!n.headersList.contains("vary"))return!0;let u=uF(n.headersList.get("vary"));for(let A of u){if(A==="*")return!1;let p=r.headersList.get(A),f=t.headersList.get(A);if(p!==f)return!1}return!0}#s(t,r,n=1/0){let i=null;if(t!==void 0)if(Zt.is.Request(t)){if(i=sc(t),i.method!=="GET"&&!r.ignoreMethod)return[]}else typeof t=="string"&&(i=sc(new Pm(t)));let s=[];if(t===void 0)for(let u of this.#e)s.push(u[1]);else{let u=this.#r(i,r);for(let A of u)s.push(A[1])}let o=[];for(let u of s){let A=jde(u,"immutable");if(o.push(A.clone()),o.length>=n)break}return Object.freeze(o)}};Object.defineProperties(ev.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:wf,matchAll:wf,add:wf,addAll:wf,put:wf,delete:wf,keys:wf});var FM=[{key:"ignoreSearch",converter:Zt.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:Zt.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:Zt.converters.boolean,defaultValue:()=>!1}];Zt.converters.CacheQueryOptions=Zt.dictionaryConverter(FM);Zt.converters.MultiCacheQueryOptions=Zt.dictionaryConverter([...FM,{key:"cacheName",converter:Zt.converters.DOMString}]);Zt.converters.Response=Zt.interfaceConverter(Zt.is.Response,"Response");Zt.converters["sequence"]=Zt.sequenceConverter(Zt.converters.RequestInfo);DM.exports={Cache:ev}});var kM=he((q8e,RM)=>{"use strict";var{Cache:tv}=SM(),{webidl:Qs}=ms(),{kEnumerableProperty:$m}=Tr(),{kConstruct:Hm}=qn(),rv=class e{#e=new Map;constructor(){arguments[0]!==Hm&&Qs.illegalConstructor(),Qs.util.markAsUncloneable(this)}async match(t,r={}){if(Qs.brandCheck(this,e),Qs.argumentLengthCheck(arguments,1,"CacheStorage.match"),t=Qs.converters.RequestInfo(t),r=Qs.converters.MultiCacheQueryOptions(r),r.cacheName!=null){if(this.#e.has(r.cacheName)){let n=this.#e.get(r.cacheName);return await new tv(Hm,n).match(t,r)}}else for(let n of this.#e.values()){let s=await new tv(Hm,n).match(t,r);if(s!==void 0)return s}}async has(t){Qs.brandCheck(this,e);let r="CacheStorage.has";return Qs.argumentLengthCheck(arguments,1,r),t=Qs.converters.DOMString(t,r,"cacheName"),this.#e.has(t)}async open(t){Qs.brandCheck(this,e);let r="CacheStorage.open";if(Qs.argumentLengthCheck(arguments,1,r),t=Qs.converters.DOMString(t,r,"cacheName"),this.#e.has(t)){let i=this.#e.get(t);return new tv(Hm,i)}let n=[];return this.#e.set(t,n),new tv(Hm,n)}async delete(t){Qs.brandCheck(this,e);let r="CacheStorage.delete";return Qs.argumentLengthCheck(arguments,1,r),t=Qs.converters.DOMString(t,r,"cacheName"),this.#e.delete(t)}async keys(){return Qs.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(rv.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:$m,has:$m,open:$m,delete:$m,keys:$m});RM.exports={CacheStorage:rv}});var TM=he((j8e,NM)=>{"use strict";NM.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var lF=he((G8e,LM)=>{"use strict";function Wde(e){for(let t=0;t=0&&r<=8||r>=10&&r<=31||r===127)return!0}return!1}function _M(e){for(let t=0;t126||r===34||r===40||r===41||r===60||r===62||r===64||r===44||r===59||r===58||r===92||r===47||r===91||r===93||r===63||r===61||r===123||r===125)throw new Error("Invalid cookie name")}}function UM(e){let t=e.length,r=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"')throw new Error("Invalid cookie value");--t,++r}for(;r126||n===34||n===44||n===59||n===92)throw new Error("Invalid cookie value")}}function OM(e){for(let t=0;tt.toString().padStart(2,"0"));function MM(e){return typeof e=="number"&&(e=new Date(e)),`${Kde[e.getUTCDay()]}, ${iv[e.getUTCDate()]} ${Zde[e.getUTCMonth()]} ${e.getUTCFullYear()} ${iv[e.getUTCHours()]}:${iv[e.getUTCMinutes()]}:${iv[e.getUTCSeconds()]} GMT`}function Xde(e){if(e<0)throw new Error("Invalid cookie max-age")}function ege(e){if(e.name.length===0)return null;_M(e.name),UM(e.value);let t=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&t.push("Secure"),e.httpOnly&&t.push("HttpOnly"),typeof e.maxAge=="number"&&(Xde(e.maxAge),t.push(`Max-Age=${e.maxAge}`)),e.domain&&(zde(e.domain),t.push(`Domain=${e.domain}`)),e.path&&(OM(e.path),t.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&t.push(`Expires=${MM(e.expires)}`),e.sameSite&&t.push(`SameSite=${e.sameSite}`);for(let r of e.unparsed){if(!r.includes("="))throw new Error("Invalid unparsed");let[n,...i]=r.split("=");t.push(`${n.trim()}=${i.join("=")}`)}return t.join("; ")}LM.exports={isCTLExcludingHtab:Wde,validateCookieName:_M,validateCookiePath:OM,validateCookieValue:UM,toIMFDate:MM,stringify:ege}});var $M=he((Y8e,PM)=>{"use strict";var{maxNameValuePairSize:tge,maxAttributeValueSize:rge}=TM(),{isCTLExcludingHtab:nge}=lF(),{collectASequenceOfCodePointsFast:ov}=Oo(),ige=require("node:assert"),{unescape:sge}=require("node:querystring");function oge(e){if(nge(e))return null;let t="",r="",n="",i="";if(e.includes(";")){let s={position:0};t=ov(";",e,s),r=e.slice(s.position)}else t=e;if(!t.includes("="))i=t;else{let s={position:0};n=ov("=",t,s),i=t.slice(s.position+1)}return n=n.trim(),i=i.trim(),n.length+i.length>tge?null:{name:n,value:sge(i),...Hd(r)}}function Hd(e,t={}){if(e.length===0)return t;ige(e[0]===";"),e=e.slice(1);let r="";e.includes(";")?(r=ov(";",e,{position:0}),e=e.slice(r.length)):(r=e,e="");let n="",i="";if(r.includes("=")){let o={position:0};n=ov("=",r,o),i=r.slice(o.position+1)}else n=r;if(n=n.trim(),i=i.trim(),i.length>rge)return Hd(e,t);let s=n.toLowerCase();if(s==="expires"){let o=new Date(i);t.expires=o}else if(s==="max-age"){let o=i.charCodeAt(0);if((o<48||o>57)&&i[0]!=="-"||!/^\d+$/.test(i))return Hd(e,t);let u=Number(i);t.maxAge=u}else if(s==="domain"){let o=i;o[0]==="."&&(o=o.slice(1)),o=o.toLowerCase(),t.domain=o}else if(s==="path"){let o="";i.length===0||i[0]!=="/"?o="/":o=i,t.path=o}else if(s==="secure")t.secure=!0;else if(s==="httponly")t.httpOnly=!0;else if(s==="samesite"){let o="Default",u=i.toLowerCase();u.includes("none")&&(o="None"),u.includes("strict")&&(o="Strict"),u.includes("lax")&&(o="Lax"),t.sameSite=o}else t.unparsed??=[],t.unparsed.push(`${n}=${i}`);return Hd(e,t)}PM.exports={parseSetCookie:oge,parseUnparsedAttributes:Hd}});var GM=he((V8e,jM)=>{"use strict";var{parseSetCookie:HM}=$M(),{stringify:age}=lF(),{webidl:rn}=ms(),{Headers:uge}=Ef(),av=rn.brandCheckMultiple([uge,globalThis.Headers].filter(Boolean));function cge(e){rn.argumentLengthCheck(arguments,1,"getCookies"),av(e);let t=e.get("cookie"),r={};if(!t)return r;for(let n of t.split(";")){let[i,...s]=n.split("=");r[i.trim()]=s.join("=")}return r}function lge(e,t,r){av(e);let n="deleteCookie";rn.argumentLengthCheck(arguments,2,n),t=rn.converters.DOMString(t,n,"name"),r=rn.converters.DeleteCookieAttributes(r),qM(e,{name:t,value:"",expires:new Date(0),...r})}function Age(e){rn.argumentLengthCheck(arguments,1,"getSetCookies"),av(e);let t=e.getSetCookie();return t?t.map(r=>HM(r)):[]}function pge(e){return e=rn.converters.DOMString(e),HM(e)}function qM(e,t){rn.argumentLengthCheck(arguments,2,"setCookie"),av(e),t=rn.converters.Cookie(t);let r=age(t);r&&e.append("set-cookie",r,!0)}rn.converters.DeleteCookieAttributes=rn.dictionaryConverter([{converter:rn.nullableConverter(rn.converters.DOMString),key:"path",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters.DOMString),key:"domain",defaultValue:()=>null}]);rn.converters.Cookie=rn.dictionaryConverter([{converter:rn.converters.DOMString,key:"name"},{converter:rn.converters.DOMString,key:"value"},{converter:rn.nullableConverter(e=>typeof e=="number"?rn.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters.DOMString),key:"path",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters.boolean),key:"secure",defaultValue:()=>null},{converter:rn.nullableConverter(rn.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:rn.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:rn.sequenceConverter(rn.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);jM.exports={getCookies:cge,deleteCookie:lge,getSetCookies:Age,setCookie:qM,parseCookie:pge}});var pv=he((J8e,VM)=>{"use strict";var{webidl:rr}=ms(),{kEnumerableProperty:po}=Tr(),{kConstruct:YM}=qn(),qd=class e extends Event{#e;constructor(t,r={}){if(t===YM){super(arguments[1],arguments[2]),rr.util.markAsUncloneable(this);return}let n="MessageEvent constructor";rr.argumentLengthCheck(arguments,1,n),t=rr.converters.DOMString(t,n,"type"),r=rr.converters.MessageEventInit(r,n,"eventInitDict"),super(t,r),this.#e=r,rr.util.markAsUncloneable(this)}get data(){return rr.brandCheck(this,e),this.#e.data}get origin(){return rr.brandCheck(this,e),this.#e.origin}get lastEventId(){return rr.brandCheck(this,e),this.#e.lastEventId}get source(){return rr.brandCheck(this,e),this.#e.source}get ports(){return rr.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(t,r=!1,n=!1,i=null,s="",o="",u=null,A=[]){return rr.brandCheck(this,e),rr.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new e(t,{bubbles:r,cancelable:n,data:i,origin:s,lastEventId:o,source:u,ports:A})}static createFastMessageEvent(t,r){let n=new e(YM,t,r);return n.#e=r,n.#e.data??=null,n.#e.origin??="",n.#e.lastEventId??="",n.#e.source??=null,n.#e.ports??=[],n}},{createFastMessageEvent:fge}=qd;delete qd.createFastMessageEvent;var cv=class e extends Event{#e;constructor(t,r={}){let n="CloseEvent constructor";rr.argumentLengthCheck(arguments,1,n),t=rr.converters.DOMString(t,n,"type"),r=rr.converters.CloseEventInit(r),super(t,r),this.#e=r,rr.util.markAsUncloneable(this)}get wasClean(){return rr.brandCheck(this,e),this.#e.wasClean}get code(){return rr.brandCheck(this,e),this.#e.code}get reason(){return rr.brandCheck(this,e),this.#e.reason}},Av=class e extends Event{#e;constructor(t,r){let n="ErrorEvent constructor";rr.argumentLengthCheck(arguments,1,n),super(t,r),rr.util.markAsUncloneable(this),t=rr.converters.DOMString(t,n,"type"),r=rr.converters.ErrorEventInit(r??{}),this.#e=r}get message(){return rr.brandCheck(this,e),this.#e.message}get filename(){return rr.brandCheck(this,e),this.#e.filename}get lineno(){return rr.brandCheck(this,e),this.#e.lineno}get colno(){return rr.brandCheck(this,e),this.#e.colno}get error(){return rr.brandCheck(this,e),this.#e.error}};Object.defineProperties(qd.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:po,origin:po,lastEventId:po,source:po,ports:po,initMessageEvent:po});Object.defineProperties(cv.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:po,code:po,wasClean:po});Object.defineProperties(Av.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:po,filename:po,lineno:po,colno:po,error:po});rr.converters.MessagePort=rr.interfaceConverter(rr.is.MessagePort,"MessagePort");rr.converters["sequence"]=rr.sequenceConverter(rr.converters.MessagePort);var AF=[{key:"bubbles",converter:rr.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:rr.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:rr.converters.boolean,defaultValue:()=>!1}];rr.converters.MessageEventInit=rr.dictionaryConverter([...AF,{key:"data",converter:rr.converters.any,defaultValue:()=>null},{key:"origin",converter:rr.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:rr.converters.DOMString,defaultValue:()=>""},{key:"source",converter:rr.nullableConverter(rr.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:rr.converters["sequence"],defaultValue:()=>new Array(0)}]);rr.converters.CloseEventInit=rr.dictionaryConverter([...AF,{key:"wasClean",converter:rr.converters.boolean,defaultValue:()=>!1},{key:"code",converter:rr.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:rr.converters.USVString,defaultValue:()=>""}]);rr.converters.ErrorEventInit=rr.dictionaryConverter([...AF,{key:"message",converter:rr.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:rr.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:rr.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:rr.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:rr.converters.any}]);VM.exports={MessageEvent:qd,CloseEvent:cv,ErrorEvent:Av,createFastMessageEvent:fge}});var RA=he((W8e,JM)=>{"use strict";var hge="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",dge={enumerable:!0,writable:!1,configurable:!1},gge={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},mge={SENT:1,RECEIVED:2},Ege={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},yge=65535,Cge={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},vge=Buffer.allocUnsafe(0),Ige={text:1,typedArray:2,arrayBuffer:3,blob:4};JM.exports={uid:hge,sentCloseFrameState:mge,staticPropertyDescriptors:dge,states:gge,opcodes:Ege,maxUnsigned16Bit:yge,parserStates:Cge,emptyBuffer:vge,sendHints:Ige}});var xf=he((z8e,XM)=>{"use strict";var{states:fv,opcodes:jd}=RA(),{isUtf8:Bge}=require("node:buffer"),{collectASequenceOfCodePointsFast:wge,removeHTTPWhitespace:WM}=Oo();function bge(e){return e===fv.CONNECTING}function xge(e){return e===fv.OPEN}function Qge(e){return e===fv.CLOSING}function Fge(e){return e===fv.CLOSED}function Dge(e,t,r=(i,s)=>new Event(i,s),n={}){let i=r(e,n);t.dispatchEvent(i)}function Sge(e,t,r){e.onMessage(t,r)}function Rge(e){return e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function kge(e){if(e.length===0)return!1;for(let t=0;t126||r===34||r===40||r===41||r===44||r===47||r===58||r===59||r===60||r===61||r===62||r===63||r===64||r===91||r===92||r===93||r===123||r===125)return!1}return!0}function Nge(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function zM(e){return e===jd.CLOSE||e===jd.PING||e===jd.PONG}function KM(e){return e===jd.CONTINUATION}function ZM(e){return e===jd.TEXT||e===jd.BINARY}function Tge(e){return ZM(e)||KM(e)||zM(e)}function _ge(e){let t={position:0},r=new Map;for(;t.position57)return!1}return!0}function Oge(e,t){let r;try{r=new URL(e,t)}catch(n){throw new DOMException(n,"SyntaxError")}if(r.protocol==="http:"?r.protocol="ws:":r.protocol==="https:"&&(r.protocol="wss:"),r.protocol!=="ws:"&&r.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(r.hash.length||r.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return r}function Mge(e,t){if(e!==null&&e!==1e3&&(e<3e3||e>4999))throw new DOMException("invalid code","InvalidAccessError");if(t!==null){let r=Buffer.byteLength(t);if(r>123)throw new DOMException(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError")}}var Lge=(()=>{if(typeof process.versions.icu=="string"){let e=new TextDecoder("utf-8",{fatal:!0});return e.decode.bind(e)}return function(e){if(Bge(e))return e.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();XM.exports={isConnecting:bge,isEstablished:xge,isClosing:Qge,isClosed:Fge,fireEvent:Dge,isValidSubprotocol:kge,isValidStatusCode:Nge,websocketMessageReceived:Sge,utf8Decode:Lge,isControlFrame:zM,isContinuationFrame:KM,isTextBinaryFrame:ZM,isValidOpcode:Tge,parseExtensions:_ge,isValidClientWindowBits:Uge,toArrayBuffer:Rge,getURLRecord:Oge,validateCloseCodeAndReason:Mge}});var Vm=he((K8e,r7)=>{"use strict";var{maxUnsigned16Bit:e7,opcodes:Pge}=RA(),gv=8*1024,pF,qm=null,Gd=gv;try{pF=require("node:crypto")}catch{pF={randomFillSync:function(t,r,n){for(let i=0;ie7?(o+=8,s=127):i>125&&(o+=2,s=126);let u=Buffer.allocUnsafe(i+o);u[0]=u[1]=0,u[0]|=128,u[0]=(u[0]&240)+t;u[o-4]=n[0],u[o-3]=n[1],u[o-2]=n[2],u[o-1]=n[3],u[1]=s,s===126?u.writeUInt16BE(i,2):s===127&&(u[2]=u[3]=0,u.writeUIntBE(i,4,6)),u[1]|=128;for(let A=0;Ae7?(s+=8,i=127):n>125&&(s+=2,i=126);let o=Buffer.allocUnsafeSlow(s);return o[0]=128|Pge.TEXT,o[1]=i|128,o[s-4]=r[0],o[s-3]=r[1],o[s-2]=r[2],o[s-1]=r[3],i===126?o.writeUInt16BE(n,2):i===127&&(o[2]=o[3]=0,o.writeUIntBE(n,4,6)),[o,t]}};r7.exports={WebsocketFrameSend:fF}});var Ev=he((Z8e,a7)=>{"use strict";var{uid:$ge,states:mv,sentCloseFrameState:hF,emptyBuffer:n7,opcodes:Hge}=RA(),{parseExtensions:qge,isClosed:jge,isClosing:Gge,isEstablished:s7,validateCloseCodeAndReason:Yge}=xf(),{channels:i7}=ol(),{makeRequest:Vge}=Ld(),{fetching:Jge}=Lm(),{Headers:Wge,getHeadersList:zge}=Ef(),{getDecodeSplit:Kge}=Ys(),{WebsocketFrameSend:Zge}=Vm(),Xge=require("node:assert"),dF;try{dF=require("node:crypto")}catch{}function e0e(e,t,r,n,i){let s=e;s.protocol=e.protocol==="ws:"?"http:":"https:";let o=Vge({urlList:[s],client:r,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(i.headers){let f=zge(new Wge(i.headers));o.headersList=f}let u=dF.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",u,!0),o.headersList.append("sec-websocket-version","13",!0);for(let f of t)o.headersList.append("sec-websocket-protocol",f,!0);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),Jge({request:o,useParallelQueue:!0,dispatcher:i.dispatcher,processResponse(f){if(f.type==="error"&&(n.readyState=mv.CLOSED),f.type==="error"||f.status!==101){Cl(n,1002,"Received network error or non-101 status code.");return}if(t.length!==0&&!f.headersList.get("Sec-WebSocket-Protocol")){Cl(n,1002,"Server did not respond with sent protocols.");return}if(f.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){Cl(n,1002,'Server did not set Upgrade header to "websocket".');return}if(f.headersList.get("Connection")?.toLowerCase()!=="upgrade"){Cl(n,1002,'Server did not set Connection header to "upgrade".');return}let c=f.headersList.get("Sec-WebSocket-Accept"),m=dF.createHash("sha1").update(u+$ge).digest("base64");if(c!==m){Cl(n,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let w=f.headersList.get("Sec-WebSocket-Extensions"),C;if(w!==null&&(C=qge(w),!C.has("permessage-deflate"))){Cl(n,1002,"Sec-WebSocket-Extensions header does not match.");return}let F=f.headersList.get("Sec-WebSocket-Protocol");if(F!==null&&!Kge("sec-websocket-protocol",o.headersList).includes(F)){Cl(n,1002,"Protocol was not set in the opening handshake.");return}f.socket.on("data",n.onSocketData),f.socket.on("close",n.onSocketClose),f.socket.on("error",n.onSocketError),i7.open.hasSubscribers&&i7.open.publish({address:f.socket.address(),protocol:F,extensions:w}),n.wasEverConnected=!0,n.onConnectionEstablished(f,C)}})}function o7(e,t,r,n=!1){if(t??=null,r??="",n&&Yge(t,r),!(jge(e.readyState)||Gge(e.readyState)))if(!s7(e.readyState))Cl(e),e.readyState=mv.CLOSING;else if(!e.closeState.has(hF.SENT)&&!e.closeState.has(hF.RECEIVED)){let i=new Zge;r.length!==0&&t===null&&(t=1e3),Xge(t===null||Number.isInteger(t)),t===null&&r.length===0?i.frameData=n7:t!==null&&r===null?(i.frameData=Buffer.allocUnsafe(2),i.frameData.writeUInt16BE(t,0)):t!==null&&r!==null?(i.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(r)),i.frameData.writeUInt16BE(t,0),i.frameData.write(r,2,"utf-8")):i.frameData=n7,e.socket.write(i.createFrame(Hge.CLOSE)),e.closeState.add(hF.SENT),e.readyState=mv.CLOSING}else e.readyState=mv.CLOSING}function Cl(e,t,r){s7(e.readyState)&&o7(e,t,r,!1),e.controller.abort(),e.socket?.destroyed===!1&&e.socket.destroy(),e.onFail(t,r)}a7.exports={establishWebSocketConnection:e0e,failWebsocketConnection:Cl,closeWebSocketConnection:o7}});var c7=he((X8e,u7)=>{"use strict";var{createInflateRaw:t0e,Z_DEFAULT_WINDOWBITS:r0e}=require("node:zlib"),{isValidClientWindowBits:n0e}=xf(),i0e=Buffer.from([0,0,255,255]),yv=Symbol("kBuffer"),Cv=Symbol("kLength"),gF=class{#e;#t={};constructor(t){this.#t.serverNoContextTakeover=t.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=t.get("server_max_window_bits")}decompress(t,r,n){if(!this.#e){let i=r0e;if(this.#t.serverMaxWindowBits){if(!n0e(this.#t.serverMaxWindowBits)){n(new Error("Invalid server_max_window_bits"));return}i=Number.parseInt(this.#t.serverMaxWindowBits)}this.#e=t0e({windowBits:i}),this.#e[yv]=[],this.#e[Cv]=0,this.#e.on("data",s=>{this.#e[yv].push(s),this.#e[Cv]+=s.length}),this.#e.on("error",s=>{this.#e=null,n(s)})}this.#e.write(t),r&&this.#e.write(i0e),this.#e.flush(()=>{let i=Buffer.concat(this.#e[yv],this.#e[Cv]);this.#e[yv].length=0,this.#e[Cv]=0,n(null,i)})}};u7.exports={PerMessageDeflate:gF}});var yF=he((eke,h7)=>{"use strict";var{Writable:s0e}=require("node:stream"),o0e=require("node:assert"),{parserStates:fo,opcodes:Yd,states:a0e,emptyBuffer:l7,sentCloseFrameState:Wm}=RA(),{channels:Iv}=ol(),{isValidStatusCode:u0e,isValidOpcode:c0e,websocketMessageReceived:A7,utf8Decode:l0e,isControlFrame:p7,isTextBinaryFrame:mF,isContinuationFrame:A0e}=xf(),{failWebsocketConnection:Ho}=Ev(),{WebsocketFrameSend:f7}=Vm(),{PerMessageDeflate:p0e}=c7(),EF=class extends s0e{#e=[];#t=0;#r=0;#n=!1;#s=fo.INFO;#i={};#u=[];#o;#a;constructor(t,r){super(),this.#a=t,this.#o=r??new Map,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new p0e(r))}_write(t,r,n){this.#e.push(t),this.#r+=t.length,this.#n=!0,this.run(n)}run(t){for(;this.#n;)if(this.#s===fo.INFO){if(this.#r<2)return t();let r=this.consume(2),n=(r[0]&128)!==0,i=r[0]&15,s=(r[1]&128)===128,o=!n&&i!==Yd.CONTINUATION,u=r[1]&127,A=r[0]&64,p=r[0]&32,f=r[0]&16;if(!c0e(i))return Ho(this.#a,1002,"Invalid opcode received"),t();if(s)return Ho(this.#a,1002,"Frame cannot be masked"),t();if(A!==0&&!this.#o.has("permessage-deflate")){Ho(this.#a,1002,"Expected RSV1 to be clear.");return}if(p!==0||f!==0){Ho(this.#a,1002,"RSV1, RSV2, RSV3 must be clear");return}if(o&&!mF(i)){Ho(this.#a,1002,"Invalid frame type was fragmented.");return}if(mF(i)&&this.#u.length>0){Ho(this.#a,1002,"Expected continuation frame");return}if(this.#i.fragmented&&o){Ho(this.#a,1002,"Fragmented frame exceeded 125 bytes.");return}if((u>125||o)&&p7(i)){Ho(this.#a,1002,"Control frame either too large or fragmented");return}if(A0e(i)&&this.#u.length===0&&!this.#i.compressed){Ho(this.#a,1002,"Unexpected continuation frame");return}u<=125?(this.#i.payloadLength=u,this.#s=fo.READ_DATA):u===126?this.#s=fo.PAYLOADLENGTH_16:u===127&&(this.#s=fo.PAYLOADLENGTH_64),mF(i)&&(this.#i.binaryType=i,this.#i.compressed=A!==0),this.#i.opcode=i,this.#i.masked=s,this.#i.fin=n,this.#i.fragmented=o}else if(this.#s===fo.PAYLOADLENGTH_16){if(this.#r<2)return t();let r=this.consume(2);this.#i.payloadLength=r.readUInt16BE(0),this.#s=fo.READ_DATA}else if(this.#s===fo.PAYLOADLENGTH_64){if(this.#r<8)return t();let r=this.consume(8),n=r.readUInt32BE(0);if(n>2**31-1){Ho(this.#a,1009,"Received payload length > 2^31 bytes.");return}let i=r.readUInt32BE(4);this.#i.payloadLength=(n<<8)+i,this.#s=fo.READ_DATA}else if(this.#s===fo.READ_DATA){if(this.#r{if(n){Ho(this.#a,1007,n.message);return}if(this.writeFragments(i),!this.#i.fin){this.#s=fo.INFO,this.#n=!0,this.run(t);return}A7(this.#a,this.#i.binaryType,this.consumeFragments()),this.#n=!0,this.#s=fo.INFO,this.run(t)}),this.#n=!1;break}}}consume(t){if(t>this.#r)throw new Error("Called consume() before buffers satiated.");if(t===0)return l7;this.#r-=t;let r=this.#e[0];if(r.length>t)return this.#e[0]=r.subarray(t,r.length),r.subarray(0,t);if(r.length===t)return this.#e.shift();{let n=0,i=Buffer.allocUnsafeSlow(t);for(;n!==t;){let s=this.#e[0],o=s.length;if(o+n===t){i.set(this.#e.shift(),n);break}else if(o+n>t){i.set(s.subarray(0,t-n),n),this.#e[0]=s.subarray(t-n);break}else i.set(this.#e.shift(),n),n+=o}return i}}writeFragments(t){this.#t+=t.length,this.#u.push(t)}consumeFragments(){let t=this.#u;if(t.length===1)return this.#t=0,t.shift();let r=0,n=Buffer.allocUnsafeSlow(this.#t);for(let i=0;i=2&&(r=t.readUInt16BE(0)),r!==void 0&&!u0e(r))return{code:1002,reason:"Invalid status code",error:!0};let n=t.subarray(2);n[0]===239&&n[1]===187&&n[2]===191&&(n=n.subarray(3));try{n=l0e(n)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:r,reason:n,error:!1}}parseControlFrame(t){let{opcode:r,payloadLength:n}=this.#i;if(r===Yd.CLOSE){if(n===1)return Ho(this.#a,1002,"Received close frame with a 1-byte body."),!1;if(this.#i.closeInfo=this.parseCloseBody(t),this.#i.closeInfo.error){let{code:i,reason:s}=this.#i.closeInfo;return Ho(this.#a,i,s),!1}if(!this.#a.closeState.has(Wm.SENT)&&!this.#a.closeState.has(Wm.RECEIVED)){let i=l7;this.#i.closeInfo.code&&(i=Buffer.allocUnsafe(2),i.writeUInt16BE(this.#i.closeInfo.code,0));let s=new f7(i);this.#a.socket.write(s.createFrame(Yd.CLOSE)),this.#a.closeState.add(Wm.SENT)}return this.#a.readyState=a0e.CLOSING,this.#a.closeState.add(Wm.RECEIVED),!1}else if(r===Yd.PING){if(!this.#a.closeState.has(Wm.RECEIVED)){let i=new f7(t);this.#a.socket.write(i.createFrame(Yd.PONG)),Iv.ping.hasSubscribers&&Iv.ping.publish({payload:t})}}else r===Yd.PONG&&Iv.pong.hasSubscribers&&Iv.pong.publish({payload:t});return!0}get closingInfo(){return this.#i.closeInfo}};h7.exports={ByteParser:EF}});var E7=he((tke,m7)=>{"use strict";var{WebsocketFrameSend:g7}=Vm(),{opcodes:d7,sendHints:Qf}=RA(),f0e=Bx(),wF=class{#e=new f0e;#t=!1;#r;constructor(t){this.#r=t}add(t,r,n){if(n!==Qf.blob){if(this.#t){let s={promise:null,callback:r,frame:vF(t,n)};this.#e.push(s)}else if(n===Qf.text){let{0:s,1:o}=g7.createFastTextFrame(t);this.#r.cork(),this.#r.write(s),this.#r.write(o,r),this.#r.uncork()}else this.#r.write(vF(t,n),r);return}let i={promise:t.arrayBuffer().then(s=>{i.promise=null,i.frame=vF(s,n)}),callback:r,frame:null};this.#e.push(i),this.#t||this.#n()}async#n(){this.#t=!0;let t=this.#e;for(;!t.isEmpty();){let r=t.shift();r.promise!==null&&await r.promise,this.#r.write(r.frame,r.callback),r.callback=r.frame=null}this.#t=!1}};function vF(e,t){return new g7(h0e(e,t)).createFrame(t===Qf.text?d7.TEXT:d7.BINARY)}function h0e(e,t){switch(t){case Qf.text:case Qf.typedArray:return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);case Qf.arrayBuffer:case Qf.blob:return new Uint8Array(e)}}m7.exports={SendQueue:wF}});var T7=he((rke,N7)=>{"use strict";var{webidl:gr}=ms(),{URLSerializer:d0e}=Oo(),{environmentSettingsObject:v7}=Ys(),{staticPropertyDescriptors:kA,states:oc,sentCloseFrameState:QF,sendHints:Bv,opcodes:w7}=RA(),{isConnecting:g0e,isEstablished:m0e,isClosing:E0e,isValidSubprotocol:y0e,fireEvent:zm,utf8Decode:C0e,toArrayBuffer:v0e,getURLRecord:I0e}=xf(),{establishWebSocketConnection:B0e,closeWebSocketConnection:w0e,failWebsocketConnection:x7}=Ev(),{ByteParser:b0e}=yF(),{kEnumerableProperty:Qa}=Tr(),{getGlobalDispatcher:x0e}=FC(),{types:k7}=require("node:util"),{ErrorEvent:Q0e,CloseEvent:Q7,createFastMessageEvent:F0e}=pv(),{SendQueue:D0e}=E7(),{channels:bv}=ol(),qo=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#r="";#n="";#s;#i={onConnectionEstablished:(t,r)=>this.#c(t,r),onFail:(t,r)=>this.#p(t,r),onMessage:(t,r)=>this.#l(t,r),onParserError:t=>x7(this.#i,null,t.message),onParserDrain:()=>this.#A(),onSocketData:t=>{this.#a.write(t)||this.#i.socket.pause()},onSocketError:t=>{this.#i.readyState=oc.CLOSING,bv.socketError.hasSubscribers&&bv.socketError.publish(t),this.#i.socket.destroy()},onSocketClose:()=>this.#f(),readyState:oc.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#u;#o;#a;constructor(t,r=[]){super(),gr.util.markAsUncloneable(this);let n="WebSocket constructor";gr.argumentLengthCheck(arguments,1,n);let i=gr.converters["DOMString or sequence or WebSocketInit"](r,n,"options");t=gr.converters.USVString(t),r=i.protocols;let s=v7.settingsObject.baseUrl,o=I0e(t,s);if(typeof r=="string"&&(r=[r]),r.length!==new Set(r.map(A=>A.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(r.length>0&&!r.every(A=>y0e(A)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#u=new URL(o.href);let u=v7.settingsObject;this.#i.controller=B0e(o,r,u,this.#i,i),this.#i.readyState=e.CONNECTING,this.#o="blob"}close(t=void 0,r=void 0){gr.brandCheck(this,e),t!==void 0&&(t=gr.converters["unsigned short"](t,"WebSocket.close","code",{clamp:!0})),r!==void 0&&(r=gr.converters.USVString(r)),t??=null,r??="",w0e(this.#i,t,r,!0)}send(t){gr.brandCheck(this,e);let r="WebSocket.send";if(gr.argumentLengthCheck(arguments,1,r),t=gr.converters.WebSocketSendData(t,r,"data"),g0e(this.#i.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!m0e(this.#i.readyState)||E0e(this.#i.readyState)))if(typeof t=="string"){let n=Buffer.from(t);this.#t+=n.byteLength,this.#s.add(n,()=>{this.#t-=n.byteLength},Bv.text)}else k7.isArrayBuffer(t)?(this.#t+=t.byteLength,this.#s.add(t,()=>{this.#t-=t.byteLength},Bv.arrayBuffer)):ArrayBuffer.isView(t)?(this.#t+=t.byteLength,this.#s.add(t,()=>{this.#t-=t.byteLength},Bv.typedArray)):gr.is.Blob(t)&&(this.#t+=t.size,this.#s.add(t,()=>{this.#t-=t.size},Bv.blob))}get readyState(){return gr.brandCheck(this,e),this.#i.readyState}get bufferedAmount(){return gr.brandCheck(this,e),this.#t}get url(){return gr.brandCheck(this,e),d0e(this.#u)}get extensions(){return gr.brandCheck(this,e),this.#n}get protocol(){return gr.brandCheck(this,e),this.#r}get onopen(){return gr.brandCheck(this,e),this.#e.open}set onopen(t){gr.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onerror(){return gr.brandCheck(this,e),this.#e.error}set onerror(t){gr.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}get onclose(){return gr.brandCheck(this,e),this.#e.close}set onclose(t){gr.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof t=="function"?(this.#e.close=t,this.addEventListener("close",t)):this.#e.close=null}get onmessage(){return gr.brandCheck(this,e),this.#e.message}set onmessage(t){gr.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get binaryType(){return gr.brandCheck(this,e),this.#o}set binaryType(t){gr.brandCheck(this,e),t!=="blob"&&t!=="arraybuffer"?this.#o="blob":this.#o=t}#c(t,r){this.#i.socket=t.socket;let n=new b0e(this.#i,r);n.on("drain",()=>this.#i.onParserDrain()),n.on("error",o=>this.#i.onParserError(o)),this.#a=n,this.#s=new D0e(t.socket),this.#i.readyState=oc.OPEN;let i=t.headersList.get("sec-websocket-extensions");i!==null&&(this.#n=i);let s=t.headersList.get("sec-websocket-protocol");s!==null&&(this.#r=s),zm("open",this)}#p(t,r){r&&zm("error",this,(n,i)=>new Q0e(n,i),{error:new Error(r),message:r}),this.#i.wasEverConnected||(this.#i.readyState=oc.CLOSED,zm("close",this,(n,i)=>new Q7(n,i),{wasClean:!1,code:t,reason:r}))}#l(t,r){if(this.#i.readyState!==oc.OPEN)return;let n;if(t===w7.TEXT)try{n=C0e(r)}catch{x7(this.#i,1007,"Received invalid UTF-8 in text frame.");return}else t===w7.BINARY&&(this.#o==="blob"?n=new Blob([r]):n=v0e(r));zm("message",this,F0e,{origin:this.#u.origin,data:n})}#A(){this.#i.socket.resume()}#f(){let t=this.#i.closeState.has(QF.SENT)&&this.#i.closeState.has(QF.RECEIVED),r=1005,n="",i=this.#a.closingInfo;i&&!i.error?(r=i.code??1005,n=i.reason):this.#i.closeState.has(QF.RECEIVED)||(r=1006),this.#i.readyState=oc.CLOSED,zm("close",this,(s,o)=>new Q7(s,o),{wasClean:t,code:r,reason:n}),bv.close.hasSubscribers&&bv.close.publish({websocket:this,code:r,reason:n})}};qo.CONNECTING=qo.prototype.CONNECTING=oc.CONNECTING;qo.OPEN=qo.prototype.OPEN=oc.OPEN;qo.CLOSING=qo.prototype.CLOSING=oc.CLOSING;qo.CLOSED=qo.prototype.CLOSED=oc.CLOSED;Object.defineProperties(qo.prototype,{CONNECTING:kA,OPEN:kA,CLOSING:kA,CLOSED:kA,url:Qa,readyState:Qa,bufferedAmount:Qa,onopen:Qa,onerror:Qa,onclose:Qa,close:Qa,onmessage:Qa,binaryType:Qa,send:Qa,extensions:Qa,protocol:Qa,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(qo,{CONNECTING:kA,OPEN:kA,CLOSING:kA,CLOSED:kA});gr.converters["sequence"]=gr.sequenceConverter(gr.converters.DOMString);gr.converters["DOMString or sequence"]=function(e,t,r){return gr.util.Type(e)===gr.util.Types.OBJECT&&Symbol.iterator in e?gr.converters["sequence"](e):gr.converters.DOMString(e,t,r)};gr.converters.WebSocketInit=gr.dictionaryConverter([{key:"protocols",converter:gr.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:gr.converters.any,defaultValue:()=>x0e()},{key:"headers",converter:gr.nullableConverter(gr.converters.HeadersInit)}]);gr.converters["DOMString or sequence or WebSocketInit"]=function(e){return gr.util.Type(e)===gr.util.Types.OBJECT&&!(Symbol.iterator in e)?gr.converters.WebSocketInit(e):{protocols:gr.converters["DOMString or sequence"](e)}};gr.converters.WebSocketSendData=function(e){return gr.util.Type(e)===gr.util.Types.OBJECT&&(gr.is.Blob(e)||ArrayBuffer.isView(e)||k7.isArrayBuffer(e))?e:gr.converters.USVString(e)};N7.exports={WebSocket:qo}});var UF=he((nke,M7)=>{"use strict";var{webidl:xv}=ms(),{validateCloseCodeAndReason:S0e}=xf(),{kConstruct:U7}=qn(),{kEnumerableProperty:O7}=Tr(),Ff=class e extends DOMException{#e;#t;constructor(t="",r=void 0){if(t=xv.converters.DOMString(t,"WebSocketError","message"),super(t,"WebSocketError"),r===U7)return;r!==null&&(r=xv.converters.WebSocketCloseInfo(r));let n=r.closeCode??null,i=r.reason??"";S0e(n,i),i.length!==0&&n===null&&(n=1e3),this.#e=n,this.#t=i}get closeCode(){return this.#e}get reason(){return this.#t}static createUnvalidatedWebSocketError(t,r,n){let i=new e(t,U7);return i.#e=r,i.#t=n,i}},{createUnvalidatedWebSocketError:R0e}=Ff;delete Ff.createUnvalidatedWebSocketError;Object.defineProperties(Ff.prototype,{closeCode:O7,reason:O7,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});xv.is.WebSocketError=xv.util.MakeTypeAssertion(Ff);M7.exports={WebSocketError:Ff,createUnvalidatedWebSocketError:R0e}});var G7=he((ike,j7)=>{"use strict";var{createDeferredPromise:MF,environmentSettingsObject:L7}=Ys(),{states:Vd,opcodes:Qv,sentCloseFrameState:Jd}=RA(),{webidl:Fs}=ms(),{getURLRecord:k0e,isValidSubprotocol:N0e,isEstablished:T0e,utf8Decode:_0e}=xf(),{establishWebSocketConnection:U0e,failWebsocketConnection:HF,closeWebSocketConnection:qF}=Ev(),{types:O0e}=require("node:util"),{channels:H7}=ol(),{WebsocketFrameSend:M0e}=Vm(),{ByteParser:L0e}=yF(),{WebSocketError:P0e,createUnvalidatedWebSocketError:$0e}=UF(),{utf8DecodeBytes:H0e}=Ys(),{kEnumerableProperty:Fv}=Tr(),q7=!1,Dv=class{#e;#t;#r;#n;#s;#i;#u=!1;#o={onConnectionEstablished:(t,r)=>this.#p(t,r),onFail:(t,r)=>{},onMessage:(t,r)=>this.#l(t,r),onParserError:t=>HF(this.#o,null,t.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:t=>{this.#a.write(t)||this.#o.socket.pause()},onSocketError:t=>{this.#o.readyState=Vd.CLOSING,H7.socketError.hasSubscribers&&H7.socketError.publish(t),this.#o.socket.destroy()},onSocketClose:()=>this.#A(),readyState:Vd.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;constructor(t,r=void 0){q7||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),q7=!0),Fs.argumentLengthCheck(arguments,1,"WebSocket"),t=Fs.converters.USVString(t),r!==null&&(r=Fs.converters.WebSocketStreamOptions(r));let n=L7.settingsObject.baseUrl,i=k0e(t,n),s=r.protocols;if(s.length!==new Set(s.map(u=>u.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(s.length>0&&!s.every(u=>N0e(u)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#e=i.toString(),this.#t=MF(),this.#r=MF(),r.signal!=null){let u=r.signal;if(u.aborted){this.#t.reject(u.reason),this.#r.reject(u.reason);return}u.addEventListener("abort",()=>{T0e(this.#o.readyState)||(HF(this.#o),this.#o.readyState=Vd.CLOSING,this.#t.reject(u.reason),this.#r.reject(u.reason),this.#u=!0)},{once:!0})}let o=L7.settingsObject;this.#o.controller=U0e(i,s,o,this.#o,r)}get url(){return this.#e.toString()}get opened(){return this.#t.promise}get closed(){return this.#r.promise}close(t=void 0){t!==null&&(t=Fs.converters.WebSocketCloseInfo(t));let r=t.closeCode??null,n=t.reason;qF(this.#o,r,n,!0)}#c(t){let r=MF(),n=null,i=null;if(ArrayBuffer.isView(t)||O0e.isArrayBuffer(t))n=new Uint8Array(ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t),i=Qv.BINARY;else{let s;try{s=Fs.converters.DOMString(t)}catch(o){r.reject(o);return}n=new TextEncoder().encode(s),i=Qv.TEXT}if(!this.#o.closeState.has(Jd.SENT)&&!this.#o.closeState.has(Jd.RECEIVED)){let s=new M0e(n);this.#o.socket.write(s.createFrame(i),()=>{r.resolve(void 0)})}return r}#p(t,r){this.#o.socket=t.socket;let n=new L0e(this.#o,r);n.on("drain",()=>this.#o.onParserDrain()),n.on("error",A=>this.#o.onParserError(A)),this.#a=n,this.#o.readyState=Vd.OPEN;let i=r??"",s=t.headersList.get("sec-websocket-protocol")??"",o=new ReadableStream({start:A=>{this.#s=A},pull(A){let p;for(;A.desiredSize>0&&(p=t.socket.read())!==null;)A.enqueue(p)},cancel:A=>this.#h(A)}),u=new WritableStream({write:A=>this.#c(A),close:()=>qF(this.#o,null,null),abort:A=>this.#f(A)});this.#n=o,this.#i=u,this.#t.resolve({extensions:i,protocol:s,readable:o,writable:u})}#l(t,r){if(this.#o.readyState!==Vd.OPEN)return;let n;if(t===Qv.TEXT)try{n=_0e(r)}catch{HF(this.#o,"Received invalid UTF-8 in text frame.");return}else t===Qv.BINARY&&(n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength));this.#s.enqueue(n)}#A(){let t=this.#o.closeState.has(Jd.SENT)&&this.#o.closeState.has(Jd.RECEIVED);if(this.#o.readyState=Vd.CLOSED,this.#u)return;this.#o.wasEverConnected||this.#t.reject(new P0e("Socket never opened"));let r=this.#a.closingInfo,n=r?.code??1005;!this.#o.closeState.has(Jd.SENT)&&!this.#o.closeState.has(Jd.RECEIVED)&&(n=1006);let i=r?.reason==null?"":H0e(Buffer.from(r.reason));if(t)this.#n.cancel().catch(()=>{}),this.#i.locked||this.#i.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#r.resolve({closeCode:n,reason:i});else{let s=$0e("unclean close",n,i);this.#s.error(s),this.#i.abort(s),this.#r.reject(s)}}#f(t){let r=null,n="";Fs.is.WebSocketError(t)&&(r=t.closeCode,n=t.reason),qF(this.#o,r,n)}#h(t){this.#f(t)}};Object.defineProperties(Dv.prototype,{url:Fv,opened:Fv,closed:Fv,close:Fv,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});Fs.converters.WebSocketStreamOptions=Fs.dictionaryConverter([{key:"protocols",converter:Fs.sequenceConverter(Fs.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:Fs.nullableConverter(Fs.converters.AbortSignal),defaultValue:()=>null}]);Fs.converters.WebSocketCloseInfo=Fs.dictionaryConverter([{key:"closeCode",converter:e=>Fs.converters["unsigned short"](e,{enforceRange:!0})},{key:"reason",converter:Fs.converters.USVString,defaultValue:()=>""}]);j7.exports={WebSocketStream:Dv}});var jF=he((ske,Y7)=>{"use strict";function q0e(e){return e.indexOf("\0")===-1}function j0e(e){if(e.length===0)return!1;for(let t=0;t57)return!1;return!0}function G0e(e){return new Promise(t=>{setTimeout(t,e).unref()})}Y7.exports={isValidLastEventId:q0e,isASCIINumber:j0e,delay:G0e}});var z7=he((oke,W7)=>{"use strict";var{Transform:Y0e}=require("node:stream"),{isASCIINumber:V7,isValidLastEventId:J7}=jF(),vl=[239,187,191],GF=10,Rv=13,V0e=58,J0e=32,YF=class extends Y0e{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(t={}){t.readableObjectMode=!0,super(t),this.state=t.eventSourceSettings||{},t.push&&(this.push=t.push)}_transform(t,r,n){if(t.length===0){n();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,t]):this.buffer=t,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===vl[0]){n();return}this.checkBOM=!1,n();return;case 2:if(this.buffer[0]===vl[0]&&this.buffer[1]===vl[1]){n();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===vl[0]&&this.buffer[1]===vl[1]&&this.buffer[2]===vl[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,n();return}this.checkBOM=!1;break;default:this.buffer[0]===vl[0]&&this.buffer[1]===vl[1]&&this.buffer[2]===vl[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos0&&(r[i]=s);break}}processEvent(t){t.retry&&V7(t.retry)&&(this.state.reconnectionTime=parseInt(t.retry,10)),t.id&&J7(t.id)&&(this.state.lastEventId=t.id),t.data!==void 0&&this.push({type:t.event||"message",options:{data:t.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};W7.exports={EventSourceStream:YF}});var iL=he((ake,nL)=>{"use strict";var{pipeline:W0e}=require("node:stream"),{fetching:z0e}=Lm(),{makeRequest:K0e}=Ld(),{webidl:Il}=ms(),{EventSourceStream:Z0e}=z7(),{parseMIMEType:X0e}=Oo(),{createFastMessageEvent:eme}=pv(),{isNetworkError:K7}=Om(),{delay:tme}=jF(),{kEnumerableProperty:Df}=Tr(),{environmentSettingsObject:Z7}=Ys(),X7=!1,eL=3e3,Zm=0,tL=1,Xm=2,rme="anonymous",nme="use-credentials",Wd=class e extends EventTarget{#e={open:null,error:null,message:null};#t;#r=!1;#n=Zm;#s=null;#i=null;#u;#o;constructor(t,r={}){super(),Il.util.markAsUncloneable(this);let n="EventSource constructor";Il.argumentLengthCheck(arguments,1,n),X7||(X7=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),t=Il.converters.USVString(t),r=Il.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#u=r.dispatcher,this.#o={lastEventId:"",reconnectionTime:eL};let i=Z7,s;try{s=new URL(t,i.settingsObject.baseUrl),this.#o.origin=s.origin}catch(A){throw new DOMException(A,"SyntaxError")}this.#t=s.href;let o=rme;r.withCredentials===!0&&(o=nme,this.#r=!0);let u={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};u.client=Z7.settingsObject,u.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],u.cache="no-store",u.initiator="other",u.urlList=[new URL(this.#t)],this.#s=K0e(u),this.#a()}get readyState(){return this.#n}get url(){return this.#t}get withCredentials(){return this.#r}#a(){if(this.#n===Xm)return;this.#n=Zm;let t={request:this.#s,dispatcher:this.#u},r=n=>{K7(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()};t.processResponseEndOfBody=r,t.processResponse=n=>{if(K7(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let i=n.headersList.get("content-type",!0),s=i!==null?X0e(i):"failure",o=s!=="failure"&&s.essence==="text/event-stream";if(n.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#n=tL,this.dispatchEvent(new Event("open")),this.#o.origin=n.urlList[n.urlList.length-1].origin;let u=new Z0e({eventSourceSettings:this.#o,push:A=>{this.dispatchEvent(eme(A.type,A.options))}});W0e(n.body.stream,u,A=>{A?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#i=z0e(t)}async#c(){this.#n!==Xm&&(this.#n=Zm,this.dispatchEvent(new Event("error")),await tme(this.#o.reconnectionTime),this.#n===Zm&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#a()))}close(){Il.brandCheck(this,e),this.#n!==Xm&&(this.#n=Xm,this.#i.abort(),this.#s=null)}get onopen(){return this.#e.open}set onopen(t){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(t){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(t){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}},rL={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Zm,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:tL,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Xm,writable:!1}};Object.defineProperties(Wd,rL);Object.defineProperties(Wd.prototype,rL);Object.defineProperties(Wd.prototype,{close:Df,onerror:Df,onmessage:Df,onopen:Df,readyState:Df,url:Df,withCredentials:Df});Il.converters.EventSourceInitDict=Il.dictionaryConverter([{key:"withCredentials",converter:Il.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Il.converters.any}]);nL.exports={EventSource:Wd,defaultReconnectionTime:eL}});var VF=he((uke,lr)=>{"use strict";var ime=Am(),sL=D0(),sme=Cd(),ome=$T(),ame=wd(),ume=$x(),cme=y_(),lme=b_(),oL=tn(),Nv=Tr(),{InvalidArgumentError:kv}=oL,zd=aU(),Ame=k0(),pme=BQ(),fme=HU(),hme=xQ(),dme=cQ(),gme=fC(),{getGlobalDispatcher:aL,setGlobalDispatcher:mme}=FC(),Eme=Qm(),yme=kQ();Object.assign(sL.prototype,zd);lr.exports.Dispatcher=sL;lr.exports.Client=ime;lr.exports.Pool=sme;lr.exports.BalancedPool=ome;lr.exports.Agent=ame;lr.exports.ProxyAgent=ume;lr.exports.EnvHttpProxyAgent=cme;lr.exports.RetryAgent=lme;lr.exports.RetryHandler=gme;lr.exports.DecoratorHandler=Eme;lr.exports.RedirectHandler=yme;lr.exports.interceptors={redirect:eO(),responseError:rO(),retry:iO(),dump:oO(),dns:uO(),cache:bO()};lr.exports.cacheStores={MemoryCacheStore:$Q()};var Cme=FO();lr.exports.cacheStores.SqliteCacheStore=Cme;lr.exports.buildConnector=Ame;lr.exports.errors=oL;lr.exports.util={parseHeaders:Nv.parseHeaders,headerNameToString:Nv.headerNameToString};function eE(e){return(t,r,n)=>{if(typeof r=="function"&&(n=r,r=null),!t||typeof t!="string"&&typeof t!="object"&&!(t instanceof URL))throw new kv("invalid url");if(r!=null&&typeof r!="object")throw new kv("invalid opts");if(r&&r.path!=null){if(typeof r.path!="string")throw new kv("invalid opts.path");let o=r.path;r.path.startsWith("/")||(o=`/${o}`),t=new URL(Nv.parseOrigin(t).origin+o)}else r||(r=typeof t=="object"?t:{}),t=Nv.parseURL(t);let{agent:i,dispatcher:s=aL()}=r;if(i)throw new kv("unsupported opts.agent. Did you mean opts.client?");return e.call(s,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},n)}}lr.exports.setGlobalDispatcher=mme;lr.exports.getGlobalDispatcher=aL;var vme=Lm().fetch;lr.exports.fetch=async function(t,r=void 0){try{return await vme(t,r)}catch(n){throw n&&typeof n=="object"&&Error.captureStackTrace(n),n}};lr.exports.Headers=Ef().Headers;lr.exports.Response=Om().Response;lr.exports.Request=Ld().Request;lr.exports.FormData=Hy().FormData;var{setGlobalOrigin:Ime,getGlobalOrigin:Bme}=f2();lr.exports.setGlobalOrigin=Ime;lr.exports.getGlobalOrigin=Bme;var{CacheStorage:wme}=kM(),{kConstruct:bme}=qn();lr.exports.caches=new wme(bme);var{deleteCookie:xme,getCookies:Qme,getSetCookies:Fme,setCookie:Dme,parseCookie:Sme}=GM();lr.exports.deleteCookie=xme;lr.exports.getCookies=Qme;lr.exports.getSetCookies=Fme;lr.exports.setCookie=Dme;lr.exports.parseCookie=Sme;var{parseMIMEType:Rme,serializeAMimeType:kme}=Oo();lr.exports.parseMIMEType=Rme;lr.exports.serializeAMimeType=kme;var{CloseEvent:Nme,ErrorEvent:Tme,MessageEvent:_me}=pv();lr.exports.WebSocket=T7().WebSocket;lr.exports.CloseEvent=Nme;lr.exports.ErrorEvent=Tme;lr.exports.MessageEvent=_me;lr.exports.WebSocketStream=G7().WebSocketStream;lr.exports.WebSocketError=UF().WebSocketError;lr.exports.request=eE(zd.request);lr.exports.stream=eE(zd.stream);lr.exports.pipeline=eE(zd.pipeline);lr.exports.connect=eE(zd.connect);lr.exports.upgrade=eE(zd.upgrade);lr.exports.MockClient=pme;lr.exports.MockPool=hme;lr.exports.MockAgent=fme;lr.exports.mockErrors=dme;var{EventSource:Ume}=iL();lr.exports.EventSource=Ume});var ac=he((cke,AL)=>{var Ome=require("path").relative;AL.exports=Hme;var Mme=process.cwd();function cL(e,t){for(var r=e.split(/[ ,]+/),n=String(t).toLowerCase(),i=0;i0}function jme(e){if(process.noDeprecation)return!0;var t=process.env.NO_DEPRECATION||"";return cL(t,e)}function Gme(e){if(process.traceDeprecation)return!0;var t=process.env.TRACE_DEPRECATION||"";return cL(t,e)}function Tv(e,t){var r=qme(process,"deprecation");if(!(!r&&this._ignored)){var n,i,s,o,u=0,A=!1,p=_v(),f=this._file;for(t?(o=t,s=Kd(p[1]),s.name=o.name,f=s[0]):(u=2,o=Kd(p[u]),s=o);u",r=e.getLineNumber(),n=e.getColumnNumber();e.isEval()&&(t=e.getEvalOrigin()+", "+t);var i=[t,r,n];return i.callSite=e,i.name=e.getFunctionName(),i}function uL(e){var t=e.callSite,r=e.name;r||(r="");var n=t.getThis(),i=n&&t.getTypeName();return i==="Object"&&(i=void 0),i==="Function"&&(i=n.name||i),i&&t.getMethodName()?i+"."+r:r}function Yme(e,t,r){var n=new Date().toUTCString(),i=n+" "+this._namespace+" deprecated "+e;if(this._traced){for(var s=0;s{"use strict";Uv.exports=eEe;Uv.exports.format=pL;Uv.exports.parse=fL;var Kme=/\B(?=(\d{3})+(?!\d))/g,Zme=/(?:\.0*|(\.[^0]+)0+)$/,NA={b:1,kb:1024,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)},Xme=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function eEe(e,t){return typeof e=="string"?fL(e):typeof e=="number"?pL(e,t):null}function pL(e,t){if(!Number.isFinite(e))return null;var r=Math.abs(e),n=t&&t.thousandsSeparator||"",i=t&&t.unitSeparator||"",s=t&&t.decimalPlaces!==void 0?t.decimalPlaces:2,o=!!(t&&t.fixedDecimals),u=t&&t.unit||"";(!u||!NA[u.toLowerCase()])&&(r>=NA.pb?u="PB":r>=NA.tb?u="TB":r>=NA.gb?u="GB":r>=NA.mb?u="MB":r>=NA.kb?u="KB":u="B");var A=e/NA[u.toLowerCase()],p=A.toFixed(s);return o||(p=p.replace(Zme,"$1")),n&&(p=p.split(".").map(function(f,c){return c===0?f.replace(Kme,n):f}).join(".")),p+i+u}function fL(e){if(typeof e=="number"&&!isNaN(e))return e;if(typeof e!="string")return null;var t=Xme.exec(e),r,n="b";return t?(r=parseFloat(t[1]),n=t[4].toLowerCase()):(r=parseInt(e,10),n="b"),isNaN(r)?null:Math.floor(NA[n]*r)}});var tE=he(WF=>{"use strict";var hL=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,tEe=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,dL=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,rEe=/\\([\u000b\u0020-\u00ff])/g,nEe=/([\\"])/g,gL=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;WF.format=iEe;WF.parse=sEe;function iEe(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var t=e.parameters,r=e.type;if(!r||!gL.test(r))throw new TypeError("invalid type");var n=r;if(t&&typeof t=="object")for(var i,s=Object.keys(t).sort(),o=0;o0&&!tEe.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(nEe,"\\$1")+'"'}function uEe(e){this.parameters=Object.create(null),this.type=e}});var rE=he((pke,mL)=>{"use strict";mL.exports=Object.setPrototypeOf||({__proto__:[]}instanceof Array?cEe:lEe);function cEe(e,t){return e.__proto__=t,e}function lEe(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(e,r)||(e[r]=t[r]);return e}});var EL=he((fke,AEe)=>{AEe.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}});var nE=he((hke,CL)=>{"use strict";var zF=EL();CL.exports=Au;Au.message=zF;Au.code=pEe(zF);Au.codes=fEe(zF);Au.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0};Au.empty={204:!0,205:!0,304:!0};Au.retry={502:!0,503:!0,504:!0};function pEe(e){var t={};return Object.keys(e).forEach(function(n){var i=e[n],s=Number(n);t[i.toLowerCase()]=s}),t}function fEe(e){return Object.keys(e).map(function(r){return Number(r)})}function hEe(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(Au.code,t))throw new Error('invalid status message: "'+e+'"');return Au.code[t]}function yL(e){if(!Object.prototype.hasOwnProperty.call(Au.message,e))throw new Error("invalid status code: "+e);return Au.message[e]}function Au(e){if(typeof e=="number")return yL(e);if(typeof e!="string")throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?hEe(e):yL(t)}});var vL=he((dke,KF)=>{typeof Object.create=="function"?KF.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:KF.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var IL=he((gke,XF)=>{try{if(ZF=require("util"),typeof ZF.inherits!="function")throw"";XF.exports=ZF.inherits}catch{XF.exports=vL()}var ZF});var wL=he((mke,BL)=>{"use strict";BL.exports=dEe;function dEe(e){return e.split(" ").map(function(t){return t.slice(0,1).toUpperCase()+t.slice(1)}).join("").replace(/[^ _0-9a-z]/gi,"")}});var Nf=he((Eke,Rf)=>{"use strict";var gEe=ac()("http-errors"),bL=rE(),Xd=nE(),eD=IL(),mEe=wL();Rf.exports=Ov;Rf.exports.HttpError=EEe();Rf.exports.isHttpError=CEe(Rf.exports.HttpError);IEe(Rf.exports,Xd.codes,Rf.exports.HttpError);function xL(e){return+(String(e).charAt(0)+"00")}function Ov(){for(var e,t,r=500,n={},i=0;i=600)&&gEe("non-error status code; use only 4xx or 5xx status codes"),(typeof r!="number"||!Xd.message[r]&&(r<400||r>=600))&&(r=500);var u=Ov[r]||Ov[xL(r)];e||(e=u?new u(t):new Error(t||Xd.message[r]),Error.captureStackTrace(e,Ov)),(!u||!(e instanceof u)||e.status!==r)&&(e.expose=r<500,e.status=e.statusCode=r);for(var A in n)A!=="status"&&A!=="statusCode"&&(e[A]=n[A]);return e}function EEe(){function e(){throw new TypeError("cannot construct abstract class")}return eD(e,Error),e}function yEe(e,t,r){var n=FL(t);function i(s){var o=s??Xd.message[r],u=new Error(o);return Error.captureStackTrace(u,i),bL(u,i.prototype),Object.defineProperty(u,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(u,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),u}return eD(i,e),QL(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!0,i}function CEe(e){return function(r){return!r||typeof r!="object"?!1:r instanceof e?!0:r instanceof Error&&typeof r.expose=="boolean"&&typeof r.statusCode=="number"&&r.status===r.statusCode}}function vEe(e,t,r){var n=FL(t);function i(s){var o=s??Xd.message[r],u=new Error(o);return Error.captureStackTrace(u,i),bL(u,i.prototype),Object.defineProperty(u,"message",{enumerable:!0,configurable:!0,value:o,writable:!0}),Object.defineProperty(u,"name",{enumerable:!1,configurable:!0,value:n,writable:!0}),u}return eD(i,e),QL(i,n),i.prototype.status=r,i.prototype.statusCode=r,i.prototype.expose=!1,i}function QL(e,t){var r=Object.getOwnPropertyDescriptor(e,"name");r&&r.configurable&&(r.value=t,Object.defineProperty(e,"name",r))}function IEe(e,t,r){t.forEach(function(i){var s,o=mEe(Xd.message[i]);switch(xL(i)){case 400:s=yEe(r,o,i);break;case 500:s=vEe(r,o,i);break}s&&(e[i]=s,e[o]=s)})}function FL(e){return e.substr(-5)!=="Error"?e+"Error":e}});var SL=he((yke,DL)=>{var iE=1e3,sE=iE*60,oE=sE*60,aE=oE*24,BEe=aE*365.25;DL.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return wEe(e);if(r==="number"&&isNaN(e)===!1)return t.long?xEe(e):bEe(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function wEe(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*BEe;case"days":case"day":case"d":return r*aE;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oE;case"minutes":case"minute":case"mins":case"min":case"m":return r*sE;case"seconds":case"second":case"secs":case"sec":case"s":return r*iE;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function bEe(e){return e>=aE?Math.round(e/aE)+"d":e>=oE?Math.round(e/oE)+"h":e>=sE?Math.round(e/sE)+"m":e>=iE?Math.round(e/iE)+"s":e+"ms"}function xEe(e){return Mv(e,aE,"day")||Mv(e,oE,"hour")||Mv(e,sE,"minute")||Mv(e,iE,"second")||e+" ms"}function Mv(e,t,r){if(!(e{wn=RL.exports=rD.debug=rD.default=rD;wn.coerce=REe;wn.disable=DEe;wn.enable=FEe;wn.enabled=SEe;wn.humanize=SL();wn.names=[];wn.skips=[];wn.formatters={};var tD;function QEe(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return wn.colors[Math.abs(t)%wn.colors.length]}function rD(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(tD||n);r.diff=i,r.prev=tD,r.curr=n,tD=n;for(var s=new Array(arguments.length),o=0;o{Ws=NL.exports=nD();Ws.log=TEe;Ws.formatArgs=NEe;Ws.save=_Ee;Ws.load=kL;Ws.useColors=kEe;Ws.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:UEe();Ws.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function kEe(){return typeof window<"u"&&window.process&&window.process.type==="renderer"?!0:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}Ws.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}};function NEe(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+Ws.humanize(this.diff),!!t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(s){s!=="%%"&&(n++,s==="%c"&&(i=n))}),e.splice(i,0,r)}}function TEe(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function _Ee(e){try{e==null?Ws.storage.removeItem("debug"):Ws.storage.debug=e}catch{}}function kL(){var e;try{e=Ws.storage.debug}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}Ws.enable(kL());function UEe(){try{return window.localStorage}catch{}}});var ML=he((os,OL)=>{var _L=require("tty"),uE=require("util");os=OL.exports=nD();os.init=qEe;os.log=PEe;os.formatArgs=LEe;os.save=$Ee;os.load=UL;os.useColors=MEe;os.colors=[6,2,3,4,5,1];os.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(i,s){return s.toUpperCase()}),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),e[r]=n,e},{});var eg=parseInt(process.env.DEBUG_FD,10)||2;eg!==1&&eg!==2&&uE.deprecate(function(){},"except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)")();var OEe=eg===1?process.stdout:eg===2?process.stderr:HEe(eg);function MEe(){return"colors"in os.inspectOpts?!!os.inspectOpts.colors:_L.isatty(eg)}os.formatters.o=function(e){return this.inspectOpts.colors=this.useColors,uE.inspect(e,this.inspectOpts).split(` +`).map(function(t){return t.trim()}).join(" ")};os.formatters.O=function(e){return this.inspectOpts.colors=this.useColors,uE.inspect(e,this.inspectOpts)};function LEe(e){var t=this.namespace,r=this.useColors;if(r){var n=this.color,i=" \x1B[3"+n+";1m"+t+" \x1B[0m";e[0]=i+e[0].split(` +`).join(` +`+i),e.push("\x1B[3"+n+"m+"+os.humanize(this.diff)+"\x1B[0m")}else e[0]=new Date().toUTCString()+" "+t+" "+e[0]}function PEe(){return OEe.write(uE.format.apply(uE,arguments)+` +`)}function $Ee(e){e==null?delete process.env.DEBUG:process.env.DEBUG=e}function UL(){return process.env.DEBUG}function HEe(e){var t,r=process.binding("tty_wrap");switch(r.guessHandleType(e)){case"TTY":t=new _L.WriteStream(e),t._type="tty",t._handle&&t._handle.unref&&t._handle.unref();break;case"FILE":var n=require("fs");t=new n.SyncWriteStream(e,{autoClose:!1}),t._type="fs";break;case"PIPE":case"TCP":var i=require("net");t=new i.Socket({fd:e,readable:!1,writable:!0}),t.readable=!1,t.read=null,t._type="pipe",t._handle&&t._handle.unref&&t._handle.unref();break;default:throw new Error("Implement me. Unknown stream file type!")}return t.fd=e,t._isStdio=!0,t}function qEe(e){e.inspectOpts={};for(var t=Object.keys(os.inspectOpts),r=0;r{typeof process<"u"&&process.type==="renderer"?iD.exports=TL():iD.exports=ML()});var sD=he((vke,PL)=>{"use strict";var jEe=require("events").EventEmitter,GEe=require("fs").ReadStream,LL=require("stream"),Tf=require("zlib");PL.exports=YEe;function YEe(e,t){return ZEe(e)?VEe(e):XEe(e)?WEe(e):zEe(e)&&e.destroy(),KEe(e)&&t&&(e.removeAllListeners("error"),e.addListener("error",e1e)),e}function VEe(e){e.destroy(),typeof e.close=="function"&&e.on("open",r1e)}function JEe(e){if(e._hadError===!0){var t=e._binding===null?"_binding":"_handle";e[t]={close:function(){this[t]=null}}}e.close()}function WEe(e){typeof e.destroy=="function"?e._binding?(e.destroy(),e._processing?(e._needDrain=!0,e.once("drain",t1e)):e._binding.clear()):e._destroy&&e._destroy!==LL.Transform.prototype._destroy?e.destroy():e._destroy&&typeof e.close=="function"?(e.destroyed=!0,e.close()):e.destroy():typeof e.close=="function"&&JEe(e)}function zEe(e){return e instanceof LL&&typeof e.destroy=="function"}function KEe(e){return e instanceof jEe}function ZEe(e){return e instanceof GEe}function XEe(e){return e instanceof Tf.Gzip||e instanceof Tf.Gunzip||e instanceof Tf.Deflate||e instanceof Tf.DeflateRaw||e instanceof Tf.Inflate||e instanceof Tf.InflateRaw||e instanceof Tf.Unzip}function e1e(){}function t1e(){this._binding.clear()}function r1e(){typeof this.fd=="number"&&this.close()}});var Of=he((Ike,$L)=>{"use strict";var Lv=require("buffer"),tg=Lv.Buffer,Da={},Sa;for(Sa in Lv)Lv.hasOwnProperty(Sa)&&(Sa==="SlowBuffer"||Sa==="Buffer"||(Da[Sa]=Lv[Sa]));var rg=Da.Buffer={};for(Sa in tg)tg.hasOwnProperty(Sa)&&(Sa==="allocUnsafe"||Sa==="allocUnsafeSlow"||(rg[Sa]=tg[Sa]));Da.Buffer.prototype=tg.prototype;(!rg.from||rg.from===Uint8Array.from)&&(rg.from=function(e,t,r){if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&typeof e.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return tg(e,t,r)});rg.alloc||(rg.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=tg(e);return!t||t.length===0?n.fill(0):typeof r=="string"?n.fill(t,r):n.fill(t),n});if(!Da.kStringMaxLength)try{Da.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}Da.constants||(Da.constants={MAX_LENGTH:Da.kMaxLength},Da.kStringMaxLength&&(Da.constants.MAX_STRING_LENGTH=Da.kStringMaxLength));$L.exports=Da});var qL=he(uD=>{"use strict";var HL="\uFEFF";uD.PrependBOM=oD;function oD(e,t){this.encoder=e,this.addBOM=!0}oD.prototype.write=function(e){return this.addBOM&&(e=HL+e,this.addBOM=!1),this.encoder.write(e)};oD.prototype.end=function(){return this.encoder.end()};uD.StripBOM=aD;function aD(e,t){this.decoder=e,this.pass=!1,this.options=t||{}}aD.prototype.write=function(e){var t=this.decoder.write(e);return this.pass||!t||(t[0]===HL&&(t=t.slice(1),typeof this.options.stripBOM=="function"&&this.options.stripBOM()),this.pass=!0),t};aD.prototype.end=function(){return this.decoder.end()}});var YL=he((wke,GL)=>{"use strict";var cE=Of().Buffer;GL.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:pD};function pD(e,t){this.enc=e.encodingName,this.bomAware=e.bomAware,this.enc==="base64"?this.encoder=hD:this.enc==="cesu8"&&(this.enc="utf8",this.encoder=dD,cE.from("eda0bdedb2a9","hex").toString()!=="\u{1F4A9}"&&(this.decoder=gD,this.defaultCharUnicode=t.defaultCharUnicode))}pD.prototype.encoder=fD;pD.prototype.decoder=jL;var Pv=require("string_decoder").StringDecoder;Pv.prototype.end||(Pv.prototype.end=function(){});function jL(e,t){Pv.call(this,t.enc)}jL.prototype=Pv.prototype;function fD(e,t){this.enc=t.enc}fD.prototype.write=function(e){return cE.from(e,this.enc)};fD.prototype.end=function(){};function hD(e,t){this.prevStr=""}hD.prototype.write=function(e){e=this.prevStr+e;var t=e.length-e.length%4;return this.prevStr=e.slice(t),e=e.slice(0,t),cE.from(e,"base64")};hD.prototype.end=function(){return cE.from(this.prevStr,"base64")};function dD(e,t){}dD.prototype.write=function(e){for(var t=cE.alloc(e.length*3),r=0,n=0;n>>6),t[r++]=128+(i&63)):(t[r++]=224+(i>>>12),t[r++]=128+(i>>>6&63),t[r++]=128+(i&63))}return t.slice(0,r)};dD.prototype.end=function(){};function gD(e,t){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=t.defaultCharUnicode}gD.prototype.write=function(e){for(var t=this.acc,r=this.contBytes,n=this.accBytes,i="",s=0;s0&&(i+=this.defaultCharUnicode,r=0),o<128?i+=String.fromCharCode(o):o<224?(t=o&31,r=1,n=1):o<240?(t=o&15,r=2,n=1):i+=this.defaultCharUnicode):r>0?(t=t<<6|o&63,r--,n++,r===0&&(n===2&&t<128&&t>0?i+=this.defaultCharUnicode:n===3&&t<2048?i+=this.defaultCharUnicode:i+=String.fromCharCode(t))):i+=this.defaultCharUnicode}return this.acc=t,this.contBytes=r,this.accBytes=n,i};gD.prototype.end=function(){var e=0;return this.contBytes>0&&(e+=this.defaultCharUnicode),e}});var JL=he(nS=>{"use strict";var $v=Of().Buffer;nS.utf16be=Hv;function Hv(){}Hv.prototype.encoder=mD;Hv.prototype.decoder=vD;Hv.prototype.bomAware=!0;function mD(){}mD.prototype.write=function(e){for(var t=$v.from(e,"ucs2"),r=0;r=2)if(e[0]==254&&e[1]==255)r="utf-16be";else if(e[0]==255&&e[1]==254)r="utf-16le";else{for(var n=0,i=0,s=Math.min(e.length-e.length%2,64),o=0;on?r="utf-16be":i{"use strict";var uc=Of().Buffer;Yv.utf7=jv;Yv.unicode11utf7="utf7";function jv(e,t){this.iconv=t}jv.prototype.encoder=sS;jv.prototype.decoder=oS;jv.prototype.bomAware=!0;var n1e=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function sS(e,t){this.iconv=t.iconv}sS.prototype.write=function(e){return uc.from(e.replace(n1e,function(t){return"+"+(t==="+"?"":this.iconv.encode(t,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};sS.prototype.end=function(){};function oS(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var i1e=/[A-Za-z0-9\/+]/,aS=[];for(lE=0;lE<256;lE++)aS[lE]=i1e.test(String.fromCharCode(lE));var lE,s1e=43,Mf=45,iS=38;oS.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,i=this.base64Accum,s=0;s0&&(e=this.iconv.decode(uc.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e};Yv.utf7imap=Gv;function Gv(e,t){this.iconv=t}Gv.prototype.encoder=uS;Gv.prototype.decoder=cS;Gv.prototype.bomAware=!0;function uS(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=uc.alloc(6),this.base64AccumIdx=0}uS.prototype.write=function(e){for(var t=this.inBase64,r=this.base64Accum,n=this.base64AccumIdx,i=uc.alloc(e.length*5+10),s=0,o=0;o0&&(s+=i.write(r.slice(0,n).toString("base64").replace(/\//g,",").replace(/=+$/,""),s),n=0),i[s++]=Mf,t=!1),t||(i[s++]=u,u===iS&&(i[s++]=Mf))):(t||(i[s++]=iS,t=!0),t&&(r[n++]=u>>8,r[n++]=u&255,n==r.length&&(s+=i.write(r.toString("base64").replace(/\//g,","),s),n=0)))}return this.inBase64=t,this.base64AccumIdx=n,i.slice(0,s)};uS.prototype.end=function(){var e=uc.alloc(10),t=0;return this.inBase64&&(this.base64AccumIdx>0&&(t+=e.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),t),this.base64AccumIdx=0),e[t++]=Mf,this.inBase64=!1),e.slice(0,t)};function cS(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var WL=aS.slice();WL[44]=!0;cS.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,i=this.base64Accum,s=0;s0&&(e=this.iconv.decode(uc.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e}});var ZL=he(KL=>{"use strict";var Vv=Of().Buffer;KL._sbcs=lS;function lS(e,t){if(!e)throw new Error("SBCS codec is called without the data.");if(!e.chars||e.chars.length!==128&&e.chars.length!==256)throw new Error("Encoding '"+e.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(e.chars.length===128){for(var r="",n=0;n<128;n++)r+=String.fromCharCode(n);e.chars=r+e.chars}this.decodeBuf=Vv.from(e.chars,"ucs2");for(var i=Vv.alloc(65536,t.defaultCharSingleByte.charCodeAt(0)),n=0;n{"use strict";XL.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"},mik:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}});var WP=he((Dke,JP)=>{"use strict";JP.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"},maccyrillic:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},macgreek:{type:"_sbcs",chars:"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"},maciceland:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macroman:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macromania:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macthai:{type:"_sbcs",chars:"\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"},macturkish:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macukraine:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},koi8r:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8u:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8ru:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8t:{type:"_sbcs",chars:"\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},armscii8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"},rk1048:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},tcvn:{type:"_sbcs",chars:`\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b +\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b +\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var e$=he(XP=>{"use strict";var ig=Of().Buffer;XP._dbcs=Bl;var ho=-1,ZP=-2,Ra=-10,cc=-1e3,ng=new Array(256),AE=-1;for(Jv=0;Jv<256;Jv++)ng[Jv]=ho;var Jv;function Bl(e,t){if(this.encodingName=e.encodingName,!e)throw new Error("DBCS codec is called without the data.");if(!e.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=e.table();this.decodeTables=[],this.decodeTables[0]=ng.slice(0),this.decodeTableSeq=[];for(var n=0;n0;e>>=8)t.push(e&255);t.length==0&&t.push(0);for(var r=this.decodeTables[0],n=t.length-1;n>0;n--){var i=r[t[n]];if(i==ho)r[t[n]]=cc-this.decodeTables.length,this.decodeTables.push(r=ng.slice(0));else if(i<=cc)r=this.decodeTables[cc-i];else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+e.toString(16))}return r};Bl.prototype._addDecodeChunk=function(e){var t=parseInt(e[0],16),r=this._getDecodeTrieNode(t);t=t&255;for(var n=1;n255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+e[0]+": too long"+t)};Bl.prototype._getEncodeBucket=function(e){var t=e>>8;return this.encodeTable[t]===void 0&&(this.encodeTable[t]=ng.slice(0)),this.encodeTable[t]};Bl.prototype._setEncodeChar=function(e,t){var r=this._getEncodeBucket(e),n=e&255;r[n]<=Ra?this.encodeTableSeq[Ra-r[n]][AE]=t:r[n]==ho&&(r[n]=t)};Bl.prototype._setEncodeSequence=function(e,t){var r=e[0],n=this._getEncodeBucket(r),i=r&255,s;n[i]<=Ra?s=this.encodeTableSeq[Ra-n[i]]:(s={},n[i]!==ho&&(s[AE]=n[i]),n[i]=Ra-this.encodeTableSeq.length,this.encodeTableSeq.push(s));for(var o=1;o=0?this._setEncodeChar(s,o):s<=cc?this._fillEncodeTable(cc-s,o<<8,r):s<=Ra&&this._setEncodeSequence(this.decodeTableSeq[Ra-s],o))}};function Wv(e,t){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=t.encodeTable,this.encodeTableSeq=t.encodeTableSeq,this.defaultCharSingleByte=t.defCharSB,this.gb18030=t.gb18030}Wv.prototype.write=function(e){for(var t=ig.alloc(e.length*(this.gb18030?4:3)),r=this.leadSurrogate,n=this.seqObj,i=-1,s=0,o=0;;){if(i===-1){if(s==e.length)break;var u=e.charCodeAt(s++)}else{var u=i;i=-1}if(55296<=u&&u<57344)if(u<56320)if(r===-1){r=u;continue}else r=u,u=ho;else r!==-1?(u=65536+(r-55296)*1024+(u-56320),r=-1):u=ho;else r!==-1&&(i=u,u=ho,r=-1);var A=ho;if(n!==void 0&&u!=ho){var p=n[u];if(typeof p=="object"){n=p;continue}else typeof p=="number"?A=p:p==null&&(p=n[AE],p!==void 0&&(A=p,i=u));n=void 0}else if(u>=0){var f=this.encodeTable[u>>8];if(f!==void 0&&(A=f[u&255]),A<=Ra){n=this.encodeTableSeq[Ra-A];continue}if(A==ho&&this.gb18030){var c=hS(this.gb18030.uChars,u);if(c!=-1){var A=this.gb18030.gbChars[c]+(u-this.gb18030.uChars[c]);t[o++]=129+Math.floor(A/12600),A=A%12600,t[o++]=48+Math.floor(A/1260),A=A%1260,t[o++]=129+Math.floor(A/10),A=A%10,t[o++]=48+A;continue}}}A===ho&&(A=this.defaultCharSingleByte),A<256?t[o++]=A:A<65536?(t[o++]=A>>8,t[o++]=A&255):(t[o++]=A>>16,t[o++]=A>>8&255,t[o++]=A&255)}return this.seqObj=n,this.leadSurrogate=r,t.slice(0,o)};Wv.prototype.end=function(){if(!(this.leadSurrogate===-1&&this.seqObj===void 0)){var e=ig.alloc(10),t=0;if(this.seqObj){var r=this.seqObj[AE];r!==void 0&&(r<256?e[t++]=r:(e[t++]=r>>8,e[t++]=r&255)),this.seqObj=void 0}return this.leadSurrogate!==-1&&(e[t++]=this.defaultCharSingleByte,this.leadSurrogate=-1),e.slice(0,t)}};Wv.prototype.findIdx=hS;function fS(e,t){this.nodeIdx=0,this.prevBuf=ig.alloc(0),this.decodeTables=t.decodeTables,this.decodeTableSeq=t.decodeTableSeq,this.defaultCharUnicode=t.defaultCharUnicode,this.gb18030=t.gb18030}fS.prototype.write=function(e){var t=ig.alloc(e.length*2),r=this.nodeIdx,n=this.prevBuf,i=this.prevBuf.length,s=-this.prevBuf.length,o;i>0&&(n=ig.concat([n,e.slice(0,10)]));for(var u=0,A=0;u=0?e[u]:n[u+i],o=this.decodeTables[r][p];if(!(o>=0))if(o===ho)u=s,o=this.defaultCharUnicode.charCodeAt(0);else if(o===ZP){var f=s>=0?e.slice(s,u+1):n.slice(s+i,u+1+i),c=(f[0]-129)*12600+(f[1]-48)*1260+(f[2]-129)*10+(f[3]-48),m=hS(this.gb18030.gbChars,c);o=this.gb18030.uChars[m]+c-this.gb18030.gbChars[m]}else if(o<=cc){r=cc-o;continue}else if(o<=Ra){for(var w=this.decodeTableSeq[Ra-o],C=0;C>8;o=w[w.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+o+" at "+r+"/"+p);if(o>65535){o-=65536;var F=55296+Math.floor(o/1024);t[A++]=F&255,t[A++]=F>>8,o=56320+o%1024}t[A++]=o&255,t[A++]=o>>8,r=0,s=u+1}return this.nodeIdx=r,this.prevBuf=s>=0?e.slice(s):n.slice(s+i),t.slice(0,A).toString("ucs2")};fS.prototype.end=function(){for(var e="";this.prevBuf.length>0;){e+=this.defaultCharUnicode;var t=this.prevBuf.slice(1);this.prevBuf=ig.alloc(0),this.nodeIdx=0,t.length>0&&(e+=this.write(t))}return this.nodeIdx=0,e};function hS(e,t){if(e[0]>t)return-1;for(var r=0,n=e.length;r{o1e.exports=[["0","\0",128],["a1","\uFF61",62],["8140","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7"],["8180","\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["81b8","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["81c8","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["81da","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["81f0","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["81fc","\u25EF"],["824f","\uFF10",9],["8260","\uFF21",25],["8281","\uFF41",25],["829f","\u3041",82],["8340","\u30A1",62],["8380","\u30E0",22],["839f","\u0391",16,"\u03A3",6],["83bf","\u03B1",16,"\u03C3",6],["8440","\u0410",5,"\u0401\u0416",25],["8470","\u0430",5,"\u0451\u0436",7],["8480","\u043E",17],["849f","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["8740","\u2460",19,"\u2160",9],["875f","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["877e","\u337B"],["8780","\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["889f","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["8940","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],["8980","\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["8a40","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],["8a80","\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["8b40","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],["8b80","\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["8c40","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],["8c80","\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["8d40","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],["8d80","\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["8e40","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],["8e80","\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["8f40","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],["8f80","\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["9040","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],["9080","\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["9140","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],["9180","\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["9240","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],["9280","\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["9340","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],["9380","\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["9440","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],["9480","\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["9540","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],["9580","\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["9640","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],["9680","\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["9740","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],["9780","\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["9840","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["989f","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["9940","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],["9980","\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["9a40","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],["9a80","\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["9b40","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],["9b80","\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["9c40","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],["9c80","\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["9d40","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],["9d80","\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["9e40","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],["9e80","\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["9f40","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],["9f80","\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["e040","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],["e080","\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e140","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],["e180","\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e240","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],["e280","\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e340","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],["e380","\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e440","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],["e480","\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e540","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],["e580","\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["e640","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],["e680","\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["e740","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],["e780","\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["e840","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],["e880","\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["e940","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],["e980","\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["ea40","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],["ea80","\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],["ed40","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],["ed80","\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["ee40","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],["ee80","\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["eeef","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["f040","\uE000",62],["f080","\uE03F",124],["f140","\uE0BC",62],["f180","\uE0FB",124],["f240","\uE178",62],["f280","\uE1B7",124],["f340","\uE234",62],["f380","\uE273",124],["f440","\uE2F0",62],["f480","\uE32F",124],["f540","\uE3AC",62],["f580","\uE3EB",124],["f640","\uE468",62],["f680","\uE4A7",124],["f740","\uE524",62],["f780","\uE563",124],["f840","\uE5E0",62],["f880","\uE61F",124],["f940","\uE69C"],["fa40","\u2170",9,"\u2160",9,"\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],["fa80","\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],["fb40","\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],["fb80","\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],["fc40","\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]]});var r$=he((kke,a1e)=>{a1e.exports=[["0","\0",127],["8ea1","\uFF61",62],["a1a1","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],["a2a1","\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["a2ba","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["a2ca","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["a2dc","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["a2f2","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["a2fe","\u25EF"],["a3b0","\uFF10",9],["a3c1","\uFF21",25],["a3e1","\uFF41",25],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a8a1","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["ada1","\u2460",19,"\u2160",9],["adc0","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["addf","\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["b0a1","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["b1a1","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],["b2a1","\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["b3a1","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],["b4a1","\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["b5a1","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],["b6a1","\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["b7a1","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],["b8a1","\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["b9a1","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],["baa1","\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["bba1","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],["bca1","\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["bda1","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],["bea1","\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["bfa1","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],["c0a1","\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["c1a1","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],["c2a1","\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["c3a1","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],["c4a1","\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["c5a1","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],["c6a1","\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["c7a1","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],["c8a1","\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["c9a1","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],["caa1","\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["cba1","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],["cca1","\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["cda1","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],["cea1","\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["cfa1","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["d0a1","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["d1a1","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],["d2a1","\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["d3a1","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],["d4a1","\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["d5a1","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],["d6a1","\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["d7a1","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],["d8a1","\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["d9a1","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],["daa1","\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["dba1","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],["dca1","\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["dda1","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],["dea1","\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["dfa1","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],["e0a1","\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e1a1","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],["e2a1","\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e3a1","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],["e4a1","\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e5a1","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],["e6a1","\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e7a1","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],["e8a1","\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e9a1","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],["eaa1","\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["eba1","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],["eca1","\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["eda1","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],["eea1","\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["efa1","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],["f0a1","\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["f1a1","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],["f2a1","\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["f3a1","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],["f4a1","\u582F\u69C7\u9059\u7464\u51DC\u7199"],["f9a1","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],["faa1","\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["fba1","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],["fca1","\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["fcf1","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["8fa2af","\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],["8fa2c2","\xA1\xA6\xBF"],["8fa2eb","\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],["8fa6e1","\u0386\u0388\u0389\u038A\u03AA"],["8fa6e7","\u038C"],["8fa6e9","\u038E\u03AB"],["8fa6ec","\u038F"],["8fa6f1","\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],["8fa7c2","\u0402",10,"\u040E\u040F"],["8fa7f2","\u0452",10,"\u045E\u045F"],["8fa9a1","\xC6\u0110"],["8fa9a4","\u0126"],["8fa9a6","\u0132"],["8fa9a8","\u0141\u013F"],["8fa9ab","\u014A\xD8\u0152"],["8fa9af","\u0166\xDE"],["8fa9c1","\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],["8faaa1","\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],["8faaba","\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],["8faba1","\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],["8fabbd","\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],["8fabc5","\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],["8fb0a1","\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],["8fb1a1","\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],["8fb2a1","\u5092\u5093\u5094\u5096\u509B\u509C\u509E",4,"\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],["8fb3a1","\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],["8fb4a1","\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],["8fb5a1","\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],["8fb6a1","\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D",5,"\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4",4,"\u56F1\u56EB\u56ED"],["8fb7a1","\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D",4,"\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],["8fb8a1","\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],["8fb9a1","\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],["8fbaa1","\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6",4,"\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],["8fbba1","\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],["8fbca1","\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A",4,"\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],["8fbda1","\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0",4,"\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],["8fbea1","\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110",4,"\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],["8fbfa1","\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],["8fc0a1","\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],["8fc1a1","\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],["8fc2a1","\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],["8fc3a1","\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E",4,"\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],["8fc4a1","\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],["8fc5a1","\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],["8fc6a1","\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],["8fc7a1","\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],["8fc8a1","\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],["8fc9a1","\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094",4,"\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103",4,"\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],["8fcaa1","\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],["8fcba1","\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],["8fcca1","\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428",9,"\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],["8fcda1","\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579",5,"\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],["8fcea1","\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2",6,"\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],["8fcfa1","\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],["8fd0a1","\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],["8fd1a1","\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],["8fd2a1","\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59",5],["8fd3a1","\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],["8fd4a1","\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2",4,"\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],["8fd5a1","\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],["8fd6a1","\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],["8fd7a1","\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],["8fd8a1","\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],["8fd9a1","\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F",4,"\u8556\u8559\u855C",6,"\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],["8fdaa1","\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660",4,"\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],["8fdba1","\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783",6,"\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],["8fdca1","\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA",4,"\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],["8fdda1","\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4",4,"\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],["8fdea1","\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42",4,"\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],["8fdfa1","\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],["8fe0a1","\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],["8fe1a1","\u8F43\u8F47\u8F4F\u8F51",4,"\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],["8fe2a1","\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],["8fe3a1","\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC",5,"\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275",4,"\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],["8fe4a1","\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF",4,"\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],["8fe5a1","\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9",4,"\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],["8fe6a1","\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],["8fe7a1","\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],["8fe8a1","\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931",4,"\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],["8fe9a1","\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF",4],["8feaa1","\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A",4,"\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],["8feba1","\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26",4,"\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],["8feca1","\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],["8feda1","\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43",4,"\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D",4,"\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]]});var zv=he((Nke,u1e)=>{u1e.exports=[["0","\0",127,"\u20AC"],["8140","\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A",5,"\u4E72\u4E74",9,"\u4E7F",6,"\u4E87\u4E8A"],["8180","\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02",6,"\u4F0B\u4F0C\u4F12",4,"\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E",4,"\u4F44\u4F45\u4F47",5,"\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],["8240","\u4FA4\u4FAB\u4FAD\u4FB0",4,"\u4FB6",8,"\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2",4,"\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF",11],["8280","\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F",10,"\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050",4,"\u5056\u5057\u5058\u5059\u505B\u505D",7,"\u5066",5,"\u506D",8,"\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E",20,"\u50A4\u50A6\u50AA\u50AB\u50AD",4,"\u50B3",6,"\u50BC"],["8340","\u50BD",17,"\u50D0",5,"\u50D7\u50D8\u50D9\u50DB",10,"\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6",4,"\u50FC",9,"\u5108"],["8380","\u5109\u510A\u510C",5,"\u5113",13,"\u5122",28,"\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D",4,"\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6",4,"\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2",5],["8440","\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5",5,"\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244",5,"\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],["8480","\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273",9,"\u527E\u5280\u5283",4,"\u5289",6,"\u5291\u5292\u5294",6,"\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4",9,"\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9",5,"\u52E0\u52E1\u52E2\u52E3\u52E5",10,"\u52F1",7,"\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],["8540","\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F",9,"\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],["8580","\u5390",4,"\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF",6,"\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3",4,"\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D",4,"\u5463\u5465\u5467\u5469",7,"\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],["8640","\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0",4,"\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4",5,"\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A",4,"\u5512\u5513\u5515",5,"\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],["8680","\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B",4,"\u5551\u5552\u5553\u5554\u5557",4,"\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F",5,"\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0",6,"\u55A8",8,"\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF",4,"\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7",4,"\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8",4,"\u55FF\u5602\u5603\u5604\u5605"],["8740","\u5606\u5607\u560A\u560B\u560D\u5610",7,"\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640",11,"\u564F",4,"\u5655\u5656\u565A\u565B\u565D",4],["8780","\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D",7,"\u5687",6,"\u5690\u5691\u5692\u5694",14,"\u56A4",10,"\u56B0",6,"\u56B8\u56B9\u56BA\u56BB\u56BD",12,"\u56CB",8,"\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5",5,"\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B",6],["8840","\u5712",9,"\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734",4,"\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752",4,"\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],["8880","\u5781\u5787\u5788\u5789\u578A\u578D",4,"\u5794",6,"\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9",8,"\u57C4",6,"\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5",7,"\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825",4,"\u582B",4,"\u5831\u5832\u5833\u5834\u5836",7],["8940","\u583E",5,"\u5845",6,"\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859",4,"\u585F",5,"\u5866",4,"\u586D",16,"\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],["8980","\u588D",4,"\u5894",4,"\u589B\u589C\u589D\u58A0",7,"\u58AA",17,"\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6",10,"\u58D2\u58D3\u58D4\u58D6",13,"\u58E5",5,"\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA",7,"\u5903\u5905\u5906\u5908",4,"\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],["8a40","\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B",4,"\u5961\u5963\u5964\u5966",12,"\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],["8a80","\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3",5,"\u59BA\u59BC\u59BD\u59BF",6,"\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE",4,"\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED",11,"\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A",6,"\u5A33\u5A35\u5A37",4,"\u5A3D\u5A3E\u5A3F\u5A41",4,"\u5A47\u5A48\u5A4B",9,"\u5A56\u5A57\u5A58\u5A59\u5A5B",5],["8b40","\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B",8,"\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80",17,"\u5A93",6,"\u5A9C",13,"\u5AAB\u5AAC"],["8b80","\u5AAD",4,"\u5AB4\u5AB6\u5AB7\u5AB9",4,"\u5ABF\u5AC0\u5AC3",5,"\u5ACA\u5ACB\u5ACD",4,"\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC",4,"\u5AF2",22,"\u5B0A",11,"\u5B18",25,"\u5B33\u5B35\u5B36\u5B38",7,"\u5B41",6],["8c40","\u5B48",7,"\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],["8c80","\u5BD1\u5BD4",8,"\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9",4,"\u5BEF\u5BF1",6,"\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67",6,"\u5C70\u5C72",6,"\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83",4,"\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D",4,"\u5CA4",4],["8d40","\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5",5,"\u5CCC",5,"\u5CD3",5,"\u5CDA",6,"\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1",9,"\u5CFC",4],["8d80","\u5D01\u5D04\u5D05\u5D08",5,"\u5D0F",4,"\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F",4,"\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F",4,"\u5D35",7,"\u5D3F",7,"\u5D48\u5D49\u5D4D",10,"\u5D59\u5D5A\u5D5C\u5D5E",10,"\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75",12,"\u5D83",21,"\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],["8e40","\u5DA1",21,"\u5DB8",12,"\u5DC6",6,"\u5DCE",12,"\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],["8e80","\u5DF0\u5DF5\u5DF6\u5DF8",4,"\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E",7,"\u5E28",4,"\u5E2F\u5E30\u5E32",4,"\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46",5,"\u5E4D",6,"\u5E56",4,"\u5E5C\u5E5D\u5E5F\u5E60\u5E63",14,"\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8",4,"\u5EAE",4,"\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF",6],["8f40","\u5EC6\u5EC7\u5EC8\u5ECB",5,"\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC",11,"\u5EE9\u5EEB",8,"\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],["8f80","\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32",6,"\u5F3B\u5F3D\u5F3E\u5F3F\u5F41",14,"\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2",5,"\u5FA9\u5FAB\u5FAC\u5FAF",5,"\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE",4,"\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],["9040","\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030",4,"\u6036",4,"\u603D\u603E\u6040\u6044",6,"\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],["9080","\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD",7,"\u60C7\u60C8\u60C9\u60CC",4,"\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1",4,"\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB",4,"\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110",4,"\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C",18,"\u6140",6],["9140","\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156",6,"\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169",6,"\u6171\u6172\u6173\u6174\u6176\u6178",18,"\u618C\u618D\u618F",4,"\u6195"],["9180","\u6196",6,"\u619E",8,"\u61AA\u61AB\u61AD",9,"\u61B8",5,"\u61BF\u61C0\u61C1\u61C3",4,"\u61C9\u61CC",4,"\u61D3\u61D5",16,"\u61E7",13,"\u61F6",8,"\u6200",5,"\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238",4,"\u6242\u6244\u6245\u6246\u624A"],["9240","\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C",6,"\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B",5,"\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],["9280","\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333",5,"\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356",7,"\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399",6,"\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],["9340","\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7",6,"\u63DF\u63E2\u63E4",4,"\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406",4,"\u640D\u640E\u6411\u6412\u6415",5,"\u641D\u641F\u6422\u6423\u6424"],["9380","\u6425\u6427\u6428\u6429\u642B\u642E",5,"\u6435",4,"\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B",6,"\u6453\u6455\u6456\u6457\u6459",4,"\u645F",7,"\u6468\u646A\u646B\u646C\u646E",9,"\u647B",6,"\u6483\u6486\u6488",8,"\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F",4,"\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6",6,"\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],["9440","\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7",24,"\u6501",7,"\u650A",7,"\u6513",4,"\u6519",8],["9480","\u6522\u6523\u6524\u6526",4,"\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540",4,"\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578",14,"\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1",7,"\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8",7,"\u65E1\u65E3\u65E4\u65EA\u65EB"],["9540","\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB",4,"\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637",4,"\u663D\u663F\u6640\u6642\u6644",6,"\u664D\u664E\u6650\u6651\u6658"],["9580","\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669",4,"\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698",4,"\u669E",8,"\u66A9",4,"\u66AF",4,"\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF",25,"\u66DA\u66DE",7,"\u66E7\u66E8\u66EA",5,"\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],["9640","\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720",5,"\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757",4,"\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],["9680","\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9",7,"\u67C2\u67C5",9,"\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5",7,"\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818",4,"\u681E\u681F\u6820\u6822",6,"\u682B",6,"\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856",5],["9740","\u685C\u685D\u685E\u685F\u686A\u686C",7,"\u6875\u6878",8,"\u6882\u6884\u6887",7,"\u6890\u6891\u6892\u6894\u6895\u6896\u6898",9,"\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],["9780","\u68B9",6,"\u68C1\u68C3",5,"\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB",4,"\u68E1\u68E2\u68E4",9,"\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906",4,"\u690C\u690F\u6911\u6913",11,"\u6921\u6922\u6923\u6925",7,"\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943",16,"\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],["9840","\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972",4,"\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E",5,"\u6996\u6997\u6999\u699A\u699D",9,"\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],["9880","\u69BE\u69BF\u69C0\u69C2",7,"\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5",5,"\u69DC\u69DD\u69DE\u69E1",11,"\u69EE\u69EF\u69F0\u69F1\u69F3",9,"\u69FE\u6A00",9,"\u6A0B",11,"\u6A19",5,"\u6A20\u6A22",5,"\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36",6,"\u6A3F",4,"\u6A45\u6A46\u6A48",7,"\u6A51",6,"\u6A5A"],["9940","\u6A5C",4,"\u6A62\u6A63\u6A64\u6A66",10,"\u6A72",6,"\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85",8,"\u6A8F\u6A92",4,"\u6A98",7,"\u6AA1",5],["9980","\u6AA7\u6AA8\u6AAA\u6AAD",114,"\u6B25\u6B26\u6B28",6],["9a40","\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D",11,"\u6B5A",7,"\u6B68\u6B69\u6B6B",13,"\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],["9a80","\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C",4,"\u6BA2",7,"\u6BAB",7,"\u6BB6\u6BB8",6,"\u6BC0\u6BC3\u6BC4\u6BC6",4,"\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC",4,"\u6BE2",7,"\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE",6,"\u6C08",4,"\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B",4,"\u6C51\u6C52\u6C53\u6C56\u6C58"],["9b40","\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B",4,"\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],["9b80","\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F",5,"\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D",4,"\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96",4,"\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9",5,"\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],["9c40","\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD",7,"\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],["9c80","\u6E36\u6E37\u6E39\u6E3B",7,"\u6E45",7,"\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60",10,"\u6E6C\u6E6D\u6E6F",14,"\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A",4,"\u6E91",6,"\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA",5],["9d40","\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA",7,"\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A",4,"\u6F10\u6F11\u6F12\u6F16",9,"\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37",6,"\u6F3F\u6F40\u6F41\u6F42"],["9d80","\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E",9,"\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67",5,"\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D",6,"\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F",12,"\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2",4,"\u6FA8",10,"\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA",5,"\u6FC1\u6FC3",5,"\u6FCA",6,"\u6FD3",10,"\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],["9e40","\u6FE6",7,"\u6FF0",32,"\u7012",7,"\u701C",6,"\u7024",6],["9e80","\u702B",9,"\u7036\u7037\u7038\u703A",17,"\u704D\u704E\u7050",13,"\u705F",11,"\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E",12,"\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB",12,"\u70DA"],["9f40","\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0",6,"\u70F8\u70FA\u70FB\u70FC\u70FE",10,"\u710B",4,"\u7111\u7112\u7114\u7117\u711B",10,"\u7127",7,"\u7132\u7133\u7134"],["9f80","\u7135\u7137",13,"\u7146\u7147\u7148\u7149\u714B\u714D\u714F",12,"\u715D\u715F",4,"\u7165\u7169",4,"\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E",5,"\u7185",4,"\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A",4,"\u71A1",6,"\u71A9\u71AA\u71AB\u71AD",5,"\u71B4\u71B6\u71B7\u71B8\u71BA",8,"\u71C4",9,"\u71CF",4],["a040","\u71D6",9,"\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8",5,"\u71EF",9,"\u71FA",11,"\u7207",19],["a080","\u721B\u721C\u721E",9,"\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240",6,"\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285",4,"\u728C\u728E\u7290\u7291\u7293",11,"\u72A0",11,"\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA",6,"\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],["a1a1","\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008",7,"\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],["a2a1","\u2170",9],["a2b1","\u2488",19,"\u2474",19,"\u2460",9],["a2e5","\u3220",9],["a2f1","\u2160",11],["a3a1","\uFF01\uFF02\uFF03\uFFE5\uFF05",88,"\uFFE3"],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a6e0","\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],["a6ee","\uFE3B\uFE3C\uFE37\uFE38\uFE31"],["a6f4","\uFE33\uFE34"],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a840","\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550",35,"\u2581",6],["a880","\u2588",7,"\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],["a8a1","\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],["a8bd","\u0144\u0148"],["a8c0","\u0261"],["a8c5","\u3105",36],["a940","\u3021",8,"\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],["a959","\u2121\u3231"],["a95c","\u2010"],["a960","\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49",9,"\uFE54\uFE55\uFE56\uFE57\uFE59",8],["a980","\uFE62",4,"\uFE68\uFE69\uFE6A\uFE6B"],["a996","\u3007"],["a9a4","\u2500",75],["aa40","\u72DC\u72DD\u72DF\u72E2",5,"\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304",5,"\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340",8],["aa80","\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358",7,"\u7361",10,"\u736E\u7370\u7371"],["ab40","\u7372",11,"\u737F",4,"\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3",5,"\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3",4],["ab80","\u73CB\u73CC\u73CE\u73D2",6,"\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3",4],["ac40","\u73F8",10,"\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411",8,"\u741C",5,"\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437",4,"\u743D\u743E\u743F\u7440\u7442",11],["ac80","\u744E",6,"\u7456\u7458\u745D\u7460",12,"\u746E\u746F\u7471",4,"\u7478\u7479\u747A"],["ad40","\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491",10,"\u749D\u749F",7,"\u74AA",15,"\u74BB",12],["ad80","\u74C8",9,"\u74D3",8,"\u74DD\u74DF\u74E1\u74E5\u74E7",6,"\u74F0\u74F1\u74F2"],["ae40","\u74F3\u74F5\u74F8",6,"\u7500\u7501\u7502\u7503\u7505",7,"\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520",4,"\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],["ae80","\u755D",7,"\u7567\u7568\u7569\u756B",6,"\u7573\u7575\u7576\u7577\u757A",4,"\u7580\u7581\u7582\u7584\u7585\u7587"],["af40","\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6",4,"\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],["af80","\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],["b040","\u7645",6,"\u764E",5,"\u7655\u7657",4,"\u765D\u765F\u7660\u7661\u7662\u7664",6,"\u766C\u766D\u766E\u7670",7,"\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],["b080","\u769C",7,"\u76A5",8,"\u76AF\u76B0\u76B3\u76B5",9,"\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],["b140","\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0",4,"\u76E6",7,"\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E",10,"\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],["b180","\u772C\u772E\u7730",4,"\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748",7,"\u7752",7,"\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],["b240","\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D",11,"\u777A\u777B\u777C\u7781\u7782\u7783\u7786",5,"\u778F\u7790\u7793",11,"\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6",4],["b280","\u77BC\u77BE\u77C0",12,"\u77CE",8,"\u77D8\u77D9\u77DA\u77DD",4,"\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],["b340","\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803",5,"\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],["b380","\u785B\u785C\u785E",11,"\u786F",7,"\u7878\u7879\u787A\u787B\u787D",6,"\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],["b440","\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8",7,"\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA",9],["b480","\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED",4,"\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB",5,"\u7902\u7903\u7904\u7906",6,"\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],["b540","\u790D",5,"\u7914",9,"\u791F",4,"\u7925",14,"\u7935",4,"\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A",8,"\u7954\u7955\u7958\u7959\u7961\u7963"],["b580","\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970",6,"\u7979\u797B",4,"\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],["b640","\u7993",6,"\u799B",11,"\u79A8",10,"\u79B4",4,"\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9",5,"\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],["b680","\u79EC\u79EE\u79F1",6,"\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F",4,"\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],["b740","\u7A1D\u7A1F\u7A21\u7A22\u7A24",14,"\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40",5,"\u7A47",9,"\u7A52",4,"\u7A58",16],["b780","\u7A69",6,"\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],["b840","\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE",4,"\u7AB4",10,"\u7AC0",10,"\u7ACC",9,"\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7",5,"\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],["b880","\u7AF4",4,"\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],["b940","\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F",5,"\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63",10,"\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86",6,"\u7B8E\u7B8F"],["b980","\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9",7,"\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],["ba40","\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4",4,"\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2",4,"\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF",7,"\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10",5,"\u7C17\u7C18\u7C19"],["ba80","\u7C1A",4,"\u7C20",5,"\u7C28\u7C29\u7C2B",12,"\u7C39",5,"\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],["bb40","\u7C43",9,"\u7C4E",36,"\u7C75",5,"\u7C7E",9],["bb80","\u7C88\u7C8A",6,"\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4",4,"\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],["bc40","\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE",6,"\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1",6,"\u7CE9",5,"\u7CF0",7,"\u7CF9\u7CFA\u7CFC",13,"\u7D0B",5],["bc80","\u7D11",14,"\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30",6,"\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],["bd40","\u7D37",54,"\u7D6F",7],["bd80","\u7D78",32,"\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],["be40","\u7D99",12,"\u7DA7",6,"\u7DAF",42],["be80","\u7DDA",32,"\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],["bf40","\u7DFB",62],["bf80","\u7E3A\u7E3C",4,"\u7E42",4,"\u7E48",21,"\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],["c040","\u7E5E",35,"\u7E83",23,"\u7E9C\u7E9D\u7E9E"],["c080","\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B",6,"\u7F43\u7F46",9,"\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],["c140","\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63",4,"\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82",7,"\u7F8B\u7F8D\u7F8F",4,"\u7F95",4,"\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8",6,"\u7FB1"],["c180","\u7FB3",4,"\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF",4,"\u7FD6\u7FD7\u7FD9",5,"\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],["c240","\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4",6,"\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B",5,"\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],["c280","\u8059\u805B",13,"\u806B",5,"\u8072",11,"\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],["c340","\u807E\u8081\u8082\u8085\u8088\u808A\u808D",5,"\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7",4,"\u80CF",6,"\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],["c380","\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F",12,"\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139",4,"\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],["c440","\u8140",5,"\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B",4,"\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183",4,"\u8189\u818B\u818C\u818D\u818E\u8190\u8192",5,"\u8199\u819A\u819E",4,"\u81A4\u81A5"],["c480","\u81A7\u81A9\u81AB",7,"\u81B4",5,"\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD",6,"\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],["c540","\u81D4",14,"\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE",4,"\u81F5",5,"\u81FD\u81FF\u8203\u8207",4,"\u820E\u820F\u8211\u8213\u8215",5,"\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],["c580","\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250",7,"\u8259\u825B\u825C\u825D\u825E\u8260",7,"\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],["c640","\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],["c680","\u82FA\u82FC",4,"\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D",9,"\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],["c740","\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A",4,"\u8353\u8355",4,"\u835D\u8362\u8370",6,"\u8379\u837A\u837E",6,"\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1",6,"\u83AC\u83AD\u83AE"],["c780","\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],["c840","\u83EE\u83EF\u83F3",4,"\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412",5,"\u8419\u841A\u841B\u841E",5,"\u8429",7,"\u8432",5,"\u8439\u843A\u843B\u843E",7,"\u8447\u8448\u8449"],["c880","\u844A",6,"\u8452",4,"\u8458\u845D\u845E\u845F\u8460\u8462\u8464",4,"\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],["c940","\u847D",4,"\u8483\u8484\u8485\u8486\u848A\u848D\u848F",7,"\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2",12,"\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],["c980","\u84D8",4,"\u84DE\u84E1\u84E2\u84E4\u84E7",4,"\u84ED\u84EE\u84EF\u84F1",10,"\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],["ca40","\u8503",8,"\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522",8,"\u852D",9,"\u853E",4,"\u8544\u8545\u8546\u8547\u854B",10],["ca80","\u8557\u8558\u855A\u855B\u855C\u855D\u855F",4,"\u8565\u8566\u8567\u8569",8,"\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],["cb40","\u8582\u8583\u8586\u8588",6,"\u8590",10,"\u859D",6,"\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1",5,"\u85B8\u85BA",6,"\u85C2",6,"\u85CA",4,"\u85D1\u85D2"],["cb80","\u85D4\u85D6",5,"\u85DD",6,"\u85E5\u85E6\u85E7\u85E8\u85EA",14,"\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],["cc40","\u85F9\u85FA\u85FC\u85FD\u85FE\u8600",4,"\u8606",10,"\u8612\u8613\u8614\u8615\u8617",15,"\u8628\u862A",13,"\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],["cc80","\u8641",11,"\u8652\u8653\u8655",4,"\u865B\u865C\u865D\u865F\u8660\u8661\u8663",7,"\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],["cd40","\u866D\u866F\u8670\u8672",6,"\u8683",6,"\u868E",4,"\u8694\u8696",5,"\u869E",4,"\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB",4,"\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],["cd80","\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],["ce40","\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740",6,"\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A",5,"\u8761\u8762\u8766",7,"\u876F\u8771\u8772\u8773\u8775"],["ce80","\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E",4,"\u8794\u8795\u8796\u8798",6,"\u87A0",4,"\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],["cf40","\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1",4,"\u87C7\u87C8\u87C9\u87CC",4,"\u87D4",6,"\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF",9],["cf80","\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804",5,"\u880B",7,"\u8814\u8817\u8818\u8819\u881A\u881C",4,"\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],["d040","\u8824",13,"\u8833",5,"\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846",5,"\u884E",5,"\u8855\u8856\u8858\u885A",6,"\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],["d080","\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897",4,"\u889D",4,"\u88A3\u88A5",5,"\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],["d140","\u88AC\u88AE\u88AF\u88B0\u88B2",4,"\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA",4,"\u88E0\u88E1\u88E6\u88E7\u88E9",6,"\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903",5],["d180","\u8909\u890B",4,"\u8911\u8914",4,"\u891C",4,"\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],["d240","\u8938",8,"\u8942\u8943\u8945",24,"\u8960",5,"\u8967",19,"\u897C"],["d280","\u897D\u897E\u8980\u8982\u8984\u8985\u8987",26,"\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],["d340","\u89A2",30,"\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4",6],["d380","\u89FB",4,"\u8A01",5,"\u8A08",21,"\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],["d440","\u8A1E",31,"\u8A3F",8,"\u8A49",21],["d480","\u8A5F",25,"\u8A7A",6,"\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],["d540","\u8A81",7,"\u8A8B",7,"\u8A94",46],["d580","\u8AC3",32,"\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],["d640","\u8AE4",34,"\u8B08",27],["d680","\u8B24\u8B25\u8B27",30,"\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],["d740","\u8B46",31,"\u8B67",4,"\u8B6D",25],["d780","\u8B87",24,"\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],["d840","\u8C38",8,"\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D",7,"\u8C56\u8C57\u8C58\u8C59\u8C5B",5,"\u8C63",6,"\u8C6C",6,"\u8C74\u8C75\u8C76\u8C77\u8C7B",6,"\u8C83\u8C84\u8C86\u8C87"],["d880","\u8C88\u8C8B\u8C8D",6,"\u8C95\u8C96\u8C97\u8C99",20,"\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],["d940","\u8CAE",62],["d980","\u8CED",32,"\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],["da40","\u8D0E",14,"\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78",8,"\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C",4,"\u8D92\u8D93\u8D95",9,"\u8DA0\u8DA1"],["da80","\u8DA2\u8DA4",12,"\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],["db40","\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE",6,"\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15",7,"\u8E20\u8E21\u8E24",4,"\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],["db80","\u8E3F\u8E43\u8E45\u8E46\u8E4C",4,"\u8E53",5,"\u8E5A",11,"\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],["dc40","\u8E73\u8E75\u8E77",4,"\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88",6,"\u8E91\u8E92\u8E93\u8E95",6,"\u8E9D\u8E9F",11,"\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3",6,"\u8EBB",7],["dc80","\u8EC3",10,"\u8ECF",21,"\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],["dd40","\u8EE5",62],["dd80","\u8F24",32,"\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],["de40","\u8F45",32,"\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],["de80","\u8FC9",4,"\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],["df40","\u9019\u901C\u9023\u9024\u9025\u9027",5,"\u9030",4,"\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048",4,"\u904E\u9054\u9055\u9056\u9059\u905A\u905C",5,"\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F",4,"\u9076",6,"\u907E\u9081"],["df80","\u9084\u9085\u9086\u9087\u9089\u908A\u908C",4,"\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],["e040","\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105",19,"\u911A\u911B\u911C"],["e080","\u911D\u911F\u9120\u9121\u9124",10,"\u9130\u9132",6,"\u913A",8,"\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],["e140","\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180",4,"\u9186\u9188\u918A\u918E\u918F\u9193",6,"\u919C",5,"\u91A4",5,"\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],["e180","\u91BC",10,"\u91C8\u91CB\u91D0\u91D2",9,"\u91DD",8,"\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],["e240","\u91E6",62],["e280","\u9225",32,"\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967",5,"\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],["e340","\u9246",45,"\u9275",16],["e380","\u9286",7,"\u928F",24,"\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],["e440","\u92A8",5,"\u92AF",24,"\u92C9",31],["e480","\u92E9",32,"\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],["e540","\u930A",51,"\u933F",10],["e580","\u934A",31,"\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],["e640","\u936C",34,"\u9390",27],["e680","\u93AC",29,"\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],["e740","\u93CE",7,"\u93D7",54],["e780","\u940E",32,"\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21",6,"\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F",4,"\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],["e840","\u942F",14,"\u943F",43,"\u946C\u946D\u946E\u946F"],["e880","\u9470",20,"\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],["e940","\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577",7,"\u9580",42],["e980","\u95AB",32,"\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],["ea40","\u95CC",27,"\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623",6,"\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],["ea80","\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D",4,"\u9673\u9678",12,"\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],["eb40","\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D",9,"\u96A8",7,"\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6",9,"\u96E1",6,"\u96EB"],["eb80","\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717",4,"\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],["ec40","\u9721",8,"\u972B\u972C\u972E\u972F\u9731\u9733",4,"\u973A\u973B\u973C\u973D\u973F",18,"\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A",7],["ec80","\u9772\u9775\u9777",4,"\u977D",7,"\u9786",4,"\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799",4,"\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],["ed40","\u979E\u979F\u97A1\u97A2\u97A4",6,"\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5",46],["ed80","\u97E4\u97E5\u97E8\u97EE",4,"\u97F4\u97F7",23,"\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],["ee40","\u980F",62],["ee80","\u984E",32,"\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6",4,"\u94BC\u94BD\u94BF\u94C4\u94C8",6,"\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],["ef40","\u986F",5,"\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8",37,"\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0",4],["ef80","\u98E5\u98E6\u98E9",30,"\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512",4,"\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564",8,"\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],["f040","\u9908",4,"\u990E\u990F\u9911",28,"\u992F",26],["f080","\u994A",9,"\u9956",12,"\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28",4,"\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66",6,"\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],["f140","\u998C\u998E\u999A",10,"\u99A6\u99A7\u99A9",47],["f180","\u99D9",32,"\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],["f240","\u99FA",62],["f280","\u9A39",32,"\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],["f340","\u9A5A",17,"\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9",6,"\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6",4,"\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],["f380","\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0",8,"\u9AFA\u9AFC",6,"\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],["f440","\u9B07\u9B09",5,"\u9B10\u9B11\u9B12\u9B14",10,"\u9B20\u9B21\u9B22\u9B24",10,"\u9B30\u9B31\u9B33",7,"\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55",5],["f480","\u9B5B",32,"\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],["f540","\u9B7C",62],["f580","\u9BBB",32,"\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],["f640","\u9BDC",62],["f680","\u9C1B",32,"\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85",5,"\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E",5,"\u9CA5",4,"\u9CAB\u9CAD\u9CAE\u9CB0",7,"\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],["f740","\u9C3C",62],["f780","\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE",4,"\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC",4,"\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],["f840","\u9CE3",62],["f880","\u9D22",32],["f940","\u9D43",62],["f980","\u9D82",32],["fa40","\u9DA3",62],["fa80","\u9DE2",32],["fb40","\u9E03",27,"\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74",9,"\u9E80"],["fb80","\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C",5,"\u9E94",8,"\u9E9E\u9EA0",5,"\u9EA7\u9EA8\u9EA9\u9EAA"],["fc40","\u9EAB",8,"\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF",4,"\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0",8,"\u9EFA\u9EFD\u9EFF",6],["fc80","\u9F06",4,"\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A",5,"\u9F21\u9F23",8,"\u9F2D\u9F2E\u9F30\u9F31"],["fd40","\u9F32",4,"\u9F38\u9F3A\u9F3C\u9F3F",4,"\u9F45",10,"\u9F52",38],["fd80","\u9F79",5,"\u9F81\u9F82\u9F8D",11,"\u9F9C\u9F9D\u9F9E\u9FA1",4,"\uF92C\uF979\uF995\uF9E7\uF9F1"],["fe40","\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]]});var dS=he((Tke,c1e)=>{c1e.exports=[["a140","\uE4C6",62],["a180","\uE505",32],["a240","\uE526",62],["a280","\uE565",32],["a2ab","\uE766",5],["a2e3","\u20AC\uE76D"],["a2ef","\uE76E\uE76F"],["a2fd","\uE770\uE771"],["a340","\uE586",62],["a380","\uE5C5",31,"\u3000"],["a440","\uE5E6",62],["a480","\uE625",32],["a4f4","\uE772",10],["a540","\uE646",62],["a580","\uE685",32],["a5f7","\uE77D",7],["a640","\uE6A6",62],["a680","\uE6E5",32],["a6b9","\uE785",7],["a6d9","\uE78D",6],["a6ec","\uE794\uE795"],["a6f3","\uE796"],["a6f6","\uE797",8],["a740","\uE706",62],["a780","\uE745",32],["a7c2","\uE7A0",14],["a7f2","\uE7AF",12],["a896","\uE7BC",10],["a8bc","\uE7C7"],["a8bf","\u01F9"],["a8c1","\uE7C9\uE7CA\uE7CB\uE7CC"],["a8ea","\uE7CD",20],["a958","\uE7E2"],["a95b","\uE7E3"],["a95d","\uE7E4\uE7E5\uE7E6"],["a989","\u303E\u2FF0",11],["a997","\uE7F4",12],["a9f0","\uE801",14],["aaa1","\uE000",93],["aba1","\uE05E",93],["aca1","\uE0BC",93],["ada1","\uE11A",93],["aea1","\uE178",93],["afa1","\uE1D6",93],["d7fa","\uE810",4],["f8a1","\uE234",93],["f9a1","\uE292",93],["faa1","\uE2F0",93],["fba1","\uE34E",93],["fca1","\uE3AC",93],["fda1","\uE40A",93],["fe50","\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],["fe80","\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13",6,"\u4DAE\uE864\uE468",93]]});var n$=he((_ke,l1e)=>{l1e.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}});var i$=he((Uke,A1e)=>{A1e.exports=[["0","\0",127],["8141","\uAC02\uAC03\uAC05\uAC06\uAC0B",4,"\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25",6,"\uAC2E\uAC32\uAC33\uAC34"],["8161","\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41",9,"\uAC4C\uAC4E",5,"\uAC55"],["8181","\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D",18,"\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B",4,"\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95",6,"\uAC9E\uACA2",5,"\uACAB\uACAD\uACAE\uACB1",6,"\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD",7,"\uACD6\uACD8",7,"\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7",4,"\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07",4,"\uAD0E\uAD10\uAD12\uAD13"],["8241","\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21",7,"\uAD2A\uAD2B\uAD2E",5],["8261","\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D",6,"\uAD46\uAD48\uAD4A",5,"\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],["8281","\uAD59",7,"\uAD62\uAD64",7,"\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83",4,"\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91",10,"\uAD9E",5,"\uADA5",17,"\uADB8",7,"\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9",6,"\uADD2\uADD4",7,"\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5",18],["8341","\uADFA\uADFB\uADFD\uADFE\uAE02",5,"\uAE0A\uAE0C\uAE0E",5,"\uAE15",7],["8361","\uAE1D",18,"\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],["8381","\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57",4,"\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71",6,"\uAE7A\uAE7E",5,"\uAE86",5,"\uAE8D",46,"\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5",6,"\uAECE\uAED2",5,"\uAEDA\uAEDB\uAEDD",8],["8441","\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE",5,"\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD",8],["8461","\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11",18],["8481","\uAF24",7,"\uAF2E\uAF2F\uAF31\uAF33\uAF35",6,"\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A",5,"\uAF51",10,"\uAF5E",5,"\uAF66",18,"\uAF7A",5,"\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89",6,"\uAF92\uAF93\uAF94\uAF96",5,"\uAF9D",26,"\uAFBA\uAFBB\uAFBD\uAFBE"],["8541","\uAFBF\uAFC1",5,"\uAFCA\uAFCC\uAFCF",4,"\uAFD5",6,"\uAFDD",4],["8561","\uAFE2",5,"\uAFEA",5,"\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9",6,"\uB002\uB003"],["8581","\uB005",6,"\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015",6,"\uB01E",9,"\uB029",26,"\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E",29,"\uB07E\uB07F\uB081\uB082\uB083\uB085",6,"\uB08E\uB090\uB092",5,"\uB09B\uB09D\uB09E\uB0A3\uB0A4"],["8641","\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD",6,"\uB0C6\uB0CA",5,"\uB0D2"],["8661","\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9",6,"\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6",10],["8681","\uB0F1",22,"\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E",4,"\uB126\uB127\uB129\uB12A\uB12B\uB12D",6,"\uB136\uB13A",5,"\uB142\uB143\uB145\uB146\uB147\uB149",6,"\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161",22,"\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183",4,"\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],["8741","\uB19E",9,"\uB1A9",15],["8761","\uB1B9",18,"\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],["8781","\uB1D6",5,"\uB1DE\uB1E0",7,"\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1",7,"\uB1FA\uB1FC\uB1FE",5,"\uB206\uB207\uB209\uB20A\uB20D",6,"\uB216\uB218\uB21A",5,"\uB221",18,"\uB235",6,"\uB23D",26,"\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261",6,"\uB26A",4],["8841","\uB26F",4,"\uB276",5,"\uB27D",6,"\uB286\uB287\uB288\uB28A",4],["8861","\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B",4,"\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],["8881","\uB2B8",15,"\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3",4,"\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309",6,"\uB312\uB316",5,"\uB31D",54,"\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],["8941","\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379",6,"\uB382\uB386",5,"\uB38D"],["8961","\uB38E\uB38F\uB391\uB392\uB393\uB395",10,"\uB3A2",5,"\uB3A9\uB3AA\uB3AB\uB3AD"],["8981","\uB3AE",21,"\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9",18,"\uB3FD",18,"\uB411",6,"\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421",6,"\uB42A\uB42C",7,"\uB435",15],["8a41","\uB445",10,"\uB452\uB453\uB455\uB456\uB457\uB459",6,"\uB462\uB464\uB466"],["8a61","\uB467",4,"\uB46D",18,"\uB481\uB482"],["8a81","\uB483",4,"\uB489",19,"\uB49E",5,"\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD",7,"\uB4B6\uB4B8\uB4BA",5,"\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9",6,"\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6",5,"\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7",4,"\uB4EE\uB4F0\uB4F2",5,"\uB4F9",26,"\uB516\uB517\uB519\uB51A\uB51D"],["8b41","\uB51E",5,"\uB526\uB52B",4,"\uB532\uB533\uB535\uB536\uB537\uB539",6,"\uB542\uB546"],["8b61","\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555",6,"\uB55E\uB562",8],["8b81","\uB56B",52,"\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6",4,"\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5",6,"\uB5CE\uB5D2",5,"\uB5D9",18,"\uB5ED",18],["8c41","\uB600",15,"\uB612\uB613\uB615\uB616\uB617\uB619",4],["8c61","\uB61E",6,"\uB626",5,"\uB62D",6,"\uB635",5],["8c81","\uB63B",12,"\uB649",26,"\uB665\uB666\uB667\uB669",50,"\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5",5,"\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2",16],["8d41","\uB6C3",16,"\uB6D5",8],["8d61","\uB6DE",17,"\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],["8d81","\uB6FB",4,"\uB702\uB703\uB704\uB706",33,"\uB72A\uB72B\uB72D\uB72E\uB731",6,"\uB73A\uB73C",7,"\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D",6,"\uB756",9,"\uB761\uB762\uB763\uB765\uB766\uB767\uB769",6,"\uB772\uB774\uB776",5,"\uB77E\uB77F\uB781\uB782\uB783\uB785",6,"\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],["8e41","\uB79F\uB7A1",6,"\uB7AA\uB7AE",5,"\uB7B6\uB7B7\uB7B9",8],["8e61","\uB7C2",4,"\uB7C8\uB7CA",19],["8e81","\uB7DE",13,"\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5",6,"\uB7FE\uB802",4,"\uB80A\uB80B\uB80D\uB80E\uB80F\uB811",6,"\uB81A\uB81C\uB81E",5,"\uB826\uB827\uB829\uB82A\uB82B\uB82D",6,"\uB836\uB83A",5,"\uB841\uB842\uB843\uB845",11,"\uB852\uB854",7,"\uB85E\uB85F\uB861\uB862\uB863\uB865",6,"\uB86E\uB870\uB872",5,"\uB879\uB87A\uB87B\uB87D",7],["8f41","\uB885",7,"\uB88E",17],["8f61","\uB8A0",7,"\uB8A9",6,"\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9",4],["8f81","\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6",5,"\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5",7,"\uB8DE\uB8E0\uB8E2",5,"\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1",6,"\uB8FA\uB8FC\uB8FE",5,"\uB905",18,"\uB919",6,"\uB921",26,"\uB93E\uB93F\uB941\uB942\uB943\uB945",6,"\uB94D\uB94E\uB950\uB952",5],["9041","\uB95A\uB95B\uB95D\uB95E\uB95F\uB961",6,"\uB96A\uB96C\uB96E",5,"\uB976\uB977\uB979\uB97A\uB97B\uB97D"],["9061","\uB97E",5,"\uB986\uB988\uB98B\uB98C\uB98F",15],["9081","\uB99F",12,"\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5",6,"\uB9BE\uB9C0\uB9C2",5,"\uB9CA\uB9CB\uB9CD\uB9D3",4,"\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED",6,"\uB9F6\uB9FB",4,"\uBA02",5,"\uBA09",11,"\uBA16",33,"\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],["9141","\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D",6,"\uBA66\uBA6A",5],["9161","\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79",9,"\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D",5],["9181","\uBA93",20,"\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3",4,"\uBABA\uBABC\uBABE",5,"\uBAC5\uBAC6\uBAC7\uBAC9",14,"\uBADA",33,"\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05",7,"\uBB0E\uBB10\uBB12",5,"\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21",6],["9241","\uBB28\uBB2A\uBB2C",7,"\uBB37\uBB39\uBB3A\uBB3F",4,"\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],["9261","\uBB53\uBB55\uBB56\uBB57\uBB59",7,"\uBB62\uBB64",7,"\uBB6D",4],["9281","\uBB72",21,"\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91",18,"\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD",6,"\uBBB5\uBBB6\uBBB8",7,"\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9",6,"\uBBD1\uBBD2\uBBD4",35,"\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],["9341","\uBC03",4,"\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],["9361","\uBC36\uBC37\uBC39",6,"\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51",8],["9381","\uBC5A\uBC5B\uBC5C\uBC5E",37,"\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F",4,"\uBC96\uBC98\uBC9B",4,"\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9",6,"\uBCB2\uBCB6",5,"\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5",7,"\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD",22,"\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],["9441","\uBCFE",5,"\uBD06\uBD08\uBD0A",5,"\uBD11\uBD12\uBD13\uBD15",8],["9461","\uBD1E",5,"\uBD25",6,"\uBD2D",12],["9481","\uBD3A",5,"\uBD41",6,"\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51",6,"\uBD5A",9,"\uBD65\uBD66\uBD67\uBD69",22,"\uBD82\uBD83\uBD85\uBD86\uBD8B",4,"\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D",6,"\uBDA5",10,"\uBDB1",6,"\uBDB9",24],["9541","\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD",11,"\uBDEA",5,"\uBDF1"],["9561","\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9",6,"\uBE01\uBE02\uBE04\uBE06",5,"\uBE0E\uBE0F\uBE11\uBE12\uBE13"],["9581","\uBE15",6,"\uBE1E\uBE20",35,"\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F",4,"\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B",4,"\uBE72\uBE76",4,"\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85",6,"\uBE8E\uBE92",5,"\uBE9A",13,"\uBEA9",14],["9641","\uBEB8",23,"\uBED2\uBED3"],["9661","\uBED5\uBED6\uBED9",6,"\uBEE1\uBEE2\uBEE6",5,"\uBEED",8],["9681","\uBEF6",10,"\uBF02",5,"\uBF0A",13,"\uBF1A\uBF1E",33,"\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49",6,"\uBF52\uBF53\uBF54\uBF56",44],["9741","\uBF83",16,"\uBF95",8],["9761","\uBF9E",17,"\uBFB1",7],["9781","\uBFB9",11,"\uBFC6",5,"\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5",6,"\uBFDD\uBFDE\uBFE0\uBFE2",89,"\uC03D\uC03E\uC03F"],["9841","\uC040",16,"\uC052",5,"\uC059\uC05A\uC05B"],["9861","\uC05D\uC05E\uC05F\uC061",6,"\uC06A",15],["9881","\uC07A",21,"\uC092\uC093\uC095\uC096\uC097\uC099",6,"\uC0A2\uC0A4\uC0A6",5,"\uC0AE\uC0B1\uC0B2\uC0B7",4,"\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1",6,"\uC0DA\uC0DE",5,"\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED",6,"\uC0F6\uC0F8\uC0FA",5,"\uC101\uC102\uC103\uC105\uC106\uC107\uC109",6,"\uC111\uC112\uC113\uC114\uC116",5,"\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],["9941","\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141",6,"\uC14A\uC14E",5,"\uC156\uC157"],["9961","\uC159\uC15A\uC15B\uC15D",6,"\uC166\uC16A",5,"\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],["9981","\uC17C",8,"\uC186",5,"\uC18F\uC191\uC192\uC193\uC195\uC197",4,"\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1",11,"\uC1BE",5,"\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD",6,"\uC1D5\uC1D6\uC1D9",6,"\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9",6,"\uC1F2\uC1F4",7,"\uC1FE\uC1FF\uC201\uC202\uC203\uC205",6,"\uC20E\uC210\uC212",5,"\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],["9a41","\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235",16],["9a61","\uC246\uC247\uC249",6,"\uC252\uC253\uC255\uC256\uC257\uC259",6,"\uC261\uC262\uC263\uC264\uC266"],["9a81","\uC267",4,"\uC26E\uC26F\uC271\uC272\uC273\uC275",6,"\uC27E\uC280\uC282",5,"\uC28A",5,"\uC291",6,"\uC299\uC29A\uC29C\uC29E",5,"\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE",5,"\uC2B6\uC2B8\uC2BA",33,"\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5",5,"\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301",6,"\uC30A\uC30B\uC30E\uC30F"],["9b41","\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D",6,"\uC326\uC327\uC32A",8],["9b61","\uC333",17,"\uC346",7],["9b81","\uC34E",25,"\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373",4,"\uC37A\uC37B\uC37E",5,"\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D",50,"\uC3C1",22,"\uC3DA"],["9c41","\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3",4,"\uC3EA\uC3EB\uC3EC\uC3EE",5,"\uC3F6\uC3F7\uC3F9",5],["9c61","\uC3FF",8,"\uC409",6,"\uC411",9],["9c81","\uC41B",8,"\uC425",6,"\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435",6,"\uC43E",9,"\uC449",26,"\uC466\uC467\uC469\uC46A\uC46B\uC46D",6,"\uC476\uC477\uC478\uC47A",5,"\uC481",18,"\uC495",6,"\uC49D",12],["9d41","\uC4AA",13,"\uC4B9\uC4BA\uC4BB\uC4BD",8],["9d61","\uC4C6",25],["9d81","\uC4E0",8,"\uC4EA",5,"\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502",9,"\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515",6,"\uC51D",10,"\uC52A\uC52B\uC52D\uC52E\uC52F\uC531",6,"\uC53A\uC53C\uC53E",5,"\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569",6,"\uC572\uC576",5,"\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],["9e41","\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1",7,"\uC5AA",9,"\uC5B6"],["9e61","\uC5B7\uC5BA\uC5BF",4,"\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9",6,"\uC5E2\uC5E4\uC5E6\uC5E7"],["9e81","\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611",6,"\uC61A\uC61D",6,"\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649",6,"\uC652\uC656",5,"\uC65E\uC65F\uC661",10,"\uC66D\uC66E\uC670\uC672",5,"\uC67A\uC67B\uC67D\uC67E\uC67F\uC681",6,"\uC68A\uC68C\uC68E",5,"\uC696\uC697\uC699\uC69A\uC69B\uC69D",6,"\uC6A6"],["9f41","\uC6A8\uC6AA",5,"\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB",4,"\uC6C2\uC6C4\uC6C6",5,"\uC6CE"],["9f61","\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5",6,"\uC6DE\uC6DF\uC6E2",5,"\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],["9f81","\uC6F3",4,"\uC6FA\uC6FB\uC6FC\uC6FE",5,"\uC706\uC707\uC709\uC70A\uC70B\uC70D",6,"\uC716\uC718\uC71A",5,"\uC722\uC723\uC725\uC726\uC727\uC729",6,"\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745",4,"\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761",6,"\uC769\uC76A\uC76C",7,"\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B",4,"\uC7A2\uC7A7",4,"\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],["a041","\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2",5,"\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1",6,"\uC7D9\uC7DA\uC7DB\uC7DC"],["a061","\uC7DE",5,"\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED",13],["a081","\uC7FB",4,"\uC802\uC803\uC805\uC806\uC807\uC809\uC80B",4,"\uC812\uC814\uC817",4,"\uC81E\uC81F\uC821\uC822\uC823\uC825",6,"\uC82E\uC830\uC832",5,"\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841",6,"\uC84A\uC84B\uC84E",5,"\uC855",26,"\uC872\uC873\uC875\uC876\uC877\uC879\uC87B",4,"\uC882\uC884\uC888\uC889\uC88A\uC88E",5,"\uC895",7,"\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],["a141","\uC8A5\uC8A6\uC8A7\uC8A9",18,"\uC8BE\uC8BF\uC8C0\uC8C1"],["a161","\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD",6,"\uC8D6\uC8D8\uC8DA",5,"\uC8E2\uC8E3\uC8E5"],["a181","\uC8E6",14,"\uC8F6",5,"\uC8FE\uC8FF\uC901\uC902\uC903\uC907",4,"\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008",9,"\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],["a241","\uC910\uC912",5,"\uC919",18],["a261","\uC92D",6,"\uC935",18],["a281","\uC948",7,"\uC952\uC953\uC955\uC956\uC957\uC959",6,"\uC962\uC964",7,"\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],["a341","\uC971\uC972\uC973\uC975",6,"\uC97D",10,"\uC98A\uC98B\uC98D\uC98E\uC98F"],["a361","\uC991",6,"\uC99A\uC99C\uC99E",16],["a381","\uC9AF",16,"\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB",4,"\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01",58,"\uFFE6\uFF3D",32,"\uFFE3"],["a441","\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2",5,"\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],["a461","\uCA05\uCA06\uCA07\uCA0A\uCA0E",5,"\uCA15\uCA16\uCA17\uCA19",12],["a481","\uCA26\uCA27\uCA28\uCA2A",28,"\u3131",93],["a541","\uCA47",4,"\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55",6,"\uCA5E\uCA62",5,"\uCA69\uCA6A"],["a561","\uCA6B",17,"\uCA7E",5,"\uCA85\uCA86"],["a581","\uCA87",16,"\uCA99",14,"\u2170",9],["a5b0","\u2160",9],["a5c1","\u0391",16,"\u03A3",6],["a5e1","\u03B1",16,"\u03C3",6],["a641","\uCAA8",19,"\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],["a661","\uCAC6",5,"\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA",5,"\uCAE1",6],["a681","\uCAE8\uCAE9\uCAEA\uCAEB\uCAED",6,"\uCAF5",18,"\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543",7],["a741","\uCB0B",4,"\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19",6,"\uCB22",7],["a761","\uCB2A",22,"\uCB42\uCB43\uCB44"],["a781","\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51",6,"\uCB5A\uCB5B\uCB5C\uCB5E",5,"\uCB65",7,"\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399",9,"\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0",9,"\u3380",4,"\u33BA",5,"\u3390",4,"\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],["a841","\uCB6D",10,"\uCB7A",14],["a861","\uCB89",18,"\uCB9D",6],["a881","\uCBA4",19,"\uCBB9",11,"\xC6\xD0\xAA\u0126"],["a8a6","\u0132"],["a8a8","\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],["a8b1","\u3260",27,"\u24D0",25,"\u2460",14,"\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],["a941","\uCBC5",14,"\uCBD5",10],["a961","\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA",18],["a981","\uCBFD",14,"\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15",6,"\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200",27,"\u249C",25,"\u2474",14,"\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],["aa41","\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31",6,"\uCC3A\uCC3F",4,"\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],["aa61","\uCC4F",4,"\uCC56\uCC5A",5,"\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69",6,"\uCC71\uCC72"],["aa81","\uCC73\uCC74\uCC76",29,"\u3041",82],["ab41","\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1",6,"\uCCAA\uCCAE",5,"\uCCB6\uCCB7\uCCB9"],["ab61","\uCCBA\uCCBB\uCCBD",6,"\uCCC6\uCCC8\uCCCA",5,"\uCCD1\uCCD2\uCCD3\uCCD5",5],["ab81","\uCCDB",8,"\uCCE5",6,"\uCCED\uCCEE\uCCEF\uCCF1",12,"\u30A1",85],["ac41","\uCCFE\uCCFF\uCD00\uCD02",5,"\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11",6,"\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],["ac61","\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D",11,"\uCD3A",4],["ac81","\uCD3F",28,"\uCD5D\uCD5E\uCD5F\u0410",5,"\u0401\u0416",25],["acd1","\u0430",5,"\u0451\u0436",25],["ad41","\uCD61\uCD62\uCD63\uCD65",6,"\uCD6E\uCD70\uCD72",5,"\uCD79",7],["ad61","\uCD81",6,"\uCD89",10,"\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],["ad81","\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA",5,"\uCDB1",18,"\uCDC5"],["ae41","\uCDC6",5,"\uCDCD\uCDCE\uCDCF\uCDD1",16],["ae61","\uCDE2",5,"\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1",6,"\uCDFA\uCDFC\uCDFE",4],["ae81","\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D",6,"\uCE15\uCE16\uCE17\uCE18\uCE1A",5,"\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],["af41","\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36",19],["af61","\uCE4A",13,"\uCE5A\uCE5B\uCE5D\uCE5E\uCE62",5,"\uCE6A\uCE6C"],["af81","\uCE6E",5,"\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D",6,"\uCE86\uCE88\uCE8A",5,"\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],["b041","\uCE9A",5,"\uCEA2\uCEA6",5,"\uCEAE",12],["b061","\uCEBB",5,"\uCEC2",19],["b081","\uCED6",13,"\uCEE6\uCEE7\uCEE9\uCEEA\uCEED",6,"\uCEF6\uCEFA",5,"\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10",7,"\uAC19",4,"\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],["b141","\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09",6,"\uCF12\uCF14\uCF16",5,"\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],["b161","\uCF25",6,"\uCF2E\uCF32",5,"\uCF39",11],["b181","\uCF45",14,"\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D",6,"\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],["b241","\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79",6,"\uCF81\uCF82\uCF83\uCF84\uCF86",5,"\uCF8D"],["b261","\uCF8E",18,"\uCFA2",5,"\uCFA9"],["b281","\uCFAA",5,"\uCFB1",18,"\uCFC5",6,"\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],["b341","\uCFCC",19,"\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],["b361","\uCFEA",5,"\uCFF2\uCFF4\uCFF6",5,"\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005",5],["b381","\uD00B",5,"\uD012",5,"\uD019",19,"\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB",4,"\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],["b441","\uD02E",5,"\uD036\uD037\uD039\uD03A\uD03B\uD03D",6,"\uD046\uD048\uD04A",5],["b461","\uD051\uD052\uD053\uD055\uD056\uD057\uD059",6,"\uD061",10,"\uD06E\uD06F"],["b481","\uD071\uD072\uD073\uD075",6,"\uD07E\uD07F\uD080\uD082",18,"\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB",4,"\uB2F3\uB2F4\uB2F5\uB2F7",4,"\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],["b541","\uD095",14,"\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD",5],["b561","\uD0B3\uD0B6\uD0B8\uD0BA",5,"\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA",5,"\uD0D2\uD0D6",4],["b581","\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5",6,"\uD0EE\uD0F2",5,"\uD0F9",11,"\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],["b641","\uD105",7,"\uD10E",17],["b661","\uD120",15,"\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],["b681","\uD13F\uD142\uD146",5,"\uD14E\uD14F\uD151\uD152\uD153\uD155",6,"\uD15E\uD160\uD162",5,"\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],["b741","\uD16E",13,"\uD17D",6,"\uD185\uD186\uD187\uD189\uD18A"],["b761","\uD18B",20,"\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],["b781","\uD1A9",6,"\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1",14,"\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],["b841","\uD1D0",7,"\uD1D9",17],["b861","\uD1EB",8,"\uD1F5\uD1F6\uD1F7\uD1F9",13],["b881","\uD208\uD20A",5,"\uD211",24,"\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE",4,"\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],["b941","\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235",6,"\uD23E\uD240\uD242",5,"\uD249\uD24A\uD24B\uD24C"],["b961","\uD24D",14,"\uD25D",6,"\uD265\uD266\uD267\uD268"],["b981","\uD269",22,"\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14",4,"\uBC1B",4,"\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],["ba41","\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296",5,"\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5",6,"\uD2AD"],["ba61","\uD2AE\uD2AF\uD2B0\uD2B2",5,"\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3",4,"\uD2CA\uD2CC",5],["ba81","\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD",6,"\uD2E6",9,"\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],["bb41","\uD2FB",4,"\uD302\uD304\uD306",5,"\uD30F\uD311\uD312\uD313\uD315\uD317",4,"\uD31E\uD322\uD323"],["bb61","\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331",6,"\uD33A\uD33E",5,"\uD346\uD347\uD348\uD349"],["bb81","\uD34A",31,"\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],["bc41","\uD36A",17,"\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],["bc61","\uD388\uD389\uD38A\uD38B\uD38E\uD392",5,"\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1",6,"\uD3AA\uD3AC\uD3AE"],["bc81","\uD3AF",4,"\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD",6,"\uD3C6\uD3C7\uD3CA",5,"\uD3D1",5,"\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C",4,"\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],["bd41","\uD3D7\uD3D9",7,"\uD3E2\uD3E4",7,"\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],["bd61","\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402",5,"\uD409",13],["bd81","\uD417",5,"\uD41E",25,"\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],["be41","\uD438",7,"\uD441\uD442\uD443\uD445",14],["be61","\uD454",7,"\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465",7,"\uD46E\uD470\uD471\uD472"],["be81","\uD473",4,"\uD47A\uD47B\uD47D\uD47E\uD481\uD483",4,"\uD48A\uD48C\uD48E",5,"\uD495",8,"\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4",6,"\uC5CC\uC5CE"],["bf41","\uD49E",10,"\uD4AA",14],["bf61","\uD4B9",18,"\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],["bf81","\uD4D6",5,"\uD4DD\uD4DE\uD4E0",7,"\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1",6,"\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC",5,"\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],["c041","\uD4FE",5,"\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D",6,"\uD516\uD518",5],["c061","\uD51E",25],["c081","\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545",6,"\uD54E\uD550\uD552",5,"\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751",7,"\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],["c141","\uD564\uD566\uD567\uD56A\uD56C\uD56E",5,"\uD576\uD577\uD579\uD57A\uD57B\uD57D",6,"\uD586\uD58A\uD58B"],["c161","\uD58C\uD58D\uD58E\uD58F\uD591",19,"\uD5A6\uD5A7"],["c181","\uD5A8",31,"\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],["c241","\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3",4,"\uD5DA\uD5DC\uD5DE",5,"\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],["c261","\uD5EF",4,"\uD5F6\uD5F8\uD5FA",5,"\uD602\uD603\uD605\uD606\uD607\uD609",6,"\uD612"],["c281","\uD616",5,"\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625",7,"\uD62E",9,"\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],["c341","\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D",4],["c361","\uD662",4,"\uD668\uD66A",5,"\uD672\uD673\uD675",11],["c381","\uD681\uD682\uD684\uD686",5,"\uD68E\uD68F\uD691\uD692\uD693\uD695",7,"\uD69E\uD6A0\uD6A2",5,"\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],["c441","\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1",7,"\uD6BA\uD6BC",7,"\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],["c461","\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA",5,"\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9",4],["c481","\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6",5,"\uD6FE\uD6FF\uD701\uD702\uD703\uD705",11,"\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],["c541","\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721",6,"\uD72A\uD72C\uD72E",5,"\uD736\uD737\uD739"],["c561","\uD73A\uD73B\uD73D",6,"\uD745\uD746\uD748\uD74A",5,"\uD752\uD753\uD755\uD75A",4],["c581","\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775",6,"\uD77E\uD77F\uD780\uD782",5,"\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],["c641","\uD78D\uD78E\uD78F\uD791",6,"\uD79A\uD79C\uD79E",5],["c6a1","\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],["c7a1","\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],["c8a1","\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],["caa1","\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],["cba1","\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],["cca1","\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],["cda1","\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],["cea1","\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],["cfa1","\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],["d0a1","\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],["d1a1","\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E",5,"\u90A3\uF914",4,"\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],["d2a1","\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928",4,"\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933",5,"\u99D1\uF939",10,"\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A",7,"\u5AE9\u8A25\u677B\u7D10\uF952",5,"\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],["d3a1","\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],["d4a1","\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],["d5a1","\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],["d6a1","\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],["d7a1","\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],["d8a1","\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],["d9a1","\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],["daa1","\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],["dba1","\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],["dca1","\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],["dda1","\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],["dea1","\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],["dfa1","\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],["e0a1","\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],["e1a1","\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],["e2a1","\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],["e3a1","\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],["e4a1","\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],["e5a1","\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],["e6a1","\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],["e7a1","\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],["e8a1","\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],["e9a1","\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],["eaa1","\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],["eba1","\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],["eca1","\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],["eda1","\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],["eea1","\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],["efa1","\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],["f0a1","\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],["f1a1","\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],["f2a1","\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],["f3a1","\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],["f4a1","\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],["f5a1","\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],["f6a1","\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],["f7a1","\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],["f8a1","\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],["f9a1","\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],["faa1","\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],["fba1","\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],["fca1","\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],["fda1","\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]]});var gS=he((Oke,p1e)=>{p1e.exports=[["0","\0",127],["a140","\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],["a1a1","\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62",4,"\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],["a240","\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581",7,"\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],["a2a1","\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10",9,"\u2160",9,"\u3021",8,"\u5341\u5344\u5345\uFF21",25,"\uFF41",21],["a340","\uFF57\uFF58\uFF59\uFF5A\u0391",16,"\u03A3",6,"\u03B1",16,"\u03C3",6,"\u3105",10],["a3a1","\u3110",25,"\u02D9\u02C9\u02CA\u02C7\u02CB"],["a3e1","\u20AC"],["a440","\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],["a4a1","\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],["a540","\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],["a5a1","\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],["a640","\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],["a6a1","\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],["a740","\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],["a7a1","\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],["a840","\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],["a8a1","\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],["a940","\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],["a9a1","\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],["aa40","\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],["aaa1","\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],["ab40","\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],["aba1","\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],["ac40","\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],["aca1","\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],["ad40","\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],["ada1","\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],["ae40","\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],["aea1","\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],["af40","\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],["afa1","\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],["b040","\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],["b0a1","\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],["b140","\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],["b1a1","\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],["b240","\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],["b2a1","\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],["b340","\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],["b3a1","\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],["b440","\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],["b4a1","\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],["b540","\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],["b5a1","\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],["b640","\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],["b6a1","\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],["b740","\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],["b7a1","\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],["b840","\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],["b8a1","\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],["b940","\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],["b9a1","\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],["ba40","\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],["baa1","\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],["bb40","\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],["bba1","\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],["bc40","\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],["bca1","\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],["bd40","\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],["bda1","\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],["be40","\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],["bea1","\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],["bf40","\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],["bfa1","\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],["c040","\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],["c0a1","\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],["c140","\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],["c1a1","\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],["c240","\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],["c2a1","\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],["c340","\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],["c3a1","\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],["c440","\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],["c4a1","\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],["c540","\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],["c5a1","\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],["c640","\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],["c940","\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],["c9a1","\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],["ca40","\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],["caa1","\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],["cb40","\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],["cba1","\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],["cc40","\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],["cca1","\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],["cd40","\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],["cda1","\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],["ce40","\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],["cea1","\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],["cf40","\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],["cfa1","\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],["d040","\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],["d0a1","\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],["d140","\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],["d1a1","\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],["d240","\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],["d2a1","\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],["d340","\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],["d3a1","\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],["d440","\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],["d4a1","\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],["d540","\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],["d5a1","\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],["d640","\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],["d6a1","\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],["d740","\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],["d7a1","\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],["d840","\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],["d8a1","\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],["d940","\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],["d9a1","\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],["da40","\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],["daa1","\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],["db40","\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],["dba1","\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],["dc40","\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],["dca1","\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],["dd40","\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],["dda1","\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],["de40","\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],["dea1","\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],["df40","\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],["dfa1","\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],["e040","\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],["e0a1","\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],["e140","\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],["e1a1","\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],["e240","\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],["e2a1","\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],["e340","\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],["e3a1","\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],["e440","\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],["e4a1","\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],["e540","\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],["e5a1","\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],["e640","\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],["e6a1","\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],["e740","\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],["e7a1","\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],["e840","\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],["e8a1","\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],["e940","\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],["e9a1","\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],["ea40","\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],["eaa1","\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],["eb40","\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],["eba1","\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],["ec40","\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],["eca1","\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],["ed40","\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],["eda1","\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],["ee40","\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],["eea1","\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],["ef40","\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],["efa1","\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],["f040","\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],["f0a1","\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],["f140","\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],["f1a1","\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],["f240","\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],["f2a1","\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],["f340","\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],["f3a1","\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],["f440","\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],["f4a1","\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],["f540","\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],["f5a1","\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],["f640","\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],["f6a1","\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],["f740","\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],["f7a1","\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],["f840","\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],["f8a1","\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],["f940","\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],["f9a1","\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]]});var s$=he((Mke,f1e)=>{f1e.exports=[["8740","\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],["8767","\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],["87a1","\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],["8840","\u31C0",4,"\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],["88a1","\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],["8940","\u{2A3A9}\u{21145}"],["8943","\u650A"],["8946","\u4E3D\u6EDD\u9D4E\u91DF"],["894c","\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],["89a1","\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],["89ab","\u918C\u78B8\u915E\u80BC"],["89b0","\u8D0B\u80F6\u{209E7}"],["89b5","\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],["89c1","\u6E9A\u823E\u7519"],["89c5","\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],["8a40","\u{27D84}\u5525"],["8a43","\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],["8a64","\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],["8a76","\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],["8aa1","\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],["8aac","\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],["8ab2","\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],["8abb","\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],["8ac9","\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],["8ace","\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],["8adf","\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],["8af6","\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],["8b40","\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],["8b55","\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],["8ba1","\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],["8bde","\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],["8c40","\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],["8ca1","\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],["8ca7","\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],["8cc9","\u9868\u676B\u4276\u573D"],["8cce","\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],["8ce6","\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],["8d40","\u{20B9F}"],["8d42","\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],["8da1","\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],["8e40","\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],["8ea1","\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],["8f40","\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],["8fa1","\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],["9040","\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],["90a1","\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],["9140","\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],["91a1","\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],["9240","\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],["92a1","\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],["9340","\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],["93a1","\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],["9440","\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],["94a1","\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],["9540","\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],["95a1","\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],["9640","\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],["96a1","\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],["9740","\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],["97a1","\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],["9840","\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],["98a1","\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],["9940","\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],["99a1","\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],["9a40","\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],["9aa1","\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],["9b40","\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],["9b62","\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],["9ba1","\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],["9c40","\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],["9ca1","\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],["9d40","\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],["9da1","\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],["9e40","\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],["9ea1","\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],["9ead","\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],["9ec5","\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],["9ef5","\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],["9f40","\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],["9f4f","\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],["9fa1","\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],["9fae","\u9159\u9681\u915C"],["9fb2","\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],["9fc1","\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],["9fc9","\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],["9fdb","\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],["9fe7","\u6BFA\u8818\u7F78"],["9feb","\u5620\u{2A64A}\u8E77\u9F53"],["9ff0","\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],["a040","\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],["a055","\u{2183B}\u{26E05}"],["a058","\u8A7E\u{2251B}"],["a05b","\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],["a063","\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],["a073","\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],["a0a1","\u5D57\u{28BC2}\u8FDA\u{28E39}"],["a0a6","\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],["a0ae","\u77FE"],["a0b0","\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],["a0d4","\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],["a0e2","\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],["a3c0","\u2400",31,"\u2421"],["c6a1","\u2460",9,"\u2474",9,"\u2170",9,"\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041",23],["c740","\u3059",58,"\u30A1\u30A2\u30A3\u30A4"],["c7a1","\u30A5",81,"\u0410",5,"\u0401\u0416",4],["c840","\u041B",26,"\u0451\u0436",25,"\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],["c8a1","\u9FB0\u5188\u9FB1\u{27607}"],["c8cd","\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],["c8f5","\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],["f9fe","\uFFED"],["fa40","\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],["faa1","\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],["fb40","\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],["fba1","\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],["fc40","\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],["fca1","\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],["fd40","\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],["fda1","\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],["fe40","\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],["fea1","\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]]});var a$=he((Lke,o$)=>{"use strict";o$.exports={shiftjis:{type:"_dbcs",table:function(){return t$()},encodeAdd:{"\xA5":92,"\u203E":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return r$()},encodeAdd:{"\xA5":92,"\u203E":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return zv()}},gbk:{type:"_dbcs",table:function(){return zv().concat(dS())}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return zv().concat(dS())},gb18030:function(){return n$()},encodeSkipVals:[128],encodeAdd:{"\u20AC":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return i$()}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return gS()}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return gS().concat(s$())},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}});var l$=he((c$,sg)=>{"use strict";var u$=[YL(),JL(),zL(),ZL(),QP(),WP(),e$(),a$()];for(Kv=0;Kv{"use strict";var A$=require("buffer").Buffer,Xv=require("stream").Transform;p$.exports=function(e){e.encodeStream=function(r,n){return new Pf(e.getEncoder(r,n),n)},e.decodeStream=function(r,n){return new TA(e.getDecoder(r,n),n)},e.supportsStreams=!0,e.IconvLiteEncoderStream=Pf,e.IconvLiteDecoderStream=TA,e._collect=TA.prototype.collect};function Pf(e,t){this.conv=e,t=t||{},t.decodeStrings=!1,Xv.call(this,t)}Pf.prototype=Object.create(Xv.prototype,{constructor:{value:Pf}});Pf.prototype._transform=function(e,t,r){if(typeof e!="string")return r(new Error("Iconv encoding stream needs strings as its input."));try{var n=this.conv.write(e);n&&n.length&&this.push(n),r()}catch(i){r(i)}};Pf.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t),e()}catch(r){e(r)}};Pf.prototype.collect=function(e){var t=[];return this.on("error",e),this.on("data",function(r){t.push(r)}),this.on("end",function(){e(null,A$.concat(t))}),this};function TA(e,t){this.conv=e,t=t||{},t.encoding=this.encoding="utf8",Xv.call(this,t)}TA.prototype=Object.create(Xv.prototype,{constructor:{value:TA}});TA.prototype._transform=function(e,t,r){if(!A$.isBuffer(e))return r(new Error("Iconv decoding stream needs buffers as its input."));try{var n=this.conv.write(e);n&&n.length&&this.push(n,this.encoding),r()}catch(i){r(i)}};TA.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t,this.encoding),e()}catch(r){e(r)}};TA.prototype.collect=function(e){var t="";return this.on("error",e),this.on("data",function(r){t+=r}),this.on("end",function(){e(null,t)}),this}});var d$=he(($ke,h$)=>{"use strict";var vi=require("buffer").Buffer;h$.exports=function(e){var t=void 0;e.supportsNodeEncodingsExtension=!(vi.from||new vi(0)instanceof Uint8Array),e.extendNodeEncodings=function(){if(!t){if(t={},!e.supportsNodeEncodingsExtension){console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"),console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");return}var n={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};vi.isNativeEncoding=function(o){return o&&n[o.toLowerCase()]};var i=require("buffer").SlowBuffer;if(t.SlowBufferToString=i.prototype.toString,i.prototype.toString=function(o,u,A){return o=String(o||"utf8").toLowerCase(),vi.isNativeEncoding(o)?t.SlowBufferToString.call(this,o,u,A):(typeof u>"u"&&(u=0),typeof A>"u"&&(A=this.length),e.decode(this.slice(u,A),o))},t.SlowBufferWrite=i.prototype.write,i.prototype.write=function(o,u,A,p){if(isFinite(u))isFinite(A)||(p=A,A=void 0);else{var f=p;p=u,u=A,A=f}u=+u||0;var c=this.length-u;if(A?(A=+A,A>c&&(A=c)):A=c,p=String(p||"utf8").toLowerCase(),vi.isNativeEncoding(p))return t.SlowBufferWrite.call(this,o,u,A,p);if(o.length>0&&(A<0||u<0))throw new RangeError("attempt to write beyond buffer bounds");var m=e.encode(o,p);return m.length"u"&&(u=0),typeof A>"u"&&(A=this.length),e.decode(this.slice(u,A),o))},t.BufferWrite=vi.prototype.write,vi.prototype.write=function(o,u,A,p){var f=u,c=A,m=p;if(isFinite(u))isFinite(A)||(p=A,A=void 0);else{var w=p;p=u,u=A,A=w}if(p=String(p||"utf8").toLowerCase(),vi.isNativeEncoding(p))return t.BufferWrite.call(this,o,f,c,m);u=+u||0;var C=this.length-u;if(A?(A=+A,A>C&&(A=C)):A=C,o.length>0&&(A<0||u<0))throw new RangeError("attempt to write beyond buffer bounds");var F=e.encode(o,p);return F.length{"use strict";var m$=Of().Buffer,E$=qL(),En=y$.exports;En.encodings=null;En.defaultCharUnicode="\uFFFD";En.defaultCharSingleByte="?";En.encode=function(t,r,n){t=""+(t||"");var i=En.getEncoder(r,n),s=i.write(t),o=i.end();return o&&o.length>0?m$.concat([s,o]):s};En.decode=function(t,r,n){typeof t=="string"&&(En.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),En.skipDecodeWarning=!0),t=m$.from(""+(t||""),"binary"));var i=En.getDecoder(r,n),s=i.write(t),o=i.end();return o?s+o:s};En.encodingExists=function(t){try{return En.getCodec(t),!0}catch{return!1}};En.toEncoding=En.encode;En.fromEncoding=En.decode;En._codecDataCache={};En.getCodec=function(t){En.encodings||(En.encodings=l$());for(var r=En._canonicalizeEncoding(t),n={};;){var i=En._codecDataCache[r];if(i)return i;var s=En.encodings[r];switch(typeof s){case"string":r=s;break;case"object":for(var o in s)n[o]=s[o];n.encodingName||(n.encodingName=r),r=s.type;break;case"function":return n.encodingName||(n.encodingName=r),i=new s(n,En),En._codecDataCache[n.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+t+"' (searched as: '"+r+"')")}}};En._canonicalizeEncoding=function(e){return(""+e).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};En.getEncoder=function(t,r){var n=En.getCodec(t),i=new n.encoder(r,n);return n.bomAware&&r&&r.addBOM&&(i=new E$.PrependBOM(i,r)),i};En.getDecoder=function(t,r){var n=En.getCodec(t),i=new n.decoder(r,n);return n.bomAware&&!(r&&r.stripBOM===!1)&&(i=new E$.StripBOM(i,r)),i};var g$=typeof process<"u"&&process.versions&&process.versions.node;g$&&(mS=g$.split(".").map(Number),(mS[0]>0||mS[1]>=10)&&f$()(En),d$()(En));var mS});var eI=he((qke,C$)=>{"use strict";C$.exports=d1e;function h1e(e){for(var t=e.listeners("data"),r=0;r{"use strict";var v$=B1e(),g1e=Zd(),$f=Nf(),m1e=ES(),E1e=eI();B$.exports=v1e;var y1e=/^Encoding not recognized: /;function C1e(e){if(!e)return null;try{return m1e.getDecoder(e)}catch(t){throw y1e.test(t.message)?$f(415,"specified encoding unsupported",{encoding:e,type:"encoding.unsupported"}):t}}function v1e(e,t,r){var n=r,i=t||{};if(e===void 0)throw new TypeError("argument stream is required");if(typeof e!="object"||e===null||typeof e.on!="function")throw new TypeError("argument stream must be a stream");if((t===!0||typeof t=="string")&&(i={encoding:t}),typeof t=="function"&&(n=t,i={}),n!==void 0&&typeof n!="function")throw new TypeError("argument callback must be a function");if(!n&&!global.Promise)throw new TypeError("argument callback is required");var s=i.encoding!==!0?i.encoding:"utf-8",o=g1e.parse(i.limit),u=i.length!=null&&!isNaN(i.length)?parseInt(i.length,10):null;return n?I$(e,s,u,o,w1e(n)):new Promise(function(p,f){I$(e,s,u,o,function(m,w){if(m)return f(m);p(w)})})}function I1e(e){E1e(e),typeof e.pause=="function"&&e.pause()}function I$(e,t,r,n,i){var s=!1,o=!0;if(n!==null&&r!==null&&r>n)return c($f(413,"request entity too large",{expected:r,length:r,limit:n,type:"entity.too.large"}));var u=e._readableState;if(e._decoder||u&&(u.encoding||u.decoder))return c($f(500,"stream encoding should not be set",{type:"stream.encoding.set"}));if(typeof e.readable<"u"&&!e.readable)return c($f(500,"stream is not readable",{type:"stream.not.readable"}));var A=0,p;try{p=C1e(t)}catch(P){return c(P)}var f=p?"":[];e.on("aborted",m),e.on("close",F),e.on("data",w),e.on("end",C),e.on("error",C),o=!1;function c(){for(var P=new Array(arguments.length),j=0;jn?c($f(413,"request entity too large",{limit:n,received:A,type:"entity.too.large"})):p?f+=p.write(P):f.push(P))}function C(P){if(!s){if(P)return c(P);if(r!==null&&A!==r)c($f(400,"request size did not match content length",{expected:r,length:r,received:A,type:"request.size.invalid"}));else{var j=p?f+(p.end()||""):Buffer.concat(f);c(null,j)}}}function F(){f=null,e.removeListener("aborted",m),e.removeListener("data",w),e.removeListener("end",C),e.removeListener("error",C),e.removeListener("close",F)}}function B1e(){try{return require("async_hooks")}catch{return{}}}function w1e(e){var t;return v$.AsyncResource&&(t=new v$.AsyncResource(e.name||"bound-anonymous-fn")),!t||!t.runInAsyncScope?e:t.runInAsyncScope.bind(t,e,null)}});var x$=he((Gke,b$)=>{"use strict";b$.exports=b1e;function b1e(e,t){if(!Array.isArray(e))throw new TypeError("arg must be an array of [ee, events...] arrays");for(var r=[],n=0;n{"use strict";yS.exports=F1e;yS.exports.isFinished=D$;var Q$=N1e(),F$=x$(),Q1e=typeof setImmediate=="function"?setImmediate:function(e){process.nextTick(e.bind.apply(e,arguments))};function F1e(e,t){return D$(e)!==!1?(Q1e(t,null,e),e):(S1e(e,T1e(t)),e)}function D$(e){var t=e.socket;if(typeof e.finished=="boolean")return!!(e.finished||t&&!t.writable);if(typeof e.complete=="boolean")return!!(e.upgrade||!t||!t.readable||e.complete&&!e.readable)}function D1e(e,t){var r,n,i=!1;function s(u){r.cancel(),n.cancel(),i=!0,t(u)}r=n=F$([[e,"end","finish"]],s);function o(u){e.removeListener("socket",o),!i&&r===n&&(n=F$([[u,"error","close"]],s))}if(e.socket){o(e.socket);return}e.on("socket",o),e.socket===void 0&&k1e(e,o)}function S1e(e,t){var r=e.__onFinished;(!r||!r.queue)&&(r=e.__onFinished=R1e(e),D1e(e,r)),r.queue.push(t)}function R1e(e){function t(r){if(e.__onFinished===t&&(e.__onFinished=null),!!t.queue){var n=t.queue;t.queue=null;for(var i=0;i{"use strict";var UA=Nf(),_1e=sD(),U1e=w$(),S$=ES(),R$=pE(),O1e=eI(),k$=require("zlib");N$.exports=M1e;function M1e(e,t,r,n,i,s){var o,u=s,A;e._body=!0;var p=u.encoding!==null?u.encoding:null,f=u.verify;try{A=L1e(e,i,u.inflate),o=A.length,A.length=void 0}catch(c){return r(c)}if(u.length=o,u.encoding=f?null:p,u.encoding===null&&p!==null&&!S$.encodingExists(p))return r(UA(415,'unsupported charset "'+p.toUpperCase()+'"',{charset:p.toLowerCase(),type:"charset.unsupported"}));i("read body"),U1e(A,u,function(c,m){if(c){var w;c.type==="encoding.unsupported"?w=UA(415,'unsupported charset "'+p.toUpperCase()+'"',{charset:p.toLowerCase(),type:"charset.unsupported"}):w=UA(400,c),A!==e&&(O1e(e),_1e(A,!0)),P1e(e,function(){r(UA(400,w))});return}if(f)try{i("verify body"),f(e,t,m,p)}catch(F){r(UA(403,F,{body:m,type:F.type||"entity.verify.failed"}));return}var C=m;try{i("parse body"),C=typeof m!="string"&&p!==null?S$.decode(m,p):m,e.body=n(C)}catch(F){r(UA(400,F,{body:C,type:F.type||"entity.parse.failed"}));return}r()})}function L1e(e,t,r){var n=(e.headers["content-encoding"]||"identity").toLowerCase(),i=e.headers["content-length"],s;if(t('content-encoding "%s"',n),r===!1&&n!=="identity")throw UA(415,"content encoding unsupported",{encoding:n,type:"encoding.unsupported"});switch(n){case"deflate":s=k$.createInflate(),t("inflate body"),e.pipe(s);break;case"gzip":s=k$.createGunzip(),t("gunzip body"),e.pipe(s);break;case"identity":s=e,s.length=i;break;default:throw UA(415,'unsupported content encoding "'+n+'"',{encoding:n,type:"encoding.unsupported"})}return s}function P1e(e,t){R$.isFinished(e)?t(null):(R$(e,t),e.resume())}});var O$=he(CS=>{var T$=/; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g,$1e=/^[\u0020-\u007e\u0080-\u00ff]+$/,U$=/^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/,H1e=/\\([\u0000-\u007f])/g,q1e=/([\\"])/g,j1e=/^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/,_$=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/,G1e=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;CS.format=Y1e;CS.parse=V1e;function Y1e(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var t=e.parameters,r=e.subtype,n=e.suffix,i=e.type;if(!i||!_$.test(i))throw new TypeError("invalid type");if(!r||!j1e.test(r))throw new TypeError("invalid subtype");var s=i+"/"+r;if(n){if(!_$.test(n))throw new TypeError("invalid suffix");s+="+"+n}if(t&&typeof t=="object")for(var o,u=Object.keys(t).sort(),A=0;A0&&!$1e.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(q1e,"\\$1")+'"'}function z1e(e){var t=G1e.exec(e.toLowerCase());if(!t)throw new TypeError("invalid media type");var r=t[1],n=t[2],i,s=n.lastIndexOf("+");s!==-1&&(i=n.substr(s+1),n=n.substr(0,s));var o={type:r,subtype:n,suffix:i};return o}});var M$=he((Wke,K1e)=>{K1e.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var P$=he((zke,L$)=>{L$.exports=M$()});var rI=he(go=>{"use strict";var tI=P$(),Z1e=require("path").extname,$$=/^\s*([^;\s]*)(?:;|\s|$)/,X1e=/^text\//i;go.charset=H$;go.charsets={lookup:H$};go.contentType=eye;go.extension=tye;go.extensions=Object.create(null);go.lookup=rye;go.types=Object.create(null);nye(go.extensions,go.types);function H$(e){if(!e||typeof e!="string")return!1;var t=$$.exec(e),r=t&&tI[t[1].toLowerCase()];return r&&r.charset?r.charset:t&&X1e.test(t[1])?"UTF-8":!1}function eye(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?go.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var r=go.charset(t);r&&(t+="; charset="+r.toLowerCase())}return t}function tye(e){if(!e||typeof e!="string")return!1;var t=$$.exec(e),r=t&&go.extensions[t[1].toLowerCase()];return!r||!r.length?!1:r[0]}function rye(e){if(!e||typeof e!="string")return!1;var t=Z1e("x."+e).toLowerCase().substr(1);return t&&go.types[t]||!1}function nye(e,t){var r=["nginx","apache",void 0,"iana"];Object.keys(tI).forEach(function(i){var s=tI[i],o=s.extensions;if(!(!o||!o.length)){e[i]=o;for(var u=0;uf||p===f&&t[A].substr(0,12)==="application/"))continue}t[A]=i}}})}});var ag=he((Zke,og)=>{"use strict";var q$=O$(),iye=rI();og.exports=sye;og.exports.is=j$;og.exports.hasBody=G$;og.exports.normalize=Y$;og.exports.match=V$;function j$(e,t){var r,n=t,i=aye(e);if(!i)return!1;if(n&&!Array.isArray(n))for(n=new Array(arguments.length-1),r=0;r2){r=new Array(arguments.length-1);for(var n=0;n{"use strict";var uye=Zd(),cye=tE(),lye=Nf(),MA=Fa()("body-parser:json"),Aye=fE(),W$=ag();K$.exports=hye;var pye=/^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/,J$="#",fye=/#+/g;function hye(e){var t=e||{},r=typeof t.limit!="number"?uye.parse(t.limit||"100kb"):t.limit,n=t.inflate!==!1,i=t.reviver,s=t.strict!==!1,o=t.type||"application/json",u=t.verify||!1;if(u!==!1&&typeof u!="function")throw new TypeError("option verify must be function");var A=typeof o!="function"?Eye(o):o;function p(f){if(f.length===0)return{};if(s){var c=gye(f);if(c!=="{"&&c!=="[")throw MA("strict violation"),dye(f,c)}try{return MA("parse json"),JSON.parse(f,i)}catch(m){throw z$(m,{message:m.message,stack:m.stack})}}return function(c,m,w){if(c._body){MA("body already parsed"),w();return}if(c.body=c.body||{},!W$.hasBody(c)){MA("skip empty body"),w();return}if(MA("content-type %j",c.headers["content-type"]),!A(c)){MA("skip parsing"),w();return}var C=mye(c)||"utf-8";if(C.slice(0,4)!=="utf-"){MA("invalid charset"),w(lye(415,'unsupported charset "'+C.toUpperCase()+'"',{charset:C,type:"charset.unsupported"}));return}Aye(c,m,w,p,MA,{encoding:C,inflate:n,limit:r,verify:u})}}function dye(e,t){var r=e.indexOf(t),n="";if(r!==-1){n=e.substring(0,r)+J$;for(var i=r+1;i{"use strict";var yye=Zd(),hE=Fa()("body-parser:raw"),Cye=fE(),X$=ag();eH.exports=vye;function vye(e){var t=e||{},r=t.inflate!==!1,n=typeof t.limit!="number"?yye.parse(t.limit||"100kb"):t.limit,i=t.type||"application/octet-stream",s=t.verify||!1;if(s!==!1&&typeof s!="function")throw new TypeError("option verify must be function");var o=typeof i!="function"?Iye(i):i;function u(A){return A}return function(p,f,c){if(p._body){hE("body already parsed"),c();return}if(p.body=p.body||{},!X$.hasBody(p)){hE("skip empty body"),c();return}if(hE("content-type %j",p.headers["content-type"]),!o(p)){hE("skip parsing"),c();return}Cye(p,f,c,u,hE,{encoding:null,inflate:r,limit:n,verify:s})}}function Iye(e){return function(r){return!!X$(r,e)}}});var iH=he((tNe,nH)=>{"use strict";var Bye=Zd(),wye=tE(),dE=Fa()("body-parser:text"),bye=fE(),rH=ag();nH.exports=xye;function xye(e){var t=e||{},r=t.defaultCharset||"utf-8",n=t.inflate!==!1,i=typeof t.limit!="number"?Bye.parse(t.limit||"100kb"):t.limit,s=t.type||"text/plain",o=t.verify||!1;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var u=typeof s!="function"?Fye(s):s;function A(p){return p}return function(f,c,m){if(f._body){dE("body already parsed"),m();return}if(f.body=f.body||{},!rH.hasBody(f)){dE("skip empty body"),m();return}if(dE("content-type %j",f.headers["content-type"]),!u(f)){dE("skip parsing"),m();return}var w=Qye(f)||r;bye(f,c,m,A,dE,{encoding:w,inflate:n,limit:i,verify:o})}}function Qye(e){try{return(wye.parse(e).parameters.charset||"").toLowerCase()}catch{return}}function Fye(e){return function(r){return!!rH(r,e)}}});var Hf=he((rNe,sH)=>{"use strict";sH.exports=TypeError});var aH=he((nNe,oH)=>{oH.exports=require("util").inspect});var yE=he((iNe,QH)=>{var SS=typeof Map=="function"&&Map.prototype,vS=Object.getOwnPropertyDescriptor&&SS?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,iI=SS&&vS&&typeof vS.get=="function"?vS.get:null,uH=SS&&Map.prototype.forEach,RS=typeof Set=="function"&&Set.prototype,IS=Object.getOwnPropertyDescriptor&&RS?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,sI=RS&&IS&&typeof IS.get=="function"?IS.get:null,cH=RS&&Set.prototype.forEach,Dye=typeof WeakMap=="function"&&WeakMap.prototype,mE=Dye?WeakMap.prototype.has:null,Sye=typeof WeakSet=="function"&&WeakSet.prototype,EE=Sye?WeakSet.prototype.has:null,Rye=typeof WeakRef=="function"&&WeakRef.prototype,lH=Rye?WeakRef.prototype.deref:null,kye=Boolean.prototype.valueOf,Nye=Object.prototype.toString,Tye=Function.prototype.toString,_ye=String.prototype.match,kS=String.prototype.slice,LA=String.prototype.replace,Uye=String.prototype.toUpperCase,AH=String.prototype.toLowerCase,CH=RegExp.prototype.test,pH=Array.prototype.concat,lc=Array.prototype.join,Oye=Array.prototype.slice,fH=Math.floor,bS=typeof BigInt=="function"?BigInt.prototype.valueOf:null,BS=Object.getOwnPropertySymbols,xS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,ug=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Ds=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===ug||!0)?Symbol.toStringTag:null,vH=Object.prototype.propertyIsEnumerable,hH=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function dH(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||CH.call(/e/,t))return t;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof e=="number"){var n=e<0?-fH(-e):fH(e);if(n!==e){var i=String(n),s=kS.call(t,i.length+1);return LA.call(i,r,"$&_")+"."+LA.call(LA.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return LA.call(t,r,"$&_")}var QS=aH(),gH=QS.custom,mH=wH(gH)?gH:null,IH={__proto__:null,double:'"',single:"'"},Mye={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};QH.exports=function e(t,r,n,i){var s=r||{};if(wl(s,"quoteStyle")&&!wl(IH,s.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(wl(s,"maxStringLength")&&(typeof s.maxStringLength=="number"?s.maxStringLength<0&&s.maxStringLength!==1/0:s.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=wl(s,"customInspect")?s.customInspect:!0;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(wl(s,"indent")&&s.indent!==null&&s.indent!==" "&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(wl(s,"numericSeparator")&&typeof s.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var u=s.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return xH(t,s);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var A=String(t);return u?dH(t,A):A}if(typeof t=="bigint"){var p=String(t)+"n";return u?dH(t,p):p}var f=typeof s.depth>"u"?5:s.depth;if(typeof n>"u"&&(n=0),n>=f&&f>0&&typeof t=="object")return FS(t)?"[Array]":"[Object]";var c=rCe(s,n);if(typeof i>"u")i=[];else if(bH(i,t)>=0)return"[Circular]";function m(Oe,ct,Re){if(ct&&(i=Oye.call(i),i.push(ct)),Re){var Qe={depth:s.depth};return wl(s,"quoteStyle")&&(Qe.quoteStyle=s.quoteStyle),e(Oe,Qe,n+1,i)}return e(Oe,s,n+1,i)}if(typeof t=="function"&&!EH(t)){var w=Vye(t),C=nI(t,m);return"[Function"+(w?": "+w:" (anonymous)")+"]"+(C.length>0?" { "+lc.call(C,", ")+" }":"")}if(wH(t)){var F=ug?LA.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):xS.call(t);return typeof t=="object"&&!ug?gE(F):F}if(Xye(t)){for(var P="<"+AH.call(String(t.nodeName)),j=t.attributes||[],re=0;re",P}if(FS(t)){if(t.length===0)return"[]";var se=nI(t,m);return c&&!tCe(se)?"["+DS(se,c)+"]":"[ "+lc.call(se,", ")+" ]"}if($ye(t)){var ge=nI(t,m);return!("cause"in Error.prototype)&&"cause"in t&&!vH.call(t,"cause")?"{ ["+String(t)+"] "+lc.call(pH.call("[cause]: "+m(t.cause),ge),", ")+" }":ge.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+lc.call(ge,", ")+" }"}if(typeof t=="object"&&o){if(mH&&typeof t[mH]=="function"&&QS)return QS(t,{depth:f-n});if(o!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(Jye(t)){var oe=[];return uH&&uH.call(t,function(Oe,ct){oe.push(m(ct,t,!0)+" => "+m(Oe,t))}),yH("Map",iI.call(t),oe,c)}if(Kye(t)){var be=[];return cH&&cH.call(t,function(Oe){be.push(m(Oe,t))}),yH("Set",sI.call(t),be,c)}if(Wye(t))return wS("WeakMap");if(Zye(t))return wS("WeakSet");if(zye(t))return wS("WeakRef");if(qye(t))return gE(m(Number(t)));if(Gye(t))return gE(m(bS.call(t)));if(jye(t))return gE(kye.call(t));if(Hye(t))return gE(m(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof global<"u"&&t===global)return"{ [object globalThis] }";if(!Pye(t)&&!EH(t)){var fe=nI(t,m),Ie=hH?hH(t)===Object.prototype:t instanceof Object||t.constructor===Object,$e=t instanceof Object?"":"null prototype",Ve=!Ie&&Ds&&Object(t)===t&&Ds in t?kS.call(PA(t),8,-1):$e?"Object":"",Ae=Ie||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",Ue=Ae+(Ve||$e?"["+lc.call(pH.call([],Ve||[],$e||[]),": ")+"] ":"");return fe.length===0?Ue+"{}":c?Ue+"{"+DS(fe,c)+"}":Ue+"{ "+lc.call(fe,", ")+" }"}return String(t)};function BH(e,t,r){var n=r.quoteStyle||t,i=IH[n];return i+e+i}function Lye(e){return LA.call(String(e),/"/g,""")}function FS(e){return PA(e)==="[object Array]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function Pye(e){return PA(e)==="[object Date]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function EH(e){return PA(e)==="[object RegExp]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function $ye(e){return PA(e)==="[object Error]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function Hye(e){return PA(e)==="[object String]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function qye(e){return PA(e)==="[object Number]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function jye(e){return PA(e)==="[object Boolean]"&&(!Ds||!(typeof e=="object"&&Ds in e))}function wH(e){if(ug)return e&&typeof e=="object"&&e instanceof Symbol;if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||!xS)return!1;try{return xS.call(e),!0}catch{}return!1}function Gye(e){if(!e||typeof e!="object"||!bS)return!1;try{return bS.call(e),!0}catch{}return!1}var Yye=Object.prototype.hasOwnProperty||function(e){return e in this};function wl(e,t){return Yye.call(e,t)}function PA(e){return Nye.call(e)}function Vye(e){if(e.name)return e.name;var t=_ye.call(Tye.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}function bH(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;rt.maxStringLength){var r=e.length-t.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return xH(kS.call(e,0,t.maxStringLength),t)+n}var i=Mye[t.quoteStyle||"single"];i.lastIndex=0;var s=LA.call(LA.call(e,i,"\\$1"),/[\x00-\x1f]/g,eCe);return BH(s,"single",t)}function eCe(e){var t=e.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return r?"\\"+r:"\\x"+(t<16?"0":"")+Uye.call(t.toString(16))}function gE(e){return"Object("+e+")"}function wS(e){return e+" { ? }"}function yH(e,t,r,n){var i=n?DS(r,n):lc.call(r,", ");return e+" ("+t+") {"+i+"}"}function tCe(e){for(var t=0;t=0)return!1;return!0}function rCe(e,t){var r;if(e.indent===" ")r=" ";else if(typeof e.indent=="number"&&e.indent>0)r=lc.call(Array(e.indent+1)," ");else return null;return{base:r,prev:lc.call(Array(t+1),r)}}function DS(e,t){if(e.length===0)return"";var r=` +`+t.prev+t.base;return r+lc.call(e,","+r)+` +`+t.prev}function nI(e,t){var r=FS(e),n=[];if(r){n.length=e.length;for(var i=0;i{"use strict";var nCe=yE(),iCe=Hf(),oI=function(e,t,r){for(var n=e,i;(i=n.next)!=null;n=i)if(i.key===t)return n.next=i.next,r||(i.next=e.next,e.next=i),i},sCe=function(e,t){if(e){var r=oI(e,t);return r&&r.value}},oCe=function(e,t,r){var n=oI(e,t);n?n.value=r:e.next={key:t,next:e.next,value:r}},aCe=function(e,t){return e?!!oI(e,t):!1},uCe=function(e,t){if(e)return oI(e,t,!0)};FH.exports=function(){var t,r={assert:function(n){if(!r.has(n))throw new iCe("Side channel does not contain "+nCe(n))},delete:function(n){var i=t&&t.next,s=uCe(t,n);return s&&i&&i===s&&(t=void 0),!!s},get:function(n){return sCe(t,n)},has:function(n){return aCe(t,n)},set:function(n,i){t||(t={next:void 0}),oCe(t,n,i)}};return r}});var NS=he((oNe,SH)=>{"use strict";SH.exports=Object});var kH=he((aNe,RH)=>{"use strict";RH.exports=Error});var TH=he((uNe,NH)=>{"use strict";NH.exports=EvalError});var UH=he((cNe,_H)=>{"use strict";_H.exports=RangeError});var MH=he((lNe,OH)=>{"use strict";OH.exports=ReferenceError});var PH=he((ANe,LH)=>{"use strict";LH.exports=SyntaxError});var HH=he((pNe,$H)=>{"use strict";$H.exports=URIError});var jH=he((fNe,qH)=>{"use strict";qH.exports=Math.abs});var YH=he((hNe,GH)=>{"use strict";GH.exports=Math.floor});var JH=he((dNe,VH)=>{"use strict";VH.exports=Math.max});var zH=he((gNe,WH)=>{"use strict";WH.exports=Math.min});var ZH=he((mNe,KH)=>{"use strict";KH.exports=Math.pow});var eq=he((ENe,XH)=>{"use strict";XH.exports=Math.round});var rq=he((yNe,tq)=>{"use strict";tq.exports=Number.isNaN||function(t){return t!==t}});var iq=he((CNe,nq)=>{"use strict";var cCe=rq();nq.exports=function(t){return cCe(t)||t===0?t:t<0?-1:1}});var oq=he((vNe,sq)=>{"use strict";sq.exports=Object.getOwnPropertyDescriptor});var TS=he((INe,aq)=>{"use strict";var aI=oq();if(aI)try{aI([],"length")}catch{aI=null}aq.exports=aI});var cq=he((BNe,uq)=>{"use strict";var uI=Object.defineProperty||!1;if(uI)try{uI({},"a",{value:1})}catch{uI=!1}uq.exports=uI});var Aq=he((wNe,lq)=>{"use strict";lq.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(var s in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var u=Object.getOwnPropertyDescriptor(t,r);if(u.value!==i||u.enumerable!==!0)return!1}return!0}});var hq=he((bNe,fq)=>{"use strict";var pq=typeof Symbol<"u"&&Symbol,lCe=Aq();fq.exports=function(){return typeof pq!="function"||typeof Symbol!="function"||typeof pq("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:lCe()}});var _S=he((xNe,dq)=>{"use strict";dq.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var US=he((QNe,gq)=>{"use strict";var ACe=NS();gq.exports=ACe.getPrototypeOf||null});var yq=he((FNe,Eq)=>{"use strict";var pCe="Function.prototype.bind called on incompatible ",fCe=Object.prototype.toString,hCe=Math.max,dCe="[object Function]",mq=function(t,r){for(var n=[],i=0;i{"use strict";var ECe=yq();Cq.exports=Function.prototype.bind||ECe});var cI=he((SNe,vq)=>{"use strict";vq.exports=Function.prototype.call});var OS=he((RNe,Iq)=>{"use strict";Iq.exports=Function.prototype.apply});var wq=he((kNe,Bq)=>{"use strict";Bq.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var xq=he((NNe,bq)=>{"use strict";var yCe=CE(),CCe=OS(),vCe=cI(),ICe=wq();bq.exports=ICe||yCe.call(vCe,CCe)});var MS=he((TNe,Qq)=>{"use strict";var BCe=CE(),wCe=Hf(),bCe=cI(),xCe=xq();Qq.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new wCe("a function is required");return xCe(BCe,bCe,t)}});var Nq=he((_Ne,kq)=>{"use strict";var QCe=MS(),Fq=TS(),Sq;try{Sq=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var LS=!!Sq&&Fq&&Fq(Object.prototype,"__proto__"),Rq=Object,Dq=Rq.getPrototypeOf;kq.exports=LS&&typeof LS.get=="function"?QCe([LS.get]):typeof Dq=="function"?function(t){return Dq(t==null?t:Rq(t))}:!1});var Mq=he((UNe,Oq)=>{"use strict";var Tq=_S(),_q=US(),Uq=Nq();Oq.exports=Tq?function(t){return Tq(t)}:_q?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return _q(t)}:Uq?function(t){return Uq(t)}:null});var Pq=he((ONe,Lq)=>{"use strict";var FCe=Function.prototype.call,DCe=Object.prototype.hasOwnProperty,SCe=CE();Lq.exports=SCe.call(FCe,DCe)});var pI=he((MNe,Yq)=>{"use strict";var Jr,RCe=NS(),kCe=kH(),NCe=TH(),TCe=UH(),_Ce=MH(),pg=PH(),Ag=Hf(),UCe=HH(),OCe=jH(),MCe=YH(),LCe=JH(),PCe=zH(),$Ce=ZH(),HCe=eq(),qCe=iq(),jq=Function,PS=function(e){try{return jq('"use strict"; return ('+e+").constructor;")()}catch{}},vE=TS(),jCe=cq(),$S=function(){throw new Ag},GCe=vE?function(){try{return arguments.callee,$S}catch{try{return vE(arguments,"callee").get}catch{return $S}}}():$S,cg=hq()(),as=Mq(),YCe=US(),VCe=_S(),Gq=OS(),IE=cI(),lg={},JCe=typeof Uint8Array>"u"||!as?Jr:as(Uint8Array),jf={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?Jr:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Jr:ArrayBuffer,"%ArrayIteratorPrototype%":cg&&as?as([][Symbol.iterator]()):Jr,"%AsyncFromSyncIteratorPrototype%":Jr,"%AsyncFunction%":lg,"%AsyncGenerator%":lg,"%AsyncGeneratorFunction%":lg,"%AsyncIteratorPrototype%":lg,"%Atomics%":typeof Atomics>"u"?Jr:Atomics,"%BigInt%":typeof BigInt>"u"?Jr:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Jr:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Jr:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Jr:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":kCe,"%eval%":eval,"%EvalError%":NCe,"%Float32Array%":typeof Float32Array>"u"?Jr:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Jr:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Jr:FinalizationRegistry,"%Function%":jq,"%GeneratorFunction%":lg,"%Int8Array%":typeof Int8Array>"u"?Jr:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Jr:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Jr:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":cg&&as?as(as([][Symbol.iterator]())):Jr,"%JSON%":typeof JSON=="object"?JSON:Jr,"%Map%":typeof Map>"u"?Jr:Map,"%MapIteratorPrototype%":typeof Map>"u"||!cg||!as?Jr:as(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":RCe,"%Object.getOwnPropertyDescriptor%":vE,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Jr:Promise,"%Proxy%":typeof Proxy>"u"?Jr:Proxy,"%RangeError%":TCe,"%ReferenceError%":_Ce,"%Reflect%":typeof Reflect>"u"?Jr:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Jr:Set,"%SetIteratorPrototype%":typeof Set>"u"||!cg||!as?Jr:as(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Jr:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":cg&&as?as(""[Symbol.iterator]()):Jr,"%Symbol%":cg?Symbol:Jr,"%SyntaxError%":pg,"%ThrowTypeError%":GCe,"%TypedArray%":JCe,"%TypeError%":Ag,"%Uint8Array%":typeof Uint8Array>"u"?Jr:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Jr:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Jr:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Jr:Uint32Array,"%URIError%":UCe,"%WeakMap%":typeof WeakMap>"u"?Jr:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Jr:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Jr:WeakSet,"%Function.prototype.call%":IE,"%Function.prototype.apply%":Gq,"%Object.defineProperty%":jCe,"%Object.getPrototypeOf%":YCe,"%Math.abs%":OCe,"%Math.floor%":MCe,"%Math.max%":LCe,"%Math.min%":PCe,"%Math.pow%":$Ce,"%Math.round%":HCe,"%Math.sign%":qCe,"%Reflect.getPrototypeOf%":VCe};if(as)try{null.error}catch(e){$q=as(as(e)),jf["%Error.prototype%"]=$q}var $q,WCe=function e(t){var r;if(t==="%AsyncFunction%")r=PS("async function () {}");else if(t==="%GeneratorFunction%")r=PS("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=PS("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&as&&(r=as(i.prototype))}return jf[t]=r,r},Hq={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},BE=CE(),lI=Pq(),zCe=BE.call(IE,Array.prototype.concat),KCe=BE.call(Gq,Array.prototype.splice),qq=BE.call(IE,String.prototype.replace),AI=BE.call(IE,String.prototype.slice),ZCe=BE.call(IE,RegExp.prototype.exec),XCe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,eve=/\\(\\)?/g,tve=function(t){var r=AI(t,0,1),n=AI(t,-1);if(r==="%"&&n!=="%")throw new pg("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new pg("invalid intrinsic syntax, expected opening `%`");var i=[];return qq(t,XCe,function(s,o,u,A){i[i.length]=u?qq(A,eve,"$1"):o||s}),i},rve=function(t,r){var n=t,i;if(lI(Hq,n)&&(i=Hq[n],n="%"+i[0]+"%"),lI(jf,n)){var s=jf[n];if(s===lg&&(s=WCe(n)),typeof s>"u"&&!r)throw new Ag("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:s}}throw new pg("intrinsic "+t+" does not exist!")};Yq.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new Ag("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ag('"allowMissing" argument must be a boolean');if(ZCe(/^%?[^%]*%?$/,t)===null)throw new pg("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=tve(t),i=n.length>0?n[0]:"",s=rve("%"+i+"%",r),o=s.name,u=s.value,A=!1,p=s.alias;p&&(i=p[0],KCe(n,zCe([0,1],p)));for(var f=1,c=!0;f=n.length){var F=vE(u,m);c=!!F,c&&"get"in F&&!("originalValue"in F.get)?u=F.get:u=u[m]}else c=lI(u,m),u=u[m];c&&!A&&(jf[o]=u)}}return u}});var HS=he((LNe,Wq)=>{"use strict";var Vq=pI(),Jq=MS(),nve=Jq([Vq("%String.prototype.indexOf%")]);Wq.exports=function(t,r){var n=Vq(t,!!r);return typeof n=="function"&&nve(t,".prototype.")>-1?Jq([n]):n}});var qS=he((PNe,Kq)=>{"use strict";var ive=pI(),wE=HS(),sve=yE(),ove=Hf(),zq=ive("%Map%",!0),ave=wE("Map.prototype.get",!0),uve=wE("Map.prototype.set",!0),cve=wE("Map.prototype.has",!0),lve=wE("Map.prototype.delete",!0),Ave=wE("Map.prototype.size",!0);Kq.exports=!!zq&&function(){var t,r={assert:function(n){if(!r.has(n))throw new ove("Side channel does not contain "+sve(n))},delete:function(n){if(t){var i=lve(t,n);return Ave(t)===0&&(t=void 0),i}return!1},get:function(n){if(t)return ave(t,n)},has:function(n){return t?cve(t,n):!1},set:function(n,i){t||(t=new zq),uve(t,n,i)}};return r}});var Xq=he(($Ne,Zq)=>{"use strict";var pve=pI(),hI=HS(),fve=yE(),fI=qS(),hve=Hf(),fg=pve("%WeakMap%",!0),dve=hI("WeakMap.prototype.get",!0),gve=hI("WeakMap.prototype.set",!0),mve=hI("WeakMap.prototype.has",!0),Eve=hI("WeakMap.prototype.delete",!0);Zq.exports=fg?function(){var t,r,n={assert:function(i){if(!n.has(i))throw new hve("Side channel does not contain "+fve(i))},delete:function(i){if(fg&&i&&(typeof i=="object"||typeof i=="function")){if(t)return Eve(t,i)}else if(fI&&r)return r.delete(i);return!1},get:function(i){return fg&&i&&(typeof i=="object"||typeof i=="function")&&t?dve(t,i):r&&r.get(i)},has:function(i){return fg&&i&&(typeof i=="object"||typeof i=="function")&&t?mve(t,i):!!r&&r.has(i)},set:function(i,s){fg&&i&&(typeof i=="object"||typeof i=="function")?(t||(t=new fg),gve(t,i,s)):fI&&(r||(r=fI()),r.set(i,s))}};return n}:fI});var tj=he((HNe,ej)=>{"use strict";var yve=Hf(),Cve=yE(),vve=DH(),Ive=qS(),Bve=Xq(),wve=Bve||Ive||vve;ej.exports=function(){var t,r={assert:function(n){if(!r.has(n))throw new yve("Side channel does not contain "+Cve(n))},delete:function(n){return!!t&&t.delete(n)},get:function(n){return t&&t.get(n)},has:function(n){return!!t&&t.has(n)},set:function(n,i){t||(t=wve()),t.set(n,i)}};return r}});var dI=he((qNe,rj)=>{"use strict";var bve=String.prototype.replace,xve=/%20/g,jS={RFC1738:"RFC1738",RFC3986:"RFC3986"};rj.exports={default:jS.RFC3986,formatters:{RFC1738:function(e){return bve.call(e,xve,"+")},RFC3986:function(e){return String(e)}},RFC1738:jS.RFC1738,RFC3986:jS.RFC3986}});var VS=he((jNe,ij)=>{"use strict";var Qve=dI(),GS=Object.prototype.hasOwnProperty,Gf=Array.isArray,Ac=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),Fve=function(t){for(;t.length>1;){var r=t.pop(),n=r.obj[r.prop];if(Gf(n)){for(var i=[],s=0;s=YS?o.slice(A,A+YS):o,f=[],c=0;c=48&&m<=57||m>=65&&m<=90||m>=97&&m<=122||s===Qve.RFC1738&&(m===40||m===41)){f[f.length]=p.charAt(c);continue}if(m<128){f[f.length]=Ac[m];continue}if(m<2048){f[f.length]=Ac[192|m>>6]+Ac[128|m&63];continue}if(m<55296||m>=57344){f[f.length]=Ac[224|m>>12]+Ac[128|m>>6&63]+Ac[128|m&63];continue}c+=1,m=65536+((m&1023)<<10|p.charCodeAt(c)&1023),f[f.length]=Ac[240|m>>18]+Ac[128|m>>12&63]+Ac[128|m>>6&63]+Ac[128|m&63]}u+=f.join("")}return u},Nve=function(t){for(var r=[{obj:{o:t},prop:"o"}],n=[],i=0;i{"use strict";var oj=tj(),gI=VS(),bE=dI(),Mve=Object.prototype.hasOwnProperty,aj={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,r){return t+"["+r+"]"},repeat:function(t){return t}},pc=Array.isArray,Lve=Array.prototype.push,uj=function(e,t){Lve.apply(e,pc(t)?t:[t])},Pve=Date.prototype.toISOString,sj=bE.default,Wi={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:gI.encode,encodeValuesOnly:!1,format:sj,formatter:bE.formatters[sj],indices:!1,serializeDate:function(t){return Pve.call(t)},skipNulls:!1,strictNullHandling:!1},$ve=function(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"},JS={},Hve=function e(t,r,n,i,s,o,u,A,p,f,c,m,w,C,F,P,j,re){for(var se=t,ge=re,oe=0,be=!1;(ge=ge.get(JS))!==void 0&&!be;){var fe=ge.get(t);if(oe+=1,typeof fe<"u"){if(fe===oe)throw new RangeError("Cyclic object value");be=!0}typeof ge.get(JS)>"u"&&(oe=0)}if(typeof f=="function"?se=f(r,se):se instanceof Date?se=w(se):n==="comma"&&pc(se)&&(se=gI.maybeMap(se,function(We){return We instanceof Date?w(We):We})),se===null){if(o)return p&&!P?p(r,Wi.encoder,j,"key",C):r;se=""}if($ve(se)||gI.isBuffer(se)){if(p){var Ie=P?r:p(r,Wi.encoder,j,"key",C);return[F(Ie)+"="+F(p(se,Wi.encoder,j,"value",C))]}return[F(r)+"="+F(String(se))]}var $e=[];if(typeof se>"u")return $e;var Ve;if(n==="comma"&&pc(se))P&&p&&(se=gI.maybeMap(se,p)),Ve=[{value:se.length>0?se.join(",")||null:void 0}];else if(pc(f))Ve=f;else{var Ae=Object.keys(se);Ve=c?Ae.sort(c):Ae}var Ue=A?r.replace(/\./g,"%2E"):r,Oe=i&&pc(se)&&se.length===1?Ue+"[]":Ue;if(s&&pc(se)&&se.length===0)return Oe+"[]";for(var ct=0;ct"u"?t.encodeDotInKeys===!0?!0:Wi.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:Wi.addQueryPrefix,allowDots:u,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:Wi.allowEmptyArrays,arrayFormat:o,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Wi.charsetSentinel,commaRoundTrip:t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?Wi.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:Wi.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:Wi.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:Wi.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:Wi.encodeValuesOnly,filter:s,format:n,formatter:i,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:Wi.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:Wi.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Wi.strictNullHandling}};cj.exports=function(e,t){var r=e,n=qve(t),i,s;typeof n.filter=="function"?(s=n.filter,r=s("",r)):pc(n.filter)&&(s=n.filter,i=s);var o=[];if(typeof r!="object"||r===null)return"";var u=aj[n.arrayFormat],A=u==="comma"&&n.commaRoundTrip;i||(i=Object.keys(r)),n.sort&&i.sort(n.sort);for(var p=oj(),f=0;f0?w+m:""}});var fj=he((YNe,pj)=>{"use strict";var hg=VS(),WS=Object.prototype.hasOwnProperty,jve=Array.isArray,Ii={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:hg.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},Gve=function(e){return e.replace(/&#(\d+);/g,function(t,r){return String.fromCharCode(parseInt(r,10))})},Aj=function(e,t){return e&&typeof e=="string"&&t.comma&&e.indexOf(",")>-1?e.split(","):e},Yve="utf8=%26%2310003%3B",Vve="utf8=%E2%9C%93",Jve=function(t,r){var n={__proto__:null},i=r.ignoreQueryPrefix?t.replace(/^\?/,""):t;i=i.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var s=r.parameterLimit===1/0?void 0:r.parameterLimit,o=i.split(r.delimiter,s),u=-1,A,p=r.charset;if(r.charsetSentinel)for(A=0;A-1&&(C=jve(C)?[C]:C);var F=WS.call(n,w);F&&r.duplicates==="combine"?n[w]=hg.combine(n[w],C):(!F||r.duplicates==="last")&&(n[w]=C)}return n},Wve=function(e,t,r,n){for(var i=n?t:Aj(t,r),s=e.length-1;s>=0;--s){var o,u=e[s];if(u==="[]"&&r.parseArrays)o=r.allowEmptyArrays&&(i===""||r.strictNullHandling&&i===null)?[]:[].concat(i);else{o=r.plainObjects?Object.create(null):{};var A=u.charAt(0)==="["&&u.charAt(u.length-1)==="]"?u.slice(1,-1):u,p=r.decodeDotInKeys?A.replace(/%2E/g,"."):A,f=parseInt(p,10);!r.parseArrays&&p===""?o={0:i}:!isNaN(f)&&u!==p&&String(f)===p&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(o=[],o[f]=i):p!=="__proto__"&&(o[p]=i)}i=o}return i},zve=function(t,r,n,i){if(t){var s=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,o=/(\[[^[\]]*])/,u=/(\[[^[\]]*])/g,A=n.depth>0&&o.exec(s),p=A?s.slice(0,A.index):s,f=[];if(p){if(!n.plainObjects&&WS.call(Object.prototype,p)&&!n.allowPrototypes)return;f.push(p)}for(var c=0;n.depth>0&&(A=u.exec(s))!==null&&c"u"?Ii.charset:t.charset,n=typeof t.duplicates>"u"?Ii.duplicates:t.duplicates;if(n!=="combine"&&n!=="first"&&n!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var i=typeof t.allowDots>"u"?t.decodeDotInKeys===!0?!0:Ii.allowDots:!!t.allowDots;return{allowDots:i,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:Ii.allowEmptyArrays,allowPrototypes:typeof t.allowPrototypes=="boolean"?t.allowPrototypes:Ii.allowPrototypes,allowSparse:typeof t.allowSparse=="boolean"?t.allowSparse:Ii.allowSparse,arrayLimit:typeof t.arrayLimit=="number"?t.arrayLimit:Ii.arrayLimit,charset:r,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:Ii.charsetSentinel,comma:typeof t.comma=="boolean"?t.comma:Ii.comma,decodeDotInKeys:typeof t.decodeDotInKeys=="boolean"?t.decodeDotInKeys:Ii.decodeDotInKeys,decoder:typeof t.decoder=="function"?t.decoder:Ii.decoder,delimiter:typeof t.delimiter=="string"||hg.isRegExp(t.delimiter)?t.delimiter:Ii.delimiter,depth:typeof t.depth=="number"||t.depth===!1?+t.depth:Ii.depth,duplicates:n,ignoreQueryPrefix:t.ignoreQueryPrefix===!0,interpretNumericEntities:typeof t.interpretNumericEntities=="boolean"?t.interpretNumericEntities:Ii.interpretNumericEntities,parameterLimit:typeof t.parameterLimit=="number"?t.parameterLimit:Ii.parameterLimit,parseArrays:t.parseArrays!==!1,plainObjects:typeof t.plainObjects=="boolean"?t.plainObjects:Ii.plainObjects,strictDepth:typeof t.strictDepth=="boolean"?!!t.strictDepth:Ii.strictDepth,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:Ii.strictNullHandling}};pj.exports=function(e,t){var r=Kve(t);if(e===""||e===null||typeof e>"u")return r.plainObjects?Object.create(null):{};for(var n=typeof e=="string"?Jve(e,r):e,i=r.plainObjects?Object.create(null):{},s=Object.keys(n),o=0;o{"use strict";var Zve=lj(),Xve=fj(),eIe=dI();hj.exports={formats:eIe,parse:Xve,stringify:Zve}});var Cj=he((JNe,yj)=>{"use strict";var tIe=Zd(),rIe=tE(),EI=Nf(),pu=Fa()("body-parser:urlencoded"),nIe=ac()("body-parser"),iIe=fE(),gj=ag();yj.exports=sIe;var dj=Object.create(null);function sIe(e){var t=e||{};t.extended===void 0&&nIe("undefined extended: provide extended option");var r=t.extended!==!1,n=t.inflate!==!1,i=typeof t.limit!="number"?tIe.parse(t.limit||"100kb"):t.limit,s=t.type||"application/x-www-form-urlencoded",o=t.verify||!1,u=typeof t.depth!="number"?Number(t.depth||32):t.depth;if(o!==!1&&typeof o!="function")throw new TypeError("option verify must be function");var A=r?oIe(t):uIe(t),p=typeof s!="function"?cIe(s):s;function f(c){return c.length?A(c):{}}return function(m,w,C){if(m._body){pu("body already parsed"),C();return}if(m.body=m.body||{},!gj.hasBody(m)){pu("skip empty body"),C();return}if(pu("content-type %j",m.headers["content-type"]),!p(m)){pu("skip parsing"),C();return}var F=aIe(m)||"utf-8";if(F!=="utf-8"){pu("invalid charset"),C(EI(415,'unsupported charset "'+F.toUpperCase()+'"',{charset:F,type:"charset.unsupported"}));return}iIe(m,w,C,f,pu,{debug:pu,encoding:F,inflate:n,limit:i,verify:o,depth:u})}}function oIe(e){var t=e.parameterLimit!==void 0?e.parameterLimit:1e3,r=typeof e.depth!="number"?Number(e.depth||32):e.depth,n=Ej("qs");if(isNaN(t)||t<1)throw new TypeError("option parameterLimit must be a positive number");if(isNaN(r)||r<0)throw new TypeError("option depth must be a zero or a positive number");return isFinite(t)&&(t=t|0),function(s){var o=mj(s,t);if(o===void 0)throw pu("too many parameters"),EI(413,"too many parameters",{type:"parameters.too.many"});var u=Math.max(100,o);pu("parse extended urlencoding");try{return n(s,{allowPrototypes:!0,arrayLimit:u,depth:r,strictDepth:!0,parameterLimit:t})}catch(A){throw A instanceof RangeError?EI(400,"The input exceeded the depth",{type:"querystring.parse.rangeError"}):A}}}function aIe(e){try{return(rIe.parse(e).parameters.charset||"").toLowerCase()}catch{return}}function mj(e,t){for(var r=0,n=0;(n=e.indexOf("&",n))!==-1;)if(r++,n++,r===t)return;return r}function Ej(e){var t=dj[e];if(t!==void 0)return t.parse;switch(e){case"qs":t=mI();break;case"querystring":t=require("querystring");break}return dj[e]=t,t.parse}function uIe(e){var t=e.parameterLimit!==void 0?e.parameterLimit:1e3,r=Ej("querystring");if(isNaN(t)||t<1)throw new TypeError("option parameterLimit must be a positive number");return isFinite(t)&&(t=t|0),function(i){var s=mj(i,t);if(s===void 0)throw pu("too many parameters"),EI(413,"too many parameters",{type:"parameters.too.many"});return pu("parse urlencoding"),r(i,void 0,void 0,{maxKeys:t})}}function cIe(e){return function(r){return!!gj(r,e)}}});var zS=he(($A,Ij)=>{"use strict";var lIe=ac()("body-parser"),vj=Object.create(null);$A=Ij.exports=lIe.function(AIe,"bodyParser: use individual json/urlencoded middlewares");Object.defineProperty($A,"json",{configurable:!0,enumerable:!0,get:yI("json")});Object.defineProperty($A,"raw",{configurable:!0,enumerable:!0,get:yI("raw")});Object.defineProperty($A,"text",{configurable:!0,enumerable:!0,get:yI("text")});Object.defineProperty($A,"urlencoded",{configurable:!0,enumerable:!0,get:yI("urlencoded")});function AIe(e){var t=Object.create(e||null,{type:{configurable:!0,enumerable:!0,value:void 0,writable:!0}}),r=$A.urlencoded(t),n=$A.json(t);return function(s,o,u){n(s,o,function(A){if(A)return u(A);r(s,o,u)})}}function yI(e){return function(){return pIe(e)}}function pIe(e){var t=vj[e];if(t!==void 0)return t;switch(e){case"json":t=Z$();break;case"raw":t=tH();break;case"text":t=iH();break;case"urlencoded":t=Cj();break}return vj[e]=t}});var wj=he((WNe,Bj)=>{"use strict";Bj.exports=hIe;var fIe=Object.prototype.hasOwnProperty;function hIe(e,t,r){if(!e)throw new TypeError("argument dest is required");if(!t)throw new TypeError("argument src is required");return r===void 0&&(r=!0),Object.getOwnPropertyNames(t).forEach(function(i){if(!(!r&&fIe.call(e,i))){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s)}}),e}});var CI=he((zNe,bj)=>{"use strict";bj.exports=EIe;var dIe=/(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g,gIe=/(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g,mIe="$1\uFFFD$2";function EIe(e){return String(e).replace(gIe,mIe).replace(dIe,encodeURI)}});var FE=he((KNe,xj)=>{"use strict";var yIe=/["'&<>]/;xj.exports=CIe;function CIe(e){var t=""+e,r=yIe.exec(t);if(!r)return t;var n,i="",s=0,o=0;for(s=r.index;s{"use strict";var Fj=require("url"),Qj=Fj.parse,vI=Fj.Url;KS.exports=Dj;KS.exports.original=vIe;function Dj(e){var t=e.url;if(t!==void 0){var r=e._parsedUrl;return Rj(t,r)?r:(r=Sj(t),r._raw=t,e._parsedUrl=r)}}function vIe(e){var t=e.originalUrl;if(typeof t!="string")return Dj(e);var r=e._parsedOriginalUrl;return Rj(t,r)?r:(r=Sj(t),r._raw=t,e._parsedOriginalUrl=r)}function Sj(e){if(typeof e!="string"||e.charCodeAt(0)!==47)return Qj(e);for(var t=e,r=null,n=null,i=1;i{"use strict";var ZS=Fa()("finalhandler"),IIe=CI(),BIe=FE(),Nj=pE(),wIe=dg(),Tj=nE(),bIe=eI(),xIe=/\x20{2}/g,QIe=/\n/g,FIe=typeof setImmediate=="function"?setImmediate:function(e){process.nextTick(e.bind.apply(e,arguments))},DIe=Nj.isFinished;function SIe(e){var t=BIe(e).replace(QIe,"
").replace(xIe,"  ");return` + + + +Error + + +
`+t+`
+ + +`}_j.exports=RIe;function RIe(e,t,r){var n=r||{},i=n.env||process.env.NODE_ENV||"development",s=n.onerror;return function(o){var u,A,p;if(!o&&kj(t)){ZS("cannot 404 after headers sent");return}if(o?(p=TIe(o),p===void 0?p=UIe(t):u=kIe(o),A=NIe(o,p,i)):(p=404,A="Cannot "+e.method+" "+IIe(_Ie(e))),ZS("default %s",p),o&&s&&FIe(s,o,e,t),kj(t)){ZS("cannot %d after headers sent",p),e.socket&&e.socket.destroy();return}OIe(e,t,p,u,A)}}function kIe(e){if(!(!e.headers||typeof e.headers!="object")){for(var t=Object.create(null),r=Object.keys(e.headers),n=0;n=400&&e.status<600)return e.status;if(typeof e.statusCode=="number"&&e.statusCode>=400&&e.statusCode<600)return e.statusCode}function _Ie(e){try{return wIe.original(e).pathname}catch{return"resource"}}function UIe(e){var t=e.statusCode;return(typeof t!="number"||t<400||t>599)&&(t=500),t}function kj(e){return typeof e.headersSent!="boolean"?!!e._header:e.headersSent}function OIe(e,t,r,n,i){function s(){var o=SIe(i);if(t.statusCode=r,e.httpVersionMajor<2&&(t.statusMessage=Tj.message[r]),t.removeHeader("Content-Encoding"),t.removeHeader("Content-Language"),t.removeHeader("Content-Range"),MIe(t,n),t.setHeader("Content-Security-Policy","default-src 'none'"),t.setHeader("X-Content-Type-Options","nosniff"),t.setHeader("Content-Type","text/html; charset=utf-8"),t.setHeader("Content-Length",Buffer.byteLength(o,"utf8")),e.method==="HEAD"){t.end();return}t.end(o,"utf8")}if(DIe(e)){s();return}bIe(e),Nj(e,s),e.resume()}function MIe(e,t){if(t)for(var r=Object.keys(t),n=0;n{"use strict";Lj.exports=LIe;function Oj(e,t,r){for(var n=0;n0&&Array.isArray(i)?Oj(i,t,r-1):t.push(i)}return t}function Mj(e,t){for(var r=0;r{Hj.exports=$j;var Pj=/\\.|\((?:\?<(.*?)>)?(?!\?)/g;function $j(e,t,r){r=r||{},t=t||[];var n=r.strict,i=r.end!==!1,s=r.sensitive?"":"i",o=r.lookahead!==!1,u=0,A=t.length,p=0,f=0,c=0,m="",w;if(e instanceof RegExp){for(;w=Pj.exec(e.source);)w[0][0]!=="\\"&&t.push({name:w[1]||f++,optional:!1,offset:w.index});return e}if(Array.isArray(e))return e=e.map(function(C){return $j(C,t,r).source}),new RegExp(e.join("|"),s);if(typeof e!="string")throw new TypeError("path must be a string, array of strings, or regular expression");for(e=e.replace(/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,function(C,F,P,j,re,se,ge,oe){if(C[0]==="\\")return m+=C,c+=2,C;if(C===".")return m+="\\.",u+=1,c+=1,"\\.";if(F||P?m="":m+=e.slice(c,oe),c=oe+C.length,C==="*")return u+=3,"(.*)";if(C==="/(")return m+="/",u+=2,"/(?:";F=F||"",P=P?"\\.":"",ge=ge||"",re=re?re.replace(/\\.|\*/,function(fe){return fe==="*"?"(.*)":fe}):m?"((?:(?!/|"+m+").)+?)":"([^/"+P+"]+?)",t.push({name:j,optional:!!ge,offset:oe+u});var be="(?:"+P+F+re+(se?"((?:[/"+P+"].+?)?)":"")+")"+ge;return u+=be.length-C.length,be});w=Pj.exec(e);)w[0][0]!=="\\"&&((A+p===t.length||t[A+p].offset>w.index)&&t.splice(A+p,0,{name:f++,optional:!1,offset:w.index}),p++);return e+=n?"":e[e.length-1]==="/"?"?":"/?",i?e+="$":e[e.length-1]!=="/"&&(e+=o?"(?=/|$)":"(?:/|$)"),new RegExp("^"+e,s)}});var XS=he((r3e,Gj)=>{"use strict";var PIe=qj(),$Ie=Fa()("express:router:layer"),HIe=Object.prototype.hasOwnProperty;Gj.exports=gg;function gg(e,t,r){if(!(this instanceof gg))return new gg(e,t,r);$Ie("new %o",e);var n=t||{};this.handle=r,this.name=r.name||"",this.params=void 0,this.path=void 0,this.regexp=PIe(e,this.keys=[],n),this.regexp.fast_star=e==="*",this.regexp.fast_slash=e==="/"&&n.end===!1}gg.prototype.handle_error=function(t,r,n,i){var s=this.handle;if(s.length!==4)return i(t);try{s(t,r,n,i)}catch(o){i(o)}};gg.prototype.handle_request=function(t,r,n){var i=this.handle;if(i.length>3)return n();try{i(t,r,n)}catch(s){n(s)}};gg.prototype.match=function(t){var r;if(t!=null){if(this.regexp.fast_slash)return this.params={},this.path="",!0;if(this.regexp.fast_star)return this.params={0:jj(t)},this.path=t,!0;r=this.regexp.exec(t)}if(!r)return this.params=void 0,this.path=void 0,!1;this.params={},this.path=r[0];for(var n=this.keys,i=this.params,s=1;s{"use strict";var Yj=require("http");Vj.exports=qIe()||jIe();function qIe(){return Yj.METHODS&&Yj.METHODS.map(function(t){return t.toLowerCase()})}function jIe(){return["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}});var e5=he((i3e,Xj)=>{"use strict";var Jj=Fa()("express:router:route"),Wj=DE(),zj=XS(),GIe=II(),Kj=Array.prototype.slice,Zj=Object.prototype.toString;Xj.exports=mg;function mg(e){this.path=e,this.stack=[],Jj("new %o",e),this.methods={}}mg.prototype._handles_method=function(t){if(this.methods._all)return!0;var r=typeof t=="string"?t.toLowerCase():t;return r==="head"&&!this.methods.head&&(r="get"),!!this.methods[r]};mg.prototype._options=function(){var t=Object.keys(this.methods);this.methods.get&&!this.methods.head&&t.push("head");for(var r=0;r100)return setImmediate(A,p);var f=s[i++];if(!f)return n(p);f.method&&f.method!==u?A(p):p?f.handle_error(p,t,r,A):f.handle_request(t,r,A),o=0}};mg.prototype.all=function(){for(var t=Wj(Kj.call(arguments)),r=0;r{eG=tG.exports=function(e,t){if(e&&t)for(var r in t)e[r]=t[r];return e}});var r5=he((s3e,sG)=>{"use strict";var YIe=e5(),nG=XS(),VIe=II(),t5=SE(),BI=Fa()("express:router"),rG=ac()("express"),JIe=DE(),WIe=dg(),zIe=rE(),KIe=/^\[object (\S+)\]$/,iG=Array.prototype.slice,ZIe=Object.prototype.toString,Yf=sG.exports=function(e){var t=e||{};function r(n,i,s){r.handle(n,i,s)}return zIe(r,Yf),r.params={},r._params=[],r.caseSensitive=t.caseSensitive,r.mergeParams=t.mergeParams,r.strict=t.strict,r.stack=[],r};Yf.param=function(t,r){if(typeof t=="function"){rG("router.param(fn): Refactor to use path params"),this._params.push(t);return}var n=this._params,i=n.length,s;t[0]===":"&&(rG("router.param("+JSON.stringify(t)+", fn): Use router.param("+JSON.stringify(t.slice(1))+", fn) instead"),t=t.slice(1));for(var o=0;o=m.length){setImmediate(F,se);return}if(++p>100)return setImmediate(P,re);var ge=eBe(t);if(ge==null)return F(se);for(var oe,be,fe;be!==!0&&s=u.length)return s();if(f=0,c=u[A++],p=c.name,m=n.params[p],w=o[p],C=r[p],m===void 0||!w)return F();if(C&&(C.match===m||C.error&&C.error!=="route"))return n.params[p]=C.value,F(C.error);r[p]=C={error:null,match:m,value:m},P()}function P(j){var re=w[f++];if(C.value=n.params[c.name],j){C.error=j,F(j);return}if(!re)return F();try{re(n,i,P,m,c.name)}catch(se){P(se)}}F()};Yf.use=function(t){var r=0,n="/";if(typeof t!="function"){for(var i=t;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=t)}var s=JIe(iG.call(arguments,r));if(s.length===0)throw new TypeError("Router.use() requires a middleware function");for(var o=0;o");var u=new nG(n,{sensitive:this.caseSensitive,strict:!1,end:!1},t);u.route=void 0,this.stack.push(u)}return this};Yf.route=function(t){var r=new YIe(t),n=new nG(t,{sensitive:this.caseSensitive,strict:this.strict,end:!0},r.dispatch.bind(r));return n.route=r,this.stack.push(n),r};VIe.concat("all").forEach(function(e){Yf[e]=function(t){var r=this.route(t);return r[e].apply(r,iG.call(arguments,1)),this}});function XIe(e,t){for(var r=0;r=0;n--)e[n+i]=e[n],n{"use strict";var oG=rE();aG.init=function(e){return function(r,n,i){e.enabled("x-powered-by")&&n.setHeader("X-Powered-By","Express"),r.res=n,n.req=r,r.next=i,oG(r,e.request),oG(n,e.response),n.locals=n.locals||Object.create(null),i()}}});var n5=he((a3e,cG)=>{"use strict";var uBe=SE(),cBe=dg(),lBe=mI();cG.exports=function(t){var r=uBe({},t),n=lBe.parse;return typeof t=="function"&&(n=t,r=void 0),r!==void 0&&r.allowPrototypes===void 0&&(r.allowPrototypes=!0),function(s,o,u){if(!s.query){var A=cBe(s).query;s.query=n(A,r)}u()}}});var hG=he((u3e,fG)=>{"use strict";var wI=Fa()("express:view"),_E=require("path"),ABe=require("fs"),pBe=_E.dirname,pG=_E.basename,fBe=_E.extname,lG=_E.join,hBe=_E.resolve;fG.exports=bI;function bI(e,t){var r=t||{};if(this.defaultEngine=r.defaultEngine,this.ext=fBe(e),this.name=e,this.root=r.root,!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");var n=e;if(this.ext||(this.ext=this.defaultEngine[0]!=="."?"."+this.defaultEngine:this.defaultEngine,n+=this.ext),!r.engines[this.ext]){var i=this.ext.slice(1);wI('require "%s"',i);var s=require(i).__express;if(typeof s!="function")throw new Error('Module "'+i+'" does not provide a view engine.');r.engines[this.ext]=s}this.engine=r.engines[this.ext],this.path=this.lookup(n)}bI.prototype.lookup=function(t){var r,n=[].concat(this.root);wI('lookup "%s"',t);for(var i=0;i{var xI=require("buffer"),fc=xI.Buffer;function dG(e,t){for(var r in e)t[r]=e[r]}fc.from&&fc.alloc&&fc.allocUnsafe&&fc.allocUnsafeSlow?gG.exports=xI:(dG(xI,i5),i5.Buffer=Vf);function Vf(e,t,r){return fc(e,t,r)}Vf.prototype=Object.create(fc.prototype);dG(fc,Vf);Vf.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return fc(e,t,r)};Vf.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=fc(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};Vf.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return fc(e)};Vf.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return xI.SlowBuffer(e)}});var o5=he((c3e,s5)=>{"use strict";s5.exports=bBe;s5.exports.parse=DBe;var mG=require("path").basename,dBe=QI().Buffer,gBe=/[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g,mBe=/%[0-9A-Fa-f]{2}/,EBe=/%([0-9A-Fa-f]{2})/g,yG=/[^\x20-\x7e\xa0-\xff]/g,yBe=/\\([\u0000-\u007f])/g,CBe=/([\\"])/g,EG=/;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g,vBe=/^[\x20-\x7e\x80-\xff]+$/,IBe=/^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/,BBe=/^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/,wBe=/^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/;function bBe(e,t){var r=t||{},n=r.type||"attachment",i=xBe(e,r.fallback);return QBe(new vG(n,i))}function xBe(e,t){if(e!==void 0){var r={};if(typeof e!="string")throw new TypeError("filename must be a string");if(t===void 0&&(t=!0),typeof t!="string"&&typeof t!="boolean")throw new TypeError("fallback must be a string or boolean");if(typeof t=="string"&&yG.test(t))throw new TypeError("fallback must be ISO-8859-1 string");var n=mG(e),i=vBe.test(n),s=typeof t!="string"?t&&CG(n):mG(t),o=typeof s=="string"&&s!==n;return(o||!i||mBe.test(n))&&(r["filename*"]=n),(i||o)&&(r.filename=o?s:n),r}}function QBe(e){var t=e.parameters,r=e.type;if(!r||typeof r!="string"||!IBe.test(r))throw new TypeError("invalid type");var n=String(r).toLowerCase();if(t&&typeof t=="object")for(var i,s=Object.keys(t).sort(),o=0;o{"use strict";IG.exports=OBe;var TBe=/(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g,_Be=/(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g,UBe="$1\uFFFD$2";function OBe(e){return String(e).replace(_Be,UBe).replace(TBe,encodeURI)}});var a5=he((A3e,xG)=>{"use strict";xG.exports=PBe;var MBe=require("crypto"),wG=require("fs").Stats,bG=Object.prototype.toString;function LBe(e){if(e.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var t=MBe.createHash("sha1").update(e,"utf8").digest("base64").substring(0,27),r=typeof e=="string"?Buffer.byteLength(e,"utf8"):e.length;return'"'+r.toString(16)+"-"+t+'"'}function PBe(e,t){if(e==null)throw new TypeError("argument entity is required");var r=$Be(e),n=t&&typeof t.weak=="boolean"?t.weak:r;if(!r&&typeof e!="string"&&!Buffer.isBuffer(e))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var i=r?HBe(e):LBe(e);return n?"W/"+i:i}function $Be(e){return typeof wG=="function"&&e instanceof wG?!0:e&&typeof e=="object"&&"ctime"in e&&bG.call(e.ctime)==="[object Date]"&&"mtime"in e&&bG.call(e.mtime)==="[object Date]"&&"ino"in e&&typeof e.ino=="number"&&"size"in e&&typeof e.size=="number"}function HBe(e){var t=e.mtime.getTime().toString(16),r=e.size.toString(16);return'"'+r+"-"+t+'"'}});var u5=he((p3e,FG)=>{"use strict";var qBe=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;FG.exports=jBe;function jBe(e,t){var r=e["if-modified-since"],n=e["if-none-match"];if(!r&&!n)return!1;var i=e["cache-control"];if(i&&qBe.test(i))return!1;if(n&&n!=="*"){var s=t.etag;if(!s)return!1;for(var o=!0,u=GBe(n),A=0;A{YBe.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var RG=he((d3e,SG)=>{var h3e=require("path"),VBe=require("fs");function yg(){this.types=Object.create(null),this.extensions=Object.create(null)}yg.prototype.define=function(e){for(var t in e){for(var r=e[t],n=0;n{var Cg=1e3,vg=Cg*60,Ig=vg*60,Jf=Ig*24,JBe=Jf*7,WBe=Jf*365.25;kG.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return zBe(e);if(r==="number"&&isFinite(e))return t.long?ZBe(e):KBe(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function zBe(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*WBe;case"weeks":case"week":case"w":return r*JBe;case"days":case"day":case"d":return r*Jf;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ig;case"minutes":case"minute":case"mins":case"min":case"m":return r*vg;case"seconds":case"second":case"secs":case"sec":case"s":return r*Cg;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function KBe(e){var t=Math.abs(e);return t>=Jf?Math.round(e/Jf)+"d":t>=Ig?Math.round(e/Ig)+"h":t>=vg?Math.round(e/vg)+"m":t>=Cg?Math.round(e/Cg)+"s":e+"ms"}function ZBe(e){var t=Math.abs(e);return t>=Jf?FI(e,t,Jf,"day"):t>=Ig?FI(e,t,Ig,"hour"):t>=vg?FI(e,t,vg,"minute"):t>=Cg?FI(e,t,Cg,"second"):e+" ms"}function FI(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var c5=he((m3e,NG)=>{"use strict";NG.exports=XBe;function XBe(e,t,r){if(typeof t!="string")throw new TypeError("argument str must be a string");var n=t.indexOf("=");if(n===-1)return-2;var i=t.slice(n+1).split(","),s=[];s.type=t.slice(0,n);for(var o=0;oe-1&&(p=e-1),!(isNaN(A)||isNaN(p)||A>p||A<0)&&s.push({start:A,end:p})}return s.length<1?-1:r&&r.combine?ewe(s):s}function ewe(e){for(var t=e.map(twe).sort(iwe),r=0,n=1;ns.end+1?t[++r]=i:i.end>s.end&&(s.end=i.end,s.index=Math.min(s.index,i.index))}t.length=r+1;var o=t.sort(nwe).map(rwe);return o.type=e.type,o}function twe(e,t){return{start:e.start,end:e.end,index:t}}function rwe(e){return{start:e.start,end:e.end}}function nwe(e,t){return e.index-t.index}function iwe(e,t){return e.start-t.start}});var NI=he((E3e,d5)=>{"use strict";var l5=Nf(),pi=Fa()("send"),Wf=ac()("send"),swe=sD(),owe=BG(),UG=FE(),awe=a5(),uwe=u5(),RI=require("fs"),p5=RG(),OG=DI(),cwe=pE(),lwe=c5(),UE=require("path"),Awe=nE(),MG=require("stream"),pwe=require("util"),fwe=UE.extname,LG=UE.join,A5=UE.normalize,h5=UE.resolve,SI=UE.sep,hwe=/^ *bytes=/,PG=60*60*24*365*1e3,TG=/(?:^|[\\/])\.\.(?:[\\/]|$)/;d5.exports=dwe;d5.exports.mime=p5;function dwe(e,t,r){return new xn(e,t,r)}function xn(e,t,r){MG.call(this);var n=r||{};if(this.options=n,this.path=t,this.req=e,this._acceptRanges=n.acceptRanges!==void 0?!!n.acceptRanges:!0,this._cacheControl=n.cacheControl!==void 0?!!n.cacheControl:!0,this._etag=n.etag!==void 0?!!n.etag:!0,this._dotfiles=n.dotfiles!==void 0?n.dotfiles:"ignore",this._dotfiles!=="ignore"&&this._dotfiles!=="allow"&&this._dotfiles!=="deny")throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');this._hidden=!!n.hidden,n.hidden!==void 0&&Wf("hidden: use dotfiles: '"+(this._hidden?"allow":"ignore")+"' instead"),n.dotfiles===void 0&&(this._dotfiles=void 0),this._extensions=n.extensions!==void 0?f5(n.extensions,"extensions option"):[],this._immutable=n.immutable!==void 0?!!n.immutable:!1,this._index=n.index!==void 0?f5(n.index,"index option"):["index.html"],this._lastModified=n.lastModified!==void 0?!!n.lastModified:!0,this._maxage=n.maxAge||n.maxage,this._maxage=typeof this._maxage=="string"?OG(this._maxage):Number(this._maxage),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),PG),this._root=n.root?h5(n.root):null,!this._root&&n.from&&this.from(n.from)}pwe.inherits(xn,MG);xn.prototype.etag=Wf.function(function(t){return this._etag=!!t,pi("etag %s",this._etag),this},"send.etag: pass etag as option");xn.prototype.hidden=Wf.function(function(t){return this._hidden=!!t,this._dotfiles=void 0,pi("hidden %s",this._hidden),this},"send.hidden: use dotfiles option");xn.prototype.index=Wf.function(function(t){var r=t?f5(t,"paths argument"):[];return pi("index %o",t),this._index=r,this},"send.index: pass index as option");xn.prototype.root=function(t){return this._root=h5(String(t)),pi("root %s",this._root),this};xn.prototype.from=Wf.function(xn.prototype.root,"send.from: pass root as option");xn.prototype.root=Wf.function(xn.prototype.root,"send.root: pass root as option");xn.prototype.maxage=Wf.function(function(t){return this._maxage=typeof t=="string"?OG(t):Number(t),this._maxage=isNaN(this._maxage)?0:Math.min(Math.max(0,this._maxage),PG),pi("max-age %d",this._maxage),this},"send.maxage: pass maxAge as option");xn.prototype.error=function(t,r){if(HG(this,"error"))return this.emit("error",ywe(t,r));var n=this.res,i=Awe.message[t]||String(t),s=$G("Error",UG(i));gwe(n),r&&r.headers&&wwe(n,r.headers),n.statusCode=t,n.setHeader("Content-Type","text/html; charset=UTF-8"),n.setHeader("Content-Length",Buffer.byteLength(s)),n.setHeader("Content-Security-Policy","default-src 'none'"),n.setHeader("X-Content-Type-Options","nosniff"),n.end(s)};xn.prototype.hasTrailingSlash=function(){return this.path[this.path.length-1]==="/"};xn.prototype.isConditionalGET=function(){return this.req.headers["if-match"]||this.req.headers["if-unmodified-since"]||this.req.headers["if-none-match"]||this.req.headers["if-modified-since"]};xn.prototype.isPreconditionFailure=function(){var t=this.req,r=this.res,n=t.headers["if-match"];if(n){var i=r.getHeader("ETag");return!i||n!=="*"&&Bwe(n).every(function(u){return u!==i&&u!=="W/"+i&&"W/"+u!==i})}var s=kI(t.headers["if-unmodified-since"]);if(!isNaN(s)){var o=kI(r.getHeader("Last-Modified"));return isNaN(o)||o>s}return!1};xn.prototype.removeContentHeaderFields=function(){var t=this.res;t.removeHeader("Content-Encoding"),t.removeHeader("Content-Language"),t.removeHeader("Content-Length"),t.removeHeader("Content-Range"),t.removeHeader("Content-Type")};xn.prototype.notModified=function(){var t=this.res;pi("not modified"),this.removeContentHeaderFields(),t.statusCode=304,t.end()};xn.prototype.headersAlreadySent=function(){var t=new Error("Can't set headers after they are sent.");pi("headers already sent"),this.error(500,t)};xn.prototype.isCachable=function(){var t=this.res.statusCode;return t>=200&&t<300||t===304};xn.prototype.onStatError=function(t){switch(t.code){case"ENAMETOOLONG":case"ENOENT":case"ENOTDIR":this.error(404,t);break;default:this.error(500,t);break}};xn.prototype.isFresh=function(){return uwe(this.req.headers,{etag:this.res.getHeader("ETag"),"last-modified":this.res.getHeader("Last-Modified")})};xn.prototype.isRangeFresh=function(){var t=this.req.headers["if-range"];if(!t)return!0;if(t.indexOf('"')!==-1){var r=this.res.getHeader("ETag");return!!(r&&t.indexOf(r)!==-1)}var n=this.res.getHeader("Last-Modified");return kI(n)<=kI(t)};xn.prototype.redirect=function(t){var r=this.res;if(HG(this,"directory")){this.emit("directory",r,t);return}if(this.hasTrailingSlash()){this.error(403);return}var n=owe(mwe(this.path+"/")),i=$G("Redirecting","Redirecting to "+UG(n));r.statusCode=301,r.setHeader("Content-Type","text/html; charset=UTF-8"),r.setHeader("Content-Length",Buffer.byteLength(i)),r.setHeader("Content-Security-Policy","default-src 'none'"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("Location",n),r.end(i)};xn.prototype.pipe=function(t){var r=this._root;this.res=t;var n=Cwe(this.path);if(n===-1)return this.error(400),t;if(~n.indexOf("\0"))return this.error(400),t;var i;if(r!==null){if(n&&(n=A5("."+SI+n)),TG.test(n))return pi('malicious path "%s"',n),this.error(403),t;i=n.split(SI),n=A5(LG(r,n))}else{if(TG.test(n))return pi('malicious path "%s"',n),this.error(403),t;i=A5(n).split(SI),n=h5(n)}if(Ewe(i)){var s=this._dotfiles;switch(s===void 0&&(s=i[i.length-1][0]==="."?this._hidden?"allow":"ignore":"allow"),pi('%s dotfile "%s"',s,n),s){case"allow":break;case"deny":return this.error(403),t;case"ignore":default:return this.error(404),t}}return this._index.length&&this.hasTrailingSlash()?(this.sendIndex(n),t):(this.sendFile(n),t)};xn.prototype.send=function(t,r){var n=r.size,i=this.options,s={},o=this.res,u=this.req,A=u.headers.range,p=i.start||0;if(Iwe(o)){this.headersAlreadySent();return}if(pi('pipe "%s"',t),this.setHeader(t,r),this.type(t),this.isConditionalGET()){if(this.isPreconditionFailure()){this.error(412);return}if(this.isCachable()&&this.isFresh()){this.notModified();return}}if(n=Math.max(0,n-p),i.end!==void 0){var f=i.end-p+1;n>f&&(n=f)}if(this._acceptRanges&&hwe.test(A)){if(A=lwe(n,A,{combine:!0}),this.isRangeFresh()||(pi("range stale"),A=-2),A===-1)return pi("range unsatisfiable"),o.setHeader("Content-Range",_G("bytes",n)),this.error(416,{headers:{"Content-Range":o.getHeader("Content-Range")}});A!==-2&&A.length===1&&(pi("range %j",A),o.statusCode=206,o.setHeader("Content-Range",_G("bytes",n,A[0])),p+=A[0].start,n=A[0].end-A[0].start+1)}for(var c in i)s[c]=i[c];if(s.start=p,s.end=Math.max(p,p+n-1),o.setHeader("Content-Length",n),u.method==="HEAD"){o.end();return}this.stream(t,s)};xn.prototype.sendFile=function(t){var r=0,n=this;pi('stat "%s"',t),RI.stat(t,function(o,u){if(o&&o.code==="ENOENT"&&!fwe(t)&&t[t.length-1]!==SI)return i(o);if(o)return n.onStatError(o);if(u.isDirectory())return n.redirect(t);n.emit("file",t,u),n.send(t,u)});function i(s){if(n._extensions.length<=r)return s?n.onStatError(s):n.error(404);var o=t+"."+n._extensions[r++];pi('stat "%s"',o),RI.stat(o,function(u,A){if(u)return i(u);if(A.isDirectory())return i();n.emit("file",o,A),n.send(o,A)})}};xn.prototype.sendIndex=function(t){var r=-1,n=this;function i(s){if(++r>=n._index.length)return s?n.onStatError(s):n.error(404);var o=LG(t,n._index[r]);pi('stat "%s"',o),RI.stat(o,function(u,A){if(u)return i(u);if(A.isDirectory())return i();n.emit("file",o,A),n.send(o,A)})}i()};xn.prototype.stream=function(t,r){var n=this,i=this.res,s=RI.createReadStream(t,r);this.emit("stream",s),s.pipe(i);function o(){swe(s,!0)}cwe(i,o),s.on("error",function(A){o(),n.onStatError(A)}),s.on("end",function(){n.emit("end")})};xn.prototype.type=function(t){var r=this.res;if(!r.getHeader("Content-Type")){var n=p5.lookup(t);if(!n){pi("no content-type");return}var i=p5.charsets.lookup(n);pi("content-type %s",n),r.setHeader("Content-Type",n+(i?"; charset="+i:""))}};xn.prototype.setHeader=function(t,r){var n=this.res;if(this.emit("headers",n,t,r),this._acceptRanges&&!n.getHeader("Accept-Ranges")&&(pi("accept ranges"),n.setHeader("Accept-Ranges","bytes")),this._cacheControl&&!n.getHeader("Cache-Control")){var i="public, max-age="+Math.floor(this._maxage/1e3);this._immutable&&(i+=", immutable"),pi("cache-control %s",i),n.setHeader("Cache-Control",i)}if(this._lastModified&&!n.getHeader("Last-Modified")){var s=r.mtime.toUTCString();pi("modified %s",s),n.setHeader("Last-Modified",s)}if(this._etag&&!n.getHeader("ETag")){var o=awe(r);pi("etag %s",o),n.setHeader("ETag",o)}};function gwe(e){for(var t=vwe(e),r=0;r1?"/"+e.substr(t):e}function Ewe(e){for(var t=0;t1&&r[0]===".")return!0}return!1}function _G(e,t,r){return e+" "+(r?r.start+"-"+r.end:"*")+"/"+t}function $G(e,t){return` + + + +`+e+` + + +
`+t+`
+ + +`}function ywe(e,t){return t?t instanceof Error?l5(e,t,{expose:!1}):l5(e,t):l5(e)}function Cwe(e){try{return decodeURIComponent(e)}catch{return-1}}function vwe(e){return typeof e.getHeaderNames!="function"?Object.keys(e._headers||{}):e.getHeaderNames()}function HG(e,t){var r=typeof e.listenerCount!="function"?e.listeners(t).length:e.listenerCount(t);return r>0}function Iwe(e){return typeof e.headersSent!="boolean"?!!e._header:e.headersSent}function f5(e,t){for(var r=[].concat(e||[]),n=0;n{"use strict";qG.exports=bwe;function bwe(e){if(!e)throw new TypeError("argument req is required");var t=Qwe(e.headers["x-forwarded-for"]||""),r=xwe(e),n=[r].concat(t);return n}function xwe(e){return e.socket?e.socket.remoteAddress:e.connection.remoteAddress}function Qwe(e){for(var t=e.length,r=[],n=e.length,i=e.length-1;i>=0;i--)switch(e.charCodeAt(i)){case 32:n===t&&(n=t=i);break;case 44:n!==t&&r.push(e.substring(n,t)),n=t=i;break;default:n=i;break}return n!==t&&r.push(e.substring(n,t)),r}});var YG=he((GG,ME)=>{(function(){var e,t,r,n,i,s,o,u,A;t={},u=this,typeof ME<"u"&&ME!==null&&ME.exports?ME.exports=t:u.ipaddr=t,o=function(p,f,c,m){var w,C;if(p.length!==f.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(w=0;m>0;){if(C=c-m,C<0&&(C=0),p[w]>>C!==f[w]>>C)return!1;m-=c,w+=1}return!0},t.subnetMatch=function(p,f,c){var m,w,C,F,P;c==null&&(c="unicast");for(C in f)for(F=f[C],F[0]&&!(F[0]instanceof Array)&&(F=[F]),m=0,w=F.length;m=0;c=m+=-1)if(w=this.octets[c],w in P){if(F=P[w],C&&F!==0)return null;F!==8&&(C=!0),f+=F}else return null;return 32-f},p}(),r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^"+r+"\\."+r+"\\."+r+"\\."+r+"$","i"),longValue:new RegExp("^"+r+"$","i")},t.IPv4.parser=function(p){var f,c,m,w,C;if(c=function(F){return F[0]==="0"&&F[1]!=="x"?parseInt(F,8):parseInt(F)},f=p.match(n.fourOctet))return function(){var F,P,j,re;for(j=f.slice(1,6),re=[],F=0,P=j.length;F4294967295||C<0)throw new Error("ipaddr: address outside defined range");return function(){var F,P;for(P=[],w=F=0;F<=24;w=F+=8)P.push(C>>w&255);return P}().reverse()}else return null},t.IPv6=function(){function p(f,c){var m,w,C,F,P,j;if(f.length===16)for(this.parts=[],m=w=0;w<=14;m=w+=2)this.parts.push(f[m]<<8|f[m+1]);else if(f.length===8)this.parts=f;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(j=this.parts,C=0,F=j.length;Cc&&(f=m.index,c=m[0].length);return c<0?C:C.substring(0,f)+"::"+C.substring(f+c)},p.prototype.toByteArray=function(){var f,c,m,w,C;for(f=[],C=this.parts,c=0,m=C.length;c>8),f.push(w&255);return f},p.prototype.toNormalizedString=function(){var f,c,m;return f=function(){var w,C,F,P;for(F=this.parts,P=[],w=0,C=F.length;w>8,f&255,c>>8,c&255])},p.prototype.prefixLengthFromSubnetMask=function(){var f,c,m,w,C,F,P;for(P={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},f=0,C=!1,c=m=7;m>=0;c=m+=-1)if(w=this.parts[c],w in P){if(F=P[w],C&&F!==0)return null;F!==16&&(C=!0),f+=F}else return null;return 128-f},p}(),i="(?:[0-9a-f]+::?)+",A="%[0-9a-z]{1,}",s={zoneIndex:new RegExp(A,"i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?("+A+")?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+(r+"\\."+r+"\\."+r+"\\."+r)+("("+A+")?$"),"i")},e=function(p,f){var c,m,w,C,F,P;if(p.indexOf("::")!==p.lastIndexOf("::"))return null;for(P=(p.match(s.zoneIndex)||[])[0],P&&(P=P.substring(1),p=p.replace(/%.+$/,"")),c=0,m=-1;(m=p.indexOf(":",m+1))>=0;)c++;if(p.substr(0,2)==="::"&&c--,p.substr(-2,2)==="::"&&c--,c>f)return null;for(F=f-c,C=":";F--;)C+="0:";return p=p.replace("::",C),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),f=function(){var j,re,se,ge;for(se=p.split(":"),ge=[],j=0,re=se.length;j=0&&f<=32))return m=[this.parse(c[1]),f],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},t.IPv4.subnetMaskFromPrefixLength=function(p){var f,c,m;if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(m=[0,0,0,0],c=0,f=Math.floor(p/8);c=0&&f<=128))return m=[this.parse(c[1]),f],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},t.isValid=function(p){return t.IPv6.isValid(p)||t.IPv4.isValid(p)},t.parse=function(p){if(t.IPv6.isValid(p))return t.IPv6.parse(p);if(t.IPv4.isValid(p))return t.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},t.parseCIDR=function(p){var f;try{return t.IPv6.parseCIDR(p)}catch(c){f=c;try{return t.IPv4.parseCIDR(p)}catch(m){throw f=m,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},t.fromByteArray=function(p){var f;if(f=p.length,f===4)return new t.IPv4(p);if(f===16)return new t.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},t.process=function(p){var f;return f=this.parse(p),f.kind()==="ipv6"&&f.isIPv4MappedAddress()?f.toIPv4Address():f}}).call(GG)});var g5=he((C3e,UI)=>{"use strict";UI.exports=Twe;UI.exports.all=WG;UI.exports.compile=zG;var Fwe=jG(),JG=YG(),Dwe=/^[0-9]+$/,TI=JG.isValid,_I=JG.parse,VG={linklocal:["169.254.0.0/16","fe80::/10"],loopback:["127.0.0.1/8","::1/128"],uniquelocal:["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","fc00::/7"]};function WG(e,t){var r=Fwe(e);if(!t)return r;typeof t!="function"&&(t=zG(t));for(var n=0;ni)throw new TypeError("invalid range on address: "+e);return[n,s]}function Nwe(e){var t=_I(e),r=t.kind();return r==="ipv4"?t.prefixLengthFromSubnetMask():null}function Twe(e,t){if(!e)throw new TypeError("req argument is required");if(!t)throw new TypeError("trust argument is required");var r=WG(e,t),n=r[r.length-1];return n}function _we(){return!1}function Uwe(e){return function(r){if(!TI(r))return!1;for(var n=_I(r),i,s=n.kind(),o=0;o{"use strict";var KG=QI().Buffer,Mwe=o5(),ZG=tE(),XG=ac()("express"),Lwe=DE(),Pwe=NI().mime,$we=a5(),Hwe=g5(),qwe=mI(),jwe=require("querystring");zs.etag=eY({weak:!1});zs.wetag=eY({weak:!0});zs.isAbsolute=function(e){if(e[0]==="/"||e[1]===":"&&(e[2]==="\\"||e[2]==="/")||e.substring(0,2)==="\\\\")return!0};zs.flatten=XG.function(Lwe,"utils.flatten: use array-flatten npm module instead");zs.normalizeType=function(e){return~e.indexOf("/")?Gwe(e):{value:Pwe.lookup(e),params:{}}};zs.normalizeTypes=function(e){for(var t=[],r=0;r{"use strict";var Jwe=Uj(),Wwe=r5(),E5=II(),zwe=uG(),Kwe=n5(),OI=Fa()("express:application"),Zwe=hG(),Xwe=require("http"),ebe=HA().compileETag,tbe=HA().compileQueryParser,rbe=HA().compileTrust,nbe=ac()("express"),ibe=DE(),m5=SE(),sbe=require("path").resolve,Bg=rE(),obe=Object.prototype.hasOwnProperty,C5=Array.prototype.slice,Pi=tY=rY.exports={},y5="@@symbol:trust_proxy_default";Pi.init=function(){this.cache={},this.engines={},this.settings={},this.defaultConfiguration()};Pi.defaultConfiguration=function(){var t=process.env.NODE_ENV||"development";this.enable("x-powered-by"),this.set("etag","weak"),this.set("env",t),this.set("query parser","extended"),this.set("subdomain offset",2),this.set("trust proxy",!1),Object.defineProperty(this.settings,y5,{configurable:!0,value:!0}),OI("booting in %s mode",t),this.on("mount",function(n){this.settings[y5]===!0&&typeof n.settings["trust proxy fn"]=="function"&&(delete this.settings["trust proxy"],delete this.settings["trust proxy fn"]),Bg(this.request,n.request),Bg(this.response,n.response),Bg(this.engines,n.engines),Bg(this.settings,n.settings)}),this.locals=Object.create(null),this.mountpath="/",this.locals.settings=this.settings,this.set("view",Zwe),this.set("views",sbe("views")),this.set("jsonp callback name","callback"),t==="production"&&this.enable("view cache"),Object.defineProperty(this,"router",{get:function(){throw new Error(`'app.router' is deprecated! +Please see the 3.x to 4.x migration guide for details on how to update your app.`)}})};Pi.lazyrouter=function(){this._router||(this._router=new Wwe({caseSensitive:this.enabled("case sensitive routing"),strict:this.enabled("strict routing")}),this._router.use(Kwe(this.get("query parser fn"))),this._router.use(zwe.init(this)))};Pi.handle=function(t,r,n){var i=this._router,s=n||Jwe(t,r,{env:this.get("env"),onerror:abe.bind(this)});if(!i){OI("no routes defined on app"),s();return}i.handle(t,r,s)};Pi.use=function(t){var r=0,n="/";if(typeof t!="function"){for(var i=t;Array.isArray(i)&&i.length!==0;)i=i[0];typeof i!="function"&&(r=1,n=t)}var s=ibe(C5.call(arguments,r));if(s.length===0)throw new TypeError("app.use() requires a middleware function");this.lazyrouter();var o=this._router;return s.forEach(function(u){if(!u||!u.handle||!u.set)return o.use(n,u);OI(".use app under %s",n),u.mountpath=n,u.parent=this,o.use(n,function(p,f,c){var m=p.app;u.handle(p,f,function(w){Bg(p,m.request),Bg(f,m.response),c(w)})}),u.emit("mount",this)},this),this};Pi.route=function(t){return this.lazyrouter(),this._router.route(t)};Pi.engine=function(t,r){if(typeof r!="function")throw new Error("callback function required");var n=t[0]!=="."?"."+t:t;return this.engines[n]=r,this};Pi.param=function(t,r){if(this.lazyrouter(),Array.isArray(t)){for(var n=0;n1?'directories "'+p.root.slice(0,-1).join('", "')+'" or "'+p.root[p.root.length-1]+'"':'directory "'+p.root+'"',m=new Error('Failed to lookup view "'+t+'" in views '+c);return m.view=p,s(m)}A.cache&&(i[t]=p)}ube(p,A,s)};Pi.listen=function(){var t=Xwe.createServer(this);return t.listen.apply(t,arguments)};function abe(e){this.get("env")!=="test"&&console.error(e.stack||e.toString())}function ube(e,t,r){try{e.render(t,r)}catch(n){r(n)}}});var aY=he((I3e,v5)=>{"use strict";v5.exports=oY;v5.exports.preferredCharsets=oY;var cbe=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function lbe(e){for(var t=e.split(","),r=0,n=0;r0}});var pY=he((B3e,I5)=>{"use strict";I5.exports=AY;I5.exports.preferredEncodings=AY;var dbe=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function gbe(e){for(var t=e.split(","),r=!1,n=1,i=0,s=0;i0}});var mY=he((w3e,B5)=>{"use strict";B5.exports=gY;B5.exports.preferredLanguages=gY;var Cbe=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function vbe(e){for(var t=e.split(","),r=0,n=0;r0}});var BY=he((b3e,w5)=>{"use strict";w5.exports=vY;w5.exports.preferredMediaTypes=vY;var bbe=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function xbe(e){for(var t=Rbe(e),r=0,n=0;r0)if(s.every(function(o){return t.params[o]=="*"||(t.params[o]||"").toLowerCase()==(n.params[o]||"").toLowerCase()}))i|=1;else return null;return{i:r,o:t.i,q:t.q,s:i}}function vY(e,t){var r=xbe(e===void 0?"*/*":e||"");if(!t)return r.filter(yY).sort(EY).map(Dbe);var n=t.map(function(s,o){return Qbe(s,r,o)});return n.filter(yY).sort(EY).map(function(s){return t[n.indexOf(s)]})}function EY(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function Dbe(e){return e.type+"/"+e.subtype}function yY(e){return e.q>0}function IY(e){for(var t=0,r=0;(r=e.indexOf('"',r))!==-1;)t++,r++;return t}function Sbe(e){var t=e.indexOf("="),r,n;return t===-1?r=e:(r=e.substr(0,t),n=e.substr(t+1)),[r,n]}function Rbe(e){for(var t=e.split(","),r=1,n=0;r{"use strict";var Nbe=aY(),Tbe=pY(),_be=mY(),Ube=BY();b5.exports=Ln;b5.exports.Negotiator=Ln;function Ln(e){if(!(this instanceof Ln))return new Ln(e);this.request=e}Ln.prototype.charset=function(t){var r=this.charsets(t);return r&&r[0]};Ln.prototype.charsets=function(t){return Nbe(this.request.headers["accept-charset"],t)};Ln.prototype.encoding=function(t){var r=this.encodings(t);return r&&r[0]};Ln.prototype.encodings=function(t){return Tbe(this.request.headers["accept-encoding"],t)};Ln.prototype.language=function(t){var r=this.languages(t);return r&&r[0]};Ln.prototype.languages=function(t){return _be(this.request.headers["accept-language"],t)};Ln.prototype.mediaType=function(t){var r=this.mediaTypes(t);return r&&r[0]};Ln.prototype.mediaTypes=function(t){return Ube(this.request.headers.accept,t)};Ln.prototype.preferredCharset=Ln.prototype.charset;Ln.prototype.preferredCharsets=Ln.prototype.charsets;Ln.prototype.preferredEncoding=Ln.prototype.encoding;Ln.prototype.preferredEncodings=Ln.prototype.encodings;Ln.prototype.preferredLanguage=Ln.prototype.language;Ln.prototype.preferredLanguages=Ln.prototype.languages;Ln.prototype.preferredMediaType=Ln.prototype.mediaType;Ln.prototype.preferredMediaTypes=Ln.prototype.mediaTypes});var xY=he((Q3e,bY)=>{"use strict";var Obe=wY(),Mbe=rI();bY.exports=jo;function jo(e){if(!(this instanceof jo))return new jo(e);this.headers=e.headers,this.negotiator=new Obe(e)}jo.prototype.type=jo.prototype.types=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var r=0;r{"use strict";var MI=xY(),LE=ac()("express"),$be=require("net").isIP,Hbe=ag(),qbe=require("http"),jbe=u5(),Gbe=c5(),Ybe=dg(),QY=g5(),jn=Object.create(qbe.IncomingMessage.prototype);FY.exports=jn;jn.get=jn.header=function(t){if(!t)throw new TypeError("name argument is required to req.get");if(typeof t!="string")throw new TypeError("name must be a string to req.get");var r=t.toLowerCase();switch(r){case"referer":case"referrer":return this.headers.referrer||this.headers.referer;default:return this.headers[r]}};jn.accepts=function(){var e=MI(this);return e.types.apply(e,arguments)};jn.acceptsEncodings=function(){var e=MI(this);return e.encodings.apply(e,arguments)};jn.acceptsEncoding=LE.function(jn.acceptsEncodings,"req.acceptsEncoding: Use acceptsEncodings instead");jn.acceptsCharsets=function(){var e=MI(this);return e.charsets.apply(e,arguments)};jn.acceptsCharset=LE.function(jn.acceptsCharsets,"req.acceptsCharset: Use acceptsCharsets instead");jn.acceptsLanguages=function(){var e=MI(this);return e.languages.apply(e,arguments)};jn.acceptsLanguage=LE.function(jn.acceptsLanguages,"req.acceptsLanguage: Use acceptsLanguages instead");jn.range=function(t,r){var n=this.get("Range");if(n)return Gbe(t,n,r)};jn.param=function(t,r){var n=this.params||{},i=this.body||{},s=this.query||{},o=arguments.length===1?"name":"name, default";return LE("req.param("+o+"): Use req.params, req.body, or req.query instead"),n[t]!=null&&n.hasOwnProperty(t)?n[t]:i[t]!=null?i[t]:s[t]!=null?s[t]:r};jn.is=function(t){var r=t;if(!Array.isArray(t)){r=new Array(arguments.length);for(var n=0;n=200&&r<300||r===304?jbe(this.headers,{etag:t.get("ETag"),"last-modified":t.get("Last-Modified")}):!1});hu(jn,"stale",function(){return!this.fresh});hu(jn,"xhr",function(){var t=this.get("X-Requested-With")||"";return t.toLowerCase()==="xmlhttprequest"});function hu(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:r})}});var kY=he(LI=>{var RY=require("crypto");LI.sign=function(e,t){if(typeof e!="string")throw new TypeError("Cookie value must be provided as a string.");if(typeof t!="string")throw new TypeError("Secret string must be provided.");return e+"."+RY.createHmac("sha256",t).update(e).digest("base64").replace(/\=+$/,"")};LI.unsign=function(e,t){if(typeof e!="string")throw new TypeError("Signed cookie string must be provided.");if(typeof t!="string")throw new TypeError("Secret string must be provided.");var r=e.slice(0,e.lastIndexOf(".")),n=LI.sign(r,t);return SY(n)==SY(e)?r:!1};function SY(e){return RY.createHash("sha1").update(e).digest("hex")}});var _Y=he(x5=>{"use strict";x5.parse=Zbe;x5.serialize=Xbe;var Vbe=Object.prototype.toString,Jbe=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Wbe=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,zbe=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Kbe=/^[\u0020-\u003A\u003D-\u007E]*$/;function Zbe(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");var r={},n=e.length;if(n<2)return r;var i=t&&t.decode||e2e,s=0,o=0,u=0;do{if(o=e.indexOf("=",s),o===-1)break;if(u=e.indexOf(";",s),u===-1)u=n;else if(o>u){s=e.lastIndexOf(";",o-1)+1;continue}var A=NY(e,s,o),p=TY(e,o,A),f=e.slice(A,p);if(!r.hasOwnProperty(f)){var c=NY(e,o+1,u),m=TY(e,u,c);e.charCodeAt(c)===34&&e.charCodeAt(m-1)===34&&(c++,m--);var w=e.slice(c,m);r[f]=r2e(w,i)}s=u+1}while(sr;){var n=e.charCodeAt(--t);if(n!==32&&n!==9)return t+1}return r}function Xbe(e,t,r){var n=r&&r.encode||encodeURIComponent;if(typeof n!="function")throw new TypeError("option encode is invalid");if(!Jbe.test(e))throw new TypeError("argument name is invalid");var i=n(t);if(!Wbe.test(i))throw new TypeError("argument val is invalid");var s=e+"="+i;if(!r)return s;if(r.maxAge!=null){var o=Math.floor(r.maxAge);if(!isFinite(o))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+o}if(r.domain){if(!zbe.test(r.domain))throw new TypeError("option domain is invalid");s+="; Domain="+r.domain}if(r.path){if(!Kbe.test(r.path))throw new TypeError("option path is invalid");s+="; Path="+r.path}if(r.expires){var u=r.expires;if(!t2e(u)||isNaN(u.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+u.toUTCString()}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.partitioned&&(s+="; Partitioned"),r.priority){var A=typeof r.priority=="string"?r.priority.toLowerCase():r.priority;switch(A){case"low":s+="; Priority=Low";break;case"medium":s+="; Priority=Medium";break;case"high":s+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(r.sameSite){var p=typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite;switch(p){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function e2e(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}function t2e(e){return Vbe.call(e)==="[object Date]"}function r2e(e,t){try{return t(e)}catch{return e}}});var MY=he((R3e,Q5)=>{"use strict";Q5.exports=i2e;Q5.exports.append=OY;var n2e=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function OY(e,t){if(typeof e!="string")throw new TypeError("header argument is required");if(!t)throw new TypeError("field argument is required");for(var r=Array.isArray(t)?t:UY(String(t)),n=0;n{"use strict";var $E=QI().Buffer,LY=o5(),s2e=Nf(),Eo=ac()("express"),o2e=CI(),a2e=FE(),u2e=require("http"),c2e=HA().isAbsolute,l2e=pE(),PY=require("path"),PI=nE(),$Y=SE(),A2e=kY().sign,p2e=HA().normalizeType,f2e=HA().normalizeTypes,h2e=HA().setCharset,d2e=_Y(),F5=NI(),g2e=PY.extname,HY=F5.mime,m2e=PY.resolve,E2e=MY(),ei=Object.create(u2e.ServerResponse.prototype);GY.exports=ei;var y2e=/;\s*charset\s*=/;ei.status=function(t){return(typeof t=="string"||Math.floor(t)!==t)&&t>99&&t<1e3&&Eo("res.status("+JSON.stringify(t)+"): use res.status("+Math.floor(t)+") instead"),this.statusCode=t,this};ei.links=function(e){var t=this.get("Link")||"";return t&&(t+=", "),this.set("Link",t+Object.keys(e).map(function(r){return"<"+e[r]+'>; rel="'+r+'"'}).join(", "))};ei.send=function(t){var r=t,n,i=this.req,s,o=this.app;switch(arguments.length===2&&(typeof arguments[0]!="number"&&typeof arguments[1]=="number"?(Eo("res.send(body, status): Use res.status(status).send(body) instead"),this.statusCode=arguments[1]):(Eo("res.send(status, body): Use res.status(status).send(body) instead"),this.statusCode=arguments[0],r=arguments[1])),typeof r=="number"&&arguments.length===1&&(this.get("Content-Type")||this.type("txt"),Eo("res.send(status): Use res.sendStatus(status) instead"),this.statusCode=r,r=PI.message[r]),typeof r){case"string":this.get("Content-Type")||this.type("html");break;case"boolean":case"number":case"object":if(r===null)r="";else if($E.isBuffer(r))this.get("Content-Type")||this.type("bin");else return this.json(r);break}typeof r=="string"&&(n="utf8",s=this.get("Content-Type"),typeof s=="string"&&this.set("Content-Type",h2e(s,"utf-8")));var u=o.get("etag fn"),A=!this.get("ETag")&&typeof u=="function",p;r!==void 0&&($E.isBuffer(r)?p=r.length:!A&&r.length<1e3?p=$E.byteLength(r,n):(r=$E.from(r,n),n=void 0,p=r.length),this.set("Content-Length",p));var f;return A&&p!==void 0&&(f=u(r,n))&&this.set("ETag",f),i.fresh&&(this.statusCode=304),(this.statusCode===204||this.statusCode===304)&&(this.removeHeader("Content-Type"),this.removeHeader("Content-Length"),this.removeHeader("Transfer-Encoding"),r=""),this.statusCode===205&&(this.set("Content-Length","0"),this.removeHeader("Transfer-Encoding"),r=""),i.method==="HEAD"?this.end():this.end(r,n),this};ei.json=function(t){var r=t;arguments.length===2&&(typeof arguments[1]=="number"?(Eo("res.json(obj, status): Use res.status(status).json(obj) instead"),this.statusCode=arguments[1]):(Eo("res.json(status, obj): Use res.status(status).json(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),s=n.get("json replacer"),o=n.get("json spaces"),u=jY(r,s,o,i);return this.get("Content-Type")||this.set("Content-Type","application/json"),this.send(u)};ei.jsonp=function(t){var r=t;arguments.length===2&&(typeof arguments[1]=="number"?(Eo("res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[1]):(Eo("res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead"),this.statusCode=arguments[0],r=arguments[1]));var n=this.app,i=n.get("json escape"),s=n.get("json replacer"),o=n.get("json spaces"),u=jY(r,s,o,i),A=this.req.query[n.get("jsonp callback name")];return this.get("Content-Type")||(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","application/json")),Array.isArray(A)&&(A=A[0]),typeof A=="string"&&A.length!==0&&(this.set("X-Content-Type-Options","nosniff"),this.set("Content-Type","text/javascript"),A=A.replace(/[^\[\]\w$.]/g,""),u===void 0?u="":typeof u=="string"&&(u=u.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")),u="/**/ typeof "+A+" === 'function' && "+A+"("+u+");"),this.send(u)};ei.sendStatus=function(t){var r=PI.message[t]||String(t);return this.statusCode=t,this.type("txt"),this.send(r)};ei.sendFile=function(t,r,n){var i=n,s=this.req,o=this,u=s.next,A=r||{};if(!t)throw new TypeError("path argument is required to res.sendFile");if(typeof t!="string")throw new TypeError("path must be a string to res.sendFile");if(typeof r=="function"&&(i=r,A={}),!A.root&&!c2e(t))throw new TypeError("path must be absolute or specify root to res.sendFile");var p=encodeURI(t),f=F5(s,p,A);qY(o,f,A,function(c){if(i)return i(c);if(c&&c.code==="EISDIR")return u();c&&c.code!=="ECONNABORTED"&&c.syscall!=="write"&&u(c)})};ei.sendfile=function(e,t,r){var n=r,i=this.req,s=this,o=i.next,u=t||{};typeof t=="function"&&(n=t,u={});var A=F5(i,e,u);qY(s,A,u,function(p){if(n)return n(p);if(p&&p.code==="EISDIR")return o();p&&p.code!=="ECONNABORTED"&&p.syscall!=="write"&&o(p)})};ei.sendfile=Eo.function(ei.sendfile,"res.sendfile: Use res.sendFile instead");ei.download=function(t,r,n,i){var s=i,o=r,u=n||null;typeof r=="function"?(s=r,o=null,u=null):typeof n=="function"&&(s=n,u=null),typeof r=="object"&&(typeof n=="function"||n===void 0)&&(o=null,u=r);var A={"Content-Disposition":LY(o||t)};if(u&&u.headers)for(var p=Object.keys(u.headers),f=0;f0?t.accepts(n):!1;return this.vary("Accept"),i?(this.set("Content-Type",p2e(i).value),e[i](t,this,r)):e.default?e.default(t,this,r):r(s2e(406,{types:f2e(n).map(function(s){return s.value})})),this};ei.attachment=function(t){return t&&this.type(g2e(t)),this.set("Content-Disposition",LY(t)),this};ei.append=function(t,r){var n=this.get(t),i=r;return n&&(i=Array.isArray(n)?n.concat(r):Array.isArray(r)?[n].concat(r):[n,r]),this.set(t,i)};ei.set=ei.header=function(t,r){if(arguments.length===2){var n=Array.isArray(r)?r.map(String):String(r);if(t.toLowerCase()==="content-type"){if(Array.isArray(n))throw new TypeError("Content-Type cannot be set to an Array");if(!y2e.test(n)){var i=HY.charsets.lookup(n.split(";")[0]);i&&(n+="; charset="+i.toLowerCase())}}this.setHeader(t,n)}else for(var s in t)this.set(s,t[s]);return this};ei.get=function(e){return this.getHeader(e)};ei.clearCookie=function(t,r){r&&(r.maxAge&&Eo('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'),r.expires&&Eo('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.'));var n=$Y({expires:new Date(1),path:"/"},r);return this.cookie(t,"",n)};ei.cookie=function(e,t,r){var n=$Y({},r),i=this.req.secret,s=n.signed;if(s&&!i)throw new Error('cookieParser("secret") required for signed cookies');var o=typeof t=="object"?"j:"+JSON.stringify(t):String(t);if(s&&(o="s:"+A2e(o,i)),n.maxAge!=null){var u=n.maxAge-0;isNaN(u)||(n.expires=new Date(Date.now()+u),n.maxAge=Math.floor(u/1e3))}return n.path==null&&(n.path="/"),this.append("Set-Cookie",d2e.serialize(e,String(o),n)),this};ei.location=function(t){var r;return t==="back"?(Eo('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices'),r=this.req.get("Referrer")||"/"):r=String(t),this.set("Location",o2e(r))};ei.redirect=function(t){var r=t,n,i=302;arguments.length===2&&(typeof arguments[0]=="number"?(i=arguments[0],r=arguments[1]):(Eo("res.redirect(url, status): Use res.redirect(status, url) instead"),i=arguments[1])),r=this.location(r).get("Location"),this.format({text:function(){n=PI.message[i]+". Redirecting to "+r},html:function(){var s=a2e(r);n="

"+PI.message[i]+". Redirecting to "+s+"

"},default:function(){n=""}}),this.statusCode=i,this.set("Content-Length",$E.byteLength(n)),this.req.method==="HEAD"?this.end():this.end(n)};ei.vary=function(e){return!e||Array.isArray(e)&&!e.length?(Eo("res.vary(): Provide a field name"),this):(E2e(this,e),this)};ei.render=function(t,r,n){var i=this.req.app,s=n,o=r||{},u=this.req,A=this;typeof r=="function"&&(s=r,o={}),o._locals=A.locals,s=s||function(p,f){if(p)return u.next(p);A.send(f)},i.render(t,o,s)};function qY(e,t,r,n){var i=!1,s;function o(){if(!i){i=!0;var w=new Error("Request aborted");w.code="ECONNABORTED",n(w)}}function u(){if(!i){i=!0;var w=new Error("EISDIR, read");w.code="EISDIR",n(w)}}function A(w){i||(i=!0,n(w))}function p(){i||(i=!0,n())}function f(){s=!1}function c(w){if(w&&w.code==="ECONNRESET")return o();if(w)return A(w);i||setImmediate(function(){if(s!==!1&&!i){o();return}i||(i=!0,n())})}function m(){s=!0}t.on("directory",u),t.on("end",p),t.on("error",A),t.on("file",f),t.on("stream",m),l2e(e,c),r.headers&&t.on("headers",function(C){for(var F=r.headers,P=Object.keys(F),j=0;j&]/g,function(s){switch(s.charCodeAt(0)){case 60:return"\\u003c";case 62:return"\\u003e";case 38:return"\\u0026";default:return s}})),i}});var JY=he((N3e,S5)=>{"use strict";var C2e=CI(),v2e=FE(),D5=dg(),I2e=require("path").resolve,VY=NI(),B2e=require("url");S5.exports=w2e;S5.exports.mime=VY.mime;function w2e(e,t){if(!e)throw new TypeError("root path required");if(typeof e!="string")throw new TypeError("root path must be a string");var r=Object.create(t||null),n=r.fallthrough!==!1,i=r.redirect!==!1,s=r.setHeaders;if(s&&typeof s!="function")throw new TypeError("option setHeaders must be function");r.maxage=r.maxage||r.maxAge||0,r.root=I2e(e);var o=i?F2e():Q2e();return function(A,p,f){if(A.method!=="GET"&&A.method!=="HEAD"){if(n)return f();p.statusCode=405,p.setHeader("Allow","GET, HEAD"),p.setHeader("Content-Length","0"),p.end();return}var c=!n,m=D5.original(A),w=D5(A).pathname;w==="/"&&m.pathname.substr(-1)!=="/"&&(w="");var C=VY(A,w,r);C.on("directory",o),s&&C.on("headers",s),n&&C.on("file",function(){c=!0}),C.on("error",function(P){if(c||!(P.statusCode<500)){f(P);return}f()}),C.pipe(p)}}function b2e(e){for(var t=0;t1?"/"+e.substr(t):e}function x2e(e,t){return` + + + +`+e+` + + +
`+t+`
+ + +`}function Q2e(){return function(){this.error(404)}}function F2e(){return function(t){if(this.hasTrailingSlash()){this.error(404);return}var r=D5.original(this.req);r.path=null,r.pathname=b2e(r.pathname+"/");var n=C2e(B2e.format(r)),i=x2e("Redirecting","Redirecting to "+v2e(n));t.statusCode=301,t.setHeader("Content-Type","text/html; charset=UTF-8"),t.setHeader("Content-Length",Buffer.byteLength(i)),t.setHeader("Content-Security-Policy","default-src 'none'"),t.setHeader("X-Content-Type-Options","nosniff"),t.setHeader("Location",n),t.end(i)}}});var eV=he((yo,XY)=>{"use strict";var $I=zS(),D2e=require("events").EventEmitter,WY=wj(),zY=nY(),S2e=e5(),R2e=r5(),KY=DY(),ZY=YY();yo=XY.exports=k2e;function k2e(){var e=function(t,r,n){e.handle(t,r,n)};return WY(e,D2e.prototype,!1),WY(e,zY,!1),e.request=Object.create(KY,{app:{configurable:!0,enumerable:!0,writable:!0,value:e}}),e.response=Object.create(ZY,{app:{configurable:!0,enumerable:!0,writable:!0,value:e}}),e.init(),e}yo.application=zY;yo.request=KY;yo.response=ZY;yo.Route=S2e;yo.Router=R2e;yo.json=$I.json;yo.query=n5();yo.raw=$I.raw;yo.static=JY();yo.text=$I.text;yo.urlencoded=$I.urlencoded;var N2e=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];N2e.forEach(function(e){Object.defineProperty(yo,e,{get:function(){throw new Error("Most middleware (like "+e+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var HI=he((T3e,tV)=>{"use strict";tV.exports=eV()});var qI=he(R5=>{"use strict";Object.defineProperty(R5,"__esModule",{value:!0});var T2e=(e,t)=>e<<8|t,_2e=(e,t,r)=>e<<16|t<<8|r,U2e=(e,t,r,n)=>e<<24|t<<16|r<<8|n,O2e=`Maxmind v2 module has changed API. +Upgrade instructions can be found here: https://github.com/runk/node-maxmind/wiki/Migration-guide +If you want to use legacy library then explicitly install maxmind@1`,M2e=(e,t)=>{if(!e)throw new Error(t)};R5.default={assert:M2e,concat2:T2e,concat3:_2e,concat4:U2e,legacyErrorMessage:O2e}});var N5=he(jE=>{"use strict";var L2e=jE&&jE.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jE,"__esModule",{value:!0});var bl=L2e(qI());bl.default.assert(typeof BigInt<"u","Apparently you are using old version of node. Please upgrade to node 10.4.x or above.");var Rs;(function(e){e[e.Extended=0]="Extended",e[e.Pointer=1]="Pointer",e[e.Utf8String=2]="Utf8String",e[e.Double=3]="Double",e[e.Bytes=4]="Bytes",e[e.Uint16=5]="Uint16",e[e.Uint32=6]="Uint32",e[e.Map=7]="Map",e[e.Int32=8]="Int32",e[e.Uint64=9]="Uint64",e[e.Uint128=10]="Uint128",e[e.Array=11]="Array",e[e.Container=12]="Container",e[e.EndMarker=13]="EndMarker",e[e.Boolean=14]="Boolean",e[e.Float=15]="Float"})(Rs||(Rs={}));var P2e=[0,2048,526336,0],$2e={get:()=>{},set:()=>{}},us=(e,t)=>({value:e,offset:t}),k5=class{constructor(t,r=0,n=$2e){this.telemetry={},bl.default.assert(!!t,"Database buffer is required"),this.db=t,this.baseOffset=r,this.cache=n}decode(t){let r,n=this.db[t++],i=n>>5;if(i===Rs.Pointer)return r=this.decodePointer(n,t),us(this.decodeFast(r.value).value,r.offset);if(i===Rs.Extended){if(r=this.db[t]+7,r<8)throw new Error("Invalid Extended Type at offset "+t+" val "+r);i=r,t++}let s=this.sizeFromCtrlByte(n,t);return this.decodeByType(i,s.offset,s.value)}decodeFast(t){let r=this.cache.get(t);if(r)return r;let n=this.decode(t);return this.cache.set(t,n),n}decodeByType(t,r,n){let i=r+n;switch(t){case Rs.Utf8String:return us(this.decodeString(r,n),i);case Rs.Map:return this.decodeMap(n,r);case Rs.Uint32:return us(this.decodeUint(r,n),i);case Rs.Double:return us(this.decodeDouble(r),i);case Rs.Array:return this.decodeArray(n,r);case Rs.Boolean:return us(this.decodeBoolean(n),r);case Rs.Float:return us(this.decodeFloat(r),i);case Rs.Bytes:return us(this.decodeBytes(r,n),i);case Rs.Uint16:return us(this.decodeUint(r,n),i);case Rs.Int32:return us(this.decodeInt32(r,n),i);case Rs.Uint64:return us(this.decodeUint(r,n),i);case Rs.Uint128:return us(this.decodeUint(r,n),i)}throw new Error("Unknown type "+t+" at offset "+r)}sizeFromCtrlByte(t,r){let n=t&31;return n<29?us(n,r):n===29?us(29+this.db[r],r+1):n===30?us(285+this.db.readUInt16BE(r),r+2):us(65821+bl.default.concat3(this.db[r],this.db[r+1],this.db[r+2]),r+3)}decodeBytes(t,r){return this.db.slice(t,t+r)}decodePointer(t,r){let n=t>>3&3,i=this.baseOffset+P2e[n],s=0;return n===0?s=bl.default.concat2(t&7,this.db[r]):n===1?s=bl.default.concat3(t&7,this.db[r],this.db[r+1]):n===2?s=bl.default.concat4(t&7,this.db[r],this.db[r+1],this.db[r+2]):s=this.db.readUInt32BE(r),r+=n+1,us(i+s,r)}decodeArray(t,r){let n,i=[];for(let s=0;s{"use strict";var H2e=c1&&c1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(c1,"__esModule",{value:!0});var q2e=H2e(require("net")),j2e=e=>{let t=e.split(".",4),r=parseInt(t[0]),n=parseInt(t[1]),i=parseInt(t[2]),s=parseInt(t[3]);return[r,n,i,s]},jI=e=>{let t=parseInt(e,10).toString(16);return t.length===2?t:"0"+t},G2e=e=>{let t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r,n,i,s=e.indexOf(".")>-1?e.replace(/(\d+)\.(\d+)\.(\d+)\.(\d+)/,(A,p,f,c,m)=>jI(p)+jI(f)+":"+jI(c)+jI(m)):e,[o,u]=s.split("::",2);if(o)for(n=o.split(":"),r=0;r>8,t[r*2+1]=i&255;if(u){n=u.split(":");let A=16-n.length*2;for(r=0;r>8,t[A+(r*2+1)]=i&255}return t},Y2e=e=>e.indexOf(":")===-1?j2e(e):G2e(e),V2e=(e,t)=>{let r=t>>3,n=7^t&7;return e[r]>>>n&1},J2e=e=>{let t=q2e.default.isIP(e);return t===4||t===6};c1.default={bitAt:V2e,parse:Y2e,validate:J2e}});var oV=he(xl=>{"use strict";var sV=xl&&xl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xl,"__esModule",{value:!0});xl.isLegacyFormat=xl.parseMetadata=void 0;var W2e=sV(N5()),nV=sV(qI()),iV=Buffer.from("ABCDEF4D61784D696E642E636F6D","hex"),z2e=e=>{let t=K2e(e),n=new W2e.default(e,t).decode(t).value;if(!n)throw new Error((0,xl.isLegacyFormat)(e)?nV.default.legacyErrorMessage:"Cannot parse binary database");return nV.default.assert([24,28,32].indexOf(n.record_size)>-1,"Unsupported record size"),{binaryFormatMajorVersion:n.binary_format_major_version,binaryFormatMinorVersion:n.binary_format_minor_version,buildEpoch:new Date(n.build_epoch*1e3),databaseType:n.database_type,description:n.description,ipVersion:n.ip_version,languages:n.languages,nodeByteSize:n.record_size/4,nodeCount:n.node_count,recordSize:n.record_size,searchTreeSize:n.node_count*n.record_size/4,treeDepth:Math.pow(2,n.ip_version+1)}};xl.parseMetadata=z2e;var K2e=e=>{let t=0,r=e.length-1,n=iV.length-1;for(;t<=n&&r-- >0;)t+=e[r]===iV[n-t]?1:-t;return r+t},Z2e=e=>{for(let r=0;r<20;r++){let n=e.slice(e.length-3-r,e.length-r);if(n[0]===255&&n[1]===255&&n[2]===255)return!0}return!1};xl.isLegacyFormat=Z2e});var aV=he(l1=>{"use strict";var X2e=l1&&l1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(l1,"__esModule",{value:!0});var GI=X2e(qI()),exe=e=>t=>GI.default.concat3(e[t+3],e[t+4],e[t+5]),txe=e=>t=>GI.default.concat3(e[t],e[t+1],e[t+2]),rxe=e=>t=>GI.default.concat4(e[t+3]>>4,e[t],e[t+1],e[t+2]),nxe=e=>t=>GI.default.concat4(e[t+3]&15,e[t+4],e[t+5],e[t+6]),ixe=e=>t=>e.readUInt32BE(t),sxe=e=>t=>e.readUInt32BE(t+4);l1.default=(e,t)=>{switch(t){case 24:return{left:txe(e),right:exe(e)};case 28:return{left:rxe(e),right:nxe(e)};case 32:return{left:ixe(e),right:sxe(e)}}throw new Error("Unsupported record size")}});var cV=he(uV=>{"use strict";Object.defineProperty(uV,"__esModule",{value:!0})});var U5=he(du=>{"use strict";var oxe=du&&du.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),axe=du&&du.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&oxe(t,e,r)},_5=du&&du.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(du,"__esModule",{value:!0});du.Reader=void 0;var uxe=_5(N5()),lV=_5(rV()),cxe=oV(),lxe=_5(aV()),Axe=16,T5=class{constructor(t,r={}){this.opts=r,this.load(t)}load(t){if(!Buffer.isBuffer(t))throw new Error(`mmdb-lib expects an instance of Buffer, got: ${typeof t}`);this.db=t,this.metadata=(0,cxe.parseMetadata)(this.db),this.decoder=new uxe.default(this.db,this.metadata.searchTreeSize+Axe,this.opts.cache),this.walker=(0,lxe.default)(this.db,this.metadata.recordSize),this.ipv4StartNodeNumber=this.ipv4Start()}get(t){let[r]=this.getWithPrefixLength(t);return r}getWithPrefixLength(t){let[r,n]=this.findAddressInTree(t);return[r?this.resolveDataPointer(r):null,n]}findAddressInTree(t){let r=lV.default.parse(t),n=this.metadata.nodeCount,i=r.length*8,s,o=0,u,A=0;for(r.length===4&&(o=this.ipv4StartNodeNumber);An?[o,A]:[null,A]}resolveDataPointer(t){let r=t-this.metadata.nodeCount+this.metadata.searchTreeSize;return this.decoder.decodeFast(r).value}ipv4Start(){if(this.metadata.ipVersion===4)return 0;let t=this.metadata.nodeCount,r=0,n=0;for(;n<96&&r{"use strict";var YI=class{constructor(t=0,r=0,n=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=n,this.size=0,this.ttl=r}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){let r=this.items[t];delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev)}return this}entries(t=this.keys()){return t.map(r=>[r,this.get(r)])}evict(t=!1){if(t||this.size>0){let r=this.first;delete this.items[r.key],--this.size===0?(this.first=null,this.last=null):(this.first=r.next,this.first.prev=null)}return this}expiresAt(t){let r;return this.has(t)&&(r=this.items[t].expiry),r}get(t){let r;if(this.has(t)){let n=this.items[t];this.ttl>0&&n.expiry<=Date.now()?this.delete(t):(r=n.value,this.set(t,r,!0))}return r}has(t){return t in this.items}keys(){let t=[],r=this.first;for(;r!==null;)t.push(r.key),r=r.next;return t}set(t,r,n=!1,i=this.resetTtl){let s;if(n||this.has(t)){if(s=this.items[t],s.value=r,n===!1&&i&&(s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==s){let o=this.last,u=s.next,A=s.prev;this.first===s&&(this.first=s.next),s.next=null,s.prev=this.last,o.next=s,A!==null&&(A.next=u),u!==null&&(u.prev=A)}}else this.max>0&&this.size===this.max&&this.evict(!0),s=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r},++this.size===1?this.first=s:this.last.next=s;return this.last=s,this}values(t=this.keys()){return t.map(r=>this.get(r))}};function pxe(e=1e3,t=0,r=!1){if(isNaN(e)||e<0)throw new TypeError("Invalid max value");if(isNaN(t)||t<0)throw new TypeError("Invalid ttl value");if(typeof r!="boolean")throw new TypeError("Invalid resetTtl value");return new YI(e,t,r)}O5.LRU=YI;O5.lru=pxe});var fV=he(h1=>{"use strict";var pV=h1&&h1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(h1,"__esModule",{value:!0});var VI=pV(require("fs")),fxe=pV(require("util"));h1.default={existsSync:VI.default.existsSync,readFile:fxe.default.promisify(VI.default.readFile),watchFile:VI.default.watchFile,createReadStream:VI.default.createReadStream}});var hV=he(y1=>{"use strict";var hxe=y1&&y1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(y1,"__esModule",{value:!0});var dxe=hxe(require("net")),gxe=e=>{let t=e.split(".",4),r=parseInt(t[0]),n=parseInt(t[1]),i=parseInt(t[2]),s=parseInt(t[3]);return[r,n,i,s]},JI=e=>(e=parseInt(e,10).toString(16),e.length===2?e:"0"+e),mxe=e=>{let t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r,n,i;e.indexOf(".")>-1&&(e=e.replace(/(\d+)\.(\d+)\.(\d+)\.(\d+)/,(u,A,p,f,c)=>JI(A)+JI(p)+":"+JI(f)+JI(c)));let[s,o]=e.split("::",2);if(s)for(n=s.split(":"),r=0;r>8,t[r*2+1]=i&255;if(o){n=o.split(":");let u=16-n.length*2;for(r=0;r>8,t[u+(r*2+1)]=i&255}return t},Exe=e=>e.indexOf(":")===-1?gxe(e):mxe(e),yxe=(e,t)=>{let r=t>>3,n=7^t&7;return e[r]>>>n&1},Cxe=e=>{let t=dxe.default.isIP(e);return t===4||t===6};y1.default={bitAt:yxe,parse:Exe,validate:Cxe}});var dV=he(M5=>{"use strict";Object.defineProperty(M5,"__esModule",{value:!0});M5.default=e=>!e||e.length<3?!1:e[0]===31&&e[1]===139&&e[2]===8});var gV=he(L5=>{"use strict";Object.defineProperty(L5,"__esModule",{value:!0});var vxe=(e,t)=>e<<8|t,Ixe=(e,t,r)=>e<<16|t<<8|r,Bxe=(e,t,r,n)=>e<<24|t<<16|r<<8|n,wxe=`Maxmind v2 module has changed API. +Upgrade instructions can be found here: https://github.com/runk/node-maxmind/wiki/Migration-guide +If you want to use legacy libary then explicitly install maxmind@1`;L5.default={concat2:vxe,concat3:Ixe,concat4:Bxe,legacyErrorMessage:wxe}});var WI=he(gi=>{"use strict";var bxe=gi&&gi.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),xxe=gi&&gi.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&bxe(t,e,r)},C1=gi&&gi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(gi,"__esModule",{value:!0});gi.Reader=gi.validate=gi.init=gi.openSync=gi.open=void 0;var Qxe=C1(require("assert")),EV=U5();Object.defineProperty(gi,"Reader",{enumerable:!0,get:function(){return EV.Reader}});var Fxe=AV(),P5=C1(fV()),yV=C1(hV()),Dxe=C1(dV()),$5=C1(gV()),mV=async e=>new Promise((t,r)=>{let n=[],i=P5.default.createReadStream(e,{highWaterMark:67108864});i.on("data",s=>{n.push(s)}),i.on("end",()=>{t(Buffer.concat(n))}),i.on("error",s=>{r(s)})}),Sxe=async(e,t,r)=>{var n;(0,Qxe.default)(!r,$5.default.legacyErrorMessage);let i=await mV(e);if((0,Dxe.default)(i))throw new Error("Looks like you are passing in a file in gzip format, please use mmdb database instead.");let s=(0,Fxe.lru)(((n=t?.cache)===null||n===void 0?void 0:n.max)||1e4),o=new EV.Reader(i,{cache:s});if(t&&t.watchForUpdates){if(t.watchForUpdatesHook&&typeof t.watchForUpdatesHook!="function")throw new Error("opts.watchForUpdatesHook should be a function");let u={persistent:t.watchForUpdatesNonPersistent!==!0};P5.default.watchFile(e,u,async()=>{if(!await(async()=>{for(let f=0;f<3;f++){if(P5.default.existsSync(e))return!0;await new Promise(c=>setTimeout(c,500))}return!1})())return;let p=await mV(e);s.clear(),o.load(p),t.watchForUpdatesHook&&t.watchForUpdatesHook()})}return o};gi.open=Sxe;var Rxe=()=>{throw new Error($5.default.legacyErrorMessage)};gi.openSync=Rxe;var kxe=()=>{throw new Error($5.default.legacyErrorMessage)};gi.init=kxe;gi.validate=yV.default.validate;xxe(U5(),gi);gi.default={init:gi.init,open:gi.open,openSync:gi.openSync,validate:yV.default.validate}});var zI=he(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ValueError=hc.InvalidDbBufferError=hc.BadMethodCallError=hc.AddressNotFoundError=void 0;var H5=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};hc.AddressNotFoundError=H5;var q5=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};hc.BadMethodCallError=q5;var j5=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};hc.InvalidDbBufferError=j5;var G5=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};hc.ValueError=G5});var ZI=he((W3e,vV)=>{var KI=require("assert"),Nxe=require("stream").Stream,Txe=require("util"),_xe=/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;function Y5(e){return e.charAt(0).toUpperCase()+e.slice(1)}function VA(e,t,r,n,i){throw new KI.AssertionError({message:Txe.format("%s (%s) is required",e,t),actual:i===void 0?typeof n:i(n),expected:t,operator:r||"===",stackStartFunction:VA.caller})}function V5(e){return Object.prototype.toString.call(e).slice(8,-1)}function wg(){}var I1={bool:{check:function(e){return typeof e=="boolean"}},func:{check:function(e){return typeof e=="function"}},string:{check:function(e){return typeof e=="string"}},object:{check:function(e){return typeof e=="object"&&e!==null}},number:{check:function(e){return typeof e=="number"&&!isNaN(e)}},finite:{check:function(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}},buffer:{check:function(e){return Buffer.isBuffer(e)},operator:"Buffer.isBuffer"},array:{check:function(e){return Array.isArray(e)},operator:"Array.isArray"},stream:{check:function(e){return e instanceof Nxe},operator:"instanceof",actual:V5},date:{check:function(e){return e instanceof Date},operator:"instanceof",actual:V5},regexp:{check:function(e){return e instanceof RegExp},operator:"instanceof",actual:V5},uuid:{check:function(e){return typeof e=="string"&&_xe.test(e)},operator:"isUUID"}};function CV(e){var t=Object.keys(I1),r;return process.env.NODE_NDEBUG?r=wg:r=function(n,i){n||VA(i,"true",n)},t.forEach(function(n){if(e){r[n]=wg;return}var i=I1[n];r[n]=function(s,o){i.check(s)||VA(o,n,i.operator,s,i.actual)}}),t.forEach(function(n){var i="optional"+Y5(n);if(e){r[i]=wg;return}var s=I1[n];r[i]=function(o,u){o!=null&&(s.check(o)||VA(u,n,s.operator,o,s.actual))}}),t.forEach(function(n){var i="arrayOf"+Y5(n);if(e){r[i]=wg;return}var s=I1[n],o="["+n+"]";r[i]=function(u,A){Array.isArray(u)||VA(A,o,s.operator,u,s.actual);var p;for(p=0;p{var Uxe=require("assert"),Oxe=require("util");XI.sprintf=W5;XI.printf=Mxe;XI.fprintf=IV;function W5(e){var t=["([^%]*)","%","(['\\-+ #0]*?)","([1-9]\\d*)?","(\\.([1-9]\\d*))?","[lhjztL]*?","([diouxXfFeEgGaAcCsSp%jr])"].join(""),r=new RegExp(t),n=Array.prototype.slice.call(arguments,1),i,s,o,u,A,p,f,c,m,w="",C=1;for(Uxe.equal("string",typeof e);(m=r.exec(e))!==null;){if(w+=m[1],e=e.substring(m[0].length),i=m[2]||"",s=m[3]||0,o=m[4]||"",u=m[6],A=!1,f=!1,p=" ",u=="%"){w+="%";continue}if(n.length===0)throw new Error("too few args to sprintf");if(c=n.shift(),C++,i.match(/[\' #]/))throw new Error("unsupported flags: "+i);if(o.length>0)throw new Error("non-zero precision not supported");switch(i.match(/-/)&&(A=!0),i.match(/0/)&&(p="0"),i.match(/\+/)&&(f=!0),u){case"s":if(c==null)throw new Error("argument "+C+": attempted to print undefined or null as a string");w+=J5(p,s,A,c.toString());break;case"d":c=Math.floor(c);case"f":f=f&&c>0?"+":"",w+=f+J5(p,s,A,c.toString());break;case"x":w+=J5(p,s,A,c.toString(16));break;case"j":s===0&&(s=10),w+=Oxe.inspect(c,!1,s);break;case"r":w+=BV(c);break;default:throw new Error("unsupported conversion: "+u)}}return w+=e,w}function Mxe(){var e=Array.prototype.slice.call(arguments);e.unshift(process.stdout),IV.apply(null,e)}function IV(e){var t=Array.prototype.slice.call(arguments,1);return e.write(W5.apply(this,t))}function J5(e,t,r,n){for(var i=n;i.length{function Lxe(e){return Array.isArray?Array.isArray(e):eB(e)==="[object Array]"}ks.isArray=Lxe;function Pxe(e){return typeof e=="boolean"}ks.isBoolean=Pxe;function $xe(e){return e===null}ks.isNull=$xe;function Hxe(e){return e==null}ks.isNullOrUndefined=Hxe;function qxe(e){return typeof e=="number"}ks.isNumber=qxe;function jxe(e){return typeof e=="string"}ks.isString=jxe;function Gxe(e){return typeof e=="symbol"}ks.isSymbol=Gxe;function Yxe(e){return e===void 0}ks.isUndefined=Yxe;function Vxe(e){return eB(e)==="[object RegExp]"}ks.isRegExp=Vxe;function Jxe(e){return typeof e=="object"&&e!==null}ks.isObject=Jxe;function Wxe(e){return eB(e)==="[object Date]"}ks.isDate=Wxe;function zxe(e){return eB(e)==="[object Error]"||e instanceof Error}ks.isError=zxe;function Kxe(e){return typeof e=="function"}ks.isFunction=Kxe;function Zxe(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}ks.isPrimitive=Zxe;ks.isBuffer=Buffer.isBuffer;function eB(e){return Object.prototype.toString.call(e)}});var xV=he((Z3e,bV)=>{var $i=ZI(),tB=require("util"),Xxe=z5(),gu=wV().isError,eQe=Xxe.sprintf;bV.exports=un;un.VError=un;un.SError=B1;un.WError=JA;un.MultiError=bg;function K5(e){var t,r,n,i,s;if($i.object(e,"args"),$i.bool(e.strict,"args.strict"),$i.array(e.argv,"args.argv"),t=e.argv,t.length===0)r={},n=[];else if(gu(t[0]))r={cause:t[0]},n=t.slice(1);else if(typeof t[0]=="object"){r={};for(s in t[0])r[s]=t[0][s];n=t.slice(1)}else $i.string(t[0],"first argument to VError, SError, or WError constructor must be a string, object, or Error"),r={},n=t;return $i.object(r),!r.strict&&!e.strict&&(n=n.map(function(o){return o===null?"null":o===void 0?"undefined":o})),n.length===0?i="":i=eQe.apply(null,n),{options:r,shortmessage:i}}function un(){var e,t,r,n,i,s,o;if(e=Array.prototype.slice.call(arguments,0),!(this instanceof un))return t=Object.create(un.prototype),un.apply(t,arguments),t;if(r=K5({argv:e,strict:!1}),r.options.name&&($i.string(r.options.name,`error's "name" must be a string`),this.name=r.options.name),this.jse_shortmsg=r.shortmessage,s=r.shortmessage,n=r.options.cause,n&&($i.ok(gu(n),"cause is not an Error"),this.jse_cause=n,r.options.skipCauseMessage||(s+=": "+n.message)),this.jse_info={},r.options.info)for(o in r.options.info)this.jse_info[o]=r.options.info[o];return this.message=s,Error.call(this,s),Error.captureStackTrace&&(i=r.options.constructorOpt||this.constructor,Error.captureStackTrace(this,i)),this}tB.inherits(un,Error);un.prototype.name="VError";un.prototype.toString=function(){var t=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t+=": "+this.message),t};un.prototype.cause=function(){var t=un.cause(this);return t===null?void 0:t};un.cause=function(e){return $i.ok(gu(e),"err must be an Error"),gu(e.jse_cause)?e.jse_cause:null};un.info=function(e){var t,r,n;if($i.ok(gu(e),"err must be an Error"),r=un.cause(e),r!==null?t=un.info(r):t={},typeof e.jse_info=="object"&&e.jse_info!==null)for(n in e.jse_info)t[n]=e.jse_info[n];return t};un.findCauseByName=function(e,t){var r;for($i.ok(gu(e),"err must be an Error"),$i.string(t,"name"),$i.ok(t.length>0,"name cannot be empty"),r=e;r!==null;r=un.cause(r))if($i.ok(gu(r)),r.name==t)return r;return null};un.hasCauseWithName=function(e,t){return un.findCauseByName(e,t)!==null};un.fullStack=function(e){$i.ok(gu(e),"err must be an Error");var t=un.cause(e);return t?e.stack+` +caused by: `+un.fullStack(t):e.stack};un.errorFromList=function(e){return $i.arrayOfObject(e,"errors"),e.length===0?null:(e.forEach(function(t){$i.ok(gu(t))}),e.length==1?e[0]:new bg(e))};un.errorForEach=function(e,t){$i.ok(gu(e),"err must be an Error"),$i.func(t,"func"),e instanceof bg?e.errors().forEach(function(n){t(n)}):t(e)};function B1(){var e,t,r,n;return e=Array.prototype.slice.call(arguments,0),this instanceof B1?(r=K5({argv:e,strict:!0}),n=r.options,un.call(this,n,"%s",r.shortmessage),this):(t=Object.create(B1.prototype),B1.apply(t,arguments),t)}tB.inherits(B1,un);function bg(e){$i.array(e,"list of errors"),$i.ok(e.length>0,"must be at least one error"),this.ase_errors=e,un.call(this,{cause:e[0]},"first of %d error%s",e.length,e.length==1?"":"s")}tB.inherits(bg,un);bg.prototype.name="MultiError";bg.prototype.errors=function(){return this.ase_errors.slice(0)};function JA(){var e,t,r,n;return e=Array.prototype.slice.call(arguments,0),this instanceof JA?(r=K5({argv:e,strict:!1}),n=r.options,n.skipCauseMessage=!0,un.call(this,n,"%s",r.shortmessage),this):(t=Object.create(JA.prototype),JA.apply(t,e),t)}tB.inherits(JA,un);JA.prototype.name="WError";JA.prototype.toString=function(){var t=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(t+=": "+this.message),this.jse_cause&&this.jse_cause.message&&(t+="; caused by "+this.jse_cause.toString()),t};JA.prototype.cause=function(t){return gu(t)&&(this.jse_cause=t),this.jse_cause}});var FV=he((QV,rB)=>{(function(e,t){typeof define=="function"&&define.amd?define([],function(){return t()}):typeof rB=="object"&&rB.exports?rB.exports=t():e.jsonSchema=t()})(QV,function(){var e=r;e.Integer={type:"integer"};var t={String,Boolean,Number,Object,Array,Date};e.validate=r;function r(n,i){return r(n,i,{changing:!1})}e.checkPropertyChange=function(n,i,s){return r(n,i,{changing:s||"property"})};var r=e._validate=function(n,i,s){s||(s={});var o=s.changing;function u(c){return c.type||t[c.name]==c&&c.name.toLowerCase()}var A=[];function p(c,m,w,C){var F;w+=w?typeof C=="number"?"["+C+"]":typeof C>"u"?"":"."+C:C;function P(fe){A.push({property:w,message:fe})}if((typeof m!="object"||m instanceof Array)&&(w||typeof m!="function")&&!(m&&u(m)))return typeof m=="function"?c instanceof m||P("is not an instance of the class/constructor "+m.name):m&&P("Invalid schema/property definition "+m),null;o&&m.readonly&&P("is a readonly field, it can not be changed"),m.extends&&p(c,m.extends,w,C);function j(fe,Ie){if(fe){if(typeof fe=="string"&&fe!="any"&&(fe=="null"?Ie!==null:typeof Ie!=fe)&&!(Ie instanceof Array&&fe=="array")&&!(Ie instanceof Date&&fe=="date")&&!(fe=="integer"&&Ie%1===0))return[{property:w,message:Ie+" - "+typeof Ie+" value found, but a "+fe+" is required"}];if(fe instanceof Array){for(var $e=[],Ve=0;Vem.maxItems&&P("There must be a maximum of "+m.maxItems+" in the array")}else(m.properties||m.additionalProperties)&&A.concat(f(c,m.properties,w,m.additionalProperties));if(m.pattern&&typeof c=="string"&&!c.match(m.pattern)&&P("does not match the regex pattern "+m.pattern),m.maxLength&&typeof c=="string"&&c.length>m.maxLength&&P("may only be "+m.maxLength+" characters long"),m.minLength&&typeof c=="string"&&c.lengthc&&P("must have a minimum value of "+m.minimum),typeof m.maximum<"u"&&typeof c==typeof m.maximum&&m.maximum{var Qn=ZI(),X3e=require("util"),SV=z5(),tQe=xV(),rQe=FV();Gn.deepCopy=Z5;Gn.deepEqual=RV;Gn.isEmpty=nQe;Gn.hasKey=X5;Gn.forEachKey=iQe;Gn.pluck=sQe;Gn.flattenObject=TV;Gn.flattenIter=oQe;Gn.validateJsonObject=_V;Gn.validateJsonObjectJS=_V;Gn.randElt=OQe;Gn.extraProperties=HQe;Gn.mergeObjects=MV;Gn.startsWith=aQe;Gn.endsWith=uQe;Gn.parseInteger=TQe;Gn.iso8601=cQe;Gn.rfc1123=pQe;Gn.parseDateTime=fQe;Gn.hrtimediff=UV;Gn.hrtimeDiff=UV;Gn.hrtimeAccum=OV;Gn.hrtimeAdd=$Qe;Gn.hrtimeNanosec=MQe;Gn.hrtimeMicrosec=LQe;Gn.hrtimeMillisec=PQe;function Z5(e){var t,r,n="__deepCopy";if(e&&e[n])throw new Error("attempted deep copy of cyclic object");if(e&&e.constructor==Object){t={},e[n]=!0;for(r in e)r!=n&&(t[r]=Z5(e[r]));return delete e[n],t}if(e&&e.constructor==Array){for(t=[],e[n]=!0,r=0;r=0);for(s in e)i=r.slice(0),i.push(s),NV(e[s],t-1,i,n)}function TV(e,t){if(t===0)return[e];Qn.ok(e!==null),Qn.equal(typeof e,"object"),Qn.equal(typeof t,"number"),Qn.ok(t>=0);var r=[],n;for(n in e)TV(e[n],t-1).forEach(function(i){r.push([n].concat(i))});return r}function aQe(e,t){return e.substr(0,t.length)==t}function uQe(e,t){return e.substr(e.length-t.length,t.length)==t}function cQe(e){return typeof e=="number"&&(e=new Date(e)),Qn.ok(e.constructor===Date),SV.sprintf("%4d-%02d-%02dT%02d:%02d:%02d.%03dZ",e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var lQe=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],AQe=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function pQe(e){return SV.sprintf("%s, %02d %s %04d %02d:%02d:%02d GMT",AQe[e.getUTCDay()],e.getUTCDate(),lQe[e.getUTCMonth()],e.getUTCFullYear(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())}function fQe(e){var t=+e;return isNaN(t)?new Date(e):new Date(t)}var hQe=Number.MAX_SAFE_INTEGER||9007199254740991,dQe=Number.MIN_SAFE_INTEGER||-9007199254740991,gQe={base:10,allowSign:!0,allowPrefix:!1,allowTrailing:!1,allowImprecise:!1,trimWhitespace:!1,leadingZeroIsOctal:!1},mQe=48,EQe=57,yQe=65,CQe=66,vQe=79,IQe=84,BQe=88,wQe=90,bQe=97,xQe=98,QQe=111,FQe=116,DQe=120,SQe=122,RQe=48,kQe=55,NQe=87;function TQe(e,t){Qn.string(e,"str"),Qn.optionalObject(t,"options");var r=!1,n=gQe;t&&(r=X5(t,"base"),n=MV(n,t),Qn.number(n.base,"options.base"),Qn.ok(n.base>=2,"options.base >= 2"),Qn.ok(n.base<=36,"options.base <= 36"),Qn.bool(n.allowSign,"options.allowSign"),Qn.bool(n.allowPrefix,"options.allowPrefix"),Qn.bool(n.allowTrailing,"options.allowTrailing"),Qn.bool(n.allowImprecise,"options.allowImprecise"),Qn.bool(n.trimWhitespace,"options.trimWhitespace"),Qn.bool(n.leadingZeroIsOctal,"options.leadingZeroIsOctal"),n.leadingZeroIsOctal&&Qn.ok(!r,'"base" and "leadingZeroIsOctal" are mutually exclusive'));var i,s=-1,o=n.base,u,A=1,p=0,f=0,c=e.length;if(n.trimWhitespace)for(;fhQe||m=mQe&&e<=EQe?e-RQe:e>=yQe&&e<=wQe?e-kQe:e>=bQe&&e<=SQe?e-NQe:-1}function DV(e){return e===32||e>=9&&e<=13||e===160||e===5760||e===6158||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function UQe(e){return e===xQe||e===CQe?2:e===QQe||e===vQe?8:e===FQe||e===IQe?10:e===DQe||e===BQe?16:-1}function _V(e,t){var r=rQe.validate(t,e);if(r.errors.length===0)return null;var n=r.errors[0],i=n.property,s=n.message.toLowerCase(),o,u;(o=s.indexOf("the property "))!=-1&&(u=s.indexOf(" is not defined in the schema and the schema does not allow additional properties"))!=-1&&(o+=13,i===""?i=s.substr(o,u-o):i=i+"."+s.substr(o,u-o),s="unsupported property");var A=new tQe.VError('property "%s": %s',i,s);return A.jsv_details=n,A}function OQe(e){return Qn.ok(Array.isArray(e)&&e.length>0,"randElt argument must be a non-empty array"),e[Math.floor(Math.random()*e.length)]}function zA(e){Qn.ok(e[0]>=0&&e[1]>=0,"negative numbers not allowed in hrtimes"),Qn.ok(e[1]<1e9,"nanoseconds column overflow")}function UV(e,t){zA(e),zA(t),Qn.ok(e[0]>t[0]||e[0]==t[0]&&e[1]>=t[1],"negative differences not allowed");var r=[e[0]-t[0],0];return e[1]>=t[1]?r[1]=e[1]-t[1]:(r[0]--,r[1]=1e9-(t[1]-e[1])),r}function MQe(e){return zA(e),Math.floor(e[0]*1e9+e[1])}function LQe(e){return zA(e),Math.floor(e[0]*1e6+e[1]/1e3)}function PQe(e){return zA(e),Math.floor(e[0]*1e3+e[1]/1e6)}function OV(e,t){return zA(e),zA(t),e[1]+=t[1],e[1]>=1e9&&(e[0]++,e[1]-=1e9),e[0]+=t[0],e}function $Qe(e,t){zA(e);var r=[e[0],e[1]];return OV(r,t)}function HQe(e,t){Qn.ok(typeof e=="object"&&e!==null,"obj argument must be a non-null object"),Qn.ok(Array.isArray(t),"allowed argument must be an array of strings");for(var r=0;r{var Go=ZI(),PV=LV(),qQe=require("util");function Co(e,t,r){Error.captureStackTrace&&Error.captureStackTrace(this,Co),this.input=e,this.message=t,r!==void 0&&(this.message+=" at index "+r)}qQe.inherits(Co,Error);function jQe(e,t){return(t+e%t)%t}function $V(e){var t;return t=(e[0]>>8)+"."+(e[0]&255)+".",t+=(e[1]>>8)+"."+(e[1]&255),t}function jV(e){return!!(typeof e=="object"&&Array.isArray(e._fields)&&typeof e._attrs=="object")}function Ql(e){if(typeof e=="string")return YV(e);if(jV(e))return e;throw new Error("Invalid argument: Addr or parsable string expected")}function HV(e,t,r){var n,i=null,s=0;if(t){var o=null,u=null;for(n=0;ns&&(i=o,s=u),o=null);o!==null&&u>s&&(i=o,s=u)}var A=[],p;for(n=0;n=i&&n=0);var t=new Io,r;for(r=0;e>16;r++,e-=16)t._fields[r]=65535;return e>0&&(t._fields[r]=65535-((1<<16-e)-1)),t}function qV(e){if(typeof e=="string")return new ka(e);if(e instanceof ka)return e;throw new Error("Invalid argument: CIDR or parsable string expected")}var VQe={format:"auto",zeroElide:!0,zeroPad:!1};function nB(e,t){return e&&e.hasOwnProperty(t)?e[t]:VQe[t]}function Io(){this._fields=[0,0,0,0,0,0,0,0],this._attrs={}}Io.prototype.kind=function(){return xg.contains(this)?"ipv4":"ipv6"};Io.prototype.toString=function(t){Go.optionalObject(t,"opts");var r=nB(t,"format"),n=nB(t,"zeroElide"),i=nB(t,"zeroPad");switch(Go.string(r,"opts.format"),Go.bool(n,"opts.zeroElide"),Go.bool(i,"opts.zeroPad"),r==="auto"&&(this._attrs.ipv4Bare?r="v4":this._attrs.ipv4Mapped?r="v4-mapped":r="v6"),r){case"v4":if(!xg.contains(this))throw new Error("cannot print non-v4 address in dotted quad notation");return $V(this._fields.slice(6));case"v4-mapped":if(!xg.contains(this))throw new Error("cannot print non-v4 address as a v4-mapped address");var s=HV(this._fields.slice(0,6),n,i);return s.push($V(this._fields.slice(6))),s.join(":");case"v6":return HV(this._fields,n,i).join(":");default:throw new Error('unrecognized format method "'+r+'"')}};Io.prototype.toBuffer=function(t){if(t!==void 0){if(!Buffer.isBuffer(t))throw new Error("optional arg must be Buffer")}else t=new Buffer(16);var r;for(r=0;r<8;r++)t.writeUInt16BE(this._fields[r],r*2);return t};Io.prototype.toLong=function(){if(!xg.contains(this))throw new Error("only possible for ipv4-mapped addresses");return(this._fields[6]<<16>>>0)+this._fields[7]};Io.prototype.clone=function(){var t=new Io;t._fields=this._fields.slice();for(var r in this._attrs)t._attrs[r]=this._attrs[r];return t};Io.prototype.offset=function(t){if(t<-4294967295||t>4294967295)throw new Error("offsets should be between -4294967295 and 4294967295");var r=this.clone(),n,i;for(n=7;n>=0&&(i=r._fields[n]+t,i>65535?(t=i>>>16,i=i&65535):i<0?(t=Math.floor(i/65536),i=jQe(i,65536)):t=0,r._fields[n]=i,t!==0);n--)if(n===0||n===6&&this._attrs.ipv4Mapped)return null;return r};Io.prototype.and=function(t){t=Ql(t);var r,n=this.clone();for(r=0;r<8;r++)n._fields[r]=n._fields[r]&t._fields[r];return n};Io.prototype.or=function(t){t=Ql(t);var r,n=this.clone();for(r=0;r<8;r++)n._fields[r]=n._fields[r]|t._fields[r];return n};Io.prototype.not=function(){var t,r=this.clone();for(t=0;t<8;t++)r._fields[t]=~r._fields[t]&65535;return r};Io.prototype.compare=function(t){return e4(this,t)};function ka(e,t){if(t===void 0){Go.string(e);var r=e.match(/^([a-fA-F0-9:.]+)\/([0-9]+)$/);if(r===null)throw new Error("Invalid argument: / expected");e=r[1],t=parseInt(r[2],10)}if(Go.number(t),t=t|0,e=Ql(e),e._attrs.ipv4Bare&&(t+=96),t<0||t>128)throw new Error("Invalid prefix length");this._prefix=t,this._mask=YQe(t),this._addr=e.and(this._mask)}ka.prototype.contains=function(t){return t=Ql(t),this._addr.compare(t.and(this._mask))===0};ka.prototype.first=function(){return this._prefix>=127?this._addr:this._addr.offset(1)};ka.prototype.last=function(){var t=this._addr.or(this._mask.not());return this._prefix>=127?t:this._addr._attrs.ipv4Mapped?t.offset(-1):t};ka.prototype.broadcast=function(){if(!xg.contains(this._addr))throw new Error("Only IPv4 networks have broadcast addresses");return this._addr.or(this._mask.not())};ka.prototype.compare=function(t){return GV(this,t)};ka.prototype.prefixLength=function(t){switch(Go.optionalString(t,"format"),(t===void 0||t==="auto")&&(t=this._addr._attrs.ipv4Bare?"v4":"v6"),t){case"v4":if(!xg.contains(this._addr))throw new Error("cannot return v4 prefix length for non-v4 address");return this._prefix-96;case"v6":return this._prefix;default:throw new Error('unrecognized format method "'+t+'"')}};ka.prototype.address=function(){return this._addr};ka.prototype.toString=function(t){Go.optionalObject(t,"opts");var r=nB(t,"format");return r==="v4-mapped"&&(r="v6"),this._addr.toString(t)+"/"+this.prefixLength(r)};var xg=new ka("::ffff:0:0",96);function GV(e,t){e=qV(e),t=qV(t);var r=e4(e._addr,t._addr);return r===0?t._prefix-e._prefix:r}function iB(e,t){if(e=Ql(e),t=Ql(t),e.compare(t)>0)throw new Error("begin address must be <= end address");this._begin=e,this._end=t}iB.prototype.contains=function(t){return t=Ql(t),this._begin.compare(t)<=0&&this._end.compare(t)>=0};iB.prototype.first=function(){return this._begin};iB.prototype.last=function(){return this._end};function YV(e){if(typeof e=="string")return JQe(e);if(typeof e=="number")return WQe(e);if(typeof e=="object"&&jV(e))return e;throw new Error("Invalid argument: only string|number allowed")}function JQe(e){Go.string(e),e=e.toLowerCase();var t=new Io,r=[],n=[],i=null,s="",o,u;if(e.length>40)throw new Co(e,"Input too long");for(o=0;o0)throw new Co(e,"Cannot end with delimiter besides ::");if(n.length===0){if(r.length>8)throw new Co(e,"Too many fields");if(r.length<8&&i===null)throw new Co(e,"Too few fields")}else{if(n.length!==4)throw new Co(e,"IPv4 portion must have 4 fields");if(r.length===0&&i===null&&(t._attrs.ipv4Bare=!0,r=["ffff"],i=0),r.length>6)throw new Co(e,"Too many fields");if(r.length<6&&i===null)throw new Co(e,"Too few fields")}var A,p;for(o=0;o65535)throw new Co(e,"Invalid field value: "+A);r[o]=p}for(o=0;o255)throw new Co(e,"Invalid field value: "+A);n[o]=p}if(n.length!==0&&(r.push(n[0]*256+n[1]),r.push(n[2]*256+n[3])),r.length<8&&i!==null){var f=[];for(o=0;o<8-r.length;o++)f.push(0);r=Array.prototype.concat(r.slice(0,i),f,r.slice(i))}if(n.length!==0)if(GQe(r))t._attrs.ipv4Mapped=!0;else throw new Co(e,"invalid dotted-quad notation");return t._fields=r,t}function WQe(e){if(Go.number(e),e!==Math.floor(e))throw new Error("Value must be integer");if(e<0||e>4294967295)throw new Error("Value must be 32 bit");var t=new Io;return t._fields[7]=e&65535,t._fields[6]=e>>>16,t._fields[5]=65535,t._attrs.ipv4Bare=!0,t._attrs.ipv4Mapped=!0,t}function e4(e,t){e=Ql(e),t=Ql(t);var r;for(r=0;r<8;r++){if(e._fields[r]t._fields[r])return 1}return 0}VV.exports={parse:YV,compare:e4,createCIDR:function(e,t){return new ka(e,t)},compareCIDR:GV,createAddrRange:function(e,t){return new iB(e,t)}}});var WV=he(r4=>{"use strict";Object.defineProperty(r4,"__esModule",{value:!0});var t4=class{constructor(t,r,n){this.ipAddress=r,this.isAnonymous=!!t.is_anonymous,this.isAnonymousVpn=!!t.is_anonymous_vpn,this.isHostingProvider=!!t.is_hosting_provider,this.isPublicProxy=!!t.is_public_proxy,this.isResidentialProxy=!!t.is_residential_proxy,this.isTorExitNode=!!t.is_tor_exit_node,this.network=n}};r4.default=t4});var s4=he(i4=>{"use strict";Object.defineProperty(i4,"__esModule",{value:!0});var n4=class{constructor(t,r,n){this.autonomousSystemNumber=t.autonomous_system_number,this.autonomousSystemOrganization=t.autonomous_system_organization,this.ipAddress=r,this.network=n}};i4.default=n4});var u4=he(Qg=>{"use strict";Object.defineProperty(Qg,"__esModule",{value:!0});Qg.camelcaseKeys=Qg.snakeToCamelCase=void 0;function sB(e){return e.replace(/_+(\w?)/g,(t,r,n)=>n===0?r:r.toUpperCase())}Qg.snakeToCamelCase=sB;var zV=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Error)&&!(e instanceof Date),o4=e=>e.map(t=>Array.isArray(t)?o4(t):zV(t)?a4(t):t);function a4(e){if(Array.isArray(e))return o4(e);let t={};for(let[r,n]of Object.entries(e))Array.isArray(n)?t[sB(r)]=o4(n):zV(n)?t[sB(r)]=a4(n):t[sB(r)]=n;return t}Qg.camelcaseKeys=a4});var A4=he(l4=>{"use strict";Object.defineProperty(l4,"__esModule",{value:!0});var zQe=u4(),c4=class{constructor(t,r,n){var i,s,o,u;let A=(0,zQe.camelcaseKeys)(t);this.continent=A.continent||void 0,this.country=A.country||void 0,this.maxmind=A.maxmind||void 0,this.registeredCountry=this.setBooleanRegisteredCountry(A.registeredCountry)||void 0,this.representedCountry=A.representedCountry||void 0,this.traits=this.setBooleanTraits(A.traits||{}),(i=(o=this.traits).ipAddress)!==null&&i!==void 0||(o.ipAddress=r),(s=(u=this.traits).network)!==null&&s!==void 0||(u.network=n)}setBooleanTraits(t){return["isAnonymous","isAnonymousProxy","isAnonymousVpn","isAnycast","isHostingProvider","isLegitimateProxy","isPublicProxy","isResidentialProxy","isSatelliteProvider","isTorExitNode"].forEach(n=>{t[n]=!!t[n]}),t}setBooleanRegisteredCountry(t){return t&&(t.isInEuropeanUnion=!!t.isInEuropeanUnion),t}};l4.default=c4});var oB=he(b1=>{"use strict";var KQe=b1&&b1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b1,"__esModule",{value:!0});var ZQe=u4(),XQe=KQe(A4()),p4=class extends XQe.default{constructor(t,r,n){super(t,r,n);let i=(0,ZQe.camelcaseKeys)(t);this.city=i.city||void 0,this.location=i.location||void 0,this.postal=i.postal||void 0,this.subdivisions=i.subdivisions||void 0}};b1.default=p4});var KV=he(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});var f4=class{constructor(t,r,n){this.connectionType=t.connection_type,this.ipAddress=r,this.network=n}};h4.default=f4});var ZV=he(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var d4=class{constructor(t,r,n){this.domain=t.domain,this.ipAddress=r,this.network=n}};g4.default=d4});var XV=he(x1=>{"use strict";var eFe=x1&&x1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(x1,"__esModule",{value:!0});var tFe=eFe(oB()),m4=class extends tFe.default{constructor(t,r,n){super(t,r,n)}};x1.default=m4});var eJ=he(Q1=>{"use strict";var rFe=Q1&&Q1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Q1,"__esModule",{value:!0});var nFe=rFe(oB()),E4=class extends nFe.default{constructor(t){super(t)}};Q1.default=E4});var tJ=he(F1=>{"use strict";var iFe=F1&&F1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(F1,"__esModule",{value:!0});var sFe=iFe(s4()),y4=class extends sFe.default{constructor(t,r,n){super(t,r,n),this.isp=t.isp,this.mobileCountryCode=t.mobile_country_code,this.mobileNetworkCode=t.mobile_network_code,this.organization=t.organization}};F1.default=y4});var aB=he(Bi=>{"use strict";var Fl=Bi&&Bi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bi,"__esModule",{value:!0});Bi.Isp=Bi.Insights=Bi.Enterprise=Bi.Domain=Bi.Country=Bi.ConnectionType=Bi.City=Bi.Asn=Bi.AnonymousIP=void 0;var oFe=Fl(WV());Bi.AnonymousIP=oFe.default;var aFe=Fl(s4());Bi.Asn=aFe.default;var uFe=Fl(oB());Bi.City=uFe.default;var cFe=Fl(KV());Bi.ConnectionType=cFe.default;var lFe=Fl(A4());Bi.Country=lFe.default;var AFe=Fl(ZV());Bi.Domain=AFe.default;var pFe=Fl(XV());Bi.Enterprise=pFe.default;var fFe=Fl(eJ());Bi.Insights=fFe.default;var hFe=Fl(tJ());Bi.Isp=hFe.default});var I4=he(Dl=>{"use strict";var dFe=Dl&&Dl.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),gFe=Dl&&Dl.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),mFe=Dl&&Dl.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&dFe(t,e,r);return gFe(t,e),t};Object.defineProperty(Dl,"__esModule",{value:!0});var EFe=JV(),yFe=WI(),C4=zI(),KA=mFe(aB()),v4=class{constructor(t){this.mmdbReader=t}anonymousIP(t){return this.modelFor(KA.AnonymousIP,"GeoIP2-Anonymous-IP",t,"anonymousIP()")}city(t){return this.modelFor(KA.City,"City",t,"city()")}country(t){return this.modelFor(KA.Country,"Country",t,"country()")}asn(t){return this.modelFor(KA.Asn,"ASN",t,"asn()")}connectionType(t){return this.modelFor(KA.ConnectionType,"Connection-Type",t,"connectionType()")}domain(t){return this.modelFor(KA.Domain,"Domain",t,"domain()")}isp(t){return this.modelFor(KA.Isp,"ISP",t,"isp()")}enterprise(t){return this.modelFor(KA.Enterprise,"Enterprise",t,"enterprise()")}getRecord(t,r,n){let i=this.mmdbReader.metadata.databaseType;if(!yFe.validate(r))throw new C4.ValueError(`${r} is invalid`);if(!i.includes(t))throw new C4.BadMethodCallError(`The ${n} method cannot be used with the ${i} database`);let[s,o]=this.mmdbReader.getWithPrefixLength(r);if(!s)throw new C4.AddressNotFoundError(`The address ${r} is not in the database`);return[s,EFe.createCIDR(r,o).toString()]}modelFor(t,r,n,i){let[s,o]=this.getRecord(r,n,i);return new t(s,n,o)}};Dl.default=v4});var iJ=he(D1=>{"use strict";var CFe=D1&&D1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(D1,"__esModule",{value:!0});var rJ=WI(),vFe=zI(),nJ=CFe(I4()),B4=class{static open(t,r){return rJ.open(t,r).then(n=>new nJ.default(n))}static openBuffer(t){let r;try{r=new rJ.Reader(t)}catch(n){throw new vFe.InvalidDbBufferError(n)}return new nJ.default(r)}};D1.default=B4});var sJ=he((dTe,IFe)=>{IFe.exports={name:"@maxmind/geoip2-node",version:"5.0.0",description:"Node.js API for GeoIP2 webservice client and database reader",main:"dist/src/index.js",homepage:"https://github.com/maxmind/GeoIP2-node",repository:{type:"git",url:"https://github.com/maxmind/GeoIP2-node.git"},author:"MaxMind",license:"Apache-2.0",private:!1,keywords:["geoip","geoip2","geoip precision","geoip2 precision","geolite","geolite2","maxmind","maxminddb","mmdb"],files:["dist"],types:"dist/src/index.d.ts",devDependencies:{"@types/ip6addr":"^0.2.3","@types/jest":"^29.2.0","@types/lodash.set":"^4.3.4","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0",eslint:"^8.4.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prefer-arrow":"^1.2.3","gh-pages":"^6.0.0",husky:"^8.0.1",jest:"^29.5.0","lint-staged":"^15.0.1",lodash:"^4.17.11",nock:"^13.0.2",prettier:"^3.0.0","ts-jest":"^29.1.0",typedoc:"^0.25.0",typescript:"^5.0.2"},"lint-staged":{"*.json":["prettier --parser json --write"],"*.ts":["prettier --parser typescript --single-quote true --trailing-comma es5 --write","eslint -c .eslintrc.js --ext ts,js . --fix --max-warnings=0"]},publishConfig:{access:"public"},scripts:{build:"rimraf dist && tsc","build:docs":'rimraf docs && typedoc src/index.ts --out docs --exclude "**/*.spec.ts" --readme README.md && ./bin/sanitize-doc-refs.sh',"deploy:docs":"gh-pages -d docs",lint:"eslint -c .eslintrc.js --ext ts,js . --max-warnings=0","prettier:ts":"prettier --parser typescript --single-quote true --trailing-comma es5 --write 'src/**/*.ts'","prettier:ci":"prettier --parser typescript --single-quote true --trailing-comma es5 --list-different 'src/**/*.ts'","prettier:json":"prettier --parser json --write '**/*.json'",setup:"husky install",test:"jest","test:watch":"jest --watch",prepublishOnly:"npm run build && npm run test && npm run lint && npm run build:docs && npm run deploy:docs"},dependencies:{ip6addr:"^0.2.5",maxmind:"^4.2.0"}}});var oJ=he(Sl=>{"use strict";var BFe=Sl&&Sl.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),wFe=Sl&&Sl.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),bFe=Sl&&Sl.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&BFe(t,e,r);return wFe(t,e),t};Object.defineProperty(Sl,"__esModule",{value:!0});var xFe=require("https"),QFe=WI(),FFe=sJ(),w4=bFe(aB()),b4=class{constructor(t,r,n){if(this.timeout=3e3,this.host="geoip.maxmind.com",this.accountID=t,this.licenseKey=r,n!==void 0){if(typeof n=="object"){n.host!==void 0&&(this.host=n.host),n.timeout!==void 0&&(this.timeout=n.timeout);return}this.timeout=n}}city(t){return this.responseFor("city",t,w4.City)}country(t){return this.responseFor("country",t,w4.Country)}insights(t){return this.responseFor("insights",t,w4.Insights)}responseFor(t,r,n){let i=`/geoip/v2.1/${t}/${r}`,s=`https://${this.host}${i}`;if(!QFe.validate(r))return Promise.reject({code:"IP_ADDRESS_INVALID",error:"The IP address provided is invalid",url:s});let o={auth:`${this.accountID}:${this.licenseKey}`,headers:{Accept:"application/json","User-Agent":`GeoIP2-node/${FFe.version}`},host:this.host,method:"GET",path:i,timeout:this.timeout};return new Promise((u,A)=>{let p=xFe.request(o,f=>{let c="";f.on("data",m=>{c+=m}),f.on("end",()=>{try{c=JSON.parse(c)}catch{return A(this.handleError({},f,s))}return f.statusCode&&f.statusCode!==200?A(this.handleError(c,f,s)):u(new n(c))})});p.on("error",f=>A({code:f.code,error:f.message,url:s})),p.end()})}handleError(t,r,n){return r.statusCode&&r.statusCode>=500&&r.statusCode<600?{code:"SERVER_ERROR",error:`Received a server error with HTTP status code: ${r.statusCode}`,url:n}:r.statusCode&&(r.statusCode<400||r.statusCode>=600)?{code:"HTTP_STATUS_CODE_ERROR",error:`Received an unexpected HTTP status code: ${r.statusCode}`,url:n}:!t.code||!t.error?{code:"INVALID_RESPONSE_BODY",error:"Received an invalid or unparseable response body",url:n}:Object.assign(Object.assign({},t),{url:n})}};Sl.default=b4});var uJ=he(aJ=>{"use strict";Object.defineProperty(aJ,"__esModule",{value:!0})});var cJ=he(Es=>{"use strict";var DFe=Es&&Es.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),x4=Es&&Es.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&DFe(t,e,r)},Q4=Es&&Es.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Es,"__esModule",{value:!0});Es.WebServiceClient=Es.ReaderModel=Es.Reader=void 0;var SFe=Q4(iJ());Es.Reader=SFe.default;var RFe=Q4(oJ());Es.WebServiceClient=RFe.default;var kFe=Q4(I4());Es.ReaderModel=kFe.default;x4(uJ(),Es);x4(aB(),Es);x4(zI(),Es)});var AJ=he((yTe,lJ)=>{var NFe="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";lJ.exports={urlAlphabet:NFe}});var EJ=he((CTe,mJ)=>{var pJ=require("crypto"),{urlAlphabet:fJ}=AJ(),TFe=128,ZA,ep,hJ=e=>{!ZA||ZA.lengthZA.length&&(pJ.randomFillSync(ZA),ep=0),ep+=e},dJ=e=>(hJ(e|=0),ZA.subarray(ep-e,ep)),gJ=(e,t,r)=>{let n=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*n*t/e.length);return(s=t)=>{let o="";for(;;){let u=r(i),A=i;for(;A--;)if(o+=e[u[A]&n]||"",o.length===s)return o}}},_Fe=(e,t=21)=>gJ(e,t,dJ),UFe=(e=21)=>{hJ(e|=0);let t="";for(let r=ep-e;r{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});var Rl=class extends Error{},U4=class extends Rl{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}},O4=class extends Rl{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}},M4=class extends Rl{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}},ip=class extends Rl{},mB=class extends Rl{constructor(t){super(`Invalid unit ${t}`)}},cs=class extends Rl{},dc=class extends Rl{constructor(){super("Zone is an abstract class")}},Lt="numeric",Iu="short",Jo="long",EB={year:Lt,month:Lt,day:Lt},WJ={year:Lt,month:Iu,day:Lt},OFe={year:Lt,month:Iu,day:Lt,weekday:Iu},zJ={year:Lt,month:Jo,day:Lt},KJ={year:Lt,month:Jo,day:Lt,weekday:Jo},ZJ={hour:Lt,minute:Lt},XJ={hour:Lt,minute:Lt,second:Lt},eW={hour:Lt,minute:Lt,second:Lt,timeZoneName:Iu},tW={hour:Lt,minute:Lt,second:Lt,timeZoneName:Jo},rW={hour:Lt,minute:Lt,hourCycle:"h23"},nW={hour:Lt,minute:Lt,second:Lt,hourCycle:"h23"},iW={hour:Lt,minute:Lt,second:Lt,hourCycle:"h23",timeZoneName:Iu},sW={hour:Lt,minute:Lt,second:Lt,hourCycle:"h23",timeZoneName:Jo},oW={year:Lt,month:Lt,day:Lt,hour:Lt,minute:Lt},aW={year:Lt,month:Lt,day:Lt,hour:Lt,minute:Lt,second:Lt},uW={year:Lt,month:Iu,day:Lt,hour:Lt,minute:Lt},cW={year:Lt,month:Iu,day:Lt,hour:Lt,minute:Lt,second:Lt},MFe={year:Lt,month:Iu,day:Lt,weekday:Iu,hour:Lt,minute:Lt},lW={year:Lt,month:Jo,day:Lt,hour:Lt,minute:Lt,timeZoneName:Iu},AW={year:Lt,month:Jo,day:Lt,hour:Lt,minute:Lt,second:Lt,timeZoneName:Iu},pW={year:Lt,month:Jo,day:Lt,weekday:Jo,hour:Lt,minute:Lt,timeZoneName:Jo},fW={year:Lt,month:Jo,day:Lt,weekday:Jo,hour:Lt,minute:Lt,second:Lt,timeZoneName:Jo},op=class{get type(){throw new dc}get name(){throw new dc}get ianaName(){return this.name}get isUniversal(){throw new dc}offsetName(t,r){throw new dc}formatOffset(t,r){throw new dc}offset(t){throw new dc}equals(t){throw new dc}get isValid(){throw new dc}},F4=null,T1=class e extends op{static get instance(){return F4===null&&(F4=new e),F4}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:r,locale:n}){return IW(t,r,n)}formatOffset(t,r){return N1(this.offset(t),r)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}},fB={};function LFe(e){return fB[e]||(fB[e]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),fB[e]}var PFe={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function $Fe(e,t){let r=e.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,s,o,u,A,p,f]=n;return[o,i,s,u,A,p,f]}function HFe(e,t){let r=e.formatToParts(t),n=[];for(let i=0;i=0?C:1e3+C,(m-w)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}},yJ={};function qFe(e,t={}){let r=JSON.stringify([e,t]),n=yJ[r];return n||(n=new Intl.ListFormat(e,t),yJ[r]=n),n}var L4={};function P4(e,t={}){let r=JSON.stringify([e,t]),n=L4[r];return n||(n=new Intl.DateTimeFormat(e,t),L4[r]=n),n}var $4={};function jFe(e,t={}){let r=JSON.stringify([e,t]),n=$4[r];return n||(n=new Intl.NumberFormat(e,t),$4[r]=n),n}var H4={};function GFe(e,t={}){let{base:r,...n}=t,i=JSON.stringify([e,n]),s=H4[i];return s||(s=new Intl.RelativeTimeFormat(e,t),H4[i]=s),s}var R1=null;function YFe(){return R1||(R1=new Intl.DateTimeFormat().resolvedOptions().locale,R1)}var CJ={};function VFe(e){let t=CJ[e];if(!t){let r=new Intl.Locale(e);t="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,CJ[e]=t}return t}function JFe(e){let t=e.indexOf("-x-");t!==-1&&(e=e.substring(0,t));let r=e.indexOf("-u-");if(r===-1)return[e];{let n,i;try{n=P4(e).resolvedOptions(),i=e}catch{let A=e.substring(0,r);n=P4(A).resolvedOptions(),i=A}let{numberingSystem:s,calendar:o}=n;return[i,s,o]}}function WFe(e,t,r){return(r||t)&&(e.includes("-u-")||(e+="-u"),r&&(e+=`-ca-${r}`),t&&(e+=`-nu-${t}`)),e}function zFe(e){let t=[];for(let r=1;r<=12;r++){let n=ai.utc(2009,r,1);t.push(e(n))}return t}function KFe(e){let t=[];for(let r=1;r<=7;r++){let n=ai.utc(2016,11,13+r);t.push(e(n))}return t}function cB(e,t,r,n){let i=e.listingMode();return i==="error"?null:i==="en"?r(t):n(t)}function ZFe(e){return e.numberingSystem&&e.numberingSystem!=="latn"?!1:e.numberingSystem==="latn"||!e.locale||e.locale.startsWith("en")||new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem==="latn"}var q4=class{constructor(t,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:s,...o}=n;if(!r||Object.keys(o).length>0){let u={useGrouping:!1,...n};n.padTo>0&&(u.minimumIntegerDigits=n.padTo),this.inf=jFe(t,u)}}format(t){if(this.inf){let r=this.floor?Math.floor(t):t;return this.inf.format(r)}else{let r=this.floor?Math.floor(t):Z4(t,3);return qi(r,this.padTo)}}},j4=class{constructor(t,r,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){let o=-1*(t.offset/60),u=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;t.offset!==0&&kl.create(u).valid?(i=u,this.dt=t):(i="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,i=t.zone.name):(i="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);let s={...this.opts};s.timeZone=s.timeZone||i,this.dtf=P4(r,s)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):t}resolvedOptions(){return this.dtf.resolvedOptions()}},G4=class{constructor(t,r,n){this.opts={style:"long",...n},!r&&CW()&&(this.rtf=GFe(t,n))}format(t,r){return this.rtf?this.rtf.format(t,r):CDe(r,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,r){return this.rtf?this.rtf.formatToParts(t,r):[]}},XFe={firstDay:1,minimalDays:4,weekend:[6,7]},Vn=class e{static fromOpts(t){return e.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,r,n,i,s=!1){let o=t||ri.defaultLocale,u=o||(s?"en-US":YFe()),A=r||ri.defaultNumberingSystem,p=n||ri.defaultOutputCalendar,f=Y4(i)||ri.defaultWeekSettings;return new e(u,A,p,f,o)}static resetCache(){R1=null,L4={},$4={},H4={}}static fromObject({locale:t,numberingSystem:r,outputCalendar:n,weekSettings:i}={}){return e.create(t,r,n,i)}constructor(t,r,n,i,s){let[o,u,A]=JFe(t);this.locale=o,this.numberingSystem=r||u||null,this.outputCalendar=n||A||null,this.weekSettings=i,this.intl=WFe(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=ZFe(this)),this.fastNumbersCached}listingMode(){let t=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&r?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:e.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,Y4(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,r=!1){return cB(this,t,bW,()=>{let n=r?{month:t,day:"numeric"}:{month:t},i=r?"format":"standalone";return this.monthsCache[i][t]||(this.monthsCache[i][t]=zFe(s=>this.extract(s,n,"month"))),this.monthsCache[i][t]})}weekdays(t,r=!1){return cB(this,t,FW,()=>{let n=r?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},i=r?"format":"standalone";return this.weekdaysCache[i][t]||(this.weekdaysCache[i][t]=KFe(s=>this.extract(s,n,"weekday"))),this.weekdaysCache[i][t]})}meridiems(){return cB(this,void 0,()=>DW,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[ai.utc(2016,11,13,9),ai.utc(2016,11,13,19)].map(r=>this.extract(r,t,"dayperiod"))}return this.meridiemCache})}eras(t){return cB(this,t,SW,()=>{let r={era:t};return this.eraCache[t]||(this.eraCache[t]=[ai.utc(-40,1,1),ai.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[t]})}extract(t,r,n){let i=this.dtFormatter(t,r),s=i.formatToParts(),o=s.find(u=>u.type.toLowerCase()===n);return o?o.value:null}numberFormatter(t={}){return new q4(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,r={}){return new j4(t,this.intl,r)}relFormatter(t={}){return new G4(this.intl,this.isEnglish(),t)}listFormatter(t={}){return qFe(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:vW()?VFe(this.locale):XFe}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},D4=null,Wo=class e extends op{static get utcInstance(){return D4===null&&(D4=new e(0)),D4}static instance(t){return t===0?e.utcInstance:new e(t)}static parseSpecifier(t){if(t){let r=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new e(xB(r[1],r[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${N1(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${N1(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,r){return N1(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}},yB=class extends op{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function np(e,t){if(br(e)||e===null)return t;if(e instanceof op)return e;if(sDe(e)){let r=e.toLowerCase();return r==="default"?t:r==="local"||r==="system"?T1.instance:r==="utc"||r==="gmt"?Wo.utcInstance:Wo.parseSpecifier(r)||kl.create(e)}else return sp(e)?Wo.instance(e):typeof e=="object"&&"offset"in e&&typeof e.offset=="function"?e:new yB(e)}var J4={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},vJ={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},eDe=J4.hanidec.replace(/[\[|\]]/g,"").split("");function tDe(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let r=0;r=s&&n<=o&&(t+=n-s)}}return parseInt(t,10)}else return t}var Rg={};function rDe(){Rg={}}function yu({numberingSystem:e},t=""){let r=e||"latn";return Rg[r]||(Rg[r]={}),Rg[r][t]||(Rg[r][t]=new RegExp(`${J4[r]}${t}`)),Rg[r][t]}var IJ=()=>Date.now(),BJ="system",wJ=null,bJ=null,xJ=null,QJ=60,FJ,DJ=null,ri=class{static get now(){return IJ}static set now(t){IJ=t}static set defaultZone(t){BJ=t}static get defaultZone(){return np(BJ,T1.instance)}static get defaultLocale(){return wJ}static set defaultLocale(t){wJ=t}static get defaultNumberingSystem(){return bJ}static set defaultNumberingSystem(t){bJ=t}static get defaultOutputCalendar(){return xJ}static set defaultOutputCalendar(t){xJ=t}static get defaultWeekSettings(){return DJ}static set defaultWeekSettings(t){DJ=Y4(t)}static get twoDigitCutoffYear(){return QJ}static set twoDigitCutoffYear(t){QJ=t%100}static get throwOnInvalid(){return FJ}static set throwOnInvalid(t){FJ=t}static resetCaches(){Vn.resetCache(),kl.resetCache(),ai.resetCache(),rDe()}},Vo=class{constructor(t,r){this.reason=t,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},hW=[0,31,59,90,120,151,181,212,243,273,304,334],dW=[0,31,60,91,121,152,182,213,244,274,305,335];function Ta(e,t){return new Vo("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function W4(e,t,r){let n=new Date(Date.UTC(e,t-1,r));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}function gW(e,t,r){return r+(U1(e)?dW:hW)[t-1]}function mW(e,t){let r=U1(e)?dW:hW,n=r.findIndex(s=>s_1(n,t,r)?(p=n+1,A=1):p=n,{weekYear:p,weekNumber:A,weekday:u,...QB(e)}}function SJ(e,t=4,r=1){let{weekYear:n,weekNumber:i,weekday:s}=e,o=z4(W4(n,1,t),r),u=kg(n),A=i*7+s-o-7+t,p;A<1?(p=n-1,A+=kg(p)):A>u?(p=n+1,A-=kg(n)):p=n;let{month:f,day:c}=mW(p,A);return{year:p,month:f,day:c,...QB(e)}}function S4(e){let{year:t,month:r,day:n}=e,i=gW(t,r,n);return{year:t,ordinal:i,...QB(e)}}function RJ(e){let{year:t,ordinal:r}=e,{month:n,day:i}=mW(t,r);return{year:t,month:n,day:i,...QB(e)}}function kJ(e,t){if(!br(e.localWeekday)||!br(e.localWeekNumber)||!br(e.localWeekYear)){if(!br(e.weekday)||!br(e.weekNumber)||!br(e.weekYear))throw new ip("Cannot mix locale-based week fields with ISO-based week fields");return br(e.localWeekday)||(e.weekday=e.localWeekday),br(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),br(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function nDe(e,t=4,r=1){let n=wB(e.weekYear),i=_a(e.weekNumber,1,_1(e.weekYear,t,r)),s=_a(e.weekday,1,7);return n?i?s?!1:Ta("weekday",e.weekday):Ta("week",e.weekNumber):Ta("weekYear",e.weekYear)}function iDe(e){let t=wB(e.year),r=_a(e.ordinal,1,kg(e.year));return t?r?!1:Ta("ordinal",e.ordinal):Ta("year",e.year)}function EW(e){let t=wB(e.year),r=_a(e.month,1,12),n=_a(e.day,1,vB(e.year,e.month));return t?r?n?!1:Ta("day",e.day):Ta("month",e.month):Ta("year",e.year)}function yW(e){let{hour:t,minute:r,second:n,millisecond:i}=e,s=_a(t,0,23)||t===24&&r===0&&n===0&&i===0,o=_a(r,0,59),u=_a(n,0,59),A=_a(i,0,999);return s?o?u?A?!1:Ta("millisecond",i):Ta("second",n):Ta("minute",r):Ta("hour",t)}function br(e){return typeof e>"u"}function sp(e){return typeof e=="number"}function wB(e){return typeof e=="number"&&e%1===0}function sDe(e){return typeof e=="string"}function oDe(e){return Object.prototype.toString.call(e)==="[object Date]"}function CW(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function vW(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function aDe(e){return Array.isArray(e)?e:[e]}function NJ(e,t,r){if(e.length!==0)return e.reduce((n,i)=>{let s=[t(i),i];return n&&r(n[0],s[0])===n[0]?n:s},null)[1]}function uDe(e,t){return t.reduce((r,n)=>(r[n]=e[n],r),{})}function Tg(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Y4(e){if(e==null)return null;if(typeof e!="object")throw new cs("Week settings must be an object");if(!_a(e.firstDay,1,7)||!_a(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(t=>!_a(t,1,7)))throw new cs("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function _a(e,t,r){return wB(e)&&e>=t&&e<=r}function cDe(e,t){return e-t*Math.floor(e/t)}function qi(e,t=2){let r=e<0,n;return r?n="-"+(""+-e).padStart(t,"0"):n=(""+e).padStart(t,"0"),n}function rp(e){if(!(br(e)||e===null||e===""))return parseInt(e,10)}function zf(e){if(!(br(e)||e===null||e===""))return parseFloat(e)}function K4(e){if(!(br(e)||e===null||e==="")){let t=parseFloat("0."+e)*1e3;return Math.floor(t)}}function Z4(e,t,r=!1){let n=10**t;return(r?Math.trunc:Math.round)(e*n)/n}function U1(e){return e%4===0&&(e%100!==0||e%400===0)}function kg(e){return U1(e)?366:365}function vB(e,t){let r=cDe(t-1,12)+1,n=e+(t-r)/12;return r===2?U1(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function bB(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(e.year,e.month-1,e.day)),+t}function TJ(e,t,r){return-z4(W4(e,1,t),r)+t-1}function _1(e,t=4,r=1){let n=TJ(e,t,r),i=TJ(e+1,t,r);return(kg(e)-n+i)/7}function V4(e){return e>99?e:e>ri.twoDigitCutoffYear?1900+e:2e3+e}function IW(e,t,r,n=null){let i=new Date(e),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);let o={timeZoneName:t,...s},u=new Intl.DateTimeFormat(r,o).formatToParts(i).find(A=>A.type.toLowerCase()==="timezonename");return u?u.value:null}function xB(e,t){let r=parseInt(e,10);Number.isNaN(r)&&(r=0);let n=parseInt(t,10)||0,i=r<0||Object.is(r,-0)?-n:n;return r*60+i}function BW(e){let t=Number(e);if(typeof e=="boolean"||e===""||Number.isNaN(t))throw new cs(`Invalid unit value ${e}`);return t}function IB(e,t){let r={};for(let n in e)if(Tg(e,n)){let i=e[n];if(i==null)continue;r[t(n)]=BW(i)}return r}function N1(e,t){let r=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return`${i}${qi(r,2)}:${qi(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${qi(r,2)}${qi(n,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function QB(e){return uDe(e,["hour","minute","second","millisecond"])}var lDe=["January","February","March","April","May","June","July","August","September","October","November","December"],wW=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ADe=["J","F","M","A","M","J","J","A","S","O","N","D"];function bW(e){switch(e){case"narrow":return[...ADe];case"short":return[...wW];case"long":return[...lDe];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var xW=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],QW=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],pDe=["M","T","W","T","F","S","S"];function FW(e){switch(e){case"narrow":return[...pDe];case"short":return[...QW];case"long":return[...xW];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var DW=["AM","PM"],fDe=["Before Christ","Anno Domini"],hDe=["BC","AD"],dDe=["B","A"];function SW(e){switch(e){case"narrow":return[...dDe];case"short":return[...hDe];case"long":return[...fDe];default:return null}}function gDe(e){return DW[e.hour<12?0:1]}function mDe(e,t){return FW(t)[e.weekday-1]}function EDe(e,t){return bW(t)[e.month-1]}function yDe(e,t){return SW(t)[e.year<0?0:1]}function CDe(e,t,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=["hours","minutes","seconds"].indexOf(e)===-1;if(r==="auto"&&s){let c=e==="days";switch(t){case 1:return c?"tomorrow":`next ${i[e][0]}`;case-1:return c?"yesterday":`last ${i[e][0]}`;case 0:return c?"today":`this ${i[e][0]}`}}let o=Object.is(t,-0)||t<0,u=Math.abs(t),A=u===1,p=i[e],f=n?A?p[1]:p[2]||p[1]:A?i[e][0]:e;return o?`${u} ${f} ago`:`in ${u} ${f}`}function _J(e,t){let r="";for(let n of e)n.literal?r+=n.val:r+=t(n.val);return r}var vDe={D:EB,DD:WJ,DDD:zJ,DDDD:KJ,t:ZJ,tt:XJ,ttt:eW,tttt:tW,T:rW,TT:nW,TTT:iW,TTTT:sW,f:oW,ff:uW,fff:lW,ffff:pW,F:aW,FF:cW,FFF:AW,FFFF:fW},Yo=class e{static create(t,r={}){return new e(t,r)}static parseFormat(t){let r=null,n="",i=!1,s=[];for(let o=0;o0&&s.push({literal:i||/^\s+$/.test(n),val:n}),r=null,n="",i=!i):i||u===r?n+=u:(n.length>0&&s.push({literal:/^\s+$/.test(n),val:n}),n=u,r=u)}return n.length>0&&s.push({literal:i||/^\s+$/.test(n),val:n}),s}static macroTokenToFormatOpts(t){return vDe[t]}constructor(t,r){this.opts=r,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...r}).format()}dtFormatter(t,r={}){return this.loc.dtFormatter(t,{...this.opts,...r})}formatDateTime(t,r){return this.dtFormatter(t,r).format()}formatDateTimeParts(t,r){return this.dtFormatter(t,r).formatToParts()}formatInterval(t,r){return this.dtFormatter(t.start,r).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,r){return this.dtFormatter(t,r).resolvedOptions()}num(t,r=0){if(this.opts.forceSimple)return qi(t,r);let n={...this.opts};return r>0&&(n.padTo=r),this.loc.numberFormatter(n).format(t)}formatDateTimeFromString(t,r){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",s=(w,C)=>this.loc.extract(t,w,C),o=w=>t.isOffsetFixed&&t.offset===0&&w.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,w.format):"",u=()=>n?gDe(t):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),A=(w,C)=>n?EDe(t,w):s(C?{month:w}:{month:w,day:"numeric"},"month"),p=(w,C)=>n?mDe(t,w):s(C?{weekday:w}:{weekday:w,month:"long",day:"numeric"},"weekday"),f=w=>{let C=e.macroTokenToFormatOpts(w);return C?this.formatWithSystemDefault(t,C):w},c=w=>n?yDe(t,w):s({era:w},"era"),m=w=>{switch(w){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return u();case"d":return i?s({day:"numeric"},"day"):this.num(t.day);case"dd":return i?s({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return p("short",!0);case"cccc":return p("long",!0);case"ccccc":return p("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return p("short",!1);case"EEEE":return p("long",!1);case"EEEEE":return p("narrow",!1);case"L":return i?s({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return i?s({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return A("short",!0);case"LLLL":return A("long",!0);case"LLLLL":return A("narrow",!0);case"M":return i?s({month:"numeric"},"month"):this.num(t.month);case"MM":return i?s({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return A("short",!1);case"MMMM":return A("long",!1);case"MMMMM":return A("narrow",!1);case"y":return i?s({year:"numeric"},"year"):this.num(t.year);case"yy":return i?s({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return i?s({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return i?s({year:"numeric"},"year"):this.num(t.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return f(w)}};return _J(e.parseFormat(r),m)}formatDurationFromString(t,r){let n=A=>{switch(A[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},i=A=>p=>{let f=n(p);return f?this.num(A.get(f),p.length):p},s=e.parseFormat(r),o=s.reduce((A,{literal:p,val:f})=>p?A:A.concat(f),[]),u=t.shiftTo(...o.map(n).filter(A=>A));return _J(s,i(u))}},RW=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function _g(...e){let t=e.reduce((r,n)=>r+n.source,"");return RegExp(`^${t}$`)}function Ug(...e){return t=>e.reduce(([r,n,i],s)=>{let[o,u,A]=s(t,i);return[{...r,...o},u||n,A]},[{},null,1]).slice(0,2)}function Og(e,...t){if(e==null)return[null,null];for(let[r,n]of t){let i=r.exec(e);if(i)return n(i)}return[null,null]}function kW(...e){return(t,r)=>{let n={},i;for(i=0;iw!==void 0&&(C||w&&f)?-w:w;return[{years:m(zf(r)),months:m(zf(n)),weeks:m(zf(i)),days:m(zf(s)),hours:m(zf(o)),minutes:m(zf(u)),seconds:m(zf(A),A==="-0"),milliseconds:m(K4(p),c)}]}var TDe={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function tR(e,t,r,n,i,s,o){let u={year:t.length===2?V4(rp(t)):rp(t),month:wW.indexOf(r)+1,day:rp(n),hour:rp(i),minute:rp(s)};return o&&(u.second=rp(o)),e&&(u.weekday=e.length>3?xW.indexOf(e)+1:QW.indexOf(e)+1),u}var _De=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function UDe(e){let[,t,r,n,i,s,o,u,A,p,f,c]=e,m=tR(t,i,n,r,s,o,u),w;return A?w=TDe[A]:p?w=0:w=xB(f,c),[m,new Wo(w)]}function ODe(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var MDe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,LDe=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,PDe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function UJ(e){let[,t,r,n,i,s,o,u]=e;return[tR(t,i,n,r,s,o,u),Wo.utcInstance]}function $De(e){let[,t,r,n,i,s,o,u]=e;return[tR(t,u,r,n,i,s,o),Wo.utcInstance]}var HDe=_g(BDe,eR),qDe=_g(wDe,eR),jDe=_g(bDe,eR),GDe=_g(TW),UW=Ug(SDe,Mg,O1,M1),YDe=Ug(xDe,Mg,O1,M1),VDe=Ug(QDe,Mg,O1,M1),JDe=Ug(Mg,O1,M1);function WDe(e){return Og(e,[HDe,UW],[qDe,YDe],[jDe,VDe],[GDe,JDe])}function zDe(e){return Og(ODe(e),[_De,UDe])}function KDe(e){return Og(e,[MDe,UJ],[LDe,UJ],[PDe,$De])}function ZDe(e){return Og(e,[kDe,NDe])}var XDe=Ug(Mg);function eSe(e){return Og(e,[RDe,XDe])}var tSe=_g(FDe,DDe),rSe=_g(_W),nSe=Ug(Mg,O1,M1);function iSe(e){return Og(e,[tSe,UW],[rSe,nSe])}var OJ="Invalid Duration",OW={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},sSe={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...OW},Na=146097/400,Fg=146097/4800,oSe={years:{quarters:4,months:12,weeks:Na/7,days:Na,hours:Na*24,minutes:Na*24*60,seconds:Na*24*60*60,milliseconds:Na*24*60*60*1e3},quarters:{months:3,weeks:Na/28,days:Na/4,hours:Na*24/4,minutes:Na*24*60/4,seconds:Na*24*60*60/4,milliseconds:Na*24*60*60*1e3/4},months:{weeks:Fg/7,days:Fg,hours:Fg*24,minutes:Fg*24*60,seconds:Fg*24*60*60,milliseconds:Fg*24*60*60*1e3},...OW},Zf=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],aSe=Zf.slice(0).reverse();function tp(e,t,r=!1){let n={values:r?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new zi(n)}function MW(e,t){var r;let n=(r=t.milliseconds)!=null?r:0;for(let i of aSe.slice(1))t[i]&&(n+=t[i]*e[i].milliseconds);return n}function MJ(e,t){let r=MW(e,t)<0?-1:1;Zf.reduceRight((n,i)=>{if(br(t[i]))return n;if(n){let s=t[n]*r,o=e[i][n],u=Math.floor(s/o);t[i]+=u*r,t[n]-=u*o*r}return i},null),Zf.reduce((n,i)=>{if(br(t[i]))return n;if(n){let s=t[n]%1;t[n]-=s,t[i]+=s*e[n][i]}return i},null)}function uSe(e){let t={};for(let[r,n]of Object.entries(e))n!==0&&(t[r]=n);return t}var zi=class e{constructor(t){let r=t.conversionAccuracy==="longterm"||!1,n=r?oSe:sSe;t.matrix&&(n=t.matrix),this.values=t.values,this.loc=t.loc||Vn.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(t,r){return e.fromObject({milliseconds:t},r)}static fromObject(t,r={}){if(t==null||typeof t!="object")throw new cs(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new e({values:IB(t,e.normalizeUnit),loc:Vn.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(t){if(sp(t))return e.fromMillis(t);if(e.isDuration(t))return t;if(typeof t=="object")return e.fromObject(t);throw new cs(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,r){let[n]=ZDe(t);return n?e.fromObject(n,r):e.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,r){let[n]=eSe(t);return n?e.fromObject(n,r):e.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,r=null){if(!t)throw new cs("need to specify a reason the Duration is invalid");let n=t instanceof Vo?t:new Vo(t,r);if(ri.throwOnInvalid)throw new M4(n);return new e({invalid:n})}static normalizeUnit(t){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!r)throw new mB(t);return r}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?Yo.create(this.loc,n).formatDurationFromString(this,t):OJ}toHuman(t={}){if(!this.isValid)return OJ;let r=Zf.map(n=>{let i=this.values[n];return br(i)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:n.slice(0,-1)}).format(i)}).filter(n=>n);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(r)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=Z4(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},ai.fromMillis(r,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?MW(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;let r=e.fromDurationLike(t),n={};for(let i of Zf)(Tg(r.values,i)||Tg(this.values,i))&&(n[i]=r.get(i)+this.get(i));return tp(this,{values:n},!0)}minus(t){if(!this.isValid)return this;let r=e.fromDurationLike(t);return this.plus(r.negate())}mapUnits(t){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=BW(t(this.values[n],n));return tp(this,{values:r},!0)}get(t){return this[e.normalizeUnit(t)]}set(t){if(!this.isValid)return this;let r={...this.values,...IB(t,e.normalizeUnit)};return tp(this,{values:r})}reconfigure({locale:t,numberingSystem:r,conversionAccuracy:n,matrix:i}={}){let o={loc:this.loc.clone({locale:t,numberingSystem:r}),matrix:i,conversionAccuracy:n};return tp(this,o)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;let t=this.toObject();return MJ(this.matrix,t),tp(this,{values:t},!0)}rescale(){if(!this.isValid)return this;let t=uSe(this.normalize().shiftToAll().toObject());return tp(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(o=>e.normalizeUnit(o));let r={},n={},i=this.toObject(),s;for(let o of Zf)if(t.indexOf(o)>=0){s=o;let u=0;for(let p in n)u+=this.matrix[p][o]*n[p],n[p]=0;sp(i[o])&&(u+=i[o]);let A=Math.trunc(u);r[o]=A,n[o]=(u*1e3-A*1e3)/1e3}else sp(i[o])&&(n[o]=i[o]);for(let o in n)n[o]!==0&&(r[s]+=o===s?n[o]:n[o]/this.matrix[s][o]);return MJ(this.matrix,r),tp(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let t={};for(let r of Object.keys(this.values))t[r]=this.values[r]===0?0:-this.values[r];return tp(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function r(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}for(let n of Zf)if(!r(this.values[n],t.values[n]))return!1;return!0}},Dg="Invalid Interval";function cSe(e,t){return!e||!e.isValid?eh.invalid("missing or invalid start"):!t||!t.isValid?eh.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:r}={}){return this.isValid?e.fromDateTimes(t||this.s,r||this.e):this}splitAt(...t){if(!this.isValid)return[];let r=t.map(S1).filter(o=>this.contains(o)).sort((o,u)=>o.toMillis()-u.toMillis()),n=[],{s:i}=this,s=0;for(;i+this.e?this.e:o;n.push(e.fromDateTimes(i,u)),i=u,s+=1}return n}splitBy(t){let r=zi.fromDurationLike(t);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,i=1,s,o=[];for(;nA*i));s=+u>+this.e?this.e:u,o.push(e.fromDateTimes(n,s)),n=s,i+=1}return o}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;let r=this.s>t.s?this.s:t.s,n=this.e=n?null:e.fromDateTimes(r,n)}union(t){if(!this.isValid)return this;let r=this.st.e?this.e:t.e;return e.fromDateTimes(r,n)}static merge(t){let[r,n]=t.sort((i,s)=>i.s-s.s).reduce(([i,s],o)=>s?s.overlaps(o)||s.abutsStart(o)?[i,s.union(o)]:[i.concat([s]),o]:[i,o],[[],null]);return n&&r.push(n),r}static xor(t){let r=null,n=0,i=[],s=t.map(A=>[{time:A.s,type:"s"},{time:A.e,type:"e"}]),o=Array.prototype.concat(...s),u=o.sort((A,p)=>A.time-p.time);for(let A of u)n+=A.type==="s"?1:-1,n===1?r=A.time:(r&&+r!=+A.time&&i.push(e.fromDateTimes(r,A.time)),r=null);return e.merge(i)}difference(...t){return e.xor([this].concat(t)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Dg}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=EB,r={}){return this.isValid?Yo.create(this.s.loc.clone(r),t).formatInterval(this):Dg}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:Dg}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Dg}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:Dg}toFormat(t,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(t)}${r}${this.e.toFormat(t)}`:Dg}toDuration(t,r){return this.isValid?this.e.diff(this.s,t,r):zi.invalid(this.invalidReason)}mapEndpoints(t){return e.fromDateTimes(t(this.s),t(this.e))}},Xf=class{static hasDST(t=ri.defaultZone){let r=ai.now().setZone(t).set({month:12});return!t.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(t){return kl.isValidZone(t)}static normalizeZone(t){return np(t,ri.defaultZone)}static getStartOfWeek({locale:t=null,locObj:r=null}={}){return(r||Vn.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:r=null}={}){return(r||Vn.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:r=null}={}){return(r||Vn.create(t)).getWeekendDays().slice()}static months(t="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||Vn.create(r,n,s)).months(t)}static monthsFormat(t="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||Vn.create(r,n,s)).months(t,!0)}static weekdays(t="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||Vn.create(r,n,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||Vn.create(r,n,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return Vn.create(t).meridiems()}static eras(t="short",{locale:r=null}={}){return Vn.create(r,null,"gregory").eras(t)}static features(){return{relative:CW(),localeWeek:vW()}}};function LJ(e,t){let r=i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=r(t)-r(e);return Math.floor(zi.fromMillis(n).as("days"))}function lSe(e,t,r){let n=[["years",(A,p)=>p.year-A.year],["quarters",(A,p)=>p.quarter-A.quarter+(p.year-A.year)*4],["months",(A,p)=>p.month-A.month+(p.year-A.year)*12],["weeks",(A,p)=>{let f=LJ(A,p);return(f-f%7)/7}],["days",LJ]],i={},s=e,o,u;for(let[A,p]of n)r.indexOf(A)>=0&&(o=A,i[A]=p(e,t),u=s.plus(i),u>t?(i[A]--,e=s.plus(i),e>t&&(u=e,i[A]--,e=s.plus(i))):e=u);return[e,i,u,o]}function ASe(e,t,r,n){let[i,s,o,u]=lSe(e,t,r),A=t-i,p=r.filter(c=>["hours","minutes","seconds","milliseconds"].indexOf(c)>=0);p.length===0&&(o0?zi.fromMillis(A,n).shiftTo(...p).plus(f):f}var pSe="missing Intl.DateTimeFormat.formatToParts support";function yn(e,t=r=>r){return{regex:e,deser:([r])=>t(tDe(r))}}var fSe="\xA0",LW=`[ ${fSe}]`,PW=new RegExp(LW,"g");function hSe(e){return e.replace(/\./g,"\\.?").replace(PW,LW)}function PJ(e){return e.replace(/\./g,"").replace(PW," ").toLowerCase()}function Cu(e,t){return e===null?null:{regex:RegExp(e.map(hSe).join("|")),deser:([r])=>e.findIndex(n=>PJ(r)===PJ(n))+t}}function $J(e,t){return{regex:e,deser:([,r,n])=>xB(r,n),groups:t}}function lB(e){return{regex:e,deser:([t])=>t}}function dSe(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function gSe(e,t){let r=yu(t),n=yu(t,"{2}"),i=yu(t,"{3}"),s=yu(t,"{4}"),o=yu(t,"{6}"),u=yu(t,"{1,2}"),A=yu(t,"{1,3}"),p=yu(t,"{1,6}"),f=yu(t,"{1,9}"),c=yu(t,"{2,4}"),m=yu(t,"{4,6}"),w=P=>({regex:RegExp(dSe(P.val)),deser:([j])=>j,literal:!0}),F=(P=>{if(e.literal)return w(P);switch(P.val){case"G":return Cu(t.eras("short"),0);case"GG":return Cu(t.eras("long"),0);case"y":return yn(p);case"yy":return yn(c,V4);case"yyyy":return yn(s);case"yyyyy":return yn(m);case"yyyyyy":return yn(o);case"M":return yn(u);case"MM":return yn(n);case"MMM":return Cu(t.months("short",!0),1);case"MMMM":return Cu(t.months("long",!0),1);case"L":return yn(u);case"LL":return yn(n);case"LLL":return Cu(t.months("short",!1),1);case"LLLL":return Cu(t.months("long",!1),1);case"d":return yn(u);case"dd":return yn(n);case"o":return yn(A);case"ooo":return yn(i);case"HH":return yn(n);case"H":return yn(u);case"hh":return yn(n);case"h":return yn(u);case"mm":return yn(n);case"m":return yn(u);case"q":return yn(u);case"qq":return yn(n);case"s":return yn(u);case"ss":return yn(n);case"S":return yn(A);case"SSS":return yn(i);case"u":return lB(f);case"uu":return lB(u);case"uuu":return yn(r);case"a":return Cu(t.meridiems(),0);case"kkkk":return yn(s);case"kk":return yn(c,V4);case"W":return yn(u);case"WW":return yn(n);case"E":case"c":return yn(r);case"EEE":return Cu(t.weekdays("short",!1),1);case"EEEE":return Cu(t.weekdays("long",!1),1);case"ccc":return Cu(t.weekdays("short",!0),1);case"cccc":return Cu(t.weekdays("long",!0),1);case"Z":case"ZZ":return $J(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return $J(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return lB(/[a-z_+-/]{1,256}?/i);case" ":return lB(/[^\S\n\r]/);default:return w(P)}})(e)||{invalidReason:pSe};return F.token=e,F}var mSe={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function ESe(e,t,r){let{type:n,value:i}=e;if(n==="literal"){let A=/^\s+$/.test(i);return{literal:!A,val:A?" ":i}}let s=t[n],o=n;n==="hour"&&(t.hour12!=null?o=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?o="hour12":o="hour24":o=r.hour12?"hour12":"hour24");let u=mSe[o];if(typeof u=="object"&&(u=u[s]),u)return{literal:!1,val:u}}function ySe(e){return[`^${e.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,e]}function CSe(e,t,r){let n=e.match(t);if(n){let i={},s=1;for(let o in r)if(Tg(r,o)){let u=r[o],A=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(n.slice(s,s+A))),s+=A}return[n,i]}else return[n,{}]}function vSe(e){let t=s=>{switch(s){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},r=null,n;return br(e.z)||(r=kl.create(e.z)),br(e.Z)||(r||(r=new Wo(e.Z)),n=e.Z),br(e.q)||(e.M=(e.q-1)*3+1),br(e.h)||(e.h<12&&e.a===1?e.h+=12:e.h===12&&e.a===0&&(e.h=0)),e.G===0&&e.y&&(e.y=-e.y),br(e.u)||(e.S=K4(e.u)),[Object.keys(e).reduce((s,o)=>{let u=t(o);return u&&(s[u]=e[o]),s},{}),r,n]}var R4=null;function ISe(){return R4||(R4=ai.fromMillis(1555555555555)),R4}function BSe(e,t){if(e.literal)return e;let r=Yo.macroTokenToFormatOpts(e.val),n=qW(r,t);return n==null||n.includes(void 0)?e:n}function $W(e,t){return Array.prototype.concat(...e.map(r=>BSe(r,t)))}var BB=class{constructor(t,r){if(this.locale=t,this.format=r,this.tokens=$W(Yo.parseFormat(r),t),this.units=this.tokens.map(n=>gSe(n,t)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=ySe(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(t){if(this.isValid){let[r,n]=CSe(t,this.regex,this.handlers),[i,s,o]=n?vSe(n):[null,null,void 0];if(Tg(n,"a")&&Tg(n,"H"))throw new ip("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:n,result:i,zone:s,specificOffset:o}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function HW(e,t,r){return new BB(e,r).explainFromTokens(t)}function wSe(e,t,r){let{result:n,zone:i,specificOffset:s,invalidReason:o}=HW(e,t,r);return[n,i,s,o]}function qW(e,t){if(!e)return null;let n=Yo.create(t,e).dtFormatter(ISe()),i=n.formatToParts(),s=n.resolvedOptions();return i.map(o=>ESe(o,e,s))}var k4="Invalid DateTime",HJ=864e13;function k1(e){return new Vo("unsupported zone",`the zone "${e.name}" is not supported`)}function N4(e){return e.weekData===null&&(e.weekData=CB(e.c)),e.weekData}function T4(e){return e.localWeekData===null&&(e.localWeekData=CB(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function Kf(e,t){let r={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new ai({...r,...t,old:r})}function jW(e,t,r){let n=e-t*60*1e3,i=r.offset(n);if(t===i)return[n,t];n-=(i-t)*60*1e3;let s=r.offset(n);return i===s?[n,i]:[e-Math.min(i,s)*60*1e3,Math.max(i,s)]}function AB(e,t){e+=t*60*1e3;let r=new Date(e);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function hB(e,t,r){return jW(bB(e),t,r)}function qJ(e,t){let r=e.o,n=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,s={...e.c,year:n,month:i,day:Math.min(e.c.day,vB(n,i))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},o=zi.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),u=bB(s),[A,p]=jW(u,r,e.zone);return o!==0&&(A+=o,p=e.zone.offset(A)),{ts:A,o:p}}function Sg(e,t,r,n,i,s){let{setZone:o,zone:u}=r;if(e&&Object.keys(e).length!==0||t){let A=t||u,p=ai.fromObject(e,{...r,zone:A,specificOffset:s});return o?p:p.setZone(u)}else return ai.invalid(new Vo("unparsable",`the input "${i}" can't be parsed as ${n}`))}function pB(e,t,r=!0){return e.isValid?Yo.create(Vn.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(e,t):null}function _4(e,t){let r=e.c.year>9999||e.c.year<0,n="";return r&&e.c.year>=0&&(n+="+"),n+=qi(e.c.year,r?6:4),t?(n+="-",n+=qi(e.c.month),n+="-",n+=qi(e.c.day)):(n+=qi(e.c.month),n+=qi(e.c.day)),n}function jJ(e,t,r,n,i,s){let o=qi(e.c.hour);return t?(o+=":",o+=qi(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!r)&&(o+=":")):o+=qi(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!r)&&(o+=qi(e.c.second),(e.c.millisecond!==0||!n)&&(o+=".",o+=qi(e.c.millisecond,3))),i&&(e.isOffsetFixed&&e.offset===0&&!s?o+="Z":e.o<0?(o+="-",o+=qi(Math.trunc(-e.o/60)),o+=":",o+=qi(Math.trunc(-e.o%60))):(o+="+",o+=qi(Math.trunc(e.o/60)),o+=":",o+=qi(Math.trunc(e.o%60)))),s&&(o+="["+e.zone.ianaName+"]"),o}var GW={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},bSe={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},xSe={ordinal:1,hour:0,minute:0,second:0,millisecond:0},YW=["year","month","day","hour","minute","second","millisecond"],QSe=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],FSe=["year","ordinal","hour","minute","second","millisecond"];function DSe(e){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new mB(e);return t}function GJ(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return DSe(e)}}function SSe(e){return gB[e]||(dB===void 0&&(dB=ri.now()),gB[e]=e.offset(dB)),gB[e]}function YJ(e,t){let r=np(t.zone,ri.defaultZone);if(!r.isValid)return ai.invalid(k1(r));let n=Vn.fromObject(t),i,s;if(br(e.year))i=ri.now();else{for(let A of YW)br(e[A])&&(e[A]=GW[A]);let o=EW(e)||yW(e);if(o)return ai.invalid(o);let u=SSe(r);[i,s]=hB(e,u,r)}return new ai({ts:i,zone:r,loc:n,o:s})}function VJ(e,t,r){let n=br(r.round)?!0:r.round,i=(o,u)=>(o=Z4(o,n||r.calendary?0:2,!0),t.loc.clone(r).relFormatter(r).format(o,u)),s=o=>r.calendary?t.hasSame(e,o)?0:t.startOf(o).diff(e.startOf(o),o).get(o):t.diff(e,o).get(o);if(r.unit)return i(s(r.unit),r.unit);for(let o of r.units){let u=s(o);if(Math.abs(u)>=1)return i(u,o)}return i(e>t?-0:0,r.units[r.units.length-1])}function JJ(e){let t={},r;return e.length>0&&typeof e[e.length-1]=="object"?(t=e[e.length-1],r=Array.from(e).slice(0,e.length-1)):r=Array.from(e),[t,r]}var dB,gB={},ai=class e{constructor(t){let r=t.zone||ri.defaultZone,n=t.invalid||(Number.isNaN(t.ts)?new Vo("invalid input"):null)||(r.isValid?null:k1(r));this.ts=br(t.ts)?ri.now():t.ts;let i=null,s=null;if(!n)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(r))[i,s]=[t.old.c,t.old.o];else{let u=sp(t.o)&&!t.old?t.o:r.offset(this.ts);i=AB(this.ts,u),n=Number.isNaN(i.year)?new Vo("invalid input"):null,i=n?null:i,s=n?null:u}this._zone=r,this.loc=t.loc||Vn.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=s,this.isLuxonDateTime=!0}static now(){return new e({})}static local(){let[t,r]=JJ(arguments),[n,i,s,o,u,A,p]=r;return YJ({year:n,month:i,day:s,hour:o,minute:u,second:A,millisecond:p},t)}static utc(){let[t,r]=JJ(arguments),[n,i,s,o,u,A,p]=r;return t.zone=Wo.utcInstance,YJ({year:n,month:i,day:s,hour:o,minute:u,second:A,millisecond:p},t)}static fromJSDate(t,r={}){let n=oDe(t)?t.valueOf():NaN;if(Number.isNaN(n))return e.invalid("invalid input");let i=np(r.zone,ri.defaultZone);return i.isValid?new e({ts:n,zone:i,loc:Vn.fromObject(r)}):e.invalid(k1(i))}static fromMillis(t,r={}){if(sp(t))return t<-HJ||t>HJ?e.invalid("Timestamp out of range"):new e({ts:t,zone:np(r.zone,ri.defaultZone),loc:Vn.fromObject(r)});throw new cs(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,r={}){if(sp(t))return new e({ts:t*1e3,zone:np(r.zone,ri.defaultZone),loc:Vn.fromObject(r)});throw new cs("fromSeconds requires a numerical input")}static fromObject(t,r={}){t=t||{};let n=np(r.zone,ri.defaultZone);if(!n.isValid)return e.invalid(k1(n));let i=Vn.fromObject(r),s=IB(t,GJ),{minDaysInFirstWeek:o,startOfWeek:u}=kJ(s,i),A=ri.now(),p=br(r.specificOffset)?n.offset(A):r.specificOffset,f=!br(s.ordinal),c=!br(s.year),m=!br(s.month)||!br(s.day),w=c||m,C=s.weekYear||s.weekNumber;if((w||f)&&C)throw new ip("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&f)throw new ip("Can't mix ordinal dates with month/day");let F=C||s.weekday&&!w,P,j,re=AB(A,p);F?(P=QSe,j=bSe,re=CB(re,o,u)):f?(P=FSe,j=xSe,re=S4(re)):(P=YW,j=GW);let se=!1;for(let Ve of P){let Ae=s[Ve];br(Ae)?se?s[Ve]=j[Ve]:s[Ve]=re[Ve]:se=!0}let ge=F?nDe(s,o,u):f?iDe(s):EW(s),oe=ge||yW(s);if(oe)return e.invalid(oe);let be=F?SJ(s,o,u):f?RJ(s):s,[fe,Ie]=hB(be,p,n),$e=new e({ts:fe,zone:n,o:Ie,loc:i});return s.weekday&&w&&t.weekday!==$e.weekday?e.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${$e.toISO()}`):$e.isValid?$e:e.invalid($e.invalid)}static fromISO(t,r={}){let[n,i]=WDe(t);return Sg(n,i,r,"ISO 8601",t)}static fromRFC2822(t,r={}){let[n,i]=zDe(t);return Sg(n,i,r,"RFC 2822",t)}static fromHTTP(t,r={}){let[n,i]=KDe(t);return Sg(n,i,r,"HTTP",r)}static fromFormat(t,r,n={}){if(br(t)||br(r))throw new cs("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:s=null}=n,o=Vn.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0}),[u,A,p,f]=wSe(o,t,r);return f?e.invalid(f):Sg(u,A,n,`format ${r}`,t,p)}static fromString(t,r,n={}){return e.fromFormat(t,r,n)}static fromSQL(t,r={}){let[n,i]=iSe(t);return Sg(n,i,r,"SQL",t)}static invalid(t,r=null){if(!t)throw new cs("need to specify a reason the DateTime is invalid");let n=t instanceof Vo?t:new Vo(t,r);if(ri.throwOnInvalid)throw new U4(n);return new e({invalid:n})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,r={}){let n=qW(t,Vn.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(t,r={}){return $W(Yo.parseFormat(t),Vn.fromObject(r)).map(i=>i.val).join("")}static resetCache(){dB=void 0,gB={}}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?N4(this).weekYear:NaN}get weekNumber(){return this.isValid?N4(this).weekNumber:NaN}get weekday(){return this.isValid?N4(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?T4(this).weekday:NaN}get localWeekNumber(){return this.isValid?T4(this).weekNumber:NaN}get localWeekYear(){return this.isValid?T4(this).weekYear:NaN}get ordinal(){return this.isValid?S4(this.c).ordinal:NaN}get monthShort(){return this.isValid?Xf.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Xf.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Xf.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Xf.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let t=864e5,r=6e4,n=bB(this.c),i=this.zone.offset(n-t),s=this.zone.offset(n+t),o=this.zone.offset(n-i*r),u=this.zone.offset(n-s*r);if(o===u)return[this];let A=n-o*r,p=n-u*r,f=AB(A,o),c=AB(p,u);return f.hour===c.hour&&f.minute===c.minute&&f.second===c.second&&f.millisecond===c.millisecond?[Kf(this,{ts:A}),Kf(this,{ts:p})]:[this]}get isInLeapYear(){return U1(this.year)}get daysInMonth(){return vB(this.year,this.month)}get daysInYear(){return this.isValid?kg(this.year):NaN}get weeksInWeekYear(){return this.isValid?_1(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?_1(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){let{locale:r,numberingSystem:n,calendar:i}=Yo.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(t=0,r={}){return this.setZone(Wo.instance(t),r)}toLocal(){return this.setZone(ri.defaultZone)}setZone(t,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(t=np(t,ri.defaultZone),t.equals(this.zone))return this;if(t.isValid){let i=this.ts;if(r||n){let s=t.offset(this.ts),o=this.toObject();[i]=hB(o,s,t)}return Kf(this,{ts:i,zone:t})}else return e.invalid(k1(t))}reconfigure({locale:t,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:t,numberingSystem:r,outputCalendar:n});return Kf(this,{loc:i})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;let r=IB(t,GJ),{minDaysInFirstWeek:n,startOfWeek:i}=kJ(r,this.loc),s=!br(r.weekYear)||!br(r.weekNumber)||!br(r.weekday),o=!br(r.ordinal),u=!br(r.year),A=!br(r.month)||!br(r.day),p=u||A,f=r.weekYear||r.weekNumber;if((p||o)&&f)throw new ip("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(A&&o)throw new ip("Can't mix ordinal dates with month/day");let c;s?c=SJ({...CB(this.c,n,i),...r},n,i):br(r.ordinal)?(c={...this.toObject(),...r},br(r.day)&&(c.day=Math.min(vB(c.year,c.month),c.day))):c=RJ({...S4(this.c),...r});let[m,w]=hB(c,this.o,this.zone);return Kf(this,{ts:m,o:w})}plus(t){if(!this.isValid)return this;let r=zi.fromDurationLike(t);return Kf(this,qJ(this,r))}minus(t){if(!this.isValid)return this;let r=zi.fromDurationLike(t).negate();return Kf(this,qJ(this,r))}startOf(t,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=zi.normalizeUnit(t);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(r){let s=this.loc.getStartOfWeek(),{weekday:o}=this;othis.valueOf(),u=o?this:t,A=o?t:this,p=ASe(u,A,s,i);return o?p.negate():p}diffNow(t="milliseconds",r={}){return this.diff(e.now(),t,r)}until(t){return this.isValid?eh.fromDateTimes(this,t):this}hasSame(t,r,n){if(!this.isValid)return!1;let i=t.valueOf(),s=this.setZone(t.zone,{keepLocalTime:!0});return s.startOf(r,n)<=i&&i<=s.endOf(r,n)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;let r=t.base||e.fromObject({},{zone:this.zone}),n=t.padding?thisr.valueOf(),Math.min)}static max(...t){if(!t.every(e.isDateTime))throw new cs("max requires all arguments be DateTimes");return NJ(t,r=>r.valueOf(),Math.max)}static fromFormatExplain(t,r,n={}){let{locale:i=null,numberingSystem:s=null}=n,o=Vn.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});return HW(o,t,r)}static fromStringExplain(t,r,n={}){return e.fromFormatExplain(t,r,n)}static buildFormatParser(t,r={}){let{locale:n=null,numberingSystem:i=null}=r,s=Vn.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new BB(s,t)}static fromFormatParser(t,r,n={}){if(br(t)||br(r))throw new cs("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:s=null}=n,o=Vn.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});if(!o.equals(r.locale))throw new cs(`fromFormatParser called with a locale of ${o}, but the format parser was created for ${r.locale}`);let{result:u,zone:A,specificOffset:p,invalidReason:f}=r.explainFromTokens(t);return f?e.invalid(f):Sg(u,A,n,`format ${r.format}`,t,p)}static get DATE_SHORT(){return EB}static get DATE_MED(){return WJ}static get DATE_MED_WITH_WEEKDAY(){return OFe}static get DATE_FULL(){return zJ}static get DATE_HUGE(){return KJ}static get TIME_SIMPLE(){return ZJ}static get TIME_WITH_SECONDS(){return XJ}static get TIME_WITH_SHORT_OFFSET(){return eW}static get TIME_WITH_LONG_OFFSET(){return tW}static get TIME_24_SIMPLE(){return rW}static get TIME_24_WITH_SECONDS(){return nW}static get TIME_24_WITH_SHORT_OFFSET(){return iW}static get TIME_24_WITH_LONG_OFFSET(){return sW}static get DATETIME_SHORT(){return oW}static get DATETIME_SHORT_WITH_SECONDS(){return aW}static get DATETIME_MED(){return uW}static get DATETIME_MED_WITH_SECONDS(){return cW}static get DATETIME_MED_WITH_WEEKDAY(){return MFe}static get DATETIME_FULL(){return lW}static get DATETIME_FULL_WITH_SECONDS(){return AW}static get DATETIME_HUGE(){return pW}static get DATETIME_HUGE_WITH_SECONDS(){return fW}};function S1(e){if(ai.isDateTime(e))return e;if(e&&e.valueOf&&sp(e.valueOf()))return ai.fromJSDate(e);if(e&&typeof e=="object")return ai.fromObject(e);throw new cs(`Unknown datetime argument: ${e}, of type ${typeof e}`)}var RSe="3.5.0";zo.DateTime=ai;zo.Duration=zi;zo.FixedOffsetZone=Wo;zo.IANAZone=kl;zo.Info=Xf;zo.Interval=eh;zo.InvalidZone=yB;zo.Settings=ri;zo.SystemZone=T1;zo.VERSION=RSe;zo.Zone=op});var JW=he(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.RE_RANGE=bi.RE_WILDCARDS=bi.PRESETS=bi.TIME_UNITS_LEN=bi.TIME_UNITS=bi.TIME_UNITS_MAP=bi.ALIASES=bi.PARSE_DEFAULTS=bi.CONSTRAINTS=void 0;bi.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});bi.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});bi.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});bi.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});bi.TIME_UNITS=Object.freeze(Object.values(bi.TIME_UNITS_MAP));bi.TIME_UNITS_LEN=bi.TIME_UNITS.length;bi.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});bi.RE_WILDCARDS=/\*/g;bi.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var e6=he(Lg=>{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.ExclusiveParametersError=Lg.CronError=void 0;var FB=class extends Error{};Lg.CronError=FB;var rR=class extends FB{constructor(t,r){super(`You can't specify both ${t} and ${r}`)}};Lg.ExclusiveParametersError=rR});var SB=he(DB=>{"use strict";Object.defineProperty(DB,"__esModule",{value:!0});DB.CronTime=void 0;var gc=VW(),Ns=JW(),Ts=e6(),t6=class{constructor(t,r,n){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},r!=null&&n!=null)throw new Ts.ExclusiveParametersError("timeZone","utcOffset");if(r){if(!gc.DateTime.fromObject({},{zone:r}).isValid)throw new Ts.CronError("Invalid timezone.");this.timeZone=r}n!=null&&(this.utcOffset=n),t instanceof Date||t instanceof gc.DateTime?(this.source=t instanceof Date?gc.DateTime.fromJSDate(t):t,this.realDate=!0):(this.source=t,this._parse(this.source))}_getWeekDay(t){return t.weekday===7?0:t.weekday}sendAt(t){let r=this.realDate&&this.source instanceof gc.DateTime?this.source:gc.DateTime.local();if(this.timeZone&&(r=r.setZone(this.timeZone)),this.utcOffset!==void 0){let n=this.utcOffset<0?"-":"+",i=Math.trunc(this.utcOffset/60),s=String(Math.abs(i)).padStart(2,"0"),o=Math.abs(this.utcOffset-i*60),u=String(o).padStart(2,"0"),A=`UTC${n}${s}:${u}`;if(r=r.setZone(A),!r.isValid)throw new Ts.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(gc.DateTime.local()>r)throw new Ts.CronError("WARNING: Date in past. Will never be fired.");return r}if(t===void 0||isNaN(t)||t<0)return this.getNextDateFrom(r);{let n=[];for(;t>0;t--)r=this.getNextDateFrom(r),n.push(r);return n}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-gc.DateTime.local().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return Ns.TIME_UNITS.map(t=>this._wcOrAll(t))}getNextDateFrom(t,r){var n;t instanceof Date&&(t=gc.DateTime.fromJSDate(t));let i=t,s=t.toMillis();if(r&&(i=i.setZone(r)),this.realDate||i.millisecond>0&&(i=i.set({millisecond:0,second:i.second+1})),!i.isValid)throw new Ts.CronError("ERROR: You specified an invalid date.");let o=gc.DateTime.now().plus({years:8});for(;;){let u=i.toMillis()-t.toMillis();if(i>o)throw new Ts.CronError(`Something went wrong. No execution date was found in the next 8 years. + Please provide the following string if you would like to help debug: + Time Zone: ${(n=r?.toString())!==null&&n!==void 0?n:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${i.offset} - current Date: ${gc.DateTime.local().toString()}`);if(!(i.month in this.month)&&Object.keys(this.month).length!==12){if(i=i.plus({months:1}),i=i.set({day:1,hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,i)){let[A,p]=this._findPreviousDSTJump(i);if(i=p,A)break}continue}if(!(i.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!(this._getWeekDay(i)in this.dayOfWeek&&Object.keys(this.dayOfWeek).length!==7)){if(i=i.plus({days:1}),i=i.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,i)){let[A,p]=this._findPreviousDSTJump(i);if(i=p,A)break}continue}if(!(this._getWeekDay(i)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!(i.day in this.dayOfMonth&&Object.keys(this.dayOfMonth).length!==31)){if(i=i.plus({days:1}),i=i.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,i)){let[A,p]=this._findPreviousDSTJump(i);if(i=p,A)break}continue}if(!(i.hour in this.hour)&&Object.keys(this.hour).length!==24){let A=i.hour===23&&u>864e5?0:i.hour+1,p=i.minute;if(i=i.set({hour:A}),i=i.set({minute:0,second:0}),this._forwardDSTJump(A,p,i)){let[f,c]=this._findPreviousDSTJump(i);if(i=c,f)break}continue}if(!(i.minute in this.minute)&&Object.keys(this.minute).length!==60){let A=i.minute===59&&u>36e5?0:i.minute+1,p=i.hour+(A===60?1:0);if(i=i.set({minute:A}),i=i.set({second:0}),this._forwardDSTJump(p,A,i)){let[f,c]=this._findPreviousDSTJump(i);if(i=c,f)break}continue}if(!(i.second in this.second)&&Object.keys(this.second).length!==60){let A=i.second===59&&u>6e4?0:i.second+1,p=i.minute+(A===60?1:0),f=i.hour+(p===60?1:0);if(i=i.set({second:A}),this._forwardDSTJump(f,p,i)){let[c,m]=this._findPreviousDSTJump(i);if(i=m,c)break}continue}if(i.toMillis()===s){let A=i.second+1,p=i.minute+(A===60?1:0),f=i.hour+(p===60?1:0);if(i=i.set({second:A}),this._forwardDSTJump(f,p,i)){let[c,m]=this._findPreviousDSTJump(i);if(i=m,c)break}continue}break}return i}_findPreviousDSTJump(t){var r;let n,i,s,o,u=t,A=60*24,p=0;do{if(++p>A)throw new Ts.CronError(`ERROR: This DST checking related function assumes the input DateTime (${(r=t.toISO())!==null&&r!==void 0?r:t.toMillis()}) is within 24 hours of a DST jump.`);n=u.minute-1,i=u.hour,n<0&&(n+=60,i=(i+24-1)%24),u=u.minus({minute:1}),s=u.minute,o=u.hour}while(n===s&&i===o);let f=u.plus({minute:1}).set({second:0,millisecond:0}),c=f.minus({second:1});return t.month in this.month&&t.day in this.dayOfMonth&&this._getWeekDay(t)in this.dayOfWeek?[this._checkTimeInSkippedRange(c,f),f]:[!1,f]}_checkTimeInSkippedRange(t,r){let n=(t.minute+1)%60,i=(t.hour+(n===0?1:0))%24,s=r.hour-i+1,o=n===0&&r.minute===0;return s===2&&o?i in this.hour:s===1?i in this.hour&&this._checkTimeInSkippedRangeSingleHour(n,r.minute):this._checkTimeInSkippedRangeMultiHour(i,n,r.hour,r.minute)}_checkTimeInSkippedRangeSingleHour(t,r){for(let n=t;n=n)throw new Ts.CronError(`ERROR: This DST checking related function assumes the forward jump starting hour (${t}) is less than the end hour (${n})`);let s=Array.from({length:60-r},(p,f)=>r+f),o=Array.from({length:i},(p,f)=>f),u=Array.from({length:60},(p,f)=>f),A=p=>p===t?s:p===n?o:u;for(let p=t;p<=n;++p){if(!(p in this.hour))continue;let f=A(p);for(let c of f)if(c in this.minute)return!0}return n in this.hour&&i in this.minute&&0 in this.second}_forwardDSTJump(t,r,n){let i=n.hour,s=n.minute,o=t%24{if(Object.keys(Ns.ALIASES).includes(s))return Ns.ALIASES[s].toString();throw new Ts.CronError(`Unknown alias: ${s}`)});let n=t.trim().split(/\s+/);if(n.lengthNs.TIME_UNITS_LEN)throw new Ts.CronError("Too many fields");let i=n.length;for(let s of Ns.TIME_UNITS){let o=Ns.TIME_UNITS.indexOf(s),u=(r=n[o-(Ns.TIME_UNITS_LEN-i)])!==null&&r!==void 0?r:Ns.PARSE_DEFAULTS[s];this._parseField(u,s)}}_parseField(t,r){let n=this[r],i,s=Ns.CONSTRAINTS[r],o=s[0],u=s[1];t.split(",").forEach(f=>{let c=f.indexOf("*");if(c!==-1&&c!==0)throw new Ts.CronError(`Field (${f}) has an invalid wildcard expression`)}),t=t.replace(Ns.RE_WILDCARDS,`${o}-${u}`);let p=t.split(",");for(let f of p){let c=[...f.matchAll(Ns.RE_RANGE)][0];if(c?.[1]!==void 0){let[,m,w,C]=c,F=parseInt(m,10),P=w!==void 0?parseInt(w,10):void 0,j=C!==void 0,re=parseInt(C??"1",10);if(re===0)throw new Ts.CronError(`Field (${r}) has a step of zero`);if(P!==void 0&&F>P)throw new Ts.CronError(`Field (${r}) has an invalid range`);if(Fu||P===void 0&&F>u)throw new Ts.CronError(`Field value (${t}) is out of range`);F=Math.min(Math.max(o,~~Math.abs(F)),u),P!==void 0?P=Math.min(u,~~Math.abs(P)):P=j?u:F,i=F;do n[i]=!0,i+=re;while(i<=P);r==="dayOfWeek"&&(!n[0]&&n[7]&&(n[0]=n[7]),delete n[7])}else throw new Ts.CronError(`Field (${r}) cannot be parsed`)}}};DB.CronTime=t6});var zW=he(Pg=>{"use strict";var RB=Pg&&Pg.__awaiter||function(e,t,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function u(f){try{p(n.next(f))}catch(c){o(c)}}function A(f){try{p(n.throw(f))}catch(c){o(c)}}function p(f){f.done?s(f.value):i(f.value).then(u,A)}p((n=n.apply(e,t||[])).next())})};Object.defineProperty(Pg,"__esModule",{value:!0});Pg.CronJob=void 0;var WW=require("child_process"),r6=e6(),kB=SB(),n6=class e{get isCallbackRunning(){return this._isCallbackRunning}constructor(t,r,n,i,s,o,u,A,p,f,c){if(this.running=!1,this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this.waitForCompletion=!1,this._isCallbackRunning=!1,this._callbacks=[],this.context=o??this,this.waitForCompletion=!!f,this.errorHandler=c,s!=null&&A!=null)throw new r6.ExclusiveParametersError("timeZone","utcOffset");s!=null?this.cronTime=new kB.CronTime(t,s,null):A!=null?this.cronTime=new kB.CronTime(t,null,A):this.cronTime=new kB.CronTime(t,s,A),p!=null&&(this.unrefTimeout=p),n!=null&&(this.onComplete=this._fnWrap(n)),this.cronTime.realDate&&(this.runOnce=!0),this.addCallback(this._fnWrap(r)),u&&(this.lastExecution=new Date,this.fireOnTick()),i&&this.start()}static from(t){if(t.timeZone!=null&&t.utcOffset!=null)throw new r6.ExclusiveParametersError("timeZone","utcOffset");return t.timeZone!=null?new e(t.cronTime,t.onTick,t.onComplete,t.start,t.timeZone,t.context,t.runOnInit,t.utcOffset,t.unrefTimeout,t.waitForCompletion,t.errorHandler):t.utcOffset!=null?new e(t.cronTime,t.onTick,t.onComplete,t.start,null,t.context,t.runOnInit,t.utcOffset,t.unrefTimeout,t.waitForCompletion,t.errorHandler):new e(t.cronTime,t.onTick,t.onComplete,t.start,t.timeZone,t.context,t.runOnInit,t.utcOffset,t.unrefTimeout,t.waitForCompletion,t.errorHandler)}_fnWrap(t){var r,n;switch(typeof t){case"function":return t;case"string":{let[i,...s]=t.split(" ");return WW.spawn.bind(void 0,i??t,s,{})}case"object":return WW.spawn.bind(void 0,t.command,(r=t.args)!==null&&r!==void 0?r:[],(n=t.options)!==null&&n!==void 0?n:{})}}addCallback(t){typeof t=="function"&&this._callbacks.push(t)}setTime(t){if(!(t instanceof kB.CronTime))throw new r6.CronError("time must be an instance of CronTime.");let r=this.running;this.stop(),this.cronTime=t,t.realDate&&(this.runOnce=!0),r&&this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){return RB(this,void 0,void 0,function*(){if(!(this.waitForCompletion&&this._isCallbackRunning)){this._isCallbackRunning=!0;try{for(let t of this._callbacks){let r=t.call(this.context,this.onComplete);this.waitForCompletion&&(yield r)}}catch(t){this.errorHandler!=null?this.errorHandler(t):console.error("[Cron] error in callback",t)}finally{this._isCallbackRunning=!1}}})}nextDates(t){return this.cronTime.sendAt(t??0)}start(){if(this.running)return;let t=2147483647,r=this.cronTime.getTimeout(),n=0,i,s=u=>{i=Date.now(),this._timeout=setTimeout(o,u),this.unrefTimeout&&typeof this._timeout.unref=="function"&&this._timeout.unref()},o=()=>{let u=i+r-Date.now();if(u>0){let A=this.cronTime.getTimeout();A>u&&(A=u),n+=A}n?(n>t?(n-=t,r=t):(r=n,n=0),s(r)):(this.lastExecution=new Date,this.running=!1,this.runOnce||this.start(),this.fireOnTick())};r>=0?(this.running=!0,r>t&&(n=r-t,r=t),s(r)):this.stop()}lastDate(){return this.lastExecution}_executeOnComplete(){return RB(this,void 0,void 0,function*(){if(typeof this.onComplete=="function")try{yield this.onComplete.call(this.context)}catch(t){console.error("[Cron] error in onComplete callback:",t)}})}_waitForJobCompletion(){return RB(this,void 0,void 0,function*(){for(;this._isCallbackRunning;)yield new Promise(t=>setTimeout(t,100))})}stop(){if(this._timeout&&clearTimeout(this._timeout),this.running=!1,!this.waitForCompletion){this._executeOnComplete();return}Promise.resolve().then(()=>RB(this,void 0,void 0,function*(){yield this._waitForJobCompletion(),yield this._executeOnComplete()}))}};Pg.CronJob=n6});var $g=he(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.timeout=mc.sendAt=mc.CronTime=mc.CronJob=void 0;var KW=SB(),kSe=zW();Object.defineProperty(mc,"CronJob",{enumerable:!0,get:function(){return kSe.CronJob}});var NSe=SB();Object.defineProperty(mc,"CronTime",{enumerable:!0,get:function(){return NSe.CronTime}});var TSe=e=>new KW.CronTime(e).sendAt();mc.sendAt=TSe;var _Se=e=>new KW.CronTime(e).getTimeout();mc.timeout=_Se});var ez=he((ZW,XW)=>{"use strict";var USe=require("url");ZW=XW.exports=function(t){t=t||{};var r=LSe(t);return function(n,i,s){var o=n.headers;if(n.method!=="GET"&&n.method!=="HEAD")return r("Not rewriting",n.method,n.url,"because the method is not GET or HEAD."),s();if(!o||typeof o.accept!="string")return r("Not rewriting",n.method,n.url,"because the client did not send an HTTP accept header."),s();if(o.accept.indexOf("application/json")===0)return r("Not rewriting",n.method,n.url,"because the client prefers JSON."),s();if(!MSe(o.accept,t))return r("Not rewriting",n.method,n.url,"because the client does not accept HTML."),s();var u=USe.parse(n.url),A;t.rewrites=t.rewrites||[];for(var p=0;pm.lastIndexOf("/")&&t.disableDotRule!==!0)return r("Not rewriting",n.method,n.url,"because the path includes a dot (.) character."),s();A=t.index||"/index.html",r("Rewriting",n.method,n.url,"to",A),n.url=A,s()}};function OSe(e,t,r,n){if(typeof r=="string")return r;if(typeof r!="function")throw new Error("Rewrite rule can only be of type string or function.");return r({parsedUrl:e,match:t,request:n})}function MSe(e,t){t.htmlAcceptHeaders=t.htmlAcceptHeaders||["text/html","*/*"];for(var r=0;r{"use strict";var PSe=Object.prototype.hasOwnProperty,Ks="~";function L1(){}Object.create&&(L1.prototype=Object.create(null),new L1().__proto__||(Ks=!1));function $Se(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function tz(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new $Se(r,n||e,i),o=Ks?Ks+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function NB(e,t){--e._eventsCount===0?e._events=new L1:delete e._events[t]}function _s(){this._events=new L1,this._eventsCount=0}_s.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)PSe.call(r,n)&&t.push(Ks?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};_s.prototype.listeners=function(t){var r=Ks?Ks+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i{"use strict";nz.exports=function(t,r){if(r=r.split(":")[0],t=+t,!t)return!1;switch(r){case"http":case"ws":return t!==80;case"https":case"wss":return t!==443;case"ftp":return t!==21;case"gopher":return t!==70;case"file":return!1}return t!==0}});var TB=he(sz=>{var Nl=sz,HSe=require("url"),qSe=iz(),jSe=/(^|,)\s*upgrade\s*($|,)/i,s6=/^https|wss/;Nl.isSSL=s6;Nl.setupOutgoing=function(e,t,r,n){e.port=t[n||"target"].port||(s6.test(t[n||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(u){e[u]=t[n||"target"][u]}),e.method=t.method||r.method,e.headers=Object.assign({},r.headers),t.headers&&Object.assign(e.headers,t.headers),t.auth&&(e.auth=t.auth),t.ca&&(e.ca=t.ca),s6.test(t[n||"target"].protocol)&&(e.rejectUnauthorized=typeof t.secure>"u"?!0:t.secure),e.agent=t.agent||!1,e.localAddress=t.localAddress,e.agent||(e.headers=e.headers||{},(typeof e.headers.connection!="string"||!jSe.test(e.headers.connection))&&(e.headers.connection="close"));var i=t[n||"target"],s=i&&t.prependPath!==!1&&i.path||"",o=t.toProxy?r.url:HSe.parse(r.url).path||"";return o=t.ignorePath?"":o,e.path=Nl.urlJoin(s,o),t.changeOrigin&&(e.headers.host=qSe(e.port,t[n||"target"].protocol)&&!GSe(e.host)?e.host+":"+e.port:e.host),e};Nl.setupSocket=function(e){return e.setTimeout(0),e.setNoDelay(!0),e.setKeepAlive(!0,0),e};Nl.getPort=function(e){var t=e.headers.host?e.headers.host.match(/:(\d+)/):"";return t?t[1]:Nl.hasEncryptedConnection(e)?"443":"80"};Nl.hasEncryptedConnection=function(e){return!!(e.connection.encrypted||e.connection.pair)};Nl.urlJoin=function(){var e=Array.prototype.slice.call(arguments),t=e.length-1,r=e[t],n=r.split("?"),i;return e[t]=n.shift(),i=[e.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],i.push.apply(i,n),i.join("?")};Nl.rewriteCookieProperty=function e(t,r,n){return Array.isArray(t)?t.map(function(i){return e(i,r,n)}):t.replace(new RegExp("(;\\s*"+n+"=)([^;]+)","i"),function(i,s,o){var u;if(o in r)u=r[o];else if("*"in r)u=r["*"];else return i;return u?s+u:""})};function GSe(e){return!!~e.indexOf(":")}});var cz=he((STe,uz)=>{var oz=require("url"),az=TB(),YSe=/^201|30(1|2|7|8)$/;uz.exports={removeChunked:function(t,r,n){t.httpVersion==="1.0"&&delete n.headers["transfer-encoding"]},setConnection:function(t,r,n){t.httpVersion==="1.0"?n.headers.connection=t.headers.connection||"close":t.httpVersion!=="2.0"&&!n.headers.connection&&(n.headers.connection=t.headers.connection||"keep-alive")},setRedirectHostRewrite:function(t,r,n,i){if((i.hostRewrite||i.autoRewrite||i.protocolRewrite)&&n.headers.location&&YSe.test(n.statusCode)){var s=oz.parse(i.target),o=oz.parse(n.headers.location);if(s.host!=o.host)return;i.hostRewrite?o.host=i.hostRewrite:i.autoRewrite&&(o.host=t.headers.host),i.protocolRewrite&&(o.protocol=i.protocolRewrite),n.headers.location=o.format()}},writeHeaders:function(t,r,n,i){var s=i.cookieDomainRewrite,o=i.cookiePathRewrite,u=i.preserveHeaderKeyCase,A,p=function(m,w){w!=null&&(s&&m.toLowerCase()==="set-cookie"&&(w=az.rewriteCookieProperty(w,s,"domain")),o&&m.toLowerCase()==="set-cookie"&&(w=az.rewriteCookieProperty(w,o,"path")),r.setHeader(String(m).trim(),w))};if(typeof s=="string"&&(s={"*":s}),typeof o=="string"&&(o={"*":o}),u&&n.rawHeaders!=null){A={};for(var f=0;f{function VSe(e){r.debug=r,r.default=r,r.coerce=A,r.disable=o,r.enable=i,r.enabled=u,r.humanize=DI(),r.destroy=p,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let c=0;for(let m=0;m{if(be==="%%")return"%";ge++;let Ie=r.formatters[fe];if(typeof Ie=="function"){let $e=P[ge];be=Ie.call(j,$e),P.splice(ge,1),ge--}return be}),r.formatArgs.call(j,P),(j.log||r.log).apply(j,P)}return F.namespace=f,F.useColors=r.useColors(),F.color=r.selectColor(f),F.extend=n,F.destroy=r.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(w!==r.namespaces&&(w=r.namespaces,C=r.enabled(f)),C),set:P=>{m=P}}),typeof r.init=="function"&&r.init(F),F}function n(f,c){let m=r(this.namespace+(typeof c>"u"?":":c)+f);return m.log=this.log,m}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let c=(typeof f=="string"?f:"").trim().replace(" ",",").split(",").filter(Boolean);for(let m of c)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function s(f,c){let m=0,w=0,C=-1,F=0;for(;m"-"+c)].join(",");return r.enable(""),f}function u(f){for(let c of r.skips)if(s(f,c))return!1;for(let c of r.names)if(s(f,c))return!0;return!1}function A(f){return f instanceof Error?f.stack||f.message:f}function p(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}lz.exports=VSe});var Az=he((Ko,_B)=>{Ko.formatArgs=WSe;Ko.save=zSe;Ko.load=KSe;Ko.useColors=JSe;Ko.storage=ZSe();Ko.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ko.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function JSe(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function WSe(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+_B.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}Ko.log=console.debug||console.log||(()=>{});function zSe(e){try{e?Ko.storage.setItem("debug",e):Ko.storage.removeItem("debug")}catch{}}function KSe(){let e;try{e=Ko.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function ZSe(){try{return localStorage}catch{}}_B.exports=o6()(Ko);var{formatters:XSe}=_B.exports;XSe.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var fz=he((kTe,pz)=>{"use strict";pz.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var e5e=require("os"),hz=require("tty"),Ua=fz(),{env:ls}=process,UB;Ua("no-color")||Ua("no-colors")||Ua("color=false")||Ua("color=never")?UB=0:(Ua("color")||Ua("colors")||Ua("color=true")||Ua("color=always"))&&(UB=1);function t5e(){if("FORCE_COLOR"in ls)return ls.FORCE_COLOR==="true"?1:ls.FORCE_COLOR==="false"?0:ls.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ls.FORCE_COLOR,10),3)}function r5e(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function n5e(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let n=t5e();n!==void 0&&(UB=n);let i=r?UB:n;if(i===0)return 0;if(r){if(Ua("color=16m")||Ua("color=full")||Ua("color=truecolor"))return 3;if(Ua("color=256"))return 2}if(e&&!t&&i===void 0)return 0;let s=i||0;if(ls.TERM==="dumb")return s;if(process.platform==="win32"){let o=e5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=Number.parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:s}function a6(e,t={}){let r=n5e(e,{streamIsTTY:e&&e.isTTY,...t});return r5e(r)}dz.exports={supportsColor:a6,stdout:a6({isTTY:hz.isatty(1)}),stderr:a6({isTTY:hz.isatty(2)})}});var Ez=he((As,MB)=>{var i5e=require("tty"),OB=require("util");As.init=A5e;As.log=u5e;As.formatArgs=o5e;As.save=c5e;As.load=l5e;As.useColors=s5e;As.destroy=OB.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");As.colors=[6,2,3,4,5,1];try{let e=gz();e&&(e.stderr||e).level>=2&&(As.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}As.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),e[r]=n,e},{});function s5e(){return"colors"in As.inspectOpts?!!As.inspectOpts.colors:i5e.isatty(process.stderr.fd)}function o5e(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${t} \x1B[0m`;e[0]=s+e[0].split(` +`).join(` +`+s),e.push(i+"m+"+MB.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=a5e()+t+" "+e[0]}function a5e(){return As.inspectOpts.hideDate?"":new Date().toISOString()+" "}function u5e(...e){return process.stderr.write(OB.formatWithOptions(As.inspectOpts,...e)+` +`)}function c5e(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function l5e(){return process.env.DEBUG}function A5e(e){e.inspectOpts={};let t=Object.keys(As.inspectOpts);for(let r=0;rt.trim()).join(" ")};mz.O=function(e){return this.inspectOpts.colors=this.useColors,OB.inspect(e,this.inspectOpts)}});var c6=he((TTe,u6)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?u6.exports=Az():u6.exports=Ez()});var Cz=he((_Te,yz)=>{var P1;yz.exports=function(){if(!P1){try{P1=c6()("follow-redirects")}catch{}typeof P1!="function"&&(P1=function(){})}P1.apply(null,arguments)}});var bz=he((UTe,v6)=>{var H1=require("url"),$1=H1.URL,p5e=require("http"),f5e=require("https"),h6=require("stream").Writable,d6=require("assert"),vz=Cz();(function(){var t=typeof process<"u",r=typeof window<"u"&&typeof document<"u",n=rh(Error.captureStackTrace);!t&&(r||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var g6=!1;try{d6(new $1(""))}catch(e){g6=e.code==="ERR_INVALID_URL"}var h5e=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],m6=["abort","aborted","connect","error","socket","timeout"],E6=Object.create(null);m6.forEach(function(e){E6[e]=function(t,r,n){this._redirectable.emit(e,t,r,n)}});var A6=q1("ERR_INVALID_URL","Invalid URL",TypeError),p6=q1("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),d5e=q1("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",p6),g5e=q1("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),m5e=q1("ERR_STREAM_WRITE_AFTER_END","write after end"),E5e=h6.prototype.destroy||Bz;function Bo(e,t){h6.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],t&&this.on("response",t);var r=this;this._onNativeResponse=function(n){try{r._processResponse(n)}catch(i){r.emit("error",i instanceof p6?i:new p6({cause:i}))}},this._performRequest()}Bo.prototype=Object.create(h6.prototype);Bo.prototype.abort=function(){C6(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Bo.prototype.destroy=function(e){return C6(this._currentRequest,e),E5e.call(this,e),this};Bo.prototype.write=function(e,t,r){if(this._ending)throw new m5e;if(!th(e)&&!v5e(e))throw new TypeError("data should be a string, Buffer or Uint8Array");if(rh(t)&&(r=t,t=null),e.length===0){r&&r();return}this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:t}),this._currentRequest.write(e,t,r)):(this.emit("error",new g5e),this.abort())};Bo.prototype.end=function(e,t,r){if(rh(e)?(r=e,e=t=null):rh(t)&&(r=t,t=null),!e)this._ended=this._ending=!0,this._currentRequest.end(null,null,r);else{var n=this,i=this._currentRequest;this.write(e,t,function(){n._ended=!0,i.end(null,null,r)}),this._ending=!0}};Bo.prototype.setHeader=function(e,t){this._options.headers[e]=t,this._currentRequest.setHeader(e,t)};Bo.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)};Bo.prototype.setTimeout=function(e,t){var r=this;function n(o){o.setTimeout(e),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function i(o){r._timeout&&clearTimeout(r._timeout),r._timeout=setTimeout(function(){r.emit("timeout"),s()},e),n(o)}function s(){r._timeout&&(clearTimeout(r._timeout),r._timeout=null),r.removeListener("abort",s),r.removeListener("error",s),r.removeListener("response",s),r.removeListener("close",s),t&&r.removeListener("timeout",t),r.socket||r._currentRequest.removeListener("socket",i)}return t&&this.on("timeout",t),this.socket?i(this.socket):this._currentRequest.once("socket",i),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this.on("close",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Bo.prototype[e]=function(t,r){return this._currentRequest[e](t,r)}});["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Bo.prototype,e,{get:function(){return this._currentRequest[e]}})});Bo.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var t=e.path.indexOf("?");t<0?e.pathname=e.path:(e.pathname=e.path.substring(0,t),e.search=e.path.substring(t))}};Bo.prototype._performRequest=function(){var e=this._options.protocol,t=this._options.nativeProtocols[e];if(!t)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var r=e.slice(0,-1);this._options.agent=this._options.agents[r]}var n=this._currentRequest=t.request(this._options,this._onNativeResponse);n._redirectable=this;for(var i of m6)n.on(i,E6[i]);if(this._currentUrl=/^\//.test(this._options.path)?H1.format(this._options):this._options.path,this._isRedirect){var s=0,o=this,u=this._requestBodyBuffers;(function A(p){if(n===o._currentRequest)if(p)o.emit("error",p);else if(s=400){e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),this._requestBodyBuffers=[];return}if(C6(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new d5e;var n,i=this._options.beforeRedirect;i&&(n=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var s=this._options.method;((t===301||t===302)&&this._options.method==="POST"||t===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],l6(/^content-/i,this._options.headers));var o=l6(/^host$/i,this._options.headers),u=y6(this._currentUrl),A=o||u.host,p=/^\w+:/.test(r)?this._currentUrl:H1.format(Object.assign(u,{host:A})),f=y5e(r,p);if(vz("redirecting to",f.href),this._isRedirect=!0,f6(f,this._options),(f.protocol!==u.protocol&&f.protocol!=="https:"||f.host!==A&&!C5e(f.host,A))&&l6(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),rh(i)){var c={headers:e.headers,statusCode:t},m={url:p,method:s,headers:n};i(this._options,c,m),this._sanitizeOptions(this._options)}this._performRequest()};function Iz(e){var t={maxRedirects:21,maxBodyLength:10485760},r={};return Object.keys(e).forEach(function(n){var i=n+":",s=r[i]=e[n],o=t[n]=Object.create(s);function u(p,f,c){return I5e(p)?p=f6(p):th(p)?p=f6(y6(p)):(c=f,f=wz(p),p={protocol:i}),rh(f)&&(c=f,f=null),f=Object.assign({maxRedirects:t.maxRedirects,maxBodyLength:t.maxBodyLength},p,f),f.nativeProtocols=r,!th(f.host)&&!th(f.hostname)&&(f.hostname="::1"),d6.equal(f.protocol,i,"protocol mismatch"),vz("options",f),new Bo(f,c)}function A(p,f,c){var m=o.request(p,f,c);return m.end(),m}Object.defineProperties(o,{request:{value:u,configurable:!0,enumerable:!0,writable:!0},get:{value:A,configurable:!0,enumerable:!0,writable:!0}})}),t}function Bz(){}function y6(e){var t;if(g6)t=new $1(e);else if(t=wz(H1.parse(e)),!th(t.protocol))throw new A6({input:e});return t}function y5e(e,t){return g6?new $1(e,t):y6(H1.resolve(t,e))}function wz(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new A6({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new A6({input:e.href||e});return e}function f6(e,t){var r=t||{};for(var n of h5e)r[n]=e[n];return r.hostname.startsWith("[")&&(r.hostname=r.hostname.slice(1,-1)),r.port!==""&&(r.port=Number(r.port)),r.path=r.search?r.pathname+r.search:r.pathname,r}function l6(e,t){var r;for(var n in t)e.test(n)&&(r=t[n],delete t[n]);return r===null||typeof r>"u"?void 0:String(r).trim()}function q1(e,t,r){function n(i){rh(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,i||{}),this.code=e,this.message=this.cause?t+": "+this.cause.message:t}return n.prototype=new(r||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),n}function C6(e,t){for(var r of m6)e.removeListener(r,E6[r]);e.on("error",Bz),e.destroy(t)}function C5e(e,t){d6(th(e)&&th(t));var r=e.length-t.length-1;return r>0&&e[r]==="."&&e.endsWith(t)}function th(e){return typeof e=="string"||e instanceof String}function rh(e){return typeof e=="function"}function v5e(e){return typeof e=="object"&&"length"in e}function I5e(e){return $1&&e instanceof $1}v6.exports=Iz({http:p5e,https:f5e});v6.exports.wrap=Iz});var Qz=he((OTe,xz)=>{var B5e=require("http"),w5e=require("https"),j1=cz(),LB=TB(),b5e=bz();j1=Object.keys(j1).map(function(e){return j1[e]});var x5e={http:B5e,https:w5e};xz.exports={deleteLength:function(t,r,n){(t.method==="DELETE"||t.method==="OPTIONS")&&!t.headers["content-length"]&&(t.headers["content-length"]="0",delete t.headers["transfer-encoding"])},timeout:function(t,r,n){n.timeout&&t.socket.setTimeout(n.timeout)},XHeaders:function(t,r,n){if(n.xfwd){var i=t.isSpdy||LB.hasEncryptedConnection(t),s={for:t.connection.remoteAddress||t.socket.remoteAddress,port:LB.getPort(t),proto:i?"https":"http"};["for","port","proto"].forEach(function(o){t.headers["x-forwarded-"+o]=(t.headers["x-forwarded-"+o]||"")+(t.headers["x-forwarded-"+o]?",":"")+s[o]}),t.headers["x-forwarded-host"]=t.headers["x-forwarded-host"]||t.headers.host||""}},stream:function(t,r,n,i,s,o){s.emit("start",t,r,n.target||n.forward);var u=n.followRedirects?b5e:x5e,A=u.http,p=u.https;if(n.forward){var f=(n.forward.protocol==="https:"?p:A).request(LB.setupOutgoing(n.ssl||{},n,t,"forward")),c=C(f,n.forward);if(t.on("error",c),f.on("error",c),(n.buffer||t).pipe(f),!n.target)return r.end()}var m=(n.target.protocol==="https:"?p:A).request(LB.setupOutgoing(n.ssl||{},n,t));m.on("socket",function(F){s&&!m.getHeader("expect")&&s.emit("proxyReq",m,t,r,n)}),n.proxyTimeout&&m.setTimeout(n.proxyTimeout,function(){m.abort()}),t.on("aborted",function(){m.abort()});var w=C(m,n.target);t.on("error",w),m.on("error",w);function C(F,P){return function(re){if(t.socket.destroyed&&re.code==="ECONNRESET")return s.emit("econnreset",re,t,r,P),F.abort();o?o(re,t,r,P):s.emit("error",re,t,r,P)}}(n.buffer||t).pipe(m),m.on("response",function(F){if(s&&s.emit("proxyRes",F,t,r),!r.headersSent&&!n.selfHandleResponse)for(var P=0;P{var Q5e=require("http"),F5e=require("https"),Hg=TB();Fz.exports={checkMethodAndHeader:function(t,r){if(t.method!=="GET"||!t.headers.upgrade||t.headers.upgrade.toLowerCase()!=="websocket")return r.destroy(),!0},XHeaders:function(t,r,n){if(n.xfwd){var i={for:t.connection.remoteAddress||t.socket.remoteAddress,port:Hg.getPort(t),proto:Hg.hasEncryptedConnection(t)?"wss":"ws"};["for","port","proto"].forEach(function(s){t.headers["x-forwarded-"+s]=(t.headers["x-forwarded-"+s]||"")+(t.headers["x-forwarded-"+s]?",":"")+i[s]})}},stream:function(t,r,n,i,s,o){var u=function(f,c){return Object.keys(c).reduce(function(m,w){var C=c[w];if(!Array.isArray(C))return m.push(w+": "+C),m;for(var F=0;F{var kz=Tz.exports,D5e=require("url").parse,Nz=rz(),S5e=require("http"),R5e=require("https"),Sz=Qz(),Rz=Dz();kz.Server=oh;function I6(e){return function(t){return function(r,n){var i=e==="ws"?this.wsPasses:this.webPasses,s=[].slice.call(arguments),o=s.length-1,u,A;typeof s[o]=="function"&&(A=s[o],o--);var p=t;if(!(s[o]instanceof Buffer)&&s[o]!==n&&(p=Object.assign({},t),Object.assign(p,s[o]),o--),s[o]instanceof Buffer&&(u=s[o]),["target","forward"].forEach(function(c){typeof p[c]=="string"&&(p[c]=D5e(p[c]))}),!p.target&&!p.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var f=0;f{var G1=_z().Server;function B6(e){return new G1(e)}G1.createProxyServer=B6;G1.createServer=B6;G1.createProxy=B6;Uz.exports=G1});var Lz=he(($Te,Mz)=>{Mz.exports=Oz()});var $B=he(PB=>{"use strict";Object.defineProperty(PB,"__esModule",{value:!0});PB.ERRORS=void 0;var Pz;(function(e){e.ERR_CONFIG_FACTORY_TARGET_MISSING='[HPM] Missing "target" option. Example: {target: "http://www.example.org"}',e.ERR_CONTEXT_MATCHER_GENERIC='[HPM] Invalid pathFilter. Expecting something like: "/api" or ["/api", "/ajax"]',e.ERR_CONTEXT_MATCHER_INVALID_ARRAY='[HPM] Invalid pathFilter. Plain paths (e.g. "/api") can not be mixed with globs (e.g. "/api/**"). Expecting something like: ["/api", "/ajax"] or ["/api/**", "!**.html"].',e.ERR_PATH_REWRITER_CONFIG="[HPM] Invalid pathRewrite config. Expecting object with pathRewrite config or a rewrite function"})(Pz||(PB.ERRORS=Pz={}))});var $z=he(w6=>{"use strict";Object.defineProperty(w6,"__esModule",{value:!0});w6.verifyConfig=N5e;var k5e=$B();function N5e(e){if(!e.target&&!e.router)throw new Error(k5e.ERRORS.ERR_CONFIG_FACTORY_TARGET_MISSING)}});var Tl=he(HB=>{"use strict";Object.defineProperty(HB,"__esModule",{value:!0});HB.Debug=void 0;var T5e=c6();HB.Debug=T5e("http-proxy-middleware")});var Hz=he(qB=>{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.debugProxyErrorsPlugin=void 0;var _5e=Tl(),ah=_5e.Debug.extend("debug-proxy-errors-plugin"),U5e=e=>{e.on("error",(t,r,n,i)=>{ah(`http-proxy error event: +%O`,t)}),e.on("proxyReq",(t,r,n)=>{n.on("error",i=>{ah(`Socket error in proxyReq event: +%O`,i)})}),e.on("proxyRes",(t,r,n)=>{n.on("close",()=>{n.writableEnded||(ah("Destroying proxyRes in proxyRes close event"),t.destroy())})}),e.on("proxyReqWs",(t,r,n)=>{n.on("error",i=>{ah(`Socket error in proxyReqWs event: +%O`,i)})}),e.on("open",t=>{t.on("error",r=>{ah(`Socket error in open event: +%O`,r)})}),e.on("close",(t,r,n)=>{r.on("error",i=>{ah(`Socket error in close event: +%O`,i)})}),e.on("econnreset",(t,r,n,i)=>{ah(`http-proxy econnreset event: +%O`,t)})};qB.debugProxyErrorsPlugin=U5e});var qz=he(b6=>{"use strict";Object.defineProperty(b6,"__esModule",{value:!0});b6.getStatusCode=O5e;function O5e(e){let t;if(/HPE_INVALID/.test(e))t=502;else switch(e){case"ECONNRESET":case"ENOTFOUND":case"ECONNREFUSED":case"ETIMEDOUT":t=504;break;default:t=500;break}return t}});var jz=he(jB=>{"use strict";Object.defineProperty(jB,"__esModule",{value:!0});jB.errorResponsePlugin=void 0;var M5e=qz(),L5e=(e,t)=>{e.on("error",(r,n,i,s)=>{if(!n&&!i)throw r;if("writeHead"in i&&!i.headersSent){let u=(0,M5e.getStatusCode)(r.code);i.writeHead(u)}let o=n.headers&&n.headers.host;i.end(`Error occurred while trying to proxy: ${o}${n.url}`)})};jB.errorResponsePlugin=L5e});var GB=he(x6=>{"use strict";Object.defineProperty(x6,"__esModule",{value:!0});x6.getLogger=$5e;var P5e={info:()=>{},warn:()=>{},error:()=>{}};function $5e(e){return e.logger||P5e}});var Gz=he(Q6=>{"use strict";Object.defineProperty(Q6,"__esModule",{value:!0});Q6.getPort=H5e;function H5e(e){return Object.keys(e||{})?.[0]?.split(":")[1]}});var Vz=he(YB=>{"use strict";Object.defineProperty(YB,"__esModule",{value:!0});YB.loggerPlugin=void 0;var Yz=require("url"),q5e=GB(),j5e=Gz(),G5e=(e,t)=>{let r=(0,q5e.getLogger)(t);e.on("error",(n,i,s,o)=>{let A=`${i?.headers?.host}${i?.url}`,p=`${o?.href}`;r.error("[HPM] Error occurred while proxying request %s to %s [%s] (%s)",A,p,n.code||n,"https://nodejs.org/api/errors.html#errors_common_system_errors")}),e.on("proxyRes",(n,i,s)=>{let o=i.originalUrl??`${i.baseUrl||""}${i.url}`,u;try{let f=(0,j5e.getPort)(n.req?.agent?.sockets),c={protocol:n.req.protocol,host:n.req.host,pathname:n.req.path};u=new Yz.URL(`${c.protocol}//${c.host}${c.pathname}`),f&&(u.port=f)}catch{u=new Yz.URL(t.target),u.pathname=n.req.path}let A=u.toString(),p=`[HPM] ${i.method} ${o} -> ${A} [${n.statusCode}]`;r.info(p)}),e.on("open",n=>{r.info("[HPM] Client connected: %o",n.address())}),e.on("close",(n,i,s)=>{r.info("[HPM] Client disconnected: %o",i.address())})};YB.loggerPlugin=G5e});var VB=he(F6=>{"use strict";Object.defineProperty(F6,"__esModule",{value:!0});F6.getFunctionName=Y5e;function Y5e(e){return e.name||"[anonymous Function]"}});var Jz=he(JB=>{"use strict";Object.defineProperty(JB,"__esModule",{value:!0});JB.proxyEventsPlugin=void 0;var V5e=Tl(),J5e=VB(),W5e=V5e.Debug.extend("proxy-events-plugin"),z5e=(e,t)=>{Object.entries(t.on||{}).forEach(([r,n])=>{W5e(`register event handler: "${r}" -> "${(0,J5e.getFunctionName)(n)}"`),e.on(r,n)})};JB.proxyEventsPlugin=z5e});var D6=he(Ec=>{"use strict";var K5e=Ec&&Ec.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),WB=Ec&&Ec.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&K5e(t,e,r)};Object.defineProperty(Ec,"__esModule",{value:!0});WB(Hz(),Ec);WB(jz(),Ec);WB(Vz(),Ec);WB(Jz(),Ec)});var Wz=he(S6=>{"use strict";Object.defineProperty(S6,"__esModule",{value:!0});S6.getPlugins=Z5e;var zB=D6();function Z5e(e){let t=e.on?.error?[]:[zB.errorResponsePlugin],r=e.ejectPlugins?[]:[zB.debugProxyErrorsPlugin,zB.proxyEventsPlugin,zB.loggerPlugin,...t],n=e.plugins??[];return[...r,...n]}});var Kz=he((t_e,zz)=>{zz.exports=function(t){if(typeof t!="string"||t==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(t);){if(r[2])return!0;t=t.slice(r.index+r[0].length)}return!1}});var eK=he((r_e,Xz)=>{var X5e=Kz(),Zz={"{":"}","(":")","[":"]"},e4e=function(e){if(e[0]==="!")return!0;for(var t=0,r=-2,n=-2,i=-2,s=-2,o=-2;tt&&(o===-1||o>n||(o=e.indexOf("\\",t),o===-1||o>n)))||i!==-1&&e[t]==="{"&&e[t+1]!=="}"&&(i=e.indexOf("}",t),i>t&&(o=e.indexOf("\\",t),o===-1||o>i))||s!==-1&&e[t]==="("&&e[t+1]==="?"&&/[:!=]/.test(e[t+2])&&e[t+3]!==")"&&(s=e.indexOf(")",t),s>t&&(o=e.indexOf("\\",t),o===-1||o>s))||r!==-1&&e[t]==="("&&e[t+1]!=="|"&&(rr&&(o=e.indexOf("\\",r),o===-1||o>s))))return!0;if(e[t]==="\\"){var u=e[t+1];t+=2;var A=Zz[u];if(A){var p=e.indexOf(A,t);p!==-1&&(t=p+1)}if(e[t]==="!")return!0}else t++}return!1},t4e=function(e){if(e[0]==="!")return!0;for(var t=0;t{"use strict";Oa.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Oa.find=(e,t)=>e.nodes.find(r=>r.type===t);Oa.exceedsLimit=(e,t,r=1,n)=>n===!1||!Oa.isInteger(e)||!Oa.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;Oa.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};Oa.encloseBrace=e=>e.type!=="brace"||e.commas>>0+e.ranges>>0?!1:(e.invalid=!0,!0);Oa.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:!(e.commas>>0+e.ranges>>0)||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Oa.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Oa.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);Oa.flatten=(...e)=>{let t=[],r=n=>{for(let i=0;i{"use strict";var tK=KB();rK.exports=(e,t={})=>{let r=(n,i={})=>{let s=t.escapeInvalid&&tK.isInvalidBrace(i),o=n.invalid===!0&&t.escapeInvalid===!0,u="";if(n.value)return(s||o)&&tK.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let A of n.nodes)u+=r(A);return u};return r(e)}});var iK=he((s_e,nK)=>{"use strict";nK.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var fK=he((o_e,pK)=>{"use strict";var sK=iK(),Ah=(e,t,r)=>{if(sK(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(sK(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let i=String(n.relaxZeros),s=String(n.shorthand),o=String(n.capture),u=String(n.wrap),A=e+":"+t+"="+i+s+o+u;if(Ah.cache.hasOwnProperty(A))return Ah.cache[A].result;let p=Math.min(e,t),f=Math.max(e,t);if(Math.abs(p-f)===1){let F=e+"|"+t;return n.capture?`(${F})`:n.wrap===!1?F:`(?:${F})`}let c=AK(e)||AK(t),m={min:e,max:t,a:p,b:f},w=[],C=[];if(c&&(m.isPadded=c,m.maxLen=String(m.max).length),p<0){let F=f<0?Math.abs(f):1;C=oK(F,Math.abs(p),m,n),p=m.a=0}return f>=0&&(w=oK(p,f,m,n)),m.negatives=C,m.positives=w,m.result=r4e(C,w,n),n.capture===!0?m.result=`(${m.result})`:n.wrap!==!1&&w.length+C.length>1&&(m.result=`(?:${m.result})`),Ah.cache[A]=m,m.result};function r4e(e,t,r){let n=R6(e,t,"-",!1,r)||[],i=R6(t,e,"",!1,r)||[],s=R6(e,t,"-?",!0,r)||[];return n.concat(s).concat(i).join("|")}function n4e(e,t){let r=1,n=1,i=uK(e,r),s=new Set([t]);for(;e<=i&&i<=t;)s.add(i),r+=1,i=uK(e,r);for(i=cK(t+1,n)-1;e1&&u.count.pop(),u.count.push(f.count[0]),u.string=u.pattern+lK(u.count),o=p+1;continue}r.isPadded&&(c=u4e(p,r,n)),f.string=c+f.pattern+lK(f.count),s.push(f),o=p+1,u=f}return s}function R6(e,t,r,n,i){let s=[];for(let o of e){let{string:u}=o;!n&&!aK(t,"string",u)&&s.push(r+u),n&&aK(t,"string",u)&&s.push(r+u)}return s}function s4e(e,t){let r=[];for(let n=0;nt?1:t>e?-1:0}function aK(e,t,r){return e.some(n=>n[t]===r)}function uK(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function cK(e,t){return e-e%Math.pow(10,t)}function lK(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function a4e(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function AK(e){return/^-?(0+)\d/.test(e)}function u4e(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),i=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:return i?`0{0,${n}}`:`0{${n}}`}}Ah.cache={};Ah.clearCache=()=>Ah.cache={};pK.exports=Ah});var T6=he((a_e,CK)=>{"use strict";var c4e=require("util"),dK=fK(),hK=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),l4e=e=>t=>e===!0?Number(t):String(t),k6=e=>typeof e=="number"||typeof e=="string"&&e!=="",Y1=e=>Number.isInteger(+e),N6=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},A4e=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,p4e=(e,t,r)=>{if(t>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return r===!1?String(e):e},sw=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length{e.negatives.sort((u,A)=>uA?1:0),e.positives.sort((u,A)=>uA?1:0);let n=t.capture?"":"?:",i="",s="",o;return e.positives.length&&(i=e.positives.map(u=>sw(String(u),r)).join("|")),e.negatives.length&&(s=`-(${n}${e.negatives.map(u=>sw(String(u),r)).join("|")})`),i&&s?o=`${i}|${s}`:o=i||s,t.wrap?`(${n}${o})`:o},gK=(e,t,r,n)=>{if(r)return dK(e,t,{wrap:!1,...n});let i=String.fromCharCode(e);if(e===t)return i;let s=String.fromCharCode(t);return`[${i}-${s}]`},mK=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,i=r.capture?"":"?:";return n?`(${i}${e.join("|")})`:e.join("|")}return dK(e,t,r)},EK=(...e)=>new RangeError("Invalid range arguments: "+c4e.inspect(...e)),yK=(e,t,r)=>{if(r.strictRanges===!0)throw EK([e,t]);return[]},h4e=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},d4e=(e,t,r=1,n={})=>{let i=Number(e),s=Number(t);if(!Number.isInteger(i)||!Number.isInteger(s)){if(n.strictRanges===!0)throw EK([e,t]);return[]}i===0&&(i=0),s===0&&(s=0);let o=i>s,u=String(e),A=String(t),p=String(r);r=Math.max(Math.abs(r),1);let f=N6(u)||N6(A)||N6(p),c=f?Math.max(u.length,A.length,p.length):0,m=f===!1&&A4e(e,t,n)===!1,w=n.transform||l4e(m);if(n.toRegex&&r===1)return gK(sw(e,c),sw(t,c),!0,n);let C={negatives:[],positives:[]},F=re=>C[re<0?"negatives":"positives"].push(Math.abs(re)),P=[],j=0;for(;o?i>=s:i<=s;)n.toRegex===!0&&r>1?F(i):P.push(p4e(w(i,j),c,m)),i=o?i-r:i+r,j++;return n.toRegex===!0?r>1?f4e(C,n,c):mK(P,null,{wrap:!1,...n}):P},g4e=(e,t,r=1,n={})=>{if(!Y1(e)&&e.length>1||!Y1(t)&&t.length>1)return yK(e,t,n);let i=n.transform||(m=>String.fromCharCode(m)),s=`${e}`.charCodeAt(0),o=`${t}`.charCodeAt(0),u=s>o,A=Math.min(s,o),p=Math.max(s,o);if(n.toRegex&&r===1)return gK(A,p,!1,n);let f=[],c=0;for(;u?s>=o:s<=o;)f.push(i(s,c)),s=u?s-r:s+r,c++;return n.toRegex===!0?mK(f,null,{wrap:!1,options:n}):f},XB=(e,t,r,n={})=>{if(t==null&&k6(e))return[e];if(!k6(e)||!k6(t))return yK(e,t,n);if(typeof r=="function")return XB(e,t,1,{transform:r});if(hK(r))return XB(e,t,0,r);let i={...n};return i.capture===!0&&(i.wrap=!0),r=r||i.step||1,Y1(r)?Y1(e)&&Y1(t)?d4e(e,t,r,i):g4e(e,t,Math.max(Math.abs(r),1),i):r!=null&&!hK(r)?h4e(r,i):XB(e,t,1,r)};CK.exports=XB});var BK=he((u_e,IK)=>{"use strict";var m4e=T6(),vK=KB(),E4e=(e,t={})=>{let r=(n,i={})=>{let s=vK.isInvalidBrace(i),o=n.invalid===!0&&t.escapeInvalid===!0,u=s===!0||o===!0,A=t.escapeInvalid===!0?"\\":"",p="";if(n.isOpen===!0)return A+n.value;if(n.isClose===!0)return console.log("node.isClose",A,n.value),A+n.value;if(n.type==="open")return u?A+n.value:"(";if(n.type==="close")return u?A+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":u?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let f=vK.reduce(n.nodes),c=m4e(...f,{...t,wrap:!1,toRegex:!0,strictZeros:!0});if(c.length!==0)return f.length>1&&c.length>1?`(${c})`:c}if(n.nodes)for(let f of n.nodes)p+=r(f,n);return p};return r(e)};IK.exports=E4e});var xK=he((c_e,bK)=>{"use strict";var y4e=T6(),wK=ZB(),qg=KB(),Eh=(e="",t="",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?qg.flatten(t).map(i=>`{${i}}`):t;for(let i of e)if(Array.isArray(i))for(let s of i)n.push(Eh(s,t,r));else for(let s of t)r===!0&&typeof s=="string"&&(s=`{${s}}`),n.push(Array.isArray(s)?Eh(i,s,r):i+s);return qg.flatten(n)},C4e=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(i,s={})=>{i.queue=[];let o=s,u=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,u=o.queue;if(i.invalid||i.dollar){u.push(Eh(u.pop(),wK(i,t)));return}if(i.type==="brace"&&i.invalid!==!0&&i.nodes.length===2){u.push(Eh(u.pop(),["{}"]));return}if(i.nodes&&i.ranges>0){let c=qg.reduce(i.nodes);if(qg.exceedsLimit(...c,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let m=y4e(...c,t);m.length===0&&(m=wK(i,t)),u.push(Eh(u.pop(),m)),i.nodes=[];return}let A=qg.encloseBrace(i),p=i.queue,f=i;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,p=f.queue;for(let c=0;c{"use strict";QK.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var NK=he((A_e,kK)=>{"use strict";var v4e=ZB(),{MAX_LENGTH:DK,CHAR_BACKSLASH:_6,CHAR_BACKTICK:I4e,CHAR_COMMA:B4e,CHAR_DOT:w4e,CHAR_LEFT_PARENTHESES:b4e,CHAR_RIGHT_PARENTHESES:x4e,CHAR_LEFT_CURLY_BRACE:Q4e,CHAR_RIGHT_CURLY_BRACE:F4e,CHAR_LEFT_SQUARE_BRACKET:SK,CHAR_RIGHT_SQUARE_BRACKET:RK,CHAR_DOUBLE_QUOTE:D4e,CHAR_SINGLE_QUOTE:S4e,CHAR_NO_BREAK_SPACE:R4e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:k4e}=FK(),N4e=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},n=typeof r.maxLength=="number"?Math.min(DK,r.maxLength):DK;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let i={type:"root",input:e,nodes:[]},s=[i],o=i,u=i,A=0,p=e.length,f=0,c=0,m,w=()=>e[f++],C=F=>{if(F.type==="text"&&u.type==="dot"&&(u.type="text"),u&&u.type==="text"&&F.type==="text"){u.value+=F.value;return}return o.nodes.push(F),F.parent=o,F.prev=u,u=F,F};for(C({type:"bos"});f0){if(o.ranges>0){o.ranges=0;let F=o.nodes.shift();o.nodes=[F,{type:"text",value:v4e(o)}]}C({type:"comma",value:m}),o.commas++;continue}if(m===w4e&&c>0&&o.commas===0){let F=o.nodes;if(c===0||F.length===0){C({type:"text",value:m});continue}if(u.type==="dot"){if(o.range=[],u.value+=m,u.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,u.type="text";continue}o.ranges++,o.args=[];continue}if(u.type==="range"){F.pop();let P=F[F.length-1];P.value+=u.value+m,u=P,o.ranges--;continue}C({type:"dot",value:m});continue}C({type:"text",value:m})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(j=>{j.nodes||(j.type==="open"&&(j.isOpen=!0),j.type==="close"&&(j.isClose=!0),j.nodes||(j.type="text"),j.invalid=!0)});let F=s[s.length-1],P=F.nodes.indexOf(o);F.nodes.splice(P,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),i};kK.exports=N4e});var UK=he((p_e,_K)=>{"use strict";var TK=ZB(),T4e=BK(),_4e=xK(),U4e=NK(),Zo=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let i=Zo.create(n,t);Array.isArray(i)?r.push(...i):r.push(i)}else r=[].concat(Zo.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};Zo.parse=(e,t={})=>U4e(e,t);Zo.stringify=(e,t={})=>TK(typeof e=="string"?Zo.parse(e,t):e,t);Zo.compile=(e,t={})=>(typeof e=="string"&&(e=Zo.parse(e,t)),T4e(e,t));Zo.expand=(e,t={})=>{typeof e=="string"&&(e=Zo.parse(e,t));let r=_4e(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};Zo.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?Zo.compile(e,t):Zo.expand(e,t);_K.exports=Zo});var V1=he((f_e,$K)=>{"use strict";var O4e=require("path"),yc="\\\\/",OK=`[^${yc}]`,_l="\\.",M4e="\\+",L4e="\\?",ow="\\/",P4e="(?=.)",MK="[^/]",U6=`(?:${ow}|$)`,LK=`(?:^|${ow})`,O6=`${_l}{1,2}${U6}`,$4e=`(?!${_l})`,H4e=`(?!${LK}${O6})`,q4e=`(?!${_l}{0,1}${U6})`,j4e=`(?!${O6})`,G4e=`[^.${ow}]`,Y4e=`${MK}*?`,PK={DOT_LITERAL:_l,PLUS_LITERAL:M4e,QMARK_LITERAL:L4e,SLASH_LITERAL:ow,ONE_CHAR:P4e,QMARK:MK,END_ANCHOR:U6,DOTS_SLASH:O6,NO_DOT:$4e,NO_DOTS:H4e,NO_DOT_SLASH:q4e,NO_DOTS_SLASH:j4e,QMARK_NO_DOT:G4e,STAR:Y4e,START_ANCHOR:LK},V4e={...PK,SLASH_LITERAL:`[${yc}]`,QMARK:OK,STAR:`${OK}*?`,DOTS_SLASH:`${_l}{1,2}(?:[${yc}]|$)`,NO_DOT:`(?!${_l})`,NO_DOTS:`(?!(?:^|[${yc}])${_l}{1,2}(?:[${yc}]|$))`,NO_DOT_SLASH:`(?!${_l}{0,1}(?:[${yc}]|$))`,NO_DOTS_SLASH:`(?!${_l}{1,2}(?:[${yc}]|$))`,QMARK_NO_DOT:`[^.${yc}]`,START_ANCHOR:`(?:^|[${yc}])`,END_ANCHOR:`(?:[${yc}]|$)`},J4e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};$K.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:J4e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:O4e.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?V4e:PK}}});var J1=he(bo=>{"use strict";var W4e=require("path"),z4e=process.platform==="win32",{REGEX_BACKSLASH:K4e,REGEX_REMOVE_BACKSLASH:Z4e,REGEX_SPECIAL_CHARS:X4e,REGEX_SPECIAL_CHARS_GLOBAL:eRe}=V1();bo.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);bo.hasRegexChars=e=>X4e.test(e);bo.isRegexChar=e=>e.length===1&&bo.hasRegexChars(e);bo.escapeRegex=e=>e.replace(eRe,"\\$1");bo.toPosixSlashes=e=>e.replace(K4e,"/");bo.removeBackslashes=e=>e.replace(Z4e,t=>t==="\\"?"":t);bo.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};bo.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:z4e===!0||W4e.sep==="\\";bo.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?bo.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};bo.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};bo.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",i=r.contains?"":"$",s=`${n}(?:${e})${i}`;return t.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var WK=he((d_e,JK)=>{"use strict";var HK=J1(),{CHAR_ASTERISK:M6,CHAR_AT:tRe,CHAR_BACKWARD_SLASH:W1,CHAR_COMMA:rRe,CHAR_DOT:L6,CHAR_EXCLAMATION_MARK:P6,CHAR_FORWARD_SLASH:VK,CHAR_LEFT_CURLY_BRACE:$6,CHAR_LEFT_PARENTHESES:H6,CHAR_LEFT_SQUARE_BRACKET:nRe,CHAR_PLUS:iRe,CHAR_QUESTION_MARK:qK,CHAR_RIGHT_CURLY_BRACE:sRe,CHAR_RIGHT_PARENTHESES:jK,CHAR_RIGHT_SQUARE_BRACKET:oRe}=V1(),GK=e=>e===VK||e===W1,YK=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},aRe=(e,t)=>{let r=t||{},n=e.length-1,i=r.parts===!0||r.scanToEnd===!0,s=[],o=[],u=[],A=e,p=-1,f=0,c=0,m=!1,w=!1,C=!1,F=!1,P=!1,j=!1,re=!1,se=!1,ge=!1,oe=!1,be=0,fe,Ie,$e={value:"",depth:0,isGlob:!1},Ve=()=>p>=n,Ae=()=>A.charCodeAt(p+1),Ue=()=>(fe=Ie,A.charCodeAt(++p));for(;p0&&(ct=A.slice(0,f),A=A.slice(f),c-=f),Oe&&C===!0&&c>0?(Oe=A.slice(0,c),Re=A.slice(c)):C===!0?(Oe="",Re=A):Oe=A,Oe&&Oe!==""&&Oe!=="/"&&Oe!==A&&GK(Oe.charCodeAt(Oe.length-1))&&(Oe=Oe.slice(0,-1)),r.unescape===!0&&(Re&&(Re=HK.removeBackslashes(Re)),Oe&&re===!0&&(Oe=HK.removeBackslashes(Oe)));let Qe={prefix:ct,input:e,start:f,base:Oe,glob:Re,isBrace:m,isBracket:w,isGlob:C,isExtglob:F,isGlobstar:P,negated:se,negatedExtglob:ge};if(r.tokens===!0&&(Qe.maxDepth=0,GK(Ie)||o.push($e),Qe.tokens=o),r.parts===!0||r.tokens===!0){let ze;for(let kt=0;kt{"use strict";var aw=V1(),Xo=J1(),{MAX_LENGTH:uw,POSIX_REGEX_SOURCE:uRe,REGEX_NON_SPECIAL_CHARS:cRe,REGEX_SPECIAL_CHARS_BACKREF:lRe,REPLACEMENTS:zK}=aw,ARe=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch{return e.map(i=>Xo.escapeRegex(i)).join("..")}return r},jg=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,q6=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=zK[e]||e;let r={...t},n=typeof r.maxLength=="number"?Math.min(uw,r.maxLength):uw,i=e.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],u=r.capture?"":"?:",A=Xo.isWindows(t),p=aw.globChars(A),f=aw.extglobChars(p),{DOT_LITERAL:c,PLUS_LITERAL:m,SLASH_LITERAL:w,ONE_CHAR:C,DOTS_SLASH:F,NO_DOT:P,NO_DOT_SLASH:j,NO_DOTS_SLASH:re,QMARK:se,QMARK_NO_DOT:ge,STAR:oe,START_ANCHOR:be}=p,fe=Ct=>`(${u}(?:(?!${be}${Ct.dot?F:c}).)*?)`,Ie=r.dot?"":P,$e=r.dot?se:ge,Ve=r.bash===!0?fe(r):oe;r.capture&&(Ve=`(${Ve})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let Ae={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};e=Xo.removePrefix(e,Ae),i=e.length;let Ue=[],Oe=[],ct=[],Re=s,Qe,ze=()=>Ae.index===i-1,kt=Ae.peek=(Ct=1)=>e[Ae.index+Ct],st=Ae.advance=()=>e[++Ae.index]||"",We=()=>e.slice(Ae.index+1),pt=(Ct="",er=0)=>{Ae.consumed+=Ct,Ae.index+=er},Pt=Ct=>{Ae.output+=Ct.output!=null?Ct.output:Ct.value,pt(Ct.value)},nn=()=>{let Ct=1;for(;kt()==="!"&&(kt(2)!=="("||kt(3)==="?");)st(),Ae.start++,Ct++;return Ct%2===0?!1:(Ae.negated=!0,Ae.start++,!0)},nr=Ct=>{Ae[Ct]++,ct.push(Ct)},jt=Ct=>{Ae[Ct]--,ct.pop()},Rt=Ct=>{if(Re.type==="globstar"){let er=Ae.braces>0&&(Ct.type==="comma"||Ct.type==="brace"),Qt=Ct.extglob===!0||Ue.length&&(Ct.type==="pipe"||Ct.type==="paren");Ct.type!=="slash"&&Ct.type!=="paren"&&!er&&!Qt&&(Ae.output=Ae.output.slice(0,-Re.output.length),Re.type="star",Re.value="*",Re.output=Ve,Ae.output+=Re.output)}if(Ue.length&&Ct.type!=="paren"&&(Ue[Ue.length-1].inner+=Ct.value),(Ct.value||Ct.output)&&Pt(Ct),Re&&Re.type==="text"&&Ct.type==="text"){Re.value+=Ct.value,Re.output=(Re.output||"")+Ct.value;return}Ct.prev=Re,o.push(Ct),Re=Ct},vn=(Ct,er)=>{let Qt={...f[er],conditions:1,inner:""};Qt.prev=Re,Qt.parens=Ae.parens,Qt.output=Ae.output;let Gt=(r.capture?"(":"")+Qt.open;nr("parens"),Rt({type:Ct,value:er,output:Ae.output?"":C}),Rt({type:"paren",extglob:!0,value:st(),output:Gt}),Ue.push(Qt)},Xt=Ct=>{let er=Ct.close+(r.capture?")":""),Qt;if(Ct.type==="negate"){let Gt=Ve;if(Ct.inner&&Ct.inner.length>1&&Ct.inner.includes("/")&&(Gt=fe(r)),(Gt!==Ve||ze()||/^\)+$/.test(We()))&&(er=Ct.close=`)$))${Gt}`),Ct.inner.includes("*")&&(Qt=We())&&/^\.[^\\/.]+$/.test(Qt)){let W=q6(Qt,{...t,fastpaths:!1}).output;er=Ct.close=`)${W})${Gt})`}Ct.prev.type==="bos"&&(Ae.negatedExtglob=!0)}Rt({type:"paren",extglob:!0,value:Qe,output:er}),jt("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let Ct=!1,er=e.replace(lRe,(Qt,Gt,W,_,Y,ke)=>_==="\\"?(Ct=!0,Qt):_==="?"?Gt?Gt+_+(Y?se.repeat(Y.length):""):ke===0?$e+(Y?se.repeat(Y.length):""):se.repeat(W.length):_==="."?c.repeat(W.length):_==="*"?Gt?Gt+_+(Y?Ve:""):Ve:Gt?Qt:`\\${Qt}`);return Ct===!0&&(r.unescape===!0?er=er.replace(/\\/g,""):er=er.replace(/\\+/g,Qt=>Qt.length%2===0?"\\\\":Qt?"\\":"")),er===e&&r.contains===!0?(Ae.output=e,Ae):(Ae.output=Xo.wrapOutput(er,Ae,t),Ae)}for(;!ze();){if(Qe=st(),Qe==="\0")continue;if(Qe==="\\"){let Qt=kt();if(Qt==="/"&&r.bash!==!0||Qt==="."||Qt===";")continue;if(!Qt){Qe+="\\",Rt({type:"text",value:Qe});continue}let Gt=/^\\+/.exec(We()),W=0;if(Gt&&Gt[0].length>2&&(W=Gt[0].length,Ae.index+=W,W%2!==0&&(Qe+="\\")),r.unescape===!0?Qe=st():Qe+=st(),Ae.brackets===0){Rt({type:"text",value:Qe});continue}}if(Ae.brackets>0&&(Qe!=="]"||Re.value==="["||Re.value==="[^")){if(r.posix!==!1&&Qe===":"){let Qt=Re.value.slice(1);if(Qt.includes("[")&&(Re.posix=!0,Qt.includes(":"))){let Gt=Re.value.lastIndexOf("["),W=Re.value.slice(0,Gt),_=Re.value.slice(Gt+2),Y=uRe[_];if(Y){Re.value=W+Y,Ae.backtrack=!0,st(),!s.output&&o.indexOf(Re)===1&&(s.output=C);continue}}}(Qe==="["&&kt()!==":"||Qe==="-"&&kt()==="]")&&(Qe=`\\${Qe}`),Qe==="]"&&(Re.value==="["||Re.value==="[^")&&(Qe=`\\${Qe}`),r.posix===!0&&Qe==="!"&&Re.value==="["&&(Qe="^"),Re.value+=Qe,Pt({value:Qe});continue}if(Ae.quotes===1&&Qe!=='"'){Qe=Xo.escapeRegex(Qe),Re.value+=Qe,Pt({value:Qe});continue}if(Qe==='"'){Ae.quotes=Ae.quotes===1?0:1,r.keepQuotes===!0&&Rt({type:"text",value:Qe});continue}if(Qe==="("){nr("parens"),Rt({type:"paren",value:Qe});continue}if(Qe===")"){if(Ae.parens===0&&r.strictBrackets===!0)throw new SyntaxError(jg("opening","("));let Qt=Ue[Ue.length-1];if(Qt&&Ae.parens===Qt.parens+1){Xt(Ue.pop());continue}Rt({type:"paren",value:Qe,output:Ae.parens?")":"\\)"}),jt("parens");continue}if(Qe==="["){if(r.nobracket===!0||!We().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(jg("closing","]"));Qe=`\\${Qe}`}else nr("brackets");Rt({type:"bracket",value:Qe});continue}if(Qe==="]"){if(r.nobracket===!0||Re&&Re.type==="bracket"&&Re.value.length===1){Rt({type:"text",value:Qe,output:`\\${Qe}`});continue}if(Ae.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(jg("opening","["));Rt({type:"text",value:Qe,output:`\\${Qe}`});continue}jt("brackets");let Qt=Re.value.slice(1);if(Re.posix!==!0&&Qt[0]==="^"&&!Qt.includes("/")&&(Qe=`/${Qe}`),Re.value+=Qe,Pt({value:Qe}),r.literalBrackets===!1||Xo.hasRegexChars(Qt))continue;let Gt=Xo.escapeRegex(Re.value);if(Ae.output=Ae.output.slice(0,-Re.value.length),r.literalBrackets===!0){Ae.output+=Gt,Re.value=Gt;continue}Re.value=`(${u}${Gt}|${Re.value})`,Ae.output+=Re.value;continue}if(Qe==="{"&&r.nobrace!==!0){nr("braces");let Qt={type:"brace",value:Qe,output:"(",outputIndex:Ae.output.length,tokensIndex:Ae.tokens.length};Oe.push(Qt),Rt(Qt);continue}if(Qe==="}"){let Qt=Oe[Oe.length-1];if(r.nobrace===!0||!Qt){Rt({type:"text",value:Qe,output:Qe});continue}let Gt=")";if(Qt.dots===!0){let W=o.slice(),_=[];for(let Y=W.length-1;Y>=0&&(o.pop(),W[Y].type!=="brace");Y--)W[Y].type!=="dots"&&_.unshift(W[Y].value);Gt=ARe(_,r),Ae.backtrack=!0}if(Qt.comma!==!0&&Qt.dots!==!0){let W=Ae.output.slice(0,Qt.outputIndex),_=Ae.tokens.slice(Qt.tokensIndex);Qt.value=Qt.output="\\{",Qe=Gt="\\}",Ae.output=W;for(let Y of _)Ae.output+=Y.output||Y.value}Rt({type:"brace",value:Qe,output:Gt}),jt("braces"),Oe.pop();continue}if(Qe==="|"){Ue.length>0&&Ue[Ue.length-1].conditions++,Rt({type:"text",value:Qe});continue}if(Qe===","){let Qt=Qe,Gt=Oe[Oe.length-1];Gt&&ct[ct.length-1]==="braces"&&(Gt.comma=!0,Qt="|"),Rt({type:"comma",value:Qe,output:Qt});continue}if(Qe==="/"){if(Re.type==="dot"&&Ae.index===Ae.start+1){Ae.start=Ae.index+1,Ae.consumed="",Ae.output="",o.pop(),Re=s;continue}Rt({type:"slash",value:Qe,output:w});continue}if(Qe==="."){if(Ae.braces>0&&Re.type==="dot"){Re.value==="."&&(Re.output=c);let Qt=Oe[Oe.length-1];Re.type="dots",Re.output+=Qe,Re.value+=Qe,Qt.dots=!0;continue}if(Ae.braces+Ae.parens===0&&Re.type!=="bos"&&Re.type!=="slash"){Rt({type:"text",value:Qe,output:c});continue}Rt({type:"dot",value:Qe,output:c});continue}if(Qe==="?"){if(!(Re&&Re.value==="(")&&r.noextglob!==!0&&kt()==="("&&kt(2)!=="?"){vn("qmark",Qe);continue}if(Re&&Re.type==="paren"){let Gt=kt(),W=Qe;if(Gt==="<"&&!Xo.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(Re.value==="("&&!/[!=<:]/.test(Gt)||Gt==="<"&&!/<([!=]|\w+>)/.test(We()))&&(W=`\\${Qe}`),Rt({type:"text",value:Qe,output:W});continue}if(r.dot!==!0&&(Re.type==="slash"||Re.type==="bos")){Rt({type:"qmark",value:Qe,output:ge});continue}Rt({type:"qmark",value:Qe,output:se});continue}if(Qe==="!"){if(r.noextglob!==!0&&kt()==="("&&(kt(2)!=="?"||!/[!=<:]/.test(kt(3)))){vn("negate",Qe);continue}if(r.nonegate!==!0&&Ae.index===0){nn();continue}}if(Qe==="+"){if(r.noextglob!==!0&&kt()==="("&&kt(2)!=="?"){vn("plus",Qe);continue}if(Re&&Re.value==="("||r.regex===!1){Rt({type:"plus",value:Qe,output:m});continue}if(Re&&(Re.type==="bracket"||Re.type==="paren"||Re.type==="brace")||Ae.parens>0){Rt({type:"plus",value:Qe});continue}Rt({type:"plus",value:m});continue}if(Qe==="@"){if(r.noextglob!==!0&&kt()==="("&&kt(2)!=="?"){Rt({type:"at",extglob:!0,value:Qe,output:""});continue}Rt({type:"text",value:Qe});continue}if(Qe!=="*"){(Qe==="$"||Qe==="^")&&(Qe=`\\${Qe}`);let Qt=cRe.exec(We());Qt&&(Qe+=Qt[0],Ae.index+=Qt[0].length),Rt({type:"text",value:Qe});continue}if(Re&&(Re.type==="globstar"||Re.star===!0)){Re.type="star",Re.star=!0,Re.value+=Qe,Re.output=Ve,Ae.backtrack=!0,Ae.globstar=!0,pt(Qe);continue}let Ct=We();if(r.noextglob!==!0&&/^\([^?]/.test(Ct)){vn("star",Qe);continue}if(Re.type==="star"){if(r.noglobstar===!0){pt(Qe);continue}let Qt=Re.prev,Gt=Qt.prev,W=Qt.type==="slash"||Qt.type==="bos",_=Gt&&(Gt.type==="star"||Gt.type==="globstar");if(r.bash===!0&&(!W||Ct[0]&&Ct[0]!=="/")){Rt({type:"star",value:Qe,output:""});continue}let Y=Ae.braces>0&&(Qt.type==="comma"||Qt.type==="brace"),ke=Ue.length&&(Qt.type==="pipe"||Qt.type==="paren");if(!W&&Qt.type!=="paren"&&!Y&&!ke){Rt({type:"star",value:Qe,output:""});continue}for(;Ct.slice(0,3)==="/**";){let Xe=e[Ae.index+4];if(Xe&&Xe!=="/")break;Ct=Ct.slice(3),pt("/**",3)}if(Qt.type==="bos"&&ze()){Re.type="globstar",Re.value+=Qe,Re.output=fe(r),Ae.output=Re.output,Ae.globstar=!0,pt(Qe);continue}if(Qt.type==="slash"&&Qt.prev.type!=="bos"&&!_&&ze()){Ae.output=Ae.output.slice(0,-(Qt.output+Re.output).length),Qt.output=`(?:${Qt.output}`,Re.type="globstar",Re.output=fe(r)+(r.strictSlashes?")":"|$)"),Re.value+=Qe,Ae.globstar=!0,Ae.output+=Qt.output+Re.output,pt(Qe);continue}if(Qt.type==="slash"&&Qt.prev.type!=="bos"&&Ct[0]==="/"){let Xe=Ct[1]!==void 0?"|$":"";Ae.output=Ae.output.slice(0,-(Qt.output+Re.output).length),Qt.output=`(?:${Qt.output}`,Re.type="globstar",Re.output=`${fe(r)}${w}|${w}${Xe})`,Re.value+=Qe,Ae.output+=Qt.output+Re.output,Ae.globstar=!0,pt(Qe+st()),Rt({type:"slash",value:"/",output:""});continue}if(Qt.type==="bos"&&Ct[0]==="/"){Re.type="globstar",Re.value+=Qe,Re.output=`(?:^|${w}|${fe(r)}${w})`,Ae.output=Re.output,Ae.globstar=!0,pt(Qe+st()),Rt({type:"slash",value:"/",output:""});continue}Ae.output=Ae.output.slice(0,-Re.output.length),Re.type="globstar",Re.output=fe(r),Re.value+=Qe,Ae.output+=Re.output,Ae.globstar=!0,pt(Qe);continue}let er={type:"star",value:Qe,output:Ve};if(r.bash===!0){er.output=".*?",(Re.type==="bos"||Re.type==="slash")&&(er.output=Ie+er.output),Rt(er);continue}if(Re&&(Re.type==="bracket"||Re.type==="paren")&&r.regex===!0){er.output=Qe,Rt(er);continue}(Ae.index===Ae.start||Re.type==="slash"||Re.type==="dot")&&(Re.type==="dot"?(Ae.output+=j,Re.output+=j):r.dot===!0?(Ae.output+=re,Re.output+=re):(Ae.output+=Ie,Re.output+=Ie),kt()!=="*"&&(Ae.output+=C,Re.output+=C)),Rt(er)}for(;Ae.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(jg("closing","]"));Ae.output=Xo.escapeLast(Ae.output,"["),jt("brackets")}for(;Ae.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(jg("closing",")"));Ae.output=Xo.escapeLast(Ae.output,"("),jt("parens")}for(;Ae.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(jg("closing","}"));Ae.output=Xo.escapeLast(Ae.output,"{"),jt("braces")}if(r.strictSlashes!==!0&&(Re.type==="star"||Re.type==="bracket")&&Rt({type:"maybe_slash",value:"",output:`${w}?`}),Ae.backtrack===!0){Ae.output="";for(let Ct of Ae.tokens)Ae.output+=Ct.output!=null?Ct.output:Ct.value,Ct.suffix&&(Ae.output+=Ct.suffix)}return Ae};q6.fastpaths=(e,t)=>{let r={...t},n=typeof r.maxLength=="number"?Math.min(uw,r.maxLength):uw,i=e.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);e=zK[e]||e;let s=Xo.isWindows(t),{DOT_LITERAL:o,SLASH_LITERAL:u,ONE_CHAR:A,DOTS_SLASH:p,NO_DOT:f,NO_DOTS:c,NO_DOTS_SLASH:m,STAR:w,START_ANCHOR:C}=aw.globChars(s),F=r.dot?c:f,P=r.dot?m:f,j=r.capture?"":"?:",re={negated:!1,prefix:""},se=r.bash===!0?".*?":w;r.capture&&(se=`(${se})`);let ge=Ie=>Ie.noglobstar===!0?se:`(${j}(?:(?!${C}${Ie.dot?p:o}).)*?)`,oe=Ie=>{switch(Ie){case"*":return`${F}${A}${se}`;case".*":return`${o}${A}${se}`;case"*.*":return`${F}${se}${o}${A}${se}`;case"*/*":return`${F}${se}${u}${A}${P}${se}`;case"**":return F+ge(r);case"**/*":return`(?:${F}${ge(r)}${u})?${P}${A}${se}`;case"**/*.*":return`(?:${F}${ge(r)}${u})?${P}${se}${o}${A}${se}`;case"**/.*":return`(?:${F}${ge(r)}${u})?${o}${A}${se}`;default:{let $e=/^(.*?)\.(\w+)$/.exec(Ie);if(!$e)return;let Ve=oe($e[1]);return Ve?Ve+o+$e[2]:void 0}}},be=Xo.removePrefix(e,re),fe=oe(be);return fe&&r.strictSlashes!==!0&&(fe+=`${u}?`),fe};KK.exports=q6});var eZ=he((m_e,XK)=>{"use strict";var pRe=require("path"),fRe=WK(),j6=ZK(),G6=J1(),hRe=V1(),dRe=e=>e&&typeof e=="object"&&!Array.isArray(e),Ti=(e,t,r=!1)=>{if(Array.isArray(e)){let f=e.map(m=>Ti(m,t,r));return m=>{for(let w of f){let C=w(m);if(C)return C}return!1}}let n=dRe(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let i=t||{},s=G6.isWindows(t),o=n?Ti.compileRe(e,t):Ti.makeRe(e,t,!1,!0),u=o.state;delete o.state;let A=()=>!1;if(i.ignore){let f={...t,ignore:null,onMatch:null,onResult:null};A=Ti(i.ignore,f,r)}let p=(f,c=!1)=>{let{isMatch:m,match:w,output:C}=Ti.test(f,o,t,{glob:e,posix:s}),F={glob:e,state:u,regex:o,posix:s,input:f,output:C,match:w,isMatch:m};return typeof i.onResult=="function"&&i.onResult(F),m===!1?(F.isMatch=!1,c?F:!1):A(f)?(typeof i.onIgnore=="function"&&i.onIgnore(F),F.isMatch=!1,c?F:!1):(typeof i.onMatch=="function"&&i.onMatch(F),c?F:!0)};return r&&(p.state=u),p};Ti.test=(e,t,r,{glob:n,posix:i}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(i?G6.toPosixSlashes:null),u=e===n,A=u&&o?o(e):e;return u===!1&&(A=o?o(e):e,u=A===n),(u===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?u=Ti.matchBase(e,t,r,i):u=t.exec(A)),{isMatch:!!u,match:u,output:A}};Ti.matchBase=(e,t,r,n=G6.isWindows(r))=>(t instanceof RegExp?t:Ti.makeRe(t,r)).test(pRe.basename(e));Ti.isMatch=(e,t,r)=>Ti(t,r)(e);Ti.parse=(e,t)=>Array.isArray(e)?e.map(r=>Ti.parse(r,t)):j6(e,{...t,fastpaths:!1});Ti.scan=(e,t)=>fRe(e,t);Ti.compileRe=(e,t,r=!1,n=!1)=>{if(r===!0)return e.output;let i=t||{},s=i.contains?"":"^",o=i.contains?"":"$",u=`${s}(?:${e.output})${o}`;e&&e.negated===!0&&(u=`^(?!${u}).*$`);let A=Ti.toRegex(u,t);return n===!0&&(A.state=e),A};Ti.makeRe=(e,t={},r=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(i.output=j6.fastpaths(e,t)),i.output||(i=j6(e,t)),Ti.compileRe(i,t,r,n)};Ti.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};Ti.constants=hRe;XK.exports=Ti});var rZ=he((E_e,tZ)=>{"use strict";tZ.exports=eZ()});var uZ=he((y_e,aZ)=>{"use strict";var iZ=require("util"),sZ=UK(),Cc=rZ(),Y6=J1(),nZ=e=>e===""||e==="./",oZ=e=>{let t=e.indexOf("{");return t>-1&&e.indexOf("}",t)>-1},ni=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let n=new Set,i=new Set,s=new Set,o=0,u=f=>{s.add(f.output),r&&r.onResult&&r.onResult(f)};for(let f=0;f!n.has(f));if(r&&p.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(f=>f.replace(/\\/g,"")):t}return p};ni.match=ni;ni.matcher=(e,t)=>Cc(e,t);ni.isMatch=(e,t,r)=>Cc(t,r)(e);ni.any=ni.isMatch;ni.not=(e,t,r={})=>{t=[].concat(t).map(String);let n=new Set,i=[],s=u=>{r.onResult&&r.onResult(u),i.push(u.output)},o=new Set(ni(e,t,{...r,onResult:s}));for(let u of i)o.has(u)||n.add(u);return[...n]};ni.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${iZ.inspect(e)}"`);if(Array.isArray(t))return t.some(n=>ni.contains(e,n,r));if(typeof t=="string"){if(nZ(e)||nZ(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return ni.isMatch(e,t,{...r,contains:!0})};ni.matchKeys=(e,t,r)=>{if(!Y6.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=ni(Object.keys(e),t,r),i={};for(let s of n)i[s]=e[s];return i};ni.some=(e,t,r)=>{let n=[].concat(e);for(let i of[].concat(t)){let s=Cc(String(i),r);if(n.some(o=>s(o)))return!0}return!1};ni.every=(e,t,r)=>{let n=[].concat(e);for(let i of[].concat(t)){let s=Cc(String(i),r);if(!n.every(o=>s(o)))return!1}return!0};ni.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${iZ.inspect(e)}"`);return[].concat(t).every(n=>Cc(n,r)(e))};ni.capture=(e,t,r)=>{let n=Y6.isWindows(r),s=Cc.makeRe(String(e),{...r,capture:!0}).exec(n?Y6.toPosixSlashes(t):t);if(s)return s.slice(1).map(o=>o===void 0?"":o)};ni.makeRe=(...e)=>Cc.makeRe(...e);ni.scan=(...e)=>Cc.scan(...e);ni.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let i of sZ(String(n),t))r.push(Cc.parse(i,t));return r};ni.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!oZ(e)?[e]:sZ(e,t)};ni.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return ni.braces(e,{...t,expand:!0})};ni.hasBraces=oZ;aZ.exports=ni});var dZ=he(J6=>{"use strict";Object.defineProperty(J6,"__esModule",{value:!0});J6.matchPathFilter=ERe;var pZ=eK(),gRe=uZ(),mRe=require("url"),cZ=$B();function ERe(e="/",t,r){if(lZ(e))return fZ(e,t);if(AZ(e))return hZ(e,t);if(Array.isArray(e)){if(e.every(lZ))return CRe(e,t);if(e.every(AZ))return yRe(e,t);throw new Error(cZ.ERRORS.ERR_CONTEXT_MATCHER_INVALID_ARRAY)}if(typeof e=="function"){let n=V6(t);return e(n,r)}throw new Error(cZ.ERRORS.ERR_CONTEXT_MATCHER_GENERIC)}function fZ(e,t){return V6(t)?.indexOf(e)===0}function hZ(e,t){let r=V6(t),n=gRe([r],e);return n&&n.length>0}function yRe(e,t){return hZ(e,t)}function CRe(e,t){let r=!1;for(let n of e)if(fZ(n,t)){r=!0;break}return r}function V6(e){return e&&mRe.parse(e).pathname}function lZ(e){return typeof e=="string"&&!pZ(e)}function AZ(e){return pZ(e)}});var z6=he(W6=>{"use strict";Object.defineProperty(W6,"__esModule",{value:!0});function gZ(e){return Object.prototype.toString.call(e)==="[object Object]"}function vRe(e){var t,r;return gZ(e)===!1?!1:(t=e.constructor,t===void 0?!0:(r=t.prototype,!(gZ(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)))}W6.isPlainObject=vRe});var yZ=he(K6=>{"use strict";Object.defineProperty(K6,"__esModule",{value:!0});K6.createPathRewriter=wRe;var mZ=z6(),IRe=$B(),BRe=Tl(),EZ=BRe.Debug.extend("path-rewriter");function wRe(e){let t;if(!bRe(e))return;if(typeof e=="function")return e;return t=xRe(e),r;function r(n){let i=n;for(let s of t)if(s.regex.test(n)){i=i.replace(s.regex,s.value),EZ('rewriting path from "%s" to "%s"',n,i);break}return i}}function bRe(e){if(typeof e=="function")return!0;if((0,mZ.isPlainObject)(e))return Object.keys(e).length!==0;if(e==null)return!1;throw new Error(IRe.ERRORS.ERR_PATH_REWRITER_CONFIG)}function xRe(e){let t=[];if((0,mZ.isPlainObject)(e))for(let[r,n]of Object.entries(e))t.push({regex:new RegExp(r),value:n}),EZ('rewrite rule created: "%s" ~> "%s"',r,n);return t}});var vZ=he(Z6=>{"use strict";Object.defineProperty(Z6,"__esModule",{value:!0});Z6.getTarget=DRe;var QRe=z6(),FRe=Tl(),CZ=FRe.Debug.extend("router");async function DRe(e,t){let r,n=t.router;return(0,QRe.isPlainObject)(n)?r=SRe(e,n):typeof n=="function"&&(r=await n(e)),r}function SRe(e,t){let r,n=e.headers.host,i=e.url,s=n+i;for(let[o,u]of Object.entries(t))if(RRe(o)){if(s.indexOf(o)>-1){r=u,CZ('match: "%s" -> "%s"',o,r);break}}else if(o===n){r=u,CZ('match: "%s" -> "%s"',n,r);break}return r}function RRe(e){return e.indexOf("/")>-1}});var IZ=he(cw=>{"use strict";Object.defineProperty(cw,"__esModule",{value:!0});cw.HttpProxyMiddleware=void 0;var kRe=Lz(),NRe=$z(),TRe=Wz(),_Re=dZ(),URe=yZ(),ORe=vZ(),vc=Tl(),MRe=VB(),LRe=GB(),X6=class{constructor(t){this.wsInternalSubscribed=!1,this.serverOnCloseSubscribed=!1,this.middleware=async(r,n,i)=>{if(this.shouldProxy(this.proxyOptions.pathFilter,r))try{let o=await this.prepareProxyRequest(r);(0,vc.Debug)("proxy request to target: %O",o.target),this.proxy.web(r,n,o)}catch(o){i?.(o)}else i?.();let s=(r.socket??r.connection)?.server;s&&!this.serverOnCloseSubscribed&&(s.on("close",()=>{(0,vc.Debug)("server close signal received: closing proxy server"),this.proxy.close()}),this.serverOnCloseSubscribed=!0),this.proxyOptions.ws===!0&&this.catchUpgradeRequest(s)},this.catchUpgradeRequest=r=>{this.wsInternalSubscribed||((0,vc.Debug)("subscribing to server upgrade event"),r.on("upgrade",this.handleUpgrade),this.wsInternalSubscribed=!0)},this.handleUpgrade=async(r,n,i)=>{if(this.shouldProxy(this.proxyOptions.pathFilter,r)){let s=await this.prepareProxyRequest(r);this.proxy.ws(r,n,i,s),(0,vc.Debug)("server upgrade event received. Proxying WebSocket")}},this.shouldProxy=(r,n)=>{try{return(0,_Re.matchPathFilter)(r,n.url,n)}catch(i){return(0,vc.Debug)("Error: matchPathFilter() called with request url: ",`"${n.url}"`),this.logger.error(i),!1}},this.prepareProxyRequest=async r=>{this.middleware.__LEGACY_HTTP_PROXY_MIDDLEWARE__&&(r.url=r.originalUrl||r.url);let n=Object.assign({},this.proxyOptions);return await this.applyRouter(r,n),await this.applyPathRewrite(r,this.pathRewriter),n},this.applyRouter=async(r,n)=>{let i;n.router&&(i=await ORe.getTarget(r,n),i&&((0,vc.Debug)('router new target: "%s"',i),n.target=i))},this.applyPathRewrite=async(r,n)=>{if(n){let i=await n(r.url,r);typeof i=="string"?((0,vc.Debug)("pathRewrite new path: %s",r.url),r.url=i):(0,vc.Debug)("pathRewrite: no rewritten path found: %s",r.url)}},(0,NRe.verifyConfig)(t),this.proxyOptions=t,this.logger=(0,LRe.getLogger)(t),(0,vc.Debug)("create proxy server"),this.proxy=kRe.createProxyServer({}),this.registerPlugins(this.proxy,this.proxyOptions),this.pathRewriter=URe.createPathRewriter(this.proxyOptions.pathRewrite),this.middleware.upgrade=(r,n,i)=>{this.wsInternalSubscribed||this.handleUpgrade(r,n,i)}}registerPlugins(t,r){(0,TRe.getPlugins)(r).forEach(i=>{(0,vc.Debug)(`register plugin: "${(0,MRe.getFunctionName)(i)}"`),i(t,r)})}};cw.HttpProxyMiddleware=X6});var t8=he(e8=>{"use strict";Object.defineProperty(e8,"__esModule",{value:!0});e8.createProxyMiddleware=$Re;var PRe=IZ();function $Re(e){let{middleware:t}=new PRe.HttpProxyMiddleware(e);return t}});var BZ=he(n8=>{"use strict";Object.defineProperty(n8,"__esModule",{value:!0});n8.responseInterceptor=jRe;var r8=require("zlib"),HRe=Tl(),qRe=VB(),Gg=HRe.Debug.extend("response-interceptor");function jRe(e){return async function(r,n,i){Gg("intercept proxy response");let s=r,o=Buffer.from("","utf8"),u=GRe(r,r.headers["content-encoding"]);u.on("data",A=>o=Buffer.concat([o,A])),u.on("end",async()=>{YRe(r,i),Gg("call interceptor function: %s",(0,qRe.getFunctionName)(e));let A=Buffer.from(await e(o,s,n,i));Gg("set content-length: %s",Buffer.byteLength(A,"utf8")),i.setHeader("content-length",Buffer.byteLength(A,"utf8")),Gg("write intercepted response"),i.write(A),i.end()}),u.on("error",A=>{i.end(`Error fetching proxied request: ${A.message}`)})}}function GRe(e,t){let r=e,n;switch(t){case"gzip":n=r8.createGunzip();break;case"br":n=r8.createBrotliDecompress();break;case"deflate":n=r8.createInflate();break;default:break}return n&&(Gg("decompress proxy response with 'content-encoding': %s",t),r.pipe(n),r=n),r}function YRe(e,t){if(Gg("copy original response headers"),t.statusCode=e.statusCode,t.statusMessage=e.statusMessage,t.setHeader){let r=Object.keys(e.headers);r=r.filter(n=>!["content-encoding","transfer-encoding"].includes(n)),r.forEach(n=>{let i=e.headers[n];n==="set-cookie"&&(i=Array.isArray(i)?i:[i],i=i.map(s=>s.replace(/Domain=[^;]+?/i,""))),t.setHeader(n,i)})}else t.headers=e.headers}});var wZ=he(i8=>{"use strict";Object.defineProperty(i8,"__esModule",{value:!0});i8.fixRequestBody=JRe;var VRe=require("querystring");function JRe(e,t){let r=t.body;if(!r)return;let n=e.getHeader("Content-Type"),i=s=>{e.setHeader("Content-Length",Buffer.byteLength(s)),e.write(s)};n&&(n.includes("application/json")||n.includes("+json"))&&i(JSON.stringify(r)),n&&n.includes("application/x-www-form-urlencoded")&&i(VRe.stringify(r))}});var bZ=he(Yg=>{"use strict";Object.defineProperty(Yg,"__esModule",{value:!0});Yg.fixRequestBody=Yg.responseInterceptor=void 0;var WRe=BZ();Object.defineProperty(Yg,"responseInterceptor",{enumerable:!0,get:function(){return WRe.responseInterceptor}});var zRe=wZ();Object.defineProperty(Yg,"fixRequestBody",{enumerable:!0,get:function(){return zRe.fixRequestBody}})});var xZ=he(Ch=>{"use strict";var KRe=Ch&&Ch.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),ZRe=Ch&&Ch.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&KRe(t,e,r)};Object.defineProperty(Ch,"__esModule",{value:!0});ZRe(bZ(),Ch)});var QZ=he(o8=>{"use strict";Object.defineProperty(o8,"__esModule",{value:!0});o8.legacyOptionsAdapter=n6e;var XRe=require("url"),e6e=Tl(),t6e=GB(),z1=e6e.Debug.extend("legacy-options-adapter"),r6e={onError:"error",onProxyReq:"proxyReq",onProxyRes:"proxyRes",onProxyReqWs:"proxyReqWs",onOpen:"open",onClose:"close"};function n6e(e,t){let r={},n;if(typeof e=="string"&&XRe.parse(e).host)throw new Error(`Shorthand syntax is removed from legacyCreateProxyMiddleware(). + Please use "legacyCreateProxyMiddleware({ target: 'http://www.example.org' })" instead. + + More details: https://github.com/chimurai/http-proxy-middleware/blob/master/MIGRATION.md#removed-shorthand-usage + `);e&&t?(z1("map legacy context/filter to options.pathFilter"),r={...t,pathFilter:e},n=s8(r),n.warn(`[http-proxy-middleware] Legacy "context" argument is deprecated. Migrate your "context" to "options.pathFilter": + + const options = { + pathFilter: '${e}', + } + + More details: https://github.com/chimurai/http-proxy-middleware/blob/master/MIGRATION.md#removed-context-argument + `)):e&&!t?(r={...e},n=s8(r)):n=s8({}),Object.entries(r6e).forEach(([o,u])=>{r[o]&&(r.on={...r.on},r.on[u]=r[o],z1('map legacy event "%s" to "on.%s"',o,u),n.warn(`[http-proxy-middleware] Legacy "${o}" is deprecated. Migrate to "options.on.${u}": + + const options = { + on: { + ${u}: () => {}, + }, + } + + More details: https://github.com/chimurai/http-proxy-middleware/blob/master/MIGRATION.md#refactored-proxy-events + `))});let i=r.logProvider&&r.logProvider(),s=r.logLevel;return z1("legacy logLevel",s),z1("legacy logProvider: %O",i),typeof s=="string"&&s!=="silent"&&(z1('map "logProvider" to "logger"'),n.warn(`[http-proxy-middleware] Legacy "logLevel" and "logProvider" are deprecated. Migrate to "options.logger": + + const options = { + logger: console, + } + + More details: https://github.com/chimurai/http-proxy-middleware/blob/master/MIGRATION.md#removed-logprovider-and-loglevel-options + `)),r}function s8(e){let t=e.logProvider&&e.logProvider();return t&&(e.logger=t),(0,t6e.getLogger)(e)}});var DZ=he(a8=>{"use strict";Object.defineProperty(a8,"__esModule",{value:!0});a8.legacyCreateProxyMiddleware=a6e;var i6e=t8(),s6e=Tl(),o6e=QZ(),FZ=s6e.Debug.extend("legacy-create-proxy-middleware");function a6e(e,t){FZ("init");let r=(0,o6e.legacyOptionsAdapter)(e,t),n=(0,i6e.createProxyMiddleware)(r);return FZ("add marker for patching req.url (old behavior)"),n.__LEGACY_HTTP_PROXY_MIDDLEWARE__=!0,n}});var SZ=he(lw=>{"use strict";Object.defineProperty(lw,"__esModule",{value:!0});lw.legacyCreateProxyMiddleware=void 0;var u6e=DZ();Object.defineProperty(lw,"legacyCreateProxyMiddleware",{enumerable:!0,get:function(){return u6e.legacyCreateProxyMiddleware}})});var RZ=he(Bh=>{"use strict";var c6e=Bh&&Bh.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),l6e=Bh&&Bh.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&c6e(t,e,r)};Object.defineProperty(Bh,"__esModule",{value:!0});l6e(SZ(),Bh)});var kZ=he(Ic=>{"use strict";var A6e=Ic&&Ic.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Aw=Ic&&Ic.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&A6e(t,e,r)};Object.defineProperty(Ic,"__esModule",{value:!0});Aw(t8(),Ic);Aw(xZ(),Ic);Aw(D6(),Ic);Aw(RZ(),Ic)});(()=>{var YC=Object.create,am=Object.defineProperty,WC=Object.getOwnPropertyDescriptor,XC=Object.getOwnPropertyNames,JC=Object.getPrototypeOf,ZC=Object.prototype.hasOwnProperty,za=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QC=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of XC(t))!ZC.call(e,i)&&i!==r&&am(e,i,{get:()=>t[i],enumerable:!(n=WC(t,i))||n.enumerable});return e},bn=(e,t,r)=>(r=e!=null?YC(JC(e)):{},QC(t||!e||!e.__esModule?am(r,"default",{value:e,enumerable:!0}):r,e)),td=ye(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCorrect=e.isInSubnet=void 0;function t(n){return this.subnetMask{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RE_SUBNET_STRING=e.RE_ADDRESS=e.GROUPS=e.BITS=void 0,e.BITS=32,e.GROUPS=4,e.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,e.RE_SUBNET_STRING=/\/\d{1,2}$/}),gf=ye(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AddressError=void 0;var t=class extends Error{constructor(r,n){super(r),this.name="AddressError",n!==null&&(this.parseMessage=n)}};e.AddressError=t}),sd=ye((e,t)=>{(function(){var r,n=0xdeadbeefcafe,i=(n&16777215)==15715070;function s(ie,le,me){ie!=null&&(typeof ie=="number"?this.fromNumber(ie,le,me):le==null&&typeof ie!="string"?this.fromString(ie,256):this.fromString(ie,le))}function o(){return new s(null)}function u(ie,le,me,Le,ft,xt){for(;--xt>=0;){var Tt=le*this[ie++]+me[Le]+ft;ft=Math.floor(Tt/67108864),me[Le++]=Tt&67108863}return ft}function A(ie,le,me,Le,ft,xt){for(var Tt=le&32767,$t=le>>15;--xt>=0;){var $r=this[ie]&32767,Mr=this[ie++]>>15,Yt=$t*$r+Mr*Tt;$r=Tt*$r+((Yt&32767)<<15)+me[Le]+(ft&1073741823),ft=($r>>>30)+(Yt>>>15)+$t*Mr+(ft>>>30),me[Le++]=$r&1073741823}return ft}function p(ie,le,me,Le,ft,xt){for(var Tt=le&16383,$t=le>>14;--xt>=0;){var $r=this[ie]&16383,Mr=this[ie++]>>14,Yt=$t*$r+Mr*Tt;$r=Tt*$r+((Yt&16383)<<14)+me[Le]+ft,ft=($r>>28)+(Yt>>14)+$t*Mr,me[Le++]=$r&268435455}return ft}var f=typeof navigator<"u";f&&i&&navigator.appName=="Microsoft Internet Explorer"?(s.prototype.am=A,r=30):f&&i&&navigator.appName!="Netscape"?(s.prototype.am=u,r=26):(s.prototype.am=p,r=28),s.prototype.DB=r,s.prototype.DM=(1<=0;--le)ie[le]=this[le];ie.t=this.t,ie.s=this.s}function se(ie){this.t=1,this.s=ie<0?-1:0,ie>0?this[0]=ie:ie<-1?this[0]=ie+this.DV:this.t=0}function ge(ie){var le=o();return le.fromInt(ie),le}function oe(ie,le){var me;if(le==16)me=4;else if(le==8)me=3;else if(le==256)me=8;else if(le==2)me=1;else if(le==32)me=5;else if(le==4)me=2;else{this.fromRadix(ie,le);return}this.t=0,this.s=0;for(var Le=ie.length,ft=!1,xt=0;--Le>=0;){var Tt=me==8?ie[Le]&255:j(ie,Le);if(Tt<0){ie.charAt(Le)=="-"&&(ft=!0);continue}ft=!1,xt==0?this[this.t++]=Tt:xt+me>this.DB?(this[this.t-1]|=(Tt&(1<>this.DB-xt):this[this.t-1]|=Tt<=this.DB&&(xt-=this.DB)}me==8&&ie[0]&128&&(this.s=-1,xt>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==ie;)--this.t}function fe(ie){if(this.s<0)return"-"+this.negate().toString(ie);var le;if(ie==16)le=4;else if(ie==8)le=3;else if(ie==2)le=1;else if(ie==32)le=5;else if(ie==4)le=2;else return this.toRadix(ie);var me=(1<0)for($t>$t)>0&&(ft=!0,xt=P(Le));Tt>=0;)$t>($t+=this.DB-le)):(Le=this[Tt]>>($t-=le)&me,$t<=0&&($t+=this.DB,--Tt)),Le>0&&(ft=!0),ft&&(xt+=P(Le));return ft?xt:"0"}function Ie(){var ie=o();return s.ZERO.subTo(this,ie),ie}function $e(){return this.s<0?this.negate():this}function Ve(ie){var le=this.s-ie.s;if(le!=0)return le;var me=this.t;if(le=me-ie.t,le!=0)return this.s<0?-le:le;for(;--me>=0;)if((le=this[me]-ie[me])!=0)return le;return 0}function Ae(ie){var le=1,me;return(me=ie>>>16)!=0&&(ie=me,le+=16),(me=ie>>8)!=0&&(ie=me,le+=8),(me=ie>>4)!=0&&(ie=me,le+=4),(me=ie>>2)!=0&&(ie=me,le+=2),(me=ie>>1)!=0&&(ie=me,le+=1),le}function Ue(){return this.t<=0?0:this.DB*(this.t-1)+Ae(this[this.t-1]^this.s&this.DM)}function Oe(ie,le){var me;for(me=this.t-1;me>=0;--me)le[me+ie]=this[me];for(me=ie-1;me>=0;--me)le[me]=0;le.t=this.t+ie,le.s=this.s}function ct(ie,le){for(var me=ie;me=0;--$t)le[$t+xt+1]=this[$t]>>Le|Tt,Tt=(this[$t]&ft)<=0;--$t)le[$t]=0;le[xt]=Tt,le.t=this.t+xt+1,le.s=this.s,le.clamp()}function Qe(ie,le){le.s=this.s;var me=Math.floor(ie/this.DB);if(me>=this.t){le.t=0;return}var Le=ie%this.DB,ft=this.DB-Le,xt=(1<>Le;for(var Tt=me+1;Tt>Le;Le>0&&(le[this.t-me-1]|=(this.s&xt)<>=this.DB;if(ie.t>=this.DB;Le+=this.s}else{for(Le+=this.s;me>=this.DB;Le-=ie.s}le.s=Le<0?-1:0,Le<-1?le[me++]=this.DV+Le:Le>0&&(le[me++]=Le),le.t=me,le.clamp()}function kt(ie,le){var me=this.abs(),Le=ie.abs(),ft=me.t;for(le.t=ft+Le.t;--ft>=0;)le[ft]=0;for(ft=0;ft=0;)ie[me]=0;for(me=0;me=le.DV&&(ie[me+le.t]-=le.DV,ie[me+le.t+1]=1)}ie.t>0&&(ie[ie.t-1]+=le.am(me,le[me],ie,2*me,0,1)),ie.s=0,ie.clamp()}function We(ie,le,me){var Le=ie.abs();if(!(Le.t<=0)){var ft=this.abs();if(ft.t0?(Le.lShiftTo($r,xt),ft.lShiftTo($r,me)):(Le.copyTo(xt),ft.copyTo(me));var Mr=xt.t,Yt=xt[Mr-1];if(Yt!=0){var ji=Yt*(1<1?xt[Mr-2]>>this.F2:0),Os=this.FV/ji,ku=(1<=0&&(me[me.t++]=1,me.subTo(ln,me)),s.ONE.dlShiftTo(Mr,ln),ln.subTo(xt,xt);xt.t=0;){var kc=me[--Gi]==Yt?this.DM:Math.floor(me[Gi]*Os+(me[Gi-1]+ps)*ku);if((me[Gi]+=xt.am(0,kc,me,_u,0,Mr))0&&me.rShiftTo($r,me),Tt<0&&s.ZERO.subTo(me,me)}}}function pt(ie){var le=o();return this.abs().divRemTo(ie,null,le),this.s<0&&le.compareTo(s.ZERO)>0&&ie.subTo(le,le),le}function Pt(ie){this.m=ie}function nn(ie){return ie.s<0||ie.compareTo(this.m)>=0?ie.mod(this.m):ie}function nr(ie){return ie}function jt(ie){ie.divRemTo(this.m,null,ie)}function Rt(ie,le,me){ie.multiplyTo(le,me),this.reduce(me)}function vn(ie,le){ie.squareTo(le),this.reduce(le)}Pt.prototype.convert=nn,Pt.prototype.revert=nr,Pt.prototype.reduce=jt,Pt.prototype.mulTo=Rt,Pt.prototype.sqrTo=vn;function Xt(){if(this.t<1)return 0;var ie=this[0];if(!(ie&1))return 0;var le=ie&3;return le=le*(2-(ie&15)*le)&15,le=le*(2-(ie&255)*le)&255,le=le*(2-((ie&65535)*le&65535))&65535,le=le*(2-ie*le%this.DV)%this.DV,le>0?this.DV-le:-le}function Ct(ie){this.m=ie,this.mp=ie.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(le,le),le}function Qt(ie){var le=o();return ie.copyTo(le),this.reduce(le),le}function Gt(ie){for(;ie.t<=this.mt2;)ie[ie.t++]=0;for(var le=0;le>15)*this.mpl&this.um)<<15)&ie.DM;for(me=le+this.m.t,ie[me]+=this.m.am(0,Le,ie,le,0,this.m.t);ie[me]>=ie.DV;)ie[me]-=ie.DV,ie[++me]++}ie.clamp(),ie.drShiftTo(this.m.t,ie),ie.compareTo(this.m)>=0&&ie.subTo(this.m,ie)}function W(ie,le){ie.squareTo(le),this.reduce(le)}function _(ie,le,me){ie.multiplyTo(le,me),this.reduce(me)}Ct.prototype.convert=er,Ct.prototype.revert=Qt,Ct.prototype.reduce=Gt,Ct.prototype.mulTo=_,Ct.prototype.sqrTo=W;function Y(){return(this.t>0?this[0]&1:this.s)==0}function ke(ie,le){if(ie>4294967295||ie<1)return s.ONE;var me=o(),Le=o(),ft=le.convert(this),xt=Ae(ie)-1;for(ft.copyTo(me);--xt>=0;)if(le.sqrTo(me,Le),(ie&1<0)le.mulTo(Le,ft,me);else{var Tt=me;me=Le,Le=Tt}return le.revert(me)}function Xe(ie,le){var me;return ie<256||le.isEven()?me=new Pt(le):me=new Ct(le),this.exp(ie,me)}s.prototype.copyTo=re,s.prototype.fromInt=se,s.prototype.fromString=oe,s.prototype.clamp=be,s.prototype.dlShiftTo=Oe,s.prototype.drShiftTo=ct,s.prototype.lShiftTo=Re,s.prototype.rShiftTo=Qe,s.prototype.subTo=ze,s.prototype.multiplyTo=kt,s.prototype.squareTo=st,s.prototype.divRemTo=We,s.prototype.invDigit=Xt,s.prototype.isEven=Y,s.prototype.exp=ke,s.prototype.toString=fe,s.prototype.negate=Ie,s.prototype.abs=$e,s.prototype.compareTo=Ve,s.prototype.bitLength=Ue,s.prototype.mod=pt,s.prototype.modPowInt=Xe,s.ZERO=ge(0),s.ONE=ge(1);function Jt(){var ie=o();return this.copyTo(ie),ie}function xr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function Ar(){return this.t==0?this.s:this[0]<<16>>16}function Dr(ie){return Math.floor(Math.LN2*this.DB/Math.log(ie))}function ui(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Us(ie){if(ie==null&&(ie=10),this.signum()==0||ie<2||ie>36)return"0";var le=this.chunkSize(ie),me=Math.pow(ie,le),Le=ge(me),ft=o(),xt=o(),Tt="";for(this.divRemTo(Le,ft,xt);ft.signum()>0;)Tt=(me+xt.intValue()).toString(ie).substr(1)+Tt,ft.divRemTo(Le,ft,xt);return xt.intValue().toString(ie)+Tt}function ti(ie,le){this.fromInt(0),le==null&&(le=10);for(var me=this.chunkSize(le),Le=Math.pow(le,me),ft=!1,xt=0,Tt=0,$t=0;$t=me&&(this.dMultiply(Le),this.dAddOffset(Tt,0),xt=0,Tt=0)}xt>0&&(this.dMultiply(Math.pow(le,xt)),this.dAddOffset(Tt,0)),ft&&s.ZERO.subTo(this,this)}function U(ie,le,me){if(typeof le=="number")if(ie<2)this.fromInt(1);else for(this.fromNumber(ie,me),this.testBit(ie-1)||this.bitwiseTo(s.ONE.shiftLeft(ie-1),Ke,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(le);)this.dAddOffset(2,0),this.bitLength()>ie&&this.subTo(s.ONE.shiftLeft(ie-1),this);else{var Le=new Array,ft=ie&7;Le.length=(ie>>3)+1,le.nextBytes(Le),ft>0?Le[0]&=(1<0)for(me>me)!=(this.s&this.DM)>>me&&(le[ft++]=Le|this.s<=0;)me<8?(Le=(this[ie]&(1<>(me+=this.DB-8)):(Le=this[ie]>>(me-=8)&255,me<=0&&(me+=this.DB,--ie)),Le&128&&(Le|=-256),ft==0&&(this.s&128)!=(Le&128)&&++ft,(ft>0||Le!=this.s)&&(le[ft++]=Le);return le}function L(ie){return this.compareTo(ie)==0}function X(ie){return this.compareTo(ie)<0?this:ie}function ve(ie){return this.compareTo(ie)>0?this:ie}function Se(ie,le,me){var Le,ft,xt=Math.min(ie.t,this.t);for(Le=0;Le>=16,le+=16),ie&255||(ie>>=8,le+=8),ie&15||(ie>>=4,le+=4),ie&3||(ie>>=2,le+=2),ie&1||++le,le}function _n(){for(var ie=0;ie=this.t?this.s!=0:(this[le]&1<>=this.DB;if(ie.t>=this.DB;Le+=this.s}else{for(Le+=this.s;me>=this.DB;Le+=ie.s}le.s=Le<0?-1:0,Le>0?le[me++]=Le:Le<-1&&(le[me++]=this.DV+Le),le.t=me,le.clamp()}function Fc(ie){var le=o();return this.addTo(ie,le),le}function cp(ie){var le=o();return this.subTo(ie,le),le}function lp(ie){var le=o();return this.multiplyTo(ie,le),le}function Ap(){var ie=o();return this.squareTo(ie),ie}function pp(ie){var le=o();return this.divRemTo(ie,le,null),le}function Ml(ie){var le=o();return this.divRemTo(ie,null,le),le}function fp(ie){var le=o(),me=o();return this.divRemTo(ie,le,me),new Array(le,me)}function hp(ie){this[this.t]=this.am(0,ie-1,this,0,0,this.t),++this.t,this.clamp()}function dp(ie,le){if(ie!=0){for(;this.t<=le;)this[this.t++]=0;for(this[le]+=ie;this[le]>=this.DV;)this[le]-=this.DV,++le>=this.t&&(this[this.t++]=0),++this[le]}}function ea(){}function Ll(ie){return ie}function gp(ie,le,me){ie.multiplyTo(le,me)}function mp(ie,le){ie.squareTo(le)}ea.prototype.convert=Ll,ea.prototype.revert=Ll,ea.prototype.mulTo=gp,ea.prototype.sqrTo=mp;function Ep(ie){return this.exp(ie,new ea)}function yp(ie,le,me){var Le=Math.min(this.t+ie.t,le);for(me.s=0,me.t=Le;Le>0;)me[--Le]=0;var ft;for(ft=me.t-this.t;Le=0;)me[Le]=0;for(Le=Math.max(le-this.t,0);Le2*this.m.t)return ie.mod(this.m);if(ie.compareTo(this.m)<0)return ie;var le=o();return ie.copyTo(le),this.reduce(le),le}function La(ie){return ie}function vp(ie){for(ie.drShiftTo(this.m.t-1,this.r2),ie.t>this.m.t+1&&(ie.t=this.m.t+1,ie.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);ie.compareTo(this.r2)<0;)ie.dAddOffset(1,this.m.t+1);for(ie.subTo(this.r2,ie);ie.compareTo(this.m)>=0;)ie.subTo(this.m,ie)}function Ip(ie,le){ie.squareTo(le),this.reduce(le)}function Pl(ie,le,me){ie.multiplyTo(le,me),this.reduce(me)}vs.prototype.convert=Ma,vs.prototype.revert=La,vs.prototype.reduce=vp,vs.prototype.mulTo=Pl,vs.prototype.sqrTo=Ip;function xo(ie,le){var me=ie.bitLength(),Le,ft=ge(1),xt;if(me<=0)return ft;me<18?Le=1:me<48?Le=3:me<144?Le=4:me<768?Le=5:Le=6,me<8?xt=new Pt(le):le.isEven()?xt=new vs(le):xt=new Ct(le);var Tt=new Array,$t=3,$r=Le-1,Mr=(1<1){var Yt=o();for(xt.sqrTo(Tt[1],Yt);$t<=Mr;)Tt[$t]=o(),xt.mulTo(Yt,Tt[$t-2],Tt[$t]),$t+=2}var ji=ie.t-1,Os,ku=!0,ps=o(),Gi;for(me=Ae(ie[ji])-1;ji>=0;){for(me>=$r?Os=ie[ji]>>me-$r&Mr:(Os=(ie[ji]&(1<0&&(Os|=ie[ji-1]>>this.DB+me-$r)),$t=Le;!(Os&1);)Os>>=1,--$t;if((me-=$t)<0&&(me+=this.DB,--ji),ku)Tt[Os].copyTo(ft),ku=!1;else{for(;$t>1;)xt.sqrTo(ft,ps),xt.sqrTo(ps,ft),$t-=2;$t>0?xt.sqrTo(ft,ps):(Gi=ft,ft=ps,ps=Gi),xt.mulTo(ps,Tt[Os],ft)}for(;ji>=0&&!(ie[ji]&1<0&&(le.rShiftTo(xt,le),me.rShiftTo(xt,me));le.signum()>0;)(ft=le.getLowestSetBit())>0&&le.rShiftTo(ft,le),(ft=me.getLowestSetBit())>0&&me.rShiftTo(ft,me),le.compareTo(me)>=0?(le.subTo(me,le),le.rShiftTo(1,le)):(me.subTo(le,me),me.rShiftTo(1,me));return xt>0&&me.lShiftTo(xt,me),me}function Qo(ie){if(ie<=0)return 0;var le=this.DV%ie,me=this.s<0?ie-1:0;if(this.t>0)if(le==0)me=this[0]%ie;else for(var Le=this.t-1;Le>=0;--Le)me=(le*me+this[Le])%ie;return me}function Bp(ie){var le=ie.isEven();if(this.isEven()&&le||ie.signum()==0)return s.ZERO;for(var me=ie.clone(),Le=this.clone(),ft=ge(1),xt=ge(0),Tt=ge(0),$t=ge(1);me.signum()!=0;){for(;me.isEven();)me.rShiftTo(1,me),le?((!ft.isEven()||!xt.isEven())&&(ft.addTo(this,ft),xt.subTo(ie,xt)),ft.rShiftTo(1,ft)):xt.isEven()||xt.subTo(ie,xt),xt.rShiftTo(1,xt);for(;Le.isEven();)Le.rShiftTo(1,Le),le?((!Tt.isEven()||!$t.isEven())&&(Tt.addTo(this,Tt),$t.subTo(ie,$t)),Tt.rShiftTo(1,Tt)):$t.isEven()||$t.subTo(ie,$t),$t.rShiftTo(1,$t);me.compareTo(Le)>=0?(me.subTo(Le,me),le&&ft.subTo(Tt,ft),xt.subTo($t,xt)):(Le.subTo(me,Le),le&&Tt.subTo(ft,Tt),$t.subTo(xt,$t))}if(Le.compareTo(s.ONE)!=0)return s.ZERO;if($t.compareTo(ie)>=0)return $t.subtract(ie);if($t.signum()<0)$t.addTo(ie,$t);else return $t;return $t.signum()<0?$t.add(ie):$t}var Fn=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],wp=(1<<26)/Fn[Fn.length-1];function bp(ie){var le,me=this.abs();if(me.t==1&&me[0]<=Fn[Fn.length-1]){for(le=0;le>1,ie>Fn.length&&(ie=Fn.length);for(var ft=o(),xt=0;xt>8&255,_i[Dn++]^=ie>>16&255,_i[Dn++]^=ie>>24&255,Dn>=hn&&(Dn-=hn)}function ci(){Fu(new Date().getTime())}if(_i==null){_i=new Array,Dn=0;var Ui;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var Dc=new Uint8Array(32);for(window.crypto.getRandomValues(Dc),Ui=0;Ui<32;++Ui)_i[Dn++]=Dc[Ui]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var Sc=window.crypto.random(32);for(Ui=0;Ui>>8,_i[Dn++]=Ui&255;Dn=0,ci()}function Du(){if(ta==null){for(ci(),ta=xi(),ta.init(_i),Dn=0;Dn<_i.length;++Dn)_i[Dn]=0;Dn=0}return ta.next()}function ql(ie){var le;for(le=0;le{(function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function r(u){return i(o(u),arguments)}function n(u,A){return r.apply(null,[u].concat(A||[]))}function i(u,A){var p=1,f=u.length,c,m="",w,C,F,P,j,re,se,ge;for(w=0;w=0),F.type){case"b":c=parseInt(c,10).toString(2);break;case"c":c=String.fromCharCode(parseInt(c,10));break;case"d":case"i":c=parseInt(c,10);break;case"j":c=JSON.stringify(c,null,F.width?parseInt(F.width):0);break;case"e":c=F.precision?parseFloat(c).toExponential(F.precision):parseFloat(c).toExponential();break;case"f":c=F.precision?parseFloat(c).toFixed(F.precision):parseFloat(c);break;case"g":c=F.precision?String(Number(c.toPrecision(F.precision))):parseFloat(c);break;case"o":c=(parseInt(c,10)>>>0).toString(8);break;case"s":c=String(c),c=F.precision?c.substring(0,F.precision):c;break;case"t":c=String(!!c),c=F.precision?c.substring(0,F.precision):c;break;case"T":c=Object.prototype.toString.call(c).slice(8,-1).toLowerCase(),c=F.precision?c.substring(0,F.precision):c;break;case"u":c=parseInt(c,10)>>>0;break;case"v":c=c.valueOf(),c=F.precision?c.substring(0,F.precision):c;break;case"x":c=(parseInt(c,10)>>>0).toString(16);break;case"X":c=(parseInt(c,10)>>>0).toString(16).toUpperCase();break}t.json.test(F.type)?m+=c:(t.number.test(F.type)&&(!se||F.sign)?(ge=se?"+":"-",c=c.toString().replace(t.sign,"")):ge="",j=F.pad_char?F.pad_char==="0"?"0":F.pad_char.charAt(1):" ",re=F.width-(ge+c).length,P=F.width&&re>0?j.repeat(re):"",m+=F.align?ge+c+P:j==="0"?ge+P+c:P+ge+c)}return m}var s=Object.create(null);function o(u){if(s[u])return s[u];for(var A=u,p,f=[],c=0;A;){if((p=t.text.exec(A))!==null)f.push(p[0]);else if((p=t.modulo.exec(A))!==null)f.push("%");else if((p=t.placeholder.exec(A))!==null){if(p[2]){c|=1;var m=[],w=p[2],C=[];if((C=t.key.exec(w))!==null)for(m.push(C[1]);(w=w.substring(C[0].length))!=="";)if((C=t.key_access.exec(w))!==null)m.push(C[1]);else if((C=t.index_access.exec(w))!==null)m.push(C[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");p[2]=m}else c|=2;if(c===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");f.push({placeholder:p[0],param_no:p[1],keys:p[2],sign:p[3],pad_char:p[4],align:p[5],width:p[6],precision:p[7],type:p[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");A=A.substring(p[0].length)}return s[u]=f}typeof e<"u"&&(e.sprintf=r,e.vsprintf=n),typeof window<"u"&&(window.sprintf=r,window.vsprintf=n,typeof define=="function"&&define.amd&&define(function(){return{sprintf:r,vsprintf:n}}))})()}),od=ye(e=>{"use strict";var t=e&&e.__createBinding||(Object.create?function(f,c,m,w){w===void 0&&(w=m);var C=Object.getOwnPropertyDescriptor(c,m);(!C||("get"in C?!c.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return c[m]}}),Object.defineProperty(f,w,C)}:function(f,c,m,w){w===void 0&&(w=m),f[w]=c[m]}),r=e&&e.__setModuleDefault||(Object.create?function(f,c){Object.defineProperty(f,"default",{enumerable:!0,value:c})}:function(f,c){f.default=c}),n=e&&e.__importStar||function(f){if(f&&f.__esModule)return f;var c={};if(f!=null)for(var m in f)m!=="default"&&Object.prototype.hasOwnProperty.call(f,m)&&t(c,f,m);return r(c,f),c};Object.defineProperty(e,"__esModule",{value:!0}),e.Address4=void 0;var i=n(td()),s=n(rd()),o=gf(),u=sd(),A=Tc(),p=class Bu{constructor(c){this.groups=s.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=i.isCorrect(s.BITS),this.isInSubnet=i.isInSubnet,this.address=c;let m=s.RE_SUBNET_STRING.exec(c);if(m){if(this.parsedSubnet=m[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>s.BITS)throw new o.AddressError("Invalid subnet mask.");c=c.replace(s.RE_SUBNET_STRING,"")}this.addressMinusSuffix=c,this.parsedAddress=this.parse(c)}static isValid(c){try{return new Bu(c),!0}catch{return!1}}parse(c){let m=c.split(".");if(!c.match(s.RE_ADDRESS))throw new o.AddressError("Invalid IPv4 address.");return m}correctForm(){return this.parsedAddress.map(c=>parseInt(c,10)).join(".")}static fromHex(c){let m=c.replace(/:/g,"").padStart(8,"0"),w=[],C;for(C=0;C<8;C+=2){let F=m.slice(C,C+2);w.push(parseInt(F,16))}return new Bu(w.join("."))}static fromInteger(c){return Bu.fromHex(c.toString(16))}static fromArpa(c){let m=c.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new Bu(m)}toHex(){return this.parsedAddress.map(c=>(0,A.sprintf)("%02x",parseInt(c,10))).join(":")}toArray(){return this.parsedAddress.map(c=>parseInt(c,10))}toGroup6(){let c=[],m;for(m=0;m(0,A.sprintf)("%02x",parseInt(c,10))).join(""),16)}_startAddress(){return new u.BigInteger(this.mask()+"0".repeat(s.BITS-this.subnetMask),2)}startAddress(){return Bu.fromBigInteger(this._startAddress())}startAddressExclusive(){let c=new u.BigInteger("1");return Bu.fromBigInteger(this._startAddress().add(c))}_endAddress(){return new u.BigInteger(this.mask()+"1".repeat(s.BITS-this.subnetMask),2)}endAddress(){return Bu.fromBigInteger(this._endAddress())}endAddressExclusive(){let c=new u.BigInteger("1");return Bu.fromBigInteger(this._endAddress().subtract(c))}static fromBigInteger(c){return Bu.fromInteger(parseInt(c.toString(),10))}mask(c){return c===void 0&&(c=this.subnetMask),this.getBitsBase2(0,c)}getBitsBase2(c,m){return this.binaryZeroPad().slice(c,m)}reverseForm(c){c||(c={});let m=this.correctForm().split(".").reverse().join(".");return c.omitSuffix?m:(0,A.sprintf)("%s.in-addr.arpa.",m)}isMulticast(){return this.isInSubnet(new Bu("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(s.BITS,"0")}groupForV6(){let c=this.parsedAddress;return this.address.replace(s.RE_ADDRESS,(0,A.sprintf)('%s.%s',c.slice(0,2).join("."),c.slice(2,4).join(".")))}};e.Address4=p}),ud=ye(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RE_URL_WITH_PORT=e.RE_URL=e.RE_ZONE_STRING=e.RE_SUBNET_STRING=e.RE_BAD_ADDRESS=e.RE_BAD_CHARACTERS=e.TYPES=e.SCOPES=e.GROUPS=e.BITS=void 0,e.BITS=128,e.GROUPS=8,e.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},e.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"},e.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi,e.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,e.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/,e.RE_ZONE_STRING=/%.*$/,e.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),e.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)}),cd=ye(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.simpleGroup=e.spanLeadingZeroes=e.spanAll=e.spanAllZeroes=void 0;var t=Tc();function r(u){return u.replace(/(0+)/g,'$1')}e.spanAllZeroes=r;function n(u,A=0){return u.split("").map((p,f)=>(0,t.sprintf)('%s',p,f+A,r(p))).join("")}e.spanAll=n;function i(u){return u.replace(/^(0+)/,'$1')}function s(u){return u.split(":").map(A=>i(A)).join(":")}e.spanLeadingZeroes=s;function o(u,A=0){return u.split(":").map((p,f)=>/group-v4/.test(p)?p:(0,t.sprintf)('%s',f+A,i(p)))}e.simpleGroup=o}),wm=ye(e=>{"use strict";var t=e&&e.__createBinding||(Object.create?function(f,c,m,w){w===void 0&&(w=m);var C=Object.getOwnPropertyDescriptor(c,m);(!C||("get"in C?!c.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return c[m]}}),Object.defineProperty(f,w,C)}:function(f,c,m,w){w===void 0&&(w=m),f[w]=c[m]}),r=e&&e.__setModuleDefault||(Object.create?function(f,c){Object.defineProperty(f,"default",{enumerable:!0,value:c})}:function(f,c){f.default=c}),n=e&&e.__importStar||function(f){if(f&&f.__esModule)return f;var c={};if(f!=null)for(var m in f)m!=="default"&&Object.prototype.hasOwnProperty.call(f,m)&&t(c,f,m);return r(c,f),c};Object.defineProperty(e,"__esModule",{value:!0}),e.possibleElisions=e.simpleRegularExpression=e.ADDRESS_BOUNDARY=e.padGroup=e.groupPossibilities=void 0;var i=n(ud()),s=Tc();function o(f){return(0,s.sprintf)("(%s)",f.join("|"))}e.groupPossibilities=o;function u(f){return f.length<4?(0,s.sprintf)("0{0,%d}%s",4-f.length,f):f}e.padGroup=u,e.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function A(f){let c=[];f.forEach((w,C)=>{parseInt(w,16)===0&&c.push(C)});let m=c.map(w=>f.map((C,F)=>{if(F===w){let P=F===0||F===i.GROUPS-1?":":"";return o([u(C),P])}return u(C)}).join(":"));return m.push(f.map(u).join(":")),o(m)}e.simpleRegularExpression=A;function p(f,c,m){let w=c?"":":",C=m?"":":",F=[];!c&&!m&&F.push("::"),c&&m&&F.push(""),(m&&!c||!m&&c)&&F.push(":"),F.push((0,s.sprintf)("%s(:0{1,4}){1,%d}",w,f-1)),F.push((0,s.sprintf)("(0{1,4}:){1,%d}%s",f-1,C)),F.push((0,s.sprintf)("(0{1,4}:){%d}0{1,4}",f-1));for(let P=1;P{"use strict";var t=e&&e.__createBinding||(Object.create?function(ge,oe,be,fe){fe===void 0&&(fe=be);var Ie=Object.getOwnPropertyDescriptor(oe,be);(!Ie||("get"in Ie?!oe.__esModule:Ie.writable||Ie.configurable))&&(Ie={enumerable:!0,get:function(){return oe[be]}}),Object.defineProperty(ge,fe,Ie)}:function(ge,oe,be,fe){fe===void 0&&(fe=be),ge[fe]=oe[be]}),r=e&&e.__setModuleDefault||(Object.create?function(ge,oe){Object.defineProperty(ge,"default",{enumerable:!0,value:oe})}:function(ge,oe){ge.default=oe}),n=e&&e.__importStar||function(ge){if(ge&&ge.__esModule)return ge;var oe={};if(ge!=null)for(var be in ge)be!=="default"&&Object.prototype.hasOwnProperty.call(ge,be)&&t(oe,ge,be);return r(oe,ge),oe};Object.defineProperty(e,"__esModule",{value:!0}),e.Address6=void 0;var i=n(td()),s=n(rd()),o=n(ud()),u=n(cd()),A=od(),p=wm(),f=gf(),c=sd(),m=Tc();function w(ge){if(!ge)throw new Error("Assertion failed.")}function C(ge){let oe=/(\d+)(\d{3})/;for(;oe.test(ge);)ge=ge.replace(oe,"$1,$2");return ge}function F(ge){return ge=ge.replace(/^(0{1,})([1-9]+)$/,'$1$2'),ge=ge.replace(/^(0{1,})(0)$/,'$1$2'),ge}function P(ge,oe){let be=[],fe=[],Ie;for(Ie=0;Ieoe[1]&&fe.push(ge[Ie]);return be.concat(["compact"]).concat(fe)}function j(ge){return(0,m.sprintf)("%04x",parseInt(ge,16))}function re(ge){return ge&255}var se=class ys{constructor(oe,be){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=i.isInSubnet,this.isCorrect=i.isCorrect(o.BITS),be===void 0?this.groups=o.GROUPS:this.groups=be,this.address=oe;let fe=o.RE_SUBNET_STRING.exec(oe);if(fe){if(this.parsedSubnet=fe[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>o.BITS)throw new f.AddressError("Invalid subnet mask.");oe=oe.replace(o.RE_SUBNET_STRING,"")}else if(/\//.test(oe))throw new f.AddressError("Invalid subnet mask.");let Ie=o.RE_ZONE_STRING.exec(oe);Ie&&(this.zone=Ie[0],oe=oe.replace(o.RE_ZONE_STRING,"")),this.addressMinusSuffix=oe,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(oe){try{return new ys(oe),!0}catch{return!1}}static fromBigInteger(oe){let be=oe.toString(16).padStart(32,"0"),fe=[],Ie;for(Ie=0;Ie65536)&&(fe=null)):fe=null,{address:new ys(be),port:fe}}static fromAddress4(oe){let be=new A.Address4(oe),fe=o.BITS-(s.BITS-be.subnetMask);return new ys(`::ffff:${be.correctForm()}/${fe}`)}static fromArpa(oe){let be=oe.replace(/(\.ip6\.arpa)?\.$/,""),fe=7;if(be.length!==63)throw new f.AddressError("Invalid 'ip6.arpa' form.");let Ie=be.split(".").reverse();for(let $e=fe;$e>0;$e--){let Ve=$e*4;Ie.splice(Ve,0,":")}return be=Ie.join(""),new ys(be)}microsoftTranscription(){return(0,m.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(oe=this.subnetMask){return this.getBitsBase2(0,oe)}possibleSubnets(oe=128){let be=o.BITS-this.subnetMask,fe=Math.abs(oe-o.BITS),Ie=be-fe;return Ie<0?"0":C(new c.BigInteger("2",10).pow(Ie).toString(10))}_startAddress(){return new c.BigInteger(this.mask()+"0".repeat(o.BITS-this.subnetMask),2)}startAddress(){return ys.fromBigInteger(this._startAddress())}startAddressExclusive(){let oe=new c.BigInteger("1");return ys.fromBigInteger(this._startAddress().add(oe))}_endAddress(){return new c.BigInteger(this.mask()+"1".repeat(o.BITS-this.subnetMask),2)}endAddress(){return ys.fromBigInteger(this._endAddress())}endAddressExclusive(){let oe=new c.BigInteger("1");return ys.fromBigInteger(this._endAddress().subtract(oe))}getScope(){let oe=o.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&oe!=="Link local"&&(oe="Global"),oe||"Unknown"}getType(){for(let oe of Object.keys(o.TYPES))if(this.isInSubnet(new ys(oe)))return o.TYPES[oe];return"Global unicast"}getBits(oe,be){return new c.BigInteger(this.getBitsBase2(oe,be),2)}getBitsBase2(oe,be){return this.binaryZeroPad().slice(oe,be)}getBitsBase16(oe,be){let fe=be-oe;if(fe%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(oe,be).toString(16).padStart(fe/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,o.BITS)}reverseForm(oe){oe||(oe={});let be=Math.floor(this.subnetMask/4),fe=this.canonicalForm().replace(/:/g,"").split("").slice(0,be).reverse().join(".");return be>0?oe.omitSuffix?fe:(0,m.sprintf)("%s.ip6.arpa.",fe):oe.omitSuffix?"":"ip6.arpa."}correctForm(){let oe,be=[],fe=0,Ie=[];for(oe=0;oe0&&(fe>1&&Ie.push([oe-fe,oe-1]),fe=0)}fe>1&&Ie.push([this.parsedAddress.length-fe,this.parsedAddress.length-1]);let $e=Ie.map(Ae=>Ae[1]-Ae[0]+1);if(Ie.length>0){let Ae=$e.indexOf(Math.max(...$e));be=P(this.parsedAddress,Ie[Ae])}else be=this.parsedAddress;for(oe=0;oe1?"s":"",be.join("")),oe.replace(o.RE_BAD_CHARACTERS,'$1'));let fe=oe.match(o.RE_BAD_ADDRESS);if(fe)throw new f.AddressError((0,m.sprintf)("Address failed regex: %s",fe.join("")),oe.replace(o.RE_BAD_ADDRESS,'$1'));let Ie=[],$e=oe.split("::");if($e.length===2){let Ve=$e[0].split(":"),Ae=$e[1].split(":");Ve.length===1&&Ve[0]===""&&(Ve=[]),Ae.length===1&&Ae[0]===""&&(Ae=[]);let Ue=this.groups-(Ve.length+Ae.length);if(!Ue)throw new f.AddressError("Error parsing groups");this.elidedGroups=Ue,this.elisionBegin=Ve.length,this.elisionEnd=Ve.length+this.elidedGroups,Ie=Ie.concat(Ve);for(let Oe=0;Oe(0,m.sprintf)("%x",parseInt(Ve,16))),Ie.length!==this.groups)throw new f.AddressError("Incorrect number of groups found");return Ie}canonicalForm(){return this.parsedAddress.map(j).join(":")}decimal(){return this.parsedAddress.map(oe=>(0,m.sprintf)("%05d",parseInt(oe,16))).join(":")}bigInteger(){return new c.BigInteger(this.parsedAddress.map(j).join(""),16)}to4(){let oe=this.binaryZeroPad().split("");return A.Address4.fromHex(new c.BigInteger(oe.slice(96,128).join(""),2).toString(16))}to4in6(){let oe=this.to4(),be=new ys(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),fe="";return/:$/.test(be)||(fe=":"),be+fe+oe.address}inspectTeredo(){let oe=this.getBitsBase16(0,32),be=this.getBits(80,96).xor(new c.BigInteger("ffff",16)).toString(),fe=A.Address4.fromHex(this.getBitsBase16(32,64)),Ie=A.Address4.fromHex(this.getBits(96,128).xor(new c.BigInteger("ffffffff",16)).toString(16)),$e=this.getBits(64,80),Ve=this.getBitsBase2(64,80),Ae=$e.testBit(15),Ue=$e.testBit(14),Oe=$e.testBit(8),ct=$e.testBit(9),Re=new c.BigInteger(Ve.slice(2,6)+Ve.slice(8,16),2).toString(10);return{prefix:(0,m.sprintf)("%s:%s",oe.slice(0,4),oe.slice(4,8)),server4:fe.address,client4:Ie.address,flags:Ve,coneNat:Ae,microsoft:{reserved:Ue,universalLocal:ct,groupIndividual:Oe,nonce:Re},udpPort:be}}inspect6to4(){let oe=this.getBitsBase16(0,16),be=A.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,m.sprintf)("%s",oe.slice(0,4)),gateway:be.address}}to6to4(){if(!this.is4())return null;let oe=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new ys(oe)}toByteArray(){let oe=this.bigInteger().toByteArray();return oe.length===17&&oe[0]===0?oe.slice(1):oe}toUnsignedByteArray(){return this.toByteArray().map(re)}static fromByteArray(oe){return this.fromUnsignedByteArray(oe.map(re))}static fromUnsignedByteArray(oe){let be=new c.BigInteger("256",10),fe=new c.BigInteger("0",10),Ie=new c.BigInteger("1",10);for(let $e=oe.length-1;$e>=0;$e--)fe=fe.add(Ie.multiply(new c.BigInteger(oe[$e].toString(10),10))),Ie=Ie.multiply(be);return ys.fromBigInteger(fe)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new ys("2001::/32"))}is6to4(){return this.isInSubnet(new ys("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(oe){return oe===void 0?oe="":oe=(0,m.sprintf)(":%s",oe),(0,m.sprintf)("http://[%s]%s/",this.correctForm(),oe)}link(oe){oe||(oe={}),oe.className===void 0&&(oe.className=""),oe.prefix===void 0&&(oe.prefix="/#address="),oe.v4===void 0&&(oe.v4=!1);let be=this.correctForm;return oe.v4&&(be=this.to4in6),oe.className?(0,m.sprintf)('%2$s',oe.prefix,be.call(this),oe.className):(0,m.sprintf)('%2$s',oe.prefix,be.call(this))}group(){if(this.elidedGroups===0)return u.simpleGroup(this.address).join(":");w(typeof this.elidedGroups=="number"),w(typeof this.elisionBegin=="number");let oe=[],[be,fe]=this.address.split("::");be.length?oe.push(...u.simpleGroup(be)):oe.push("");let Ie=["hover-group"];for(let $e=this.elisionBegin;$e',Ie.join(" "))),fe.length?oe.push(...u.simpleGroup(fe,this.elisionEnd)):oe.push(""),this.is4()&&(w(this.address4 instanceof A.Address4),oe.pop(),oe.push(this.address4.groupForV6())),oe.join(":")}regularExpressionString(oe=!1){let be=[],fe=new ys(this.correctForm());if(fe.elidedGroups===0)be.push((0,p.simpleRegularExpression)(fe.parsedAddress));else if(fe.elidedGroups===o.GROUPS)be.push((0,p.possibleElisions)(o.GROUPS));else{let Ie=fe.address.split("::");Ie[0].length&&be.push((0,p.simpleRegularExpression)(Ie[0].split(":"))),w(typeof fe.elidedGroups=="number"),be.push((0,p.possibleElisions)(fe.elidedGroups,Ie[0].length!==0,Ie[1].length!==0)),Ie[1].length&&be.push((0,p.simpleRegularExpression)(Ie[1].split(":"))),be=[be.join(":")]}return oe||(be=["(?=^|",p.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...be,")(?=[^\\w\\:]|",p.ADDRESS_BOUNDARY,"|$)"]),be.join("")}regularExpression(oe=!1){return new RegExp(this.regularExpressionString(oe),"i")}};e.Address6=se}),Cm=ye(e=>{"use strict";var t=e&&e.__createBinding||(Object.create?function(A,p,f,c){c===void 0&&(c=f);var m=Object.getOwnPropertyDescriptor(p,f);(!m||("get"in m?!p.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return p[f]}}),Object.defineProperty(A,c,m)}:function(A,p,f,c){c===void 0&&(c=f),A[c]=p[f]}),r=e&&e.__setModuleDefault||(Object.create?function(A,p){Object.defineProperty(A,"default",{enumerable:!0,value:p})}:function(A,p){A.default=p}),n=e&&e.__importStar||function(A){if(A&&A.__esModule)return A;var p={};if(A!=null)for(var f in A)f!=="default"&&Object.prototype.hasOwnProperty.call(A,f)&&t(p,A,f);return r(p,A),p};Object.defineProperty(e,"__esModule",{value:!0}),e.v6=e.AddressError=e.Address6=e.Address4=void 0;var i=od();Object.defineProperty(e,"Address4",{enumerable:!0,get:function(){return i.Address4}});var s=bm();Object.defineProperty(e,"Address6",{enumerable:!0,get:function(){return s.Address6}});var o=gf();Object.defineProperty(e,"AddressError",{enumerable:!0,get:function(){return o.AddressError}});var u=n(cd());e.v6={helpers:u}}),no=ye((e,t)=>{"use strict";function r(A){return typeof A>"u"||A===null}function n(A){return typeof A=="object"&&A!==null}function i(A){return Array.isArray(A)?A:r(A)?[]:[A]}function s(A,p){var f,c,m,w;if(p)for(w=Object.keys(p),f=0,c=w.length;f{"use strict";function r(n,i){Error.call(this),this.name="YAMLException",this.reason=n,this.mark=i,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(n){var i=this.name+": ";return i+=this.reason||"(unknown reason)",!n&&this.mark&&(i+=" "+this.mark.toString()),i},t.exports=r}),Rm=ye((e,t)=>{"use strict";var r=no();function n(i,s,o,u,A){this.name=i,this.buffer=s,this.position=o,this.line=u,this.column=A}n.prototype.getSnippet=function(i,s){var o,u,A,p,f;if(!this.buffer)return null;for(i=i||4,s=s||75,o="",u=this.position;u>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(u-1))===-1;)if(u-=1,this.position-u>s/2-1){o=" ... ",u+=5;break}for(A="",p=this.position;ps/2-1){A=" ... ",p-=5;break}return f=this.buffer.slice(u,p),r.repeat(" ",i)+o+f+A+` +`+r.repeat(" ",i+this.position-u+o.length)+"^"},n.prototype.toString=function(i){var s,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),i||(s=this.getSnippet(),s&&(o+=`: +`+s)),o},t.exports=n}),Er=ye((e,t)=>{"use strict";var r=cu(),n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],i=["scalar","sequence","mapping"];function s(u){var A={};return u!==null&&Object.keys(u).forEach(function(p){u[p].forEach(function(f){A[String(f)]=p})}),A}function o(u,A){if(A=A||{},Object.keys(A).forEach(function(p){if(n.indexOf(p)===-1)throw new r('Unknown option "'+p+'" is met in definition of "'+u+'" YAML type.')}),this.tag=u,this.kind=A.kind||null,this.resolve=A.resolve||function(){return!0},this.construct=A.construct||function(p){return p},this.instanceOf=A.instanceOf||null,this.predicate=A.predicate||null,this.represent=A.represent||null,this.defaultStyle=A.defaultStyle||null,this.styleAliases=s(A.styleAliases||null),i.indexOf(this.kind)===-1)throw new r('Unknown kind "'+this.kind+'" is specified for "'+u+'" YAML type.')}t.exports=o}),io=ye((e,t)=>{"use strict";var r=no(),n=cu(),i=Er();function s(A,p,f){var c=[];return A.include.forEach(function(m){f=s(m,p,f)}),A[p].forEach(function(m){f.forEach(function(w,C){w.tag===m.tag&&w.kind===m.kind&&c.push(C)}),f.push(m)}),f.filter(function(m,w){return c.indexOf(w)===-1})}function o(){var A={scalar:{},sequence:{},mapping:{},fallback:{}},p,f;function c(m){A[m.kind][m.tag]=A.fallback[m.tag]=m}for(p=0,f=arguments.length;p{"use strict";var r=Er();t.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(n){return n!==null?n:""}})}),Um=ye((e,t)=>{"use strict";var r=Er();t.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(n){return n!==null?n:[]}})}),jm=ye((e,t)=>{"use strict";var r=Er();t.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(n){return n!==null?n:{}}})}),If=ye((e,t)=>{"use strict";var r=io();t.exports=new r({explicit:[km(),Um(),jm()]})}),Km=ye((e,t)=>{"use strict";var r=Er();function n(o){if(o===null)return!0;var u=o.length;return u===1&&o==="~"||u===4&&(o==="null"||o==="Null"||o==="NULL")}function i(){return null}function s(o){return o===null}t.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})}),Gm=ye((e,t)=>{"use strict";var r=Er();function n(o){if(o===null)return!1;var u=o.length;return u===4&&(o==="true"||o==="True"||o==="TRUE")||u===5&&(o==="false"||o==="False"||o==="FALSE")}function i(o){return o==="true"||o==="True"||o==="TRUE"}function s(o){return Object.prototype.toString.call(o)==="[object Boolean]"}t.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:{lowercase:function(o){return o?"true":"false"},uppercase:function(o){return o?"TRUE":"FALSE"},camelcase:function(o){return o?"True":"False"}},defaultStyle:"lowercase"})}),Ym=ye((e,t)=>{"use strict";var r=no(),n=Er();function i(f){return 48<=f&&f<=57||65<=f&&f<=70||97<=f&&f<=102}function s(f){return 48<=f&&f<=55}function o(f){return 48<=f&&f<=57}function u(f){if(f===null)return!1;var c=f.length,m=0,w=!1,C;if(!c)return!1;if(C=f[m],(C==="-"||C==="+")&&(C=f[++m]),C==="0"){if(m+1===c)return!0;if(C=f[++m],C==="b"){for(m++;m=0?"0b"+f.toString(2):"-0b"+f.toString(2).slice(1)},octal:function(f){return f>=0?"0"+f.toString(8):"-0"+f.toString(8).slice(1)},decimal:function(f){return f.toString(10)},hexadecimal:function(f){return f>=0?"0x"+f.toString(16).toUpperCase():"-0x"+f.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})}),Jm=ye((e,t)=>{"use strict";var r=no(),n=Er(),i=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function s(f){return!(f===null||!i.test(f)||f[f.length-1]==="_")}function o(f){var c,m,w,C;return c=f.replace(/_/g,"").toLowerCase(),m=c[0]==="-"?-1:1,C=[],"+-".indexOf(c[0])>=0&&(c=c.slice(1)),c===".inf"?m===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:c===".nan"?NaN:c.indexOf(":")>=0?(c.split(":").forEach(function(F){C.unshift(parseFloat(F,10))}),c=0,w=1,C.forEach(function(F){c+=F*w,w*=60}),m*c):m*parseFloat(c,10)}var u=/^[-+]?[0-9]+e/;function A(f,c){var m;if(isNaN(f))switch(c){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===f)switch(c){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===f)switch(c){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(f))return"-0.0";return m=f.toString(10),u.test(m)?m.replace("e",".e"):m}function p(f){return Object.prototype.toString.call(f)==="[object Number]"&&(f%1!==0||r.isNegativeZero(f))}t.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:s,construct:o,predicate:p,represent:A,defaultStyle:"lowercase"})}),vd=ye((e,t)=>{"use strict";var r=io();t.exports=new r({include:[If()],implicit:[Km(),Gm(),Ym(),Jm()]})}),Ed=ye((e,t)=>{"use strict";var r=io();t.exports=new r({include:[vd()]})}),nv=ye((e,t)=>{"use strict";var r=Er(),n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function s(A){return A===null?!1:n.exec(A)!==null||i.exec(A)!==null}function o(A){var p,f,c,m,w,C,F,P=0,j=null,re,se,ge;if(p=n.exec(A),p===null&&(p=i.exec(A)),p===null)throw new Error("Date resolve error");if(f=+p[1],c=+p[2]-1,m=+p[3],!p[4])return new Date(Date.UTC(f,c,m));if(w=+p[4],C=+p[5],F=+p[6],p[7]){for(P=p[7].slice(0,3);P.length<3;)P+="0";P=+P}return p[9]&&(re=+p[10],se=+(p[11]||0),j=(re*60+se)*6e4,p[9]==="-"&&(j=-j)),ge=new Date(Date.UTC(f,c,m,w,C,F,P)),j&&ge.setTime(ge.getTime()-j),ge}function u(A){return A.toISOString()}t.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:s,construct:o,instanceOf:Date,represent:u})}),sv=ye((e,t)=>{"use strict";var r=Er();function n(i){return i==="<<"||i===null}t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:n})}),uv=ye((e,t)=>{"use strict";var r;try{n=za,r=n("buffer").Buffer}catch{}var n,i=Er(),s=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function o(f){if(f===null)return!1;var c,m,w=0,C=f.length,F=s;for(m=0;m64)){if(c<0)return!1;w+=6}return w%8===0}function u(f){var c,m,w=f.replace(/[\r\n=]/g,""),C=w.length,F=s,P=0,j=[];for(c=0;c>16&255),j.push(P>>8&255),j.push(P&255)),P=P<<6|F.indexOf(w.charAt(c));return m=C%4*6,m===0?(j.push(P>>16&255),j.push(P>>8&255),j.push(P&255)):m===18?(j.push(P>>10&255),j.push(P>>2&255)):m===12&&j.push(P>>4&255),r?r.from?r.from(j):new r(j):j}function A(f){var c="",m=0,w,C,F=f.length,P=s;for(w=0;w>18&63],c+=P[m>>12&63],c+=P[m>>6&63],c+=P[m&63]),m=(m<<8)+f[w];return C=F%3,C===0?(c+=P[m>>18&63],c+=P[m>>12&63],c+=P[m>>6&63],c+=P[m&63]):C===2?(c+=P[m>>10&63],c+=P[m>>4&63],c+=P[m<<2&63],c+=P[64]):C===1&&(c+=P[m>>2&63],c+=P[m<<4&63],c+=P[64],c+=P[64]),c}function p(f){return r&&r.isBuffer(f)}t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:o,construct:u,predicate:p,represent:A})}),lv=ye((e,t)=>{"use strict";var r=Er(),n=Object.prototype.hasOwnProperty,i=Object.prototype.toString;function s(u){if(u===null)return!0;var A=[],p,f,c,m,w,C=u;for(p=0,f=C.length;p{"use strict";var r=Er(),n=Object.prototype.toString;function i(o){if(o===null)return!0;var u,A,p,f,c,m=o;for(c=new Array(m.length),u=0,A=m.length;u{"use strict";var r=Er(),n=Object.prototype.hasOwnProperty;function i(o){if(o===null)return!0;var u,A=o;for(u in A)if(n.call(A,u)&&A[u]!==null)return!1;return!0}function s(o){return o!==null?o:{}}t.exports=new r("tag:yaml.org,2002:set",{kind:"mapping",resolve:i,construct:s})}),fu=ye((e,t)=>{"use strict";var r=io();t.exports=new r({include:[Ed()],implicit:[nv(),sv()],explicit:[uv(),lv(),hv(),dv()]})}),vv=ye((e,t)=>{"use strict";var r=Er();function n(){return!0}function i(){}function s(){return""}function o(u){return typeof u>"u"}t.exports=new r("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:s})}),wv=ye((e,t)=>{"use strict";var r=Er();function n(u){if(u===null||u.length===0)return!1;var A=u,p=/\/([gim]*)$/.exec(u),f="";return!(A[0]==="/"&&(p&&(f=p[1]),f.length>3||A[A.length-f.length-1]!=="/"))}function i(u){var A=u,p=/\/([gim]*)$/.exec(u),f="";return A[0]==="/"&&(p&&(f=p[1]),A=A.slice(1,A.length-f.length-1)),new RegExp(A,f)}function s(u){var A="/"+u.source+"/";return u.global&&(A+="g"),u.multiline&&(A+="m"),u.ignoreCase&&(A+="i"),A}function o(u){return Object.prototype.toString.call(u)==="[object RegExp]"}t.exports=new r("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:s})}),Sv=ye((e,t)=>{"use strict";var r;try{n=za,r=n("esprima")}catch{typeof window<"u"&&(r=window.esprima)}var n,i=Er();function s(p){if(p===null)return!1;try{var f="("+p+")",c=r.parse(f,{range:!0});return!(c.type!=="Program"||c.body.length!==1||c.body[0].type!=="ExpressionStatement"||c.body[0].expression.type!=="ArrowFunctionExpression"&&c.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function o(p){var f="("+p+")",c=r.parse(f,{range:!0}),m=[],w;if(c.type!=="Program"||c.body.length!==1||c.body[0].type!=="ExpressionStatement"||c.body[0].expression.type!=="ArrowFunctionExpression"&&c.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return c.body[0].expression.params.forEach(function(C){m.push(C.name)}),w=c.body[0].expression.body.range,c.body[0].expression.body.type==="BlockStatement"?new Function(m,f.slice(w[0]+1,w[1]-1)):new Function(m,"return "+f.slice(w[0],w[1]))}function u(p){return p.toString()}function A(p){return Object.prototype.toString.call(p)==="[object Function]"}t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:s,construct:o,predicate:A,represent:u})}),Lc=ye((e,t)=>{"use strict";var r=io();t.exports=r.DEFAULT=new r({include:[fu()],explicit:[vv(),wv(),Sv()]})}),qv=ye((e,t)=>{"use strict";var r=no(),n=cu(),i=Rm(),s=fu(),o=Lc(),u=Object.prototype.hasOwnProperty,A=1,p=2,f=3,c=4,m=1,w=2,C=3,F=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,P=/[\x85\u2028\u2029]/,j=/[,\[\]\{\}]/,re=/^(?:!|!!|![a-z\-]+!)$/i,se=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ge(U){return Object.prototype.toString.call(U)}function oe(U){return U===10||U===13}function be(U){return U===9||U===32}function fe(U){return U===9||U===32||U===10||U===13}function Ie(U){return U===44||U===91||U===93||U===123||U===125}function $e(U){var S;return 48<=U&&U<=57?U-48:(S=U|32,97<=S&&S<=102?S-97+10:-1)}function Ve(U){return U===120?2:U===117?4:U===85?8:0}function Ae(U){return 48<=U&&U<=57?U-48:-1}function Ue(U){return U===48?"\0":U===97?"\x07":U===98?"\b":U===116||U===9?" ":U===110?` +`:U===118?"\v":U===102?"\f":U===114?"\r":U===101?"\x1B":U===32?" ":U===34?'"':U===47?"/":U===92?"\\":U===78?"\x85":U===95?"\xA0":U===76?"\u2028":U===80?"\u2029":""}function Oe(U){return U<=65535?String.fromCharCode(U):String.fromCharCode((U-65536>>10)+55296,(U-65536&1023)+56320)}var ct=new Array(256),Re=new Array(256);for(Qe=0;Qe<256;Qe++)ct[Qe]=Ue(Qe)?1:0,Re[Qe]=Ue(Qe);var Qe;function ze(U,S){this.input=U,this.filename=S.filename||null,this.schema=S.schema||o,this.onWarning=S.onWarning||null,this.legacy=S.legacy||!1,this.json=S.json||!1,this.listener=S.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=U.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function kt(U,S){return new n(S,new i(U.filename,U.input,U.position,U.line,U.position-U.lineStart))}function st(U,S){throw kt(U,S)}function We(U,S){U.onWarning&&U.onWarning.call(null,kt(U,S))}var pt={YAML:function(U,S,L){var X,ve,Se;U.version!==null&&st(U,"duplication of %YAML directive"),L.length!==1&&st(U,"YAML directive accepts exactly one argument"),X=/^([0-9]+)\.([0-9]+)$/.exec(L[0]),X===null&&st(U,"ill-formed argument of the YAML directive"),ve=parseInt(X[1],10),Se=parseInt(X[2],10),ve!==1&&st(U,"unacceptable YAML version of the document"),U.version=L[0],U.checkLineBreaks=Se<2,Se!==1&&Se!==2&&We(U,"unsupported YAML version of the document")},TAG:function(U,S,L){var X,ve;L.length!==2&&st(U,"TAG directive accepts exactly two arguments"),X=L[0],ve=L[1],re.test(X)||st(U,"ill-formed tag handle (first argument) of the TAG directive"),u.call(U.tagMap,X)&&st(U,'there is a previously declared suffix for "'+X+'" tag handle'),se.test(ve)||st(U,"ill-formed tag prefix (second argument) of the TAG directive"),U.tagMap[X]=ve}};function Pt(U,S,L,X){var ve,Se,ee,Te;if(S1&&(U.result+=r.repeat(` +`,S-1))}function Ct(U,S,L){var X,ve,Se,ee,Te,Ke,lt,at,Ze=U.kind,mt=U.result,It;if(It=U.input.charCodeAt(U.position),fe(It)||Ie(It)||It===35||It===38||It===42||It===33||It===124||It===62||It===39||It===34||It===37||It===64||It===96||(It===63||It===45)&&(ve=U.input.charCodeAt(U.position+1),fe(ve)||L&&Ie(ve)))return!1;for(U.kind="scalar",U.result="",Se=ee=U.position,Te=!1;It!==0;){if(It===58){if(ve=U.input.charCodeAt(U.position+1),fe(ve)||L&&Ie(ve))break}else if(It===35){if(X=U.input.charCodeAt(U.position-1),fe(X))break}else{if(U.position===U.lineStart&&vn(U)||L&&Ie(It))break;if(oe(It))if(Ke=U.line,lt=U.lineStart,at=U.lineIndent,Rt(U,!1,-1),U.lineIndent>=S){Te=!0,It=U.input.charCodeAt(U.position);continue}else{U.position=ee,U.line=Ke,U.lineStart=lt,U.lineIndent=at;break}}Te&&(Pt(U,Se,ee,!1),Xt(U,U.line-Ke),Se=ee=U.position,Te=!1),be(It)||(ee=U.position+1),It=U.input.charCodeAt(++U.position)}return Pt(U,Se,ee,!1),U.result?!0:(U.kind=Ze,U.result=mt,!1)}function er(U,S){var L,X,ve;if(L=U.input.charCodeAt(U.position),L!==39)return!1;for(U.kind="scalar",U.result="",U.position++,X=ve=U.position;(L=U.input.charCodeAt(U.position))!==0;)if(L===39)if(Pt(U,X,U.position,!0),L=U.input.charCodeAt(++U.position),L===39)X=U.position,U.position++,ve=U.position;else return!0;else oe(L)?(Pt(U,X,ve,!0),Xt(U,Rt(U,!1,S)),X=ve=U.position):U.position===U.lineStart&&vn(U)?st(U,"unexpected end of the document within a single quoted scalar"):(U.position++,ve=U.position);st(U,"unexpected end of the stream within a single quoted scalar")}function Qt(U,S){var L,X,ve,Se,ee,Te;if(Te=U.input.charCodeAt(U.position),Te!==34)return!1;for(U.kind="scalar",U.result="",U.position++,L=X=U.position;(Te=U.input.charCodeAt(U.position))!==0;){if(Te===34)return Pt(U,L,U.position,!0),U.position++,!0;if(Te===92){if(Pt(U,L,U.position,!0),Te=U.input.charCodeAt(++U.position),oe(Te))Rt(U,!1,S);else if(Te<256&&ct[Te])U.result+=Re[Te],U.position++;else if((ee=Ve(Te))>0){for(ve=ee,Se=0;ve>0;ve--)Te=U.input.charCodeAt(++U.position),(ee=$e(Te))>=0?Se=(Se<<4)+ee:st(U,"expected hexadecimal character");U.result+=Oe(Se),U.position++}else st(U,"unknown escape sequence");L=X=U.position}else oe(Te)?(Pt(U,L,X,!0),Xt(U,Rt(U,!1,S)),L=X=U.position):U.position===U.lineStart&&vn(U)?st(U,"unexpected end of the document within a double quoted scalar"):(U.position++,X=U.position)}st(U,"unexpected end of the stream within a double quoted scalar")}function Gt(U,S){var L=!0,X,ve=U.tag,Se,ee=U.anchor,Te,Ke,lt,at,Ze,mt={},It,_t,sr,tr;if(tr=U.input.charCodeAt(U.position),tr===91)Ke=93,Ze=!1,Se=[];else if(tr===123)Ke=125,Ze=!0,Se={};else return!1;for(U.anchor!==null&&(U.anchorMap[U.anchor]=Se),tr=U.input.charCodeAt(++U.position);tr!==0;){if(Rt(U,!0,S),tr=U.input.charCodeAt(U.position),tr===Ke)return U.position++,U.tag=ve,U.anchor=ee,U.kind=Ze?"mapping":"sequence",U.result=Se,!0;L||st(U,"missed comma between flow collection entries"),_t=It=sr=null,lt=at=!1,tr===63&&(Te=U.input.charCodeAt(U.position+1),fe(Te)&&(lt=at=!0,U.position++,Rt(U,!0,S))),X=U.line,xr(U,S,A,!1,!0),_t=U.tag,It=U.result,Rt(U,!0,S),tr=U.input.charCodeAt(U.position),(at||U.line===X)&&tr===58&&(lt=!0,tr=U.input.charCodeAt(++U.position),Rt(U,!0,S),xr(U,S,A,!1,!0),sr=U.result),Ze?nr(U,Se,mt,_t,It,sr):lt?Se.push(nr(U,null,mt,_t,It,sr)):Se.push(It),Rt(U,!0,S),tr=U.input.charCodeAt(U.position),tr===44?(L=!0,tr=U.input.charCodeAt(++U.position)):L=!1}st(U,"unexpected end of the stream within a flow collection")}function W(U,S){var L,X,ve=m,Se=!1,ee=!1,Te=S,Ke=0,lt=!1,at,Ze;if(Ze=U.input.charCodeAt(U.position),Ze===124)X=!1;else if(Ze===62)X=!0;else return!1;for(U.kind="scalar",U.result="";Ze!==0;)if(Ze=U.input.charCodeAt(++U.position),Ze===43||Ze===45)m===ve?ve=Ze===43?C:w:st(U,"repeat of a chomping mode identifier");else if((at=Ae(Ze))>=0)at===0?st(U,"bad explicit indentation width of a block scalar; it cannot be less than one"):ee?st(U,"repeat of an indentation width identifier"):(Te=S+at-1,ee=!0);else break;if(be(Ze)){do Ze=U.input.charCodeAt(++U.position);while(be(Ze));if(Ze===35)do Ze=U.input.charCodeAt(++U.position);while(!oe(Ze)&&Ze!==0)}for(;Ze!==0;){for(jt(U),U.lineIndent=0,Ze=U.input.charCodeAt(U.position);(!ee||U.lineIndentTe&&(Te=U.lineIndent),oe(Ze)){Ke++;continue}if(U.lineIndentS)&&Ke!==0)st(U,"bad indentation of a sequence entry");else if(U.lineIndentS)&&(xr(U,S,c,!0,ve)&&(_t?mt=U.result:It=U.result),_t||(nr(U,lt,at,Ze,mt,It,Se,ee),Ze=mt=It=null),Rt(U,!0,-1),tr=U.input.charCodeAt(U.position)),U.lineIndent>S&&tr!==0)st(U,"bad indentation of a mapping entry");else if(U.lineIndentS?Ke=1:U.lineIndent===S?Ke=0:U.lineIndentS?Ke=1:U.lineIndent===S?Ke=0:U.lineIndent tag; it should be "scalar", not "'+U.kind+'"'),Ze=0,mt=U.implicitTypes.length;Ze tag; it should be "'+It.kind+'", not "'+U.kind+'"'),It.resolve(U.result)?(U.result=It.construct(U.result),U.anchor!==null&&(U.anchorMap[U.anchor]=U.result)):st(U,"cannot resolve a node with !<"+U.tag+"> explicit tag")):st(U,"unknown tag !<"+U.tag+">");return U.listener!==null&&U.listener("close",U),U.tag!==null||U.anchor!==null||at}function Fr(U){var S=U.position,L,X,ve,Se=!1,ee;for(U.version=null,U.checkLineBreaks=U.legacy,U.tagMap={},U.anchorMap={};(ee=U.input.charCodeAt(U.position))!==0&&(Rt(U,!0,-1),ee=U.input.charCodeAt(U.position),!(U.lineIndent>0||ee!==37));){for(Se=!0,ee=U.input.charCodeAt(++U.position),L=U.position;ee!==0&&!fe(ee);)ee=U.input.charCodeAt(++U.position);for(X=U.input.slice(L,U.position),ve=[],X.length<1&&st(U,"directive name must not be less than one character in length");ee!==0;){for(;be(ee);)ee=U.input.charCodeAt(++U.position);if(ee===35){do ee=U.input.charCodeAt(++U.position);while(ee!==0&&!oe(ee));break}if(oe(ee))break;for(L=U.position;ee!==0&&!fe(ee);)ee=U.input.charCodeAt(++U.position);ve.push(U.input.slice(L,U.position))}ee!==0&&jt(U),u.call(pt,X)?pt[X](U,X,ve):We(U,'unknown document directive "'+X+'"')}if(Rt(U,!0,-1),U.lineIndent===0&&U.input.charCodeAt(U.position)===45&&U.input.charCodeAt(U.position+1)===45&&U.input.charCodeAt(U.position+2)===45?(U.position+=3,Rt(U,!0,-1)):Se&&st(U,"directives end mark is expected"),xr(U,U.lineIndent-1,c,!1,!0),Rt(U,!0,-1),U.checkLineBreaks&&P.test(U.input.slice(S,U.position))&&We(U,"non-ASCII line breaks are interpreted as content"),U.documents.push(U.result),U.position===U.lineStart&&vn(U)){U.input.charCodeAt(U.position)===46&&(U.position+=3,Rt(U,!0,-1));return}if(U.position"u"&&(L=S,S=null);var X=Ar(U,L);if(typeof S!="function")return X;for(var ve=0,Se=X.length;ve"u"&&(L=S,S=null),Dr(U,S,r.extend({schema:s},L))}function ti(U,S){return ui(U,r.extend({schema:s},S))}t.exports.loadAll=Dr,t.exports.load=ui,t.exports.safeLoadAll=Us,t.exports.safeLoad=ti}),h2=ye((e,t)=>{"use strict";var r=no(),n=cu(),i=Lc(),s=fu(),o=Object.prototype.toString,u=Object.prototype.hasOwnProperty,A=9,p=10,f=13,c=32,m=33,w=34,C=35,F=37,P=38,j=39,re=42,se=44,ge=45,oe=58,be=61,fe=62,Ie=63,$e=64,Ve=91,Ae=93,Ue=96,Oe=123,ct=124,Re=125,Qe={};Qe[0]="\\0",Qe[7]="\\a",Qe[8]="\\b",Qe[9]="\\t",Qe[10]="\\n",Qe[11]="\\v",Qe[12]="\\f",Qe[13]="\\r",Qe[27]="\\e",Qe[34]='\\"',Qe[92]="\\\\",Qe[133]="\\N",Qe[160]="\\_",Qe[8232]="\\L",Qe[8233]="\\P";var ze=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function kt(ee,Te){var Ke,lt,at,Ze,mt,It,_t;if(Te===null)return{};for(Ke={},lt=Object.keys(Te),at=0,Ze=lt.length;at0?ee.charCodeAt(Ze-1):null,_n=_n&&vn(mt,It)}else{for(Ze=0;Zelt&&ee[Ki+1]!==" ",Ki=Ze);else if(!jt(mt))return _;It=Ze>0?ee.charCodeAt(Ze-1):null,_n=_n&&vn(mt,It)}sr=sr||tr&&Ze-Ki-1>lt&&ee[Ki+1]!==" "}return!_t&&!sr?_n&&!at(ee)?er:Qt:Ke>9&&Ct(ee)?_:sr?W:Gt}function ke(ee,Te,Ke,lt){ee.dump=function(){if(Te.length===0)return"''";if(!ee.noCompatMode&&ze.indexOf(Te)!==-1)return"'"+Te+"'";var at=ee.indent*Math.max(1,Ke),Ze=ee.lineWidth===-1?-1:Math.max(Math.min(ee.lineWidth,40),ee.lineWidth-at),mt=lt||ee.flowLevel>-1&&Ke>=ee.flowLevel;function It(_t){return nn(ee,_t)}switch(Y(Te,mt,ee.indent,Ze,It)){case er:return Te;case Qt:return"'"+Te.replace(/'/g,"''")+"'";case Gt:return"|"+Xe(Te,ee.indent)+Jt(pt(Te,at));case W:return">"+Xe(Te,ee.indent)+Jt(pt(xr(Te,Ze),at));case _:return'"'+Ar(Te,Ze)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function Xe(ee,Te){var Ke=Ct(ee)?String(Te):"",lt=ee[ee.length-1]===` +`,at=lt&&(ee[ee.length-2]===` +`||ee===` +`),Ze=at?"+":lt?"":"-";return Ke+Ze+` +`}function Jt(ee){return ee[ee.length-1]===` +`?ee.slice(0,-1):ee}function xr(ee,Te){for(var Ke=/(\n+)([^\n]*)/g,lt=function(){var sr=ee.indexOf(` +`);return sr=sr!==-1?sr:ee.length,Ke.lastIndex=sr,Fr(ee.slice(0,sr),Te)}(),at=ee[0]===` +`||ee[0]===" ",Ze,mt;mt=Ke.exec(ee);){var It=mt[1],_t=mt[2];Ze=_t[0]===" ",lt+=It+(!at&&!Ze&&_t!==""?` +`:"")+Fr(_t,Te),at=Ze}return lt}function Fr(ee,Te){if(ee===""||ee[0]===" ")return ee;for(var Ke=/ [^ ]/g,lt,at=0,Ze,mt=0,It=0,_t="";lt=Ke.exec(ee);)It=lt.index,It-at>Te&&(Ze=mt>at?mt:It,_t+=` +`+ee.slice(at,Ze),at=Ze+1),mt=It;return _t+=` +`,ee.length-at>Te&&mt>at?_t+=ee.slice(at,mt)+` +`+ee.slice(mt+1):_t+=ee.slice(at),_t.slice(1)}function Ar(ee){for(var Te="",Ke,lt,at,Ze=0;Ze=55296&&Ke<=56319&&(lt=ee.charCodeAt(Ze+1),lt>=56320&<<=57343)){Te+=st((Ke-55296)*1024+lt-56320+65536),Ze++;continue}at=Qe[Ke],Te+=!at&&jt(Ke)?ee[Ze]:at||st(Ke)}return Te}function Dr(ee,Te,Ke){var lt="",at=ee.tag,Ze,mt;for(Ze=0,mt=Ke.length;Ze1024&&(tr+="? "),tr+=ee.dump+(ee.condenseFlow?'"':"")+":"+(ee.condenseFlow?"":" "),S(ee,Te,sr,!1,!1)&&(tr+=ee.dump,lt+=tr));ee.tag=at,ee.dump="{"+lt+"}"}function ti(ee,Te,Ke,lt){var at="",Ze=ee.tag,mt=Object.keys(Ke),It,_t,sr,tr,Ki,_n;if(ee.sortKeys===!0)mt.sort();else if(typeof ee.sortKeys=="function")mt.sort(ee.sortKeys);else if(ee.sortKeys)throw new n("sortKeys must be a boolean or a function");for(It=0,_t=mt.length;It<_t;It+=1)_n="",(!lt||It!==0)&&(_n+=Pt(ee,Te)),sr=mt[It],tr=Ke[sr],S(ee,Te+1,sr,!0,!0,!0)&&(Ki=ee.tag!==null&&ee.tag!=="?"||ee.dump&&ee.dump.length>1024,Ki&&(ee.dump&&p===ee.dump.charCodeAt(0)?_n+="?":_n+="? "),_n+=ee.dump,Ki&&(_n+=Pt(ee,Te)),S(ee,Te+1,tr,!0,Ki)&&(ee.dump&&p===ee.dump.charCodeAt(0)?_n+=":":_n+=": ",_n+=ee.dump,at+=_n));ee.tag=Ze,ee.dump=at||"{}"}function U(ee,Te,Ke){var lt,at,Ze,mt,It,_t;for(at=Ke?ee.explicitTypes:ee.implicitTypes,Ze=0,mt=at.length;Ze tag resolver accepts not "'+_t+'" style');ee.dump=lt}return!0}return!1}function S(ee,Te,Ke,lt,at,Ze){ee.tag=null,ee.dump=Ke,U(ee,Ke,!1)||U(ee,Ke,!0);var mt=o.call(ee.dump);lt&&(lt=ee.flowLevel<0||ee.flowLevel>Te);var It=mt==="[object Object]"||mt==="[object Array]",_t,sr;if(It&&(_t=ee.duplicates.indexOf(Ke),sr=_t!==-1),(ee.tag!==null&&ee.tag!=="?"||sr||ee.indent!==2&&Te>0)&&(at=!1),sr&&ee.usedDuplicates[_t])ee.dump="*ref_"+_t;else{if(It&&sr&&!ee.usedDuplicates[_t]&&(ee.usedDuplicates[_t]=!0),mt==="[object Object]")lt&&Object.keys(ee.dump).length!==0?(ti(ee,Te,ee.dump,at),sr&&(ee.dump="&ref_"+_t+ee.dump)):(Us(ee,Te,ee.dump),sr&&(ee.dump="&ref_"+_t+" "+ee.dump));else if(mt==="[object Array]"){var tr=ee.noArrayIndent&&Te>0?Te-1:Te;lt&&ee.dump.length!==0?(ui(ee,tr,ee.dump,at),sr&&(ee.dump="&ref_"+_t+ee.dump)):(Dr(ee,tr,ee.dump),sr&&(ee.dump="&ref_"+_t+" "+ee.dump))}else if(mt==="[object String]")ee.tag!=="?"&&ke(ee,ee.dump,Te,Ze);else{if(ee.skipInvalid)return!1;throw new n("unacceptable kind of an object to dump "+mt)}ee.tag!==null&&ee.tag!=="?"&&(ee.dump="!<"+ee.tag+"> "+ee.dump)}return!0}function L(ee,Te){var Ke=[],lt=[],at,Ze;for(X(ee,Ke,lt),at=0,Ze=lt.length;at{"use strict";var r=qv(),n=h2();function i(s){return function(){throw new Error("Function "+s+" is deprecated and cannot be used.")}}t.exports.Type=Er(),t.exports.Schema=io(),t.exports.FAILSAFE_SCHEMA=If(),t.exports.JSON_SCHEMA=vd(),t.exports.CORE_SCHEMA=Ed(),t.exports.DEFAULT_SAFE_SCHEMA=fu(),t.exports.DEFAULT_FULL_SCHEMA=Lc(),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=n.dump,t.exports.safeDump=n.safeDump,t.exports.YAMLException=cu(),t.exports.MINIMAL_SCHEMA=If(),t.exports.SAFE_SCHEMA=fu(),t.exports.DEFAULT_SCHEMA=Lc(),t.exports.scan=i("scan"),t.exports.parse=i("parse"),t.exports.compose=i("compose"),t.exports.addConstructor=i("addConstructor")}),m2=ye((e,t)=>{"use strict";var r=d2();t.exports=r}),E2=ye((e,t)=>{"use strict";var r=m2();t.exports={safeLoad:r.safeLoad,load:r.load,safeDump:r.safeDump,dump:r.dump}}),K2=ye(e=>{"use strict";e.byteLength=A,e.toByteArray=f,e.fromByteArray=w;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(s=0,o=i.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var P=C.indexOf("=");P===-1&&(P=F);var j=P===F?0:4-P%4;return[P,j]}function A(C){var F=u(C),P=F[0],j=F[1];return(P+j)*3/4-j}function p(C,F,P){return(F+P)*3/4-P}function f(C){var F,P=u(C),j=P[0],re=P[1],se=new n(p(C,j,re)),ge=0,oe=re>0?j-4:j,be;for(be=0;be>16&255,se[ge++]=F>>8&255,se[ge++]=F&255;return re===2&&(F=r[C.charCodeAt(be)]<<2|r[C.charCodeAt(be+1)]>>4,se[ge++]=F&255),re===1&&(F=r[C.charCodeAt(be)]<<10|r[C.charCodeAt(be+1)]<<4|r[C.charCodeAt(be+2)]>>2,se[ge++]=F>>8&255,se[ge++]=F&255),se}function c(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function m(C,F,P){for(var j,re=[],se=F;seoe?oe:ge+se));return j===1?(F=C[P-1],re.push(t[F>>2]+t[F<<4&63]+"==")):j===2&&(F=(C[P-2]<<8)+C[P-1],re.push(t[F>>10]+t[F>>4&63]+t[F<<2&63]+"=")),re.join("")}}),V2=ye(e=>{e.read=function(t,r,n,i,s){var o,u,A=s*8-i-1,p=(1<>1,c=-7,m=n?s-1:0,w=n?-1:1,C=t[r+m];for(m+=w,o=C&(1<<-c)-1,C>>=-c,c+=A;c>0;o=o*256+t[r+m],m+=w,c-=8);for(u=o&(1<<-c)-1,o>>=-c,c+=i;c>0;u=u*256+t[r+m],m+=w,c-=8);if(o===0)o=1-f;else{if(o===p)return u?NaN:(C?-1:1)*(1/0);u=u+Math.pow(2,i),o=o-f}return(C?-1:1)*u*Math.pow(2,o-i)},e.write=function(t,r,n,i,s,o){var u,A,p,f=o*8-s-1,c=(1<>1,w=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:o-1,F=i?1:-1,P=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(A=isNaN(r)?1:0,u=c):(u=Math.floor(Math.log(r)/Math.LN2),r*(p=Math.pow(2,-u))<1&&(u--,p*=2),u+m>=1?r+=w/p:r+=w*Math.pow(2,1-m),r*p>=2&&(u++,p/=2),u+m>=c?(A=0,u=c):u+m>=1?(A=(r*p-1)*Math.pow(2,s),u=u+m):(A=r*Math.pow(2,m-1)*Math.pow(2,s),u=0));s>=8;t[n+C]=A&255,C+=F,A/=256,s-=8);for(u=u<0;t[n+C]=u&255,C+=F,u/=256,f-=8);t[n+C-F]|=P*128}}),qf=ye(e=>{"use strict";var t=K2(),r=V2(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=u,e.SlowBuffer=re,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,u.TYPED_ARRAY_SUPPORT=s(),!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{let S=new Uint8Array(1),L={foo:function(){return 42}};return Object.setPrototypeOf(L,Uint8Array.prototype),Object.setPrototypeOf(S,L),S.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function o(S){if(S>i)throw new RangeError('The value "'+S+'" is invalid for option "size"');let L=new Uint8Array(S);return Object.setPrototypeOf(L,u.prototype),L}function u(S,L,X){if(typeof S=="number"){if(typeof L=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return c(S)}return A(S,L,X)}u.poolSize=8192;function A(S,L,X){if(typeof S=="string")return m(S,L);if(ArrayBuffer.isView(S))return C(S);if(S==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S);if(Dr(S,ArrayBuffer)||S&&Dr(S.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Dr(S,SharedArrayBuffer)||S&&Dr(S.buffer,SharedArrayBuffer)))return F(S,L,X);if(typeof S=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let ve=S.valueOf&&S.valueOf();if(ve!=null&&ve!==S)return u.from(ve,L,X);let Se=P(S);if(Se)return Se;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof S[Symbol.toPrimitive]=="function")return u.from(S[Symbol.toPrimitive]("string"),L,X);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S)}u.from=function(S,L,X){return A(S,L,X)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array);function p(S){if(typeof S!="number")throw new TypeError('"size" argument must be of type number');if(S<0)throw new RangeError('The value "'+S+'" is invalid for option "size"')}function f(S,L,X){return p(S),S<=0?o(S):L!==void 0?typeof X=="string"?o(S).fill(L,X):o(S).fill(L):o(S)}u.alloc=function(S,L,X){return f(S,L,X)};function c(S){return p(S),o(S<0?0:j(S)|0)}u.allocUnsafe=function(S){return c(S)},u.allocUnsafeSlow=function(S){return c(S)};function m(S,L){if((typeof L!="string"||L==="")&&(L="utf8"),!u.isEncoding(L))throw new TypeError("Unknown encoding: "+L);let X=se(S,L)|0,ve=o(X),Se=ve.write(S,L);return Se!==X&&(ve=ve.slice(0,Se)),ve}function w(S){let L=S.length<0?0:j(S.length)|0,X=o(L);for(let ve=0;ve=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return S|0}function re(S){return+S!=S&&(S=0),u.alloc(+S)}u.isBuffer=function(S){return S!=null&&S._isBuffer===!0&&S!==u.prototype},u.compare=function(S,L){if(Dr(S,Uint8Array)&&(S=u.from(S,S.offset,S.byteLength)),Dr(L,Uint8Array)&&(L=u.from(L,L.offset,L.byteLength)),!u.isBuffer(S)||!u.isBuffer(L))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(S===L)return 0;let X=S.length,ve=L.length;for(let Se=0,ee=Math.min(X,ve);Seve.length?(u.isBuffer(ee)||(ee=u.from(ee)),ee.copy(ve,Se)):Uint8Array.prototype.set.call(ve,ee,Se);else if(u.isBuffer(ee))ee.copy(ve,Se);else throw new TypeError('"list" argument must be an Array of Buffers');Se+=ee.length}return ve};function se(S,L){if(u.isBuffer(S))return S.length;if(ArrayBuffer.isView(S)||Dr(S,ArrayBuffer))return S.byteLength;if(typeof S!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof S);let X=S.length,ve=arguments.length>2&&arguments[2]===!0;if(!ve&&X===0)return 0;let Se=!1;for(;;)switch(L){case"ascii":case"latin1":case"binary":return X;case"utf8":case"utf-8":return Xe(S).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X*2;case"hex":return X>>>1;case"base64":return Fr(S).length;default:if(Se)return ve?-1:Xe(S).length;L=(""+L).toLowerCase(),Se=!0}}u.byteLength=se;function ge(S,L,X){let ve=!1;if((L===void 0||L<0)&&(L=0),L>this.length||((X===void 0||X>this.length)&&(X=this.length),X<=0)||(X>>>=0,L>>>=0,X<=L))return"";for(S||(S="utf8");;)switch(S){case"hex":return st(this,L,X);case"utf8":case"utf-8":return ct(this,L,X);case"ascii":return ze(this,L,X);case"latin1":case"binary":return kt(this,L,X);case"base64":return Oe(this,L,X);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return We(this,L,X);default:if(ve)throw new TypeError("Unknown encoding: "+S);S=(S+"").toLowerCase(),ve=!0}}u.prototype._isBuffer=!0;function oe(S,L,X){let ve=S[L];S[L]=S[X],S[X]=ve}u.prototype.swap16=function(){let S=this.length;if(S%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let L=0;LL&&(S+=" ... "),""},n&&(u.prototype[n]=u.prototype.inspect),u.prototype.compare=function(S,L,X,ve,Se){if(Dr(S,Uint8Array)&&(S=u.from(S,S.offset,S.byteLength)),!u.isBuffer(S))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof S);if(L===void 0&&(L=0),X===void 0&&(X=S?S.length:0),ve===void 0&&(ve=0),Se===void 0&&(Se=this.length),L<0||X>S.length||ve<0||Se>this.length)throw new RangeError("out of range index");if(ve>=Se&&L>=X)return 0;if(ve>=Se)return-1;if(L>=X)return 1;if(L>>>=0,X>>>=0,ve>>>=0,Se>>>=0,this===S)return 0;let ee=Se-ve,Te=X-L,Ke=Math.min(ee,Te),lt=this.slice(ve,Se),at=S.slice(L,X);for(let Ze=0;Ze2147483647?X=2147483647:X<-2147483648&&(X=-2147483648),X=+X,ui(X)&&(X=Se?0:S.length-1),X<0&&(X=S.length+X),X>=S.length){if(Se)return-1;X=S.length-1}else if(X<0)if(Se)X=0;else return-1;if(typeof L=="string"&&(L=u.from(L,ve)),u.isBuffer(L))return L.length===0?-1:fe(S,L,X,ve,Se);if(typeof L=="number")return L=L&255,typeof Uint8Array.prototype.indexOf=="function"?Se?Uint8Array.prototype.indexOf.call(S,L,X):Uint8Array.prototype.lastIndexOf.call(S,L,X):fe(S,[L],X,ve,Se);throw new TypeError("val must be string, number or Buffer")}function fe(S,L,X,ve,Se){let ee=1,Te=S.length,Ke=L.length;if(ve!==void 0&&(ve=String(ve).toLowerCase(),ve==="ucs2"||ve==="ucs-2"||ve==="utf16le"||ve==="utf-16le")){if(S.length<2||L.length<2)return-1;ee=2,Te/=2,Ke/=2,X/=2}function lt(Ze,mt){return ee===1?Ze[mt]:Ze.readUInt16BE(mt*ee)}let at;if(Se){let Ze=-1;for(at=X;atTe&&(X=Te-Ke),at=X;at>=0;at--){let Ze=!0;for(let mt=0;mtSe&&(ve=Se)):ve=Se;let ee=L.length;ve>ee/2&&(ve=ee/2);let Te;for(Te=0;Te>>0,isFinite(X)?(X=X>>>0,ve===void 0&&(ve="utf8")):(ve=X,X=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let Se=this.length-L;if((X===void 0||X>Se)&&(X=Se),S.length>0&&(X<0||L<0)||L>this.length)throw new RangeError("Attempt to write outside buffer bounds");ve||(ve="utf8");let ee=!1;for(;;)switch(ve){case"hex":return Ie(this,S,L,X);case"utf8":case"utf-8":return $e(this,S,L,X);case"ascii":case"latin1":case"binary":return Ve(this,S,L,X);case"base64":return Ae(this,S,L,X);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ue(this,S,L,X);default:if(ee)throw new TypeError("Unknown encoding: "+ve);ve=(""+ve).toLowerCase(),ee=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Oe(S,L,X){return L===0&&X===S.length?t.fromByteArray(S):t.fromByteArray(S.slice(L,X))}function ct(S,L,X){X=Math.min(S.length,X);let ve=[],Se=L;for(;Se239?4:ee>223?3:ee>191?2:1;if(Se+Ke<=X){let lt,at,Ze,mt;switch(Ke){case 1:ee<128&&(Te=ee);break;case 2:lt=S[Se+1],(lt&192)===128&&(mt=(ee&31)<<6|lt&63,mt>127&&(Te=mt));break;case 3:lt=S[Se+1],at=S[Se+2],(lt&192)===128&&(at&192)===128&&(mt=(ee&15)<<12|(lt&63)<<6|at&63,mt>2047&&(mt<55296||mt>57343)&&(Te=mt));break;case 4:lt=S[Se+1],at=S[Se+2],Ze=S[Se+3],(lt&192)===128&&(at&192)===128&&(Ze&192)===128&&(mt=(ee&15)<<18|(lt&63)<<12|(at&63)<<6|Ze&63,mt>65535&&mt<1114112&&(Te=mt))}}Te===null?(Te=65533,Ke=1):Te>65535&&(Te-=65536,ve.push(Te>>>10&1023|55296),Te=56320|Te&1023),ve.push(Te),Se+=Ke}return Qe(ve)}var Re=4096;function Qe(S){let L=S.length;if(L<=Re)return String.fromCharCode.apply(String,S);let X="",ve=0;for(;veve)&&(X=ve);let Se="";for(let ee=L;eeX&&(S=X),L<0?(L+=X,L<0&&(L=0)):L>X&&(L=X),LX)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(S,L,X){S=S>>>0,L=L>>>0,X||pt(S,L,this.length);let ve=this[S],Se=1,ee=0;for(;++ee>>0,L=L>>>0,X||pt(S,L,this.length);let ve=this[S+--L],Se=1;for(;L>0&&(Se*=256);)ve+=this[S+--L]*Se;return ve},u.prototype.readUint8=u.prototype.readUInt8=function(S,L){return S=S>>>0,L||pt(S,1,this.length),this[S]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(S,L){return S=S>>>0,L||pt(S,2,this.length),this[S]|this[S+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(S,L){return S=S>>>0,L||pt(S,2,this.length),this[S]<<8|this[S+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(S,L){return S=S>>>0,L||pt(S,4,this.length),(this[S]|this[S+1]<<8|this[S+2]<<16)+this[S+3]*16777216},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(S,L){return S=S>>>0,L||pt(S,4,this.length),this[S]*16777216+(this[S+1]<<16|this[S+2]<<8|this[S+3])},u.prototype.readBigUInt64LE=ti(function(S){S=S>>>0,W(S,"offset");let L=this[S],X=this[S+7];(L===void 0||X===void 0)&&_(S,this.length-8);let ve=L+this[++S]*2**8+this[++S]*2**16+this[++S]*2**24,Se=this[++S]+this[++S]*2**8+this[++S]*2**16+X*2**24;return BigInt(ve)+(BigInt(Se)<>>0,W(S,"offset");let L=this[S],X=this[S+7];(L===void 0||X===void 0)&&_(S,this.length-8);let ve=L*2**24+this[++S]*2**16+this[++S]*2**8+this[++S],Se=this[++S]*2**24+this[++S]*2**16+this[++S]*2**8+X;return(BigInt(ve)<>>0,L=L>>>0,X||pt(S,L,this.length);let ve=this[S],Se=1,ee=0;for(;++ee=Se&&(ve-=Math.pow(2,8*L)),ve},u.prototype.readIntBE=function(S,L,X){S=S>>>0,L=L>>>0,X||pt(S,L,this.length);let ve=L,Se=1,ee=this[S+--ve];for(;ve>0&&(Se*=256);)ee+=this[S+--ve]*Se;return Se*=128,ee>=Se&&(ee-=Math.pow(2,8*L)),ee},u.prototype.readInt8=function(S,L){return S=S>>>0,L||pt(S,1,this.length),this[S]&128?(255-this[S]+1)*-1:this[S]},u.prototype.readInt16LE=function(S,L){S=S>>>0,L||pt(S,2,this.length);let X=this[S]|this[S+1]<<8;return X&32768?X|4294901760:X},u.prototype.readInt16BE=function(S,L){S=S>>>0,L||pt(S,2,this.length);let X=this[S+1]|this[S]<<8;return X&32768?X|4294901760:X},u.prototype.readInt32LE=function(S,L){return S=S>>>0,L||pt(S,4,this.length),this[S]|this[S+1]<<8|this[S+2]<<16|this[S+3]<<24},u.prototype.readInt32BE=function(S,L){return S=S>>>0,L||pt(S,4,this.length),this[S]<<24|this[S+1]<<16|this[S+2]<<8|this[S+3]},u.prototype.readBigInt64LE=ti(function(S){S=S>>>0,W(S,"offset");let L=this[S],X=this[S+7];(L===void 0||X===void 0)&&_(S,this.length-8);let ve=this[S+4]+this[S+5]*2**8+this[S+6]*2**16+(X<<24);return(BigInt(ve)<>>0,W(S,"offset");let L=this[S],X=this[S+7];(L===void 0||X===void 0)&&_(S,this.length-8);let ve=(L<<24)+this[++S]*2**16+this[++S]*2**8+this[++S];return(BigInt(ve)<>>0,L||pt(S,4,this.length),r.read(this,S,!0,23,4)},u.prototype.readFloatBE=function(S,L){return S=S>>>0,L||pt(S,4,this.length),r.read(this,S,!1,23,4)},u.prototype.readDoubleLE=function(S,L){return S=S>>>0,L||pt(S,8,this.length),r.read(this,S,!0,52,8)},u.prototype.readDoubleBE=function(S,L){return S=S>>>0,L||pt(S,8,this.length),r.read(this,S,!1,52,8)};function Pt(S,L,X,ve,Se,ee){if(!u.isBuffer(S))throw new TypeError('"buffer" argument must be a Buffer instance');if(L>Se||LS.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(S,L,X,ve){if(S=+S,L=L>>>0,X=X>>>0,!ve){let Te=Math.pow(2,8*X)-1;Pt(this,S,L,X,Te,0)}let Se=1,ee=0;for(this[L]=S&255;++ee>>0,X=X>>>0,!ve){let Te=Math.pow(2,8*X)-1;Pt(this,S,L,X,Te,0)}let Se=X-1,ee=1;for(this[L+Se]=S&255;--Se>=0&&(ee*=256);)this[L+Se]=S/ee&255;return L+X},u.prototype.writeUint8=u.prototype.writeUInt8=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,1,255,0),this[L]=S&255,L+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,2,65535,0),this[L]=S&255,this[L+1]=S>>>8,L+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,2,65535,0),this[L]=S>>>8,this[L+1]=S&255,L+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,4,4294967295,0),this[L+3]=S>>>24,this[L+2]=S>>>16,this[L+1]=S>>>8,this[L]=S&255,L+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,4,4294967295,0),this[L]=S>>>24,this[L+1]=S>>>16,this[L+2]=S>>>8,this[L+3]=S&255,L+4};function nn(S,L,X,ve,Se){Gt(L,ve,Se,S,X,7);let ee=Number(L&BigInt(4294967295));S[X++]=ee,ee=ee>>8,S[X++]=ee,ee=ee>>8,S[X++]=ee,ee=ee>>8,S[X++]=ee;let Te=Number(L>>BigInt(32)&BigInt(4294967295));return S[X++]=Te,Te=Te>>8,S[X++]=Te,Te=Te>>8,S[X++]=Te,Te=Te>>8,S[X++]=Te,X}function nr(S,L,X,ve,Se){Gt(L,ve,Se,S,X,7);let ee=Number(L&BigInt(4294967295));S[X+7]=ee,ee=ee>>8,S[X+6]=ee,ee=ee>>8,S[X+5]=ee,ee=ee>>8,S[X+4]=ee;let Te=Number(L>>BigInt(32)&BigInt(4294967295));return S[X+3]=Te,Te=Te>>8,S[X+2]=Te,Te=Te>>8,S[X+1]=Te,Te=Te>>8,S[X]=Te,X+8}u.prototype.writeBigUInt64LE=ti(function(S,L=0){return nn(this,S,L,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=ti(function(S,L=0){return nr(this,S,L,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(S,L,X,ve){if(S=+S,L=L>>>0,!ve){let Ke=Math.pow(2,8*X-1);Pt(this,S,L,X,Ke-1,-Ke)}let Se=0,ee=1,Te=0;for(this[L]=S&255;++Se>0)-Te&255;return L+X},u.prototype.writeIntBE=function(S,L,X,ve){if(S=+S,L=L>>>0,!ve){let Ke=Math.pow(2,8*X-1);Pt(this,S,L,X,Ke-1,-Ke)}let Se=X-1,ee=1,Te=0;for(this[L+Se]=S&255;--Se>=0&&(ee*=256);)S<0&&Te===0&&this[L+Se+1]!==0&&(Te=1),this[L+Se]=(S/ee>>0)-Te&255;return L+X},u.prototype.writeInt8=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,1,127,-128),S<0&&(S=255+S+1),this[L]=S&255,L+1},u.prototype.writeInt16LE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,2,32767,-32768),this[L]=S&255,this[L+1]=S>>>8,L+2},u.prototype.writeInt16BE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,2,32767,-32768),this[L]=S>>>8,this[L+1]=S&255,L+2},u.prototype.writeInt32LE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,4,2147483647,-2147483648),this[L]=S&255,this[L+1]=S>>>8,this[L+2]=S>>>16,this[L+3]=S>>>24,L+4},u.prototype.writeInt32BE=function(S,L,X){return S=+S,L=L>>>0,X||Pt(this,S,L,4,2147483647,-2147483648),S<0&&(S=4294967295+S+1),this[L]=S>>>24,this[L+1]=S>>>16,this[L+2]=S>>>8,this[L+3]=S&255,L+4},u.prototype.writeBigInt64LE=ti(function(S,L=0){return nn(this,S,L,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=ti(function(S,L=0){return nr(this,S,L,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function jt(S,L,X,ve,Se,ee){if(X+ve>S.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("Index out of range")}function Rt(S,L,X,ve,Se){return L=+L,X=X>>>0,Se||jt(S,L,X,4,34028234663852886e22,-34028234663852886e22),r.write(S,L,X,ve,23,4),X+4}u.prototype.writeFloatLE=function(S,L,X){return Rt(this,S,L,!0,X)},u.prototype.writeFloatBE=function(S,L,X){return Rt(this,S,L,!1,X)};function vn(S,L,X,ve,Se){return L=+L,X=X>>>0,Se||jt(S,L,X,8,17976931348623157e292,-17976931348623157e292),r.write(S,L,X,ve,52,8),X+8}u.prototype.writeDoubleLE=function(S,L,X){return vn(this,S,L,!0,X)},u.prototype.writeDoubleBE=function(S,L,X){return vn(this,S,L,!1,X)},u.prototype.copy=function(S,L,X,ve){if(!u.isBuffer(S))throw new TypeError("argument should be a Buffer");if(X||(X=0),!ve&&ve!==0&&(ve=this.length),L>=S.length&&(L=S.length),L||(L=0),ve>0&&ve=this.length)throw new RangeError("Index out of range");if(ve<0)throw new RangeError("sourceEnd out of bounds");ve>this.length&&(ve=this.length),S.length-L>>0,X=X===void 0?this.length:X>>>0,S||(S=0);let Se;if(typeof S=="number")for(Se=L;Se2**32?Se=er(String(X)):typeof X=="bigint"&&(Se=String(X),(X>BigInt(2)**BigInt(32)||X<-(BigInt(2)**BigInt(32)))&&(Se=er(Se)),Se+="n"),ve+=` It must be ${L}. Received ${Se}`,ve},RangeError);function er(S){let L="",X=S.length,ve=S[0]==="-"?1:0;for(;X>=ve+4;X-=3)L=`_${S.slice(X-3,X)}${L}`;return`${S.slice(0,X)}${L}`}function Qt(S,L,X){W(L,"offset"),(S[L]===void 0||S[L+X]===void 0)&&_(L,S.length-(X+1))}function Gt(S,L,X,ve,Se,ee){if(S>X||S3?L===0||L===BigInt(0)?Ke=`>= 0${Te} and < 2${Te} ** ${(ee+1)*8}${Te}`:Ke=`>= -(2${Te} ** ${(ee+1)*8-1}${Te}) and < 2 ** ${(ee+1)*8-1}${Te}`:Ke=`>= ${L}${Te} and <= ${X}${Te}`,new Xt.ERR_OUT_OF_RANGE("value",Ke,S)}Qt(ve,Se,ee)}function W(S,L){if(typeof S!="number")throw new Xt.ERR_INVALID_ARG_TYPE(L,"number",S)}function _(S,L,X){throw Math.floor(S)!==S?(W(S,X),new Xt.ERR_OUT_OF_RANGE(X||"offset","an integer",S)):L<0?new Xt.ERR_BUFFER_OUT_OF_BOUNDS:new Xt.ERR_OUT_OF_RANGE(X||"offset",`>= ${X?1:0} and <= ${L}`,S)}var Y=/[^+/0-9A-Za-z-_]/g;function ke(S){if(S=S.split("=")[0],S=S.trim().replace(Y,""),S.length<2)return"";for(;S.length%4!==0;)S=S+"=";return S}function Xe(S,L){L=L||1/0;let X,ve=S.length,Se=null,ee=[];for(let Te=0;Te55295&&X<57344){if(!Se){if(X>56319){(L-=3)>-1&&ee.push(239,191,189);continue}else if(Te+1===ve){(L-=3)>-1&&ee.push(239,191,189);continue}Se=X;continue}if(X<56320){(L-=3)>-1&&ee.push(239,191,189),Se=X;continue}X=(Se-55296<<10|X-56320)+65536}else Se&&(L-=3)>-1&&ee.push(239,191,189);if(Se=null,X<128){if((L-=1)<0)break;ee.push(X)}else if(X<2048){if((L-=2)<0)break;ee.push(X>>6|192,X&63|128)}else if(X<65536){if((L-=3)<0)break;ee.push(X>>12|224,X>>6&63|128,X&63|128)}else if(X<1114112){if((L-=4)<0)break;ee.push(X>>18|240,X>>12&63|128,X>>6&63|128,X&63|128)}else throw new Error("Invalid code point")}return ee}function Jt(S){let L=[];for(let X=0;X>8,Se=X%256,ee.push(Se),ee.push(ve);return ee}function Fr(S){return t.toByteArray(ke(S))}function Ar(S,L,X,ve){let Se;for(Se=0;Se=L.length||Se>=S.length);++Se)L[Se+X]=S[Se];return Se}function Dr(S,L){return S instanceof L||S!=null&&S.constructor!=null&&S.constructor.name!=null&&S.constructor.name===L.name}function ui(S){return S!==S}var Us=function(){let S="0123456789abcdef",L=new Array(256);for(let X=0;X<16;++X){let ve=X*16;for(let Se=0;Se<16;++Se)L[ve+Se]=S[X]+S[Se]}return L}();function ti(S){return typeof BigInt>"u"?U:S}function U(){throw new Error("BigInt not supported")}}),RE=ye(e=>{var t={};t.userAgent=!1;var r={},n="11.1.0",i="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license",s=s||function(a,d){var h={},E=h.lib={},b=E.Base=function(){function k(){}return{extend:function(J){k.prototype=this;var T=new k;return J&&T.mixIn(J),T.hasOwnProperty("init")||(T.init=function(){T.$super.init.apply(this,arguments)}),T.init.prototype=T,T.$super=this,T},create:function(){var J=this.extend();return J.init.apply(J,arguments),J},init:function(){},mixIn:function(J){for(var T in J)J.hasOwnProperty(T)&&(this[T]=J[T]);J.hasOwnProperty("toString")&&(this.toString=J.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),x=E.WordArray=b.extend({init:function(k,J){k=this.words=k||[],J!=d?this.sigBytes=J:this.sigBytes=k.length*4},toString:function(k){return(k||D).stringify(this)},concat:function(k){var J=this.words,T=k.words,z=this.sigBytes,G=k.sigBytes;if(this.clamp(),z%4)for(var ne=0;ne>>2]>>>24-ne%4*8&255;J[z+ne>>>2]|=de<<24-(z+ne)%4*8}else for(var ne=0;ne>>2]=T[ne>>>2];return this.sigBytes+=G,this},clamp:function(){var k=this.words,J=this.sigBytes;k[J>>>2]&=4294967295<<32-J%4*8,k.length=a.ceil(J/4)},clone:function(){var k=b.clone.call(this);return k.words=this.words.slice(0),k},random:function(k){for(var J=[],T=0;T>>2]>>>24-G%4*8&255;z.push((ne>>>4).toString(16)),z.push((ne&15).toString(16))}return z.join("")},parse:function(k){for(var J=k.length,T=[],z=0;z>>3]|=parseInt(k.substr(z,2),16)<<24-z%8*4;return new x.init(T,J/2)}},O=Q.Latin1={stringify:function(k){for(var J=k.words,T=k.sigBytes,z=[],G=0;G>>2]>>>24-G%4*8&255;z.push(String.fromCharCode(ne))}return z.join("")},parse:function(k){for(var J=k.length,T=[],z=0;z>>2]|=(k.charCodeAt(z)&255)<<24-z%4*8;return new x.init(T,J)}},M=Q.Utf8={stringify:function(k){try{return decodeURIComponent(escape(O.stringify(k)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(k){return O.parse(unescape(encodeURIComponent(k)))}},Z=E.BufferedBlockAlgorithm=b.extend({reset:function(){this._data=new x.init,this._nDataBytes=0},_append:function(k){typeof k=="string"&&(k=M.parse(k)),this._data.concat(k),this._nDataBytes+=k.sigBytes},_process:function(k){var J=this._data,T=J.words,z=J.sigBytes,G=this.blockSize,ne=G*4,de=z/ne;k?de=a.ceil(de):de=a.max((de|0)-this._minBufferSize,0);var we=de*G,Be=a.min(we*4,z);if(we){for(var je=0;je>>2]&255}},d.BlockCipher=D.extend({cfg:D.cfg.extend({mode:te,padding:M}),reset:function(){D.reset.call(this);var z=this.cfg,T=z.iv,z=z.mode;if(this._xformMode==this._ENC_XFORM_MODE)var G=z.createEncryptor;else G=z.createDecryptor,this._minBufferSize=1;this._mode=G.call(z,this,T&&T.words)},_doProcessBlock:function(T,z){this._mode.processBlock(T,z)},_doFinalize:function(){var T=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){T.pad(this._data,this.blockSize);var z=this._process(!0)}else z=this._process(!0),T.unpad(z);return z},blockSize:4});var Z=d.CipherParams=h.extend({init:function(T){this.mixIn(T)},toString:function(T){return(T||this.formatter).stringify(this)}}),te=(k.format={}).OpenSSL={stringify:function(T){var z=T.ciphertext;return T=T.salt,(T?E.create([1398893684,1701076831]).concat(T).concat(z):z).toString(x)},parse:function(T){T=x.parse(T);var z=T.words;if(z[0]==1398893684&&z[1]==1701076831){var G=E.create(z.slice(2,4));z.splice(0,4),T.sigBytes-=16}return Z.create({ciphertext:T,salt:G})}},N=d.SerializableCipher=h.extend({cfg:h.extend({format:te}),encrypt:function(T,z,G,ne){ne=this.cfg.extend(ne);var de=T.createEncryptor(G,ne);return z=de.finalize(z),de=de.cfg,Z.create({ciphertext:z,key:G,iv:de.iv,algorithm:T,mode:de.mode,padding:de.padding,blockSize:T.blockSize,formatter:ne.format})},decrypt:function(T,z,G,ne){return ne=this.cfg.extend(ne),z=this._parse(z,ne.format),T.createDecryptor(G,ne).finalize(z.ciphertext)},_parse:function(T,z){return typeof T=="string"?z.parse(T,this):T}}),k=(k.kdf={}).OpenSSL={execute:function(T,z,G,ne){return ne||(ne=E.random(8)),T=Q.create({keySize:z+G}).compute(T,ne),G=E.create(T.words.slice(z),4*G),T.sigBytes=4*z,Z.create({key:T,iv:G,salt:ne})}},J=d.PasswordBasedCipher=N.extend({cfg:N.cfg.extend({kdf:k}),encrypt:function(T,z,G,ne){return ne=this.cfg.extend(ne),G=ne.kdf.execute(G,T.keySize,T.ivSize),ne.iv=G.iv,T=N.encrypt.call(this,T,z,G.key,ne),T.mixIn(G),T},decrypt:function(T,z,G,ne){return ne=this.cfg.extend(ne),z=this._parse(z,ne.format),G=ne.kdf.execute(G,T.keySize,T.ivSize,z.salt),ne.iv=G.iv,N.decrypt.call(this,T,z,G.key,ne)}})}(),function(){for(var a=s,d=a.lib.BlockCipher,je=a.algo,h=[],E=[],b=[],x=[],Q=[],D=[],O=[],M=[],Z=[],te=[],N=[],k=0;256>k;k++)N[k]=128>k?k<<1:k<<1^283;for(var J=0,T=0,k=0;256>k;k++){var z=T^T<<1^T<<2^T<<3^T<<4,z=z>>>8^z&255^99;h[J]=z,E[z]=J;var G=N[J],ne=N[G],de=N[ne],we=257*N[z]^16843008*z;b[J]=we<<24|we>>>8,x[J]=we<<16|we>>>16,Q[J]=we<<8|we>>>24,D[J]=we,we=16843009*de^65537*ne^257*G^16843008*J,O[z]=we<<24|we>>>8,M[z]=we<<16|we>>>16,Z[z]=we<<8|we>>>24,te[z]=we,J?(J=G^N[N[N[de^G]]],T^=N[N[T]]):J=T=1}var Be=[0,1,2,4,8,16,32,64,128,27,54],je=je.AES=d.extend({_doReset:function(){for(var R=this._key,Je=R.words,y=R.sigBytes/4,R=4*((this._nRounds=y+6)+1),V=this._keySchedule=[],H=0;H>>24]<<24|h[ce>>>16&255]<<16|h[ce>>>8&255]<<8|h[ce&255]):(ce=ce<<8|ce>>>24,ce=h[ce>>>24]<<24|h[ce>>>16&255]<<16|h[ce>>>8&255]<<8|h[ce&255],ce^=Be[H/y|0]<<24),V[H]=V[H-y]^ce}for(Je=this._invKeySchedule=[],y=0;yy||4>=H?ce:O[h[ce>>>24]]^M[h[ce>>>16&255]]^Z[h[ce>>>8&255]]^te[h[ce&255]]},encryptBlock:function(Je,y){this._doCryptBlock(Je,y,this._keySchedule,b,x,Q,D,h)},decryptBlock:function(Je,y){var R=Je[y+1];Je[y+1]=Je[y+3],Je[y+3]=R,this._doCryptBlock(Je,y,this._invKeySchedule,O,M,Z,te,E),R=Je[y+1],Je[y+1]=Je[y+3],Je[y+3]=R},_doCryptBlock:function(Je,y,R,V,H,ce,Ee,Fe){for(var De=this._nRounds,Sr=Je[y]^R[0],gn=Je[y+1]^R[1],Wr=Je[y+2]^R[2],kr=Je[y+3]^R[3],He=4,et=1;et>>24]^H[gn>>>16&255]^ce[Wr>>>8&255]^Ee[kr&255]^R[He++],ir=V[gn>>>24]^H[Wr>>>16&255]^ce[kr>>>8&255]^Ee[Sr&255]^R[He++],Wt=V[Wr>>>24]^H[kr>>>16&255]^ce[Sr>>>8&255]^Ee[gn&255]^R[He++],kr=V[kr>>>24]^H[Sr>>>16&255]^ce[gn>>>8&255]^Ee[Wr&255]^R[He++],Sr=zt,gn=ir,Wr=Wt;zt=(Fe[Sr>>>24]<<24|Fe[gn>>>16&255]<<16|Fe[Wr>>>8&255]<<8|Fe[kr&255])^R[He++],ir=(Fe[gn>>>24]<<24|Fe[Wr>>>16&255]<<16|Fe[kr>>>8&255]<<8|Fe[Sr&255])^R[He++],Wt=(Fe[Wr>>>24]<<24|Fe[kr>>>16&255]<<16|Fe[Sr>>>8&255]<<8|Fe[gn&255])^R[He++],kr=(Fe[kr>>>24]<<24|Fe[Sr>>>16&255]<<16|Fe[gn>>>8&255]<<8|Fe[Wr&255])^R[He++],Je[y]=zt,Je[y+1]=ir,Je[y+2]=Wt,Je[y+3]=kr},keySize:8});a.AES=d._createHelper(je)}(),function(){function a(N,k){var J=(this._lBlock>>>N^this._rBlock)&k;this._rBlock^=J,this._lBlock^=J<>>N^this._lBlock)&k;this._lBlock^=J,this._rBlock^=J<J;J++){var T=Q[J]-1;k[J]=N[T>>>5]>>>31-T%32&1}for(N=this._subKeys=[],T=0;16>T;T++){for(var z=N[T]=[],G=O[T],J=0;24>J;J++)z[J/6|0]|=k[(D[J]-1+G)%28]<<31-J%6,z[4+(J/6|0)]|=k[28+(D[J+24]-1+G)%28]<<31-J%6;for(z[0]=z[0]<<1|z[0]>>>31,J=1;7>J;J++)z[J]>>>=4*(J-1)+3;z[7]=z[7]<<5|z[7]>>>27}for(k=this._invSubKeys=[],J=0;16>J;J++)k[J]=N[15-J]},encryptBlock:function(N,k){this._doCryptBlock(N,k,this._subKeys)},decryptBlock:function(N,k){this._doCryptBlock(N,k,this._invSubKeys)},_doCryptBlock:function(N,k,J){this._lBlock=N[k],this._rBlock=N[k+1],a.call(this,4,252645135),a.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),a.call(this,1,1431655765);for(var T=0;16>T;T++){for(var z=J[T],G=this._lBlock,ne=this._rBlock,de=0,we=0;8>we;we++)de|=M[we][((ne^z[we])&Z[we])>>>0];this._lBlock=ne,this._rBlock=G^de}J=this._lBlock,this._lBlock=this._rBlock,this._rBlock=J,a.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),a.call(this,16,65535),a.call(this,4,252645135),N[k]=this._lBlock,N[k+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});h.DES=b._createHelper(te),x=x.TripleDES=b.extend({_doReset:function(){var N=this._key.words;this._des1=te.createEncryptor(E.create(N.slice(0,2))),this._des2=te.createEncryptor(E.create(N.slice(2,4))),this._des3=te.createEncryptor(E.create(N.slice(4,6)))},encryptBlock:function(N,k){this._des1.encryptBlock(N,k),this._des2.decryptBlock(N,k),this._des3.encryptBlock(N,k)},decryptBlock:function(N,k){this._des3.decryptBlock(N,k),this._des2.encryptBlock(N,k),this._des1.decryptBlock(N,k)},keySize:6,ivSize:2,blockSize:2}),h.TripleDES=b._createHelper(x)}(),function(){var a=s,d=a.lib.WordArray;a.enc.Base64={stringify:function(h){var E=h.words,b=h.sigBytes,x=this._map;h.clamp(),h=[];for(var Q=0;Q>>2]>>>24-8*(Q%4)&255)<<16|(E[Q+1>>>2]>>>24-8*((Q+1)%4)&255)<<8|E[Q+2>>>2]>>>24-8*((Q+2)%4)&255,O=0;4>O&&Q+.75*O>>6*(3-O)&63));if(E=x.charAt(64))for(;h.length%4;)h.push(E);return h.join("")},parse:function(h){var E=h.length,b=this._map,x=b.charAt(64);x&&(x=h.indexOf(x),x!=-1&&(E=x));for(var x=[],Q=0,D=0;D>>6-2*(D%4);x[Q>>>2]|=(O|M)<<24-8*(Q%4),Q++}return d.create(x,Q)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(a){function d(te,N,k,J,T,z,G){return te=te+(N&k|~N&J)+T+G,(te<>>32-z)+N}function h(te,N,k,J,T,z,G){return te=te+(N&J|k&~J)+T+G,(te<>>32-z)+N}function E(te,N,k,J,T,z,G){return te=te+(N^k^J)+T+G,(te<>>32-z)+N}function b(te,N,k,J,T,z,G){return te=te+(k^(N|~J))+T+G,(te<>>32-z)+N}for(var x=s,O=x.lib,Q=O.WordArray,D=O.Hasher,O=x.algo,M=[],Z=0;64>Z;Z++)M[Z]=4294967296*a.abs(a.sin(Z+1))|0;O=O.MD5=D.extend({_doReset:function(){this._hash=new Q.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(te,N){for(var k=0;16>k;k++){var J=N+k,T=te[J];te[J]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}var k=this._hash.words,J=te[N+0],T=te[N+1],z=te[N+2],G=te[N+3],ne=te[N+4],de=te[N+5],we=te[N+6],Be=te[N+7],je=te[N+8],Je=te[N+9],y=te[N+10],R=te[N+11],V=te[N+12],H=te[N+13],ce=te[N+14],Ee=te[N+15],Fe=k[0],et=k[1],He=k[2],De=k[3],Fe=d(Fe,et,He,De,J,7,M[0]),De=d(De,Fe,et,He,T,12,M[1]),He=d(He,De,Fe,et,z,17,M[2]),et=d(et,He,De,Fe,G,22,M[3]),Fe=d(Fe,et,He,De,ne,7,M[4]),De=d(De,Fe,et,He,de,12,M[5]),He=d(He,De,Fe,et,we,17,M[6]),et=d(et,He,De,Fe,Be,22,M[7]),Fe=d(Fe,et,He,De,je,7,M[8]),De=d(De,Fe,et,He,Je,12,M[9]),He=d(He,De,Fe,et,y,17,M[10]),et=d(et,He,De,Fe,R,22,M[11]),Fe=d(Fe,et,He,De,V,7,M[12]),De=d(De,Fe,et,He,H,12,M[13]),He=d(He,De,Fe,et,ce,17,M[14]),et=d(et,He,De,Fe,Ee,22,M[15]),Fe=h(Fe,et,He,De,T,5,M[16]),De=h(De,Fe,et,He,we,9,M[17]),He=h(He,De,Fe,et,R,14,M[18]),et=h(et,He,De,Fe,J,20,M[19]),Fe=h(Fe,et,He,De,de,5,M[20]),De=h(De,Fe,et,He,y,9,M[21]),He=h(He,De,Fe,et,Ee,14,M[22]),et=h(et,He,De,Fe,ne,20,M[23]),Fe=h(Fe,et,He,De,Je,5,M[24]),De=h(De,Fe,et,He,ce,9,M[25]),He=h(He,De,Fe,et,G,14,M[26]),et=h(et,He,De,Fe,je,20,M[27]),Fe=h(Fe,et,He,De,H,5,M[28]),De=h(De,Fe,et,He,z,9,M[29]),He=h(He,De,Fe,et,Be,14,M[30]),et=h(et,He,De,Fe,V,20,M[31]),Fe=E(Fe,et,He,De,de,4,M[32]),De=E(De,Fe,et,He,je,11,M[33]),He=E(He,De,Fe,et,R,16,M[34]),et=E(et,He,De,Fe,ce,23,M[35]),Fe=E(Fe,et,He,De,T,4,M[36]),De=E(De,Fe,et,He,ne,11,M[37]),He=E(He,De,Fe,et,Be,16,M[38]),et=E(et,He,De,Fe,y,23,M[39]),Fe=E(Fe,et,He,De,H,4,M[40]),De=E(De,Fe,et,He,J,11,M[41]),He=E(He,De,Fe,et,G,16,M[42]),et=E(et,He,De,Fe,we,23,M[43]),Fe=E(Fe,et,He,De,Je,4,M[44]),De=E(De,Fe,et,He,V,11,M[45]),He=E(He,De,Fe,et,Ee,16,M[46]),et=E(et,He,De,Fe,z,23,M[47]),Fe=b(Fe,et,He,De,J,6,M[48]),De=b(De,Fe,et,He,Be,10,M[49]),He=b(He,De,Fe,et,ce,15,M[50]),et=b(et,He,De,Fe,de,21,M[51]),Fe=b(Fe,et,He,De,V,6,M[52]),De=b(De,Fe,et,He,G,10,M[53]),He=b(He,De,Fe,et,y,15,M[54]),et=b(et,He,De,Fe,T,21,M[55]),Fe=b(Fe,et,He,De,je,6,M[56]),De=b(De,Fe,et,He,Ee,10,M[57]),He=b(He,De,Fe,et,we,15,M[58]),et=b(et,He,De,Fe,H,21,M[59]),Fe=b(Fe,et,He,De,ne,6,M[60]),De=b(De,Fe,et,He,R,10,M[61]),He=b(He,De,Fe,et,z,15,M[62]),et=b(et,He,De,Fe,Je,21,M[63]);k[0]=k[0]+Fe|0,k[1]=k[1]+et|0,k[2]=k[2]+He|0,k[3]=k[3]+De|0},_doFinalize:function(){var te=this._data,N=te.words,k=8*this._nDataBytes,J=8*te.sigBytes;N[J>>>5]|=128<<24-J%32;var T=a.floor(k/4294967296);for(N[(J+64>>>9<<4)+15]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,N[(J+64>>>9<<4)+14]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360,te.sigBytes=4*(N.length+1),this._process(),te=this._hash,N=te.words,k=0;4>k;k++)J=N[k],N[k]=(J<<8|J>>>24)&16711935|(J<<24|J>>>8)&4278255360;return te},clone:function(){var te=D.clone.call(this);return te._hash=this._hash.clone(),te}}),x.MD5=D._createHelper(O),x.HmacMD5=D._createHmacHelper(O)}(Math),function(){var a=s,b=a.lib,d=b.WordArray,h=b.Hasher,E=[],b=a.algo.SHA1=h.extend({_doReset:function(){this._hash=new d.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(x,Q){for(var D=this._hash.words,O=D[0],M=D[1],Z=D[2],te=D[3],N=D[4],k=0;80>k;k++){if(16>k)E[k]=x[Q+k]|0;else{var J=E[k-3]^E[k-8]^E[k-14]^E[k-16];E[k]=J<<1|J>>>31}J=(O<<5|O>>>27)+N+E[k],J=20>k?J+((M&Z|~M&te)+1518500249):40>k?J+((M^Z^te)+1859775393):60>k?J+((M&Z|M&te|Z&te)-1894007588):J+((M^Z^te)-899497514),N=te,te=Z,Z=M<<30|M>>>2,M=O,O=J}D[0]=D[0]+O|0,D[1]=D[1]+M|0,D[2]=D[2]+Z|0,D[3]=D[3]+te|0,D[4]=D[4]+N|0},_doFinalize:function(){var x=this._data,Q=x.words,D=8*this._nDataBytes,O=8*x.sigBytes;return Q[O>>>5]|=128<<24-O%32,Q[(O+64>>>9<<4)+14]=Math.floor(D/4294967296),Q[(O+64>>>9<<4)+15]=D,x.sigBytes=4*Q.length,this._process(),this._hash},clone:function(){var x=h.clone.call(this);return x._hash=this._hash.clone(),x}});a.SHA1=h._createHelper(b),a.HmacSHA1=h._createHmacHelper(b)}(),function(a){for(var d=s,k=d.lib,h=k.WordArray,E=k.Hasher,k=d.algo,b=[],x=[],Q=function(T){return 4294967296*(T-(T|0))|0},D=2,O=0;64>O;){var M;e:{M=D;for(var Z=a.sqrt(M),te=2;te<=Z;te++)if(!(M%te)){M=!1;break e}M=!0}M&&(8>O&&(b[O]=Q(a.pow(D,.5))),x[O]=Q(a.pow(D,1/3)),O++),D++}var N=[],k=k.SHA256=E.extend({_doReset:function(){this._hash=new h.init(b.slice(0))},_doProcessBlock:function(J,T){for(var z=this._hash.words,G=z[0],ne=z[1],de=z[2],we=z[3],Be=z[4],je=z[5],Je=z[6],y=z[7],R=0;64>R;R++){if(16>R)N[R]=J[T+R]|0;else{var V=N[R-15],H=N[R-2];N[R]=((V<<25|V>>>7)^(V<<14|V>>>18)^V>>>3)+N[R-7]+((H<<15|H>>>17)^(H<<13|H>>>19)^H>>>10)+N[R-16]}V=y+((Be<<26|Be>>>6)^(Be<<21|Be>>>11)^(Be<<7|Be>>>25))+(Be&je^~Be&Je)+x[R]+N[R],H=((G<<30|G>>>2)^(G<<19|G>>>13)^(G<<10|G>>>22))+(G&ne^G&de^ne&de),y=Je,Je=je,je=Be,Be=we+V|0,we=de,de=ne,ne=G,G=V+H|0}z[0]=z[0]+G|0,z[1]=z[1]+ne|0,z[2]=z[2]+de|0,z[3]=z[3]+we|0,z[4]=z[4]+Be|0,z[5]=z[5]+je|0,z[6]=z[6]+Je|0,z[7]=z[7]+y|0},_doFinalize:function(){var J=this._data,T=J.words,z=8*this._nDataBytes,G=8*J.sigBytes;return T[G>>>5]|=128<<24-G%32,T[(G+64>>>9<<4)+14]=a.floor(z/4294967296),T[(G+64>>>9<<4)+15]=z,J.sigBytes=4*T.length,this._process(),this._hash},clone:function(){var J=E.clone.call(this);return J._hash=this._hash.clone(),J}});d.SHA256=E._createHelper(k),d.HmacSHA256=E._createHmacHelper(k)}(Math),function(){var a=s,d=a.lib.WordArray,E=a.algo,h=E.SHA256,E=E.SHA224=h.extend({_doReset:function(){this._hash=new d.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var b=h._doFinalize.call(this);return b.sigBytes-=4,b}});a.SHA224=h._createHelper(E),a.HmacSHA224=h._createHmacHelper(E)}(),function(){function a(){return E.create.apply(E,arguments)}for(var d=s,h=d.lib.Hasher,x=d.x64,E=x.Word,b=x.WordArray,x=d.algo,Q=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],D=[],O=0;80>O;O++)D[O]=a();x=x.SHA512=h.extend({_doReset:function(){this._hash=new b.init([new E.init(1779033703,4089235720),new E.init(3144134277,2227873595),new E.init(1013904242,4271175723),new E.init(2773480762,1595750129),new E.init(1359893119,2917565137),new E.init(2600822924,725511199),new E.init(528734635,4215389547),new E.init(1541459225,327033209)])},_doProcessBlock:function(M,Z){for(var ne=this._hash.words,te=ne[0],N=ne[1],k=ne[2],J=ne[3],T=ne[4],z=ne[5],G=ne[6],ne=ne[7],de=te.high,we=te.low,Be=N.high,je=N.low,Je=k.high,y=k.low,R=J.high,V=J.low,H=T.high,ce=T.low,Ee=z.high,Fe=z.low,De=G.high,He=G.low,et=ne.high,zt=ne.low,ir=de,Wt=we,kr=Be,Sr=je,gn=Je,Wr=y,Ga=R,Ms=V,rs=H,ds=ce,Bs=Ee,Kr=Fe,Zn=De,Pn=He,pe=et,Mi=zt,sn=0;80>sn;sn++){var ns=D[sn];if(16>sn)var $n=ns.high=M[Z+2*sn]|0,on=ns.low=M[Z+2*sn+1]|0;else{var $n=D[sn-15],on=$n.high,pa=$n.low,$n=(on>>>1|pa<<31)^(on>>>8|pa<<24)^on>>>7,pa=(pa>>>1|on<<31)^(pa>>>8|on<<24)^(pa>>>7|on<<25),Ls=D[sn-2],on=Ls.high,Hn=Ls.low,Ls=(on>>>19|Hn<<13)^(on<<3|Hn>>>29)^on>>>6,Hn=(Hn>>>19|on<<13)^(Hn<<3|on>>>29)^(Hn>>>6|on<<26),on=D[sn-7],Nr=on.high,Pu=D[sn-16],fa=Pu.high,Pu=Pu.low,on=pa+on.low,$n=$n+Nr+(on>>>0>>0?1:0),on=on+Hn,$n=$n+Ls+(on>>>0>>0?1:0),on=on+Pu,$n=$n+fa+(on>>>0>>0?1:0);ns.high=$n,ns.low=on}var Nr=rs&Bs^~rs&Zn,Pu=ds&Kr^~ds&Pn,ns=ir&kr^ir&gn^kr&gn,pw=Wt&Sr^Wt&Wr^Sr&Wr,pa=(ir>>>28|Wt<<4)^(ir<<30|Wt>>>2)^(ir<<25|Wt>>>7),Ls=(Wt>>>28|ir<<4)^(Wt<<30|ir>>>2)^(Wt<<25|ir>>>7),Hn=Q[sn],fw=Hn.high,K1=Hn.low,Hn=Mi+((ds>>>14|rs<<18)^(ds>>>18|rs<<14)^(ds<<23|rs>>>9)),fa=pe+((rs>>>14|ds<<18)^(rs>>>18|ds<<14)^(rs<<23|ds>>>9))+(Hn>>>0>>0?1:0),Hn=Hn+Pu,fa=fa+Nr+(Hn>>>0>>0?1:0),Hn=Hn+K1,fa=fa+fw+(Hn>>>0>>0?1:0),Hn=Hn+on,fa=fa+$n+(Hn>>>0>>0?1:0),on=Ls+pw,ns=pa+ns+(on>>>0>>0?1:0),pe=Zn,Mi=Pn,Zn=Bs,Pn=Kr,Bs=rs,Kr=ds,ds=Ms+Hn|0,rs=Ga+fa+(ds>>>0>>0?1:0)|0,Ga=gn,Ms=Wr,gn=kr,Wr=Sr,kr=ir,Sr=Wt,Wt=Hn+on|0,ir=fa+ns+(Wt>>>0>>0?1:0)|0}we=te.low=we+Wt,te.high=de+ir+(we>>>0>>0?1:0),je=N.low=je+Sr,N.high=Be+kr+(je>>>0>>0?1:0),y=k.low=y+Wr,k.high=Je+gn+(y>>>0>>0?1:0),V=J.low=V+Ms,J.high=R+Ga+(V>>>0>>0?1:0),ce=T.low=ce+ds,T.high=H+rs+(ce>>>0>>0?1:0),Fe=z.low=Fe+Kr,z.high=Ee+Bs+(Fe>>>0>>0?1:0),He=G.low=He+Pn,G.high=De+Zn+(He>>>0>>0?1:0),zt=ne.low=zt+Mi,ne.high=et+pe+(zt>>>0>>0?1:0)},_doFinalize:function(){var M=this._data,Z=M.words,te=8*this._nDataBytes,N=8*M.sigBytes;return Z[N>>>5]|=128<<24-N%32,Z[(N+128>>>10<<5)+30]=Math.floor(te/4294967296),Z[(N+128>>>10<<5)+31]=te,M.sigBytes=4*Z.length,this._process(),this._hash.toX32()},clone:function(){var M=h.clone.call(this);return M._hash=this._hash.clone(),M},blockSize:32}),d.SHA512=h._createHelper(x),d.HmacSHA512=h._createHmacHelper(x)}(),function(){var a=s,b=a.x64,d=b.Word,h=b.WordArray,b=a.algo,E=b.SHA512,b=b.SHA384=E.extend({_doReset:function(){this._hash=new h.init([new d.init(3418070365,3238371032),new d.init(1654270250,914150663),new d.init(2438529370,812702999),new d.init(355462360,4144912697),new d.init(1731405415,4290775857),new d.init(2394180231,1750603025),new d.init(3675008525,1694076839),new d.init(1203062813,3204075428)])},_doFinalize:function(){var x=E._doFinalize.call(this);return x.sigBytes-=16,x}});a.SHA384=E._createHelper(b),a.HmacSHA384=E._createHmacHelper(b)}(),function(){var a=s,M=a.lib,d=M.WordArray,h=M.Hasher,M=a.algo,E=d.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),b=d.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),x=d.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),Q=d.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),D=d.create([0,1518500249,1859775393,2400959708,2840853838]),O=d.create([1352829926,1548603684,1836072691,2053994217,0]),M=M.RIPEMD160=h.extend({_doReset:function(){this._hash=d.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(Z,te){for(var N=0;16>N;N++){var k=te+N,J=Z[k];Z[k]=(J<<8|J>>>24)&16711935|(J<<24|J>>>8)&4278255360}var k=this._hash.words,J=D.words,T=O.words,z=E.words,G=b.words,ne=x.words,de=Q.words,we,Be,je,Je,y,R,V,H,ce,Ee;R=we=k[0],V=Be=k[1],H=je=k[2],ce=Je=k[3],Ee=y=k[4];for(var Fe,N=0;80>N;N+=1)Fe=we+Z[te+z[N]]|0,Fe=16>N?Fe+((Be^je^Je)+J[0]):32>N?Fe+((Be&je|~Be&Je)+J[1]):48>N?Fe+(((Be|~je)^Je)+J[2]):64>N?Fe+((Be&Je|je&~Je)+J[3]):Fe+((Be^(je|~Je))+J[4]),Fe|=0,Fe=Fe<>>32-ne[N],Fe=Fe+y|0,we=y,y=Je,Je=je<<10|je>>>22,je=Be,Be=Fe,Fe=R+Z[te+G[N]]|0,Fe=16>N?Fe+((V^(H|~ce))+T[0]):32>N?Fe+((V&ce|H&~ce)+T[1]):48>N?Fe+(((V|~H)^ce)+T[2]):64>N?Fe+((V&H|~V&ce)+T[3]):Fe+((V^H^ce)+T[4]),Fe|=0,Fe=Fe<>>32-de[N],Fe=Fe+Ee|0,R=Ee,Ee=ce,ce=H<<10|H>>>22,H=V,V=Fe;Fe=k[1]+je+ce|0,k[1]=k[2]+Je+Ee|0,k[2]=k[3]+y+R|0,k[3]=k[4]+we+V|0,k[4]=k[0]+Be+H|0,k[0]=Fe},_doFinalize:function(){var Z=this._data,te=Z.words,N=8*this._nDataBytes,k=8*Z.sigBytes;for(te[k>>>5]|=128<<24-k%32,te[(k+64>>>9<<4)+14]=(N<<8|N>>>24)&16711935|(N<<24|N>>>8)&4278255360,Z.sigBytes=4*(te.length+1),this._process(),Z=this._hash,te=Z.words,N=0;5>N;N++)k=te[N],te[N]=(k<<8|k>>>24)&16711935|(k<<24|k>>>8)&4278255360;return Z},clone:function(){var Z=h.clone.call(this);return Z._hash=this._hash.clone(),Z}});a.RIPEMD160=h._createHelper(M),a.HmacRIPEMD160=h._createHmacHelper(M)}(Math),function(){var a=s,d=a.enc.Utf8;a.algo.HMAC=a.lib.Base.extend({init:function(h,E){h=this._hasher=new h.init,typeof E=="string"&&(E=d.parse(E));var b=h.blockSize,x=4*b;E.sigBytes>x&&(E=h.finalize(E)),E.clamp();for(var Q=this._oKey=E.clone(),D=this._iKey=E.clone(),O=Q.words,M=D.words,Z=0;Z>6)+o.charAt(h&63);if(d+1==a.length?(h=parseInt(a.substring(d,d+1),16),E+=o.charAt(h<<2)):d+2==a.length&&(h=parseInt(a.substring(d,d+2),16),E+=o.charAt(h>>2)+o.charAt((h&3)<<4)),u)for(;(E.length&3)>0;)E+=u;return E}function p(a){var d="",h,E=0,b,x;for(h=0;h>2),b=x&3,E=1):E==1?(d+=Ie(b<<2|x>>4),b=x&15,E=2):E==2?(d+=Ie(b),d+=Ie(x>>2),b=x&3,E=3):(d+=Ie(b<<2|x>>4),d+=Ie(x&15),E=0));return E==1&&(d+=Ie(b<<2)),d}function f(a){var d=p(a),h,E=new Array;for(h=0;2*h=0;){var Q=d*this[a++]+h[E]+b;b=Math.floor(Q/67108864),h[E++]=Q&67108863}return b}function j(a,d,h,E,b,x){for(var Q=d&32767,D=d>>15;--x>=0;){var O=this[a]&32767,M=this[a++]>>15,Z=D*O+M*Q;O=Q*O+((Z&32767)<<15)+h[E]+(b&1073741823),b=(O>>>30)+(Z>>>15)+D*M+(b>>>30),h[E++]=O&1073741823}return b}function re(a,d,h,E,b,x){for(var Q=d&16383,D=d>>14;--x>=0;){var O=this[a]&16383,M=this[a++]>>14,Z=D*O+M*Q;O=Q*O+((Z&16383)<<14)+h[E]+b,b=(O>>28)+(Z>>14)+D*M,h[E++]=O&268435455}return b}w&&t.appName=="Microsoft Internet Explorer"?(C.prototype.am=j,c=30):w&&t.appName!="Netscape"?(C.prototype.am=P,c=26):(C.prototype.am=re,c=28),C.prototype.DB=c,C.prototype.DM=(1<=0;--d)a[d]=this[d];a.t=this.t,a.s=this.s}function Ae(a){this.t=1,this.s=a<0?-1:0,a>0?this[0]=a:a<-1?this[0]=a+this.DV:this.t=0}function Ue(a){var d=F();return d.fromInt(a),d}function Oe(a,d){var h;if(d==16)h=4;else if(d==8)h=3;else if(d==256)h=8;else if(d==2)h=1;else if(d==32)h=5;else if(d==4)h=2;else{this.fromRadix(a,d);return}this.t=0,this.s=0;for(var E=a.length,b=!1,x=0;--E>=0;){var Q=h==8?a[E]&255:$e(a,E);if(Q<0){a.charAt(E)=="-"&&(b=!0);continue}b=!1,x==0?this[this.t++]=Q:x+h>this.DB?(this[this.t-1]|=(Q&(1<>this.DB-x):this[this.t-1]|=Q<=this.DB&&(x-=this.DB)}h==8&&a[0]&128&&(this.s=-1,x>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==a;)--this.t}function Re(a){if(this.s<0)return"-"+this.negate().toString(a);var d;if(a==16)d=4;else if(a==8)d=3;else if(a==2)d=1;else if(a==32)d=5;else if(a==4)d=2;else return this.toRadix(a);var h=(1<0)for(D>D)>0&&(b=!0,x=Ie(E));Q>=0;)D>(D+=this.DB-d)):(E=this[Q]>>(D-=d)&h,D<=0&&(D+=this.DB,--Q)),E>0&&(b=!0),b&&(x+=Ie(E));return b?x:"0"}function Qe(){var a=F();return C.ZERO.subTo(this,a),a}function ze(){return this.s<0?this.negate():this}function kt(a){var d=this.s-a.s;if(d!=0)return d;var h=this.t;if(d=h-a.t,d!=0)return this.s<0?-d:d;for(;--h>=0;)if((d=this[h]-a[h])!=0)return d;return 0}function st(a){var d=1,h;return(h=a>>>16)!=0&&(a=h,d+=16),(h=a>>8)!=0&&(a=h,d+=8),(h=a>>4)!=0&&(a=h,d+=4),(h=a>>2)!=0&&(a=h,d+=2),(h=a>>1)!=0&&(a=h,d+=1),d}function We(){return this.t<=0?0:this.DB*(this.t-1)+st(this[this.t-1]^this.s&this.DM)}function pt(a,d){var h;for(h=this.t-1;h>=0;--h)d[h+a]=this[h];for(h=a-1;h>=0;--h)d[h]=0;d.t=this.t+a,d.s=this.s}function Pt(a,d){for(var h=a;h=0;--D)d[D+x+1]=this[D]>>E|Q,Q=(this[D]&b)<=0;--D)d[D]=0;d[x]=Q,d.t=this.t+x+1,d.s=this.s,d.clamp()}function nr(a,d){d.s=this.s;var h=Math.floor(a/this.DB);if(h>=this.t){d.t=0;return}var E=a%this.DB,b=this.DB-E,x=(1<>E;for(var Q=h+1;Q>E;E>0&&(d[this.t-h-1]|=(this.s&x)<>=this.DB;if(a.t>=this.DB;E+=this.s}else{for(E+=this.s;h>=this.DB;E-=a.s}d.s=E<0?-1:0,E<-1?d[h++]=this.DV+E:E>0&&(d[h++]=E),d.t=h,d.clamp()}function Rt(a,d){var h=this.abs(),E=a.abs(),b=h.t;for(d.t=b+E.t;--b>=0;)d[b]=0;for(b=0;b=0;)a[h]=0;for(h=0;h=d.DV&&(a[h+d.t]-=d.DV,a[h+d.t+1]=1)}a.t>0&&(a[a.t-1]+=d.am(h,d[h],a,2*h,0,1)),a.s=0,a.clamp()}function Xt(a,d,h){var E=a.abs();if(!(E.t<=0)){var b=this.abs();if(b.t0?(E.lShiftTo(O,x),b.lShiftTo(O,h)):(E.copyTo(x),b.copyTo(h));var M=x.t,Z=x[M-1];if(Z!=0){var te=Z*(1<1?x[M-2]>>this.F2:0),N=this.FV/te,k=(1<=0&&(h[h.t++]=1,h.subTo(G,h)),C.ONE.dlShiftTo(M,G),G.subTo(x,x);x.t=0;){var ne=h[--T]==Z?this.DM:Math.floor(h[T]*N+(h[T-1]+J)*k);if((h[T]+=x.am(0,ne,h,z,0,M))0&&h.rShiftTo(O,h),Q<0&&C.ZERO.subTo(h,h)}}}function Ct(a){var d=F();return this.abs().divRemTo(a,null,d),this.s<0&&d.compareTo(C.ZERO)>0&&a.subTo(d,d),d}function er(a){this.m=a}function Qt(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a}function Gt(a){return a}function W(a){a.divRemTo(this.m,null,a)}function _(a,d,h){a.multiplyTo(d,h),this.reduce(h)}function Y(a,d){a.squareTo(d),this.reduce(d)}er.prototype.convert=Qt,er.prototype.revert=Gt,er.prototype.reduce=W,er.prototype.mulTo=_,er.prototype.sqrTo=Y;function ke(){if(this.t<1)return 0;var a=this[0];if(!(a&1))return 0;var d=a&3;return d=d*(2-(a&15)*d)&15,d=d*(2-(a&255)*d)&255,d=d*(2-((a&65535)*d&65535))&65535,d=d*(2-a*d%this.DV)%this.DV,d>0?this.DV-d:-d}function Xe(a){this.m=a,this.mp=a.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(d,d),d}function xr(a){var d=F();return a.copyTo(d),this.reduce(d),d}function Fr(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var d=0;d>15)*this.mpl&this.um)<<15)&a.DM;for(h=d+this.m.t,a[h]+=this.m.am(0,E,a,d,0,this.m.t);a[h]>=a.DV;)a[h]-=a.DV,a[++h]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)}function Ar(a,d){a.squareTo(d),this.reduce(d)}function Dr(a,d,h){a.multiplyTo(d,h),this.reduce(h)}Xe.prototype.convert=Jt,Xe.prototype.revert=xr,Xe.prototype.reduce=Fr,Xe.prototype.mulTo=Dr,Xe.prototype.sqrTo=Ar;function ui(){return(this.t>0?this[0]&1:this.s)==0}function Us(a,d){if(a>4294967295||a<1)return C.ONE;var h=F(),E=F(),b=d.convert(this),x=st(a)-1;for(b.copyTo(h);--x>=0;)if(d.sqrTo(h,E),(a&1<0)d.mulTo(E,b,h);else{var Q=h;h=E,E=Q}return d.revert(h)}function ti(a,d){var h;return a<256||d.isEven()?h=new er(d):h=new Xe(d),this.exp(a,h)}C.prototype.copyTo=Ve,C.prototype.fromInt=Ae,C.prototype.fromString=Oe,C.prototype.clamp=ct,C.prototype.dlShiftTo=pt,C.prototype.drShiftTo=Pt,C.prototype.lShiftTo=nn,C.prototype.rShiftTo=nr,C.prototype.subTo=jt,C.prototype.multiplyTo=Rt,C.prototype.squareTo=vn,C.prototype.divRemTo=Xt,C.prototype.invDigit=ke,C.prototype.isEven=ui,C.prototype.exp=Us,C.prototype.toString=Re,C.prototype.negate=Qe,C.prototype.abs=ze,C.prototype.compareTo=kt,C.prototype.bitLength=We,C.prototype.mod=Ct,C.prototype.modPowInt=ti,C.ZERO=Ue(0),C.ONE=Ue(1);function U(){var a=F();return this.copyTo(a),a}function S(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function X(){return this.t==0?this.s:this[0]<<16>>16}function ve(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function Se(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function ee(a){if(a==null&&(a=10),this.signum()==0||a<2||a>36)return"0";var d=this.chunkSize(a),h=Math.pow(a,d),E=Ue(h),b=F(),x=F(),Q="";for(this.divRemTo(E,b,x);b.signum()>0;)Q=(h+x.intValue()).toString(a).substr(1)+Q,b.divRemTo(E,b,x);return x.intValue().toString(a)+Q}function Te(a,d){this.fromInt(0),d==null&&(d=10);for(var h=this.chunkSize(d),E=Math.pow(d,h),b=!1,x=0,Q=0,D=0;D=h&&(this.dMultiply(E),this.dAddOffset(Q,0),x=0,Q=0)}x>0&&(this.dMultiply(Math.pow(d,x)),this.dAddOffset(Q,0)),b&&C.ZERO.subTo(this,this)}function Ke(a,d,h){if(typeof d=="number")if(a<2)this.fromInt(1);else for(this.fromNumber(a,h),this.testBit(a-1)||this.bitwiseTo(C.ONE.shiftLeft(a-1),tr,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(d);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(C.ONE.shiftLeft(a-1),this);else{var E=new Array,b=a&7;E.length=(a>>3)+1,d.nextBytes(E),b>0?E[0]&=(1<0)for(h>h)!=(this.s&this.DM)>>h&&(d[b++]=E|this.s<=0;)h<8?(E=(this[a]&(1<>(h+=this.DB-8)):(E=this[a]>>(h-=8)&255,h<=0&&(h+=this.DB,--a)),E&128&&(E|=-256),b==0&&(this.s&128)!=(E&128)&&++b,(b>0||E!=this.s)&&(d[b++]=E);return d}function at(a){return this.compareTo(a)==0}function Ze(a){return this.compareTo(a)<0?this:a}function mt(a){return this.compareTo(a)>0?this:a}function It(a,d,h){var E,b,x=Math.min(a.t,this.t);for(E=0;E>=16,d+=16),a&255||(a>>=8,d+=8),a&15||(a>>=4,d+=4),a&3||(a>>=2,d+=2),a&1||++d,d}function Ol(){for(var a=0;a=this.t?this.s!=0:(this[d]&1<>=this.DB;if(a.t>=this.DB;E+=this.s}else{for(E+=this.s;h>=this.DB;E+=a.s}d.s=E<0?-1:0,E>0?d[h++]=E:E<-1&&(d[h++]=this.DV+E),d.t=h,d.clamp()}function dp(a){var d=F();return this.addTo(a,d),d}function ea(a){var d=F();return this.subTo(a,d),d}function Ll(a){var d=F();return this.multiplyTo(a,d),d}function gp(){var a=F();return this.squareTo(a),a}function mp(a){var d=F();return this.divRemTo(a,d,null),d}function Ep(a){var d=F();return this.divRemTo(a,null,d),d}function yp(a){var d=F(),h=F();return this.divRemTo(a,d,h),new Array(d,h)}function Cp(a){this[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()}function vs(a,d){if(a!=0){for(;this.t<=d;)this[this.t++]=0;for(this[d]+=a;this[d]>=this.DV;)this[d]-=this.DV,++d>=this.t&&(this[this.t++]=0),++this[d]}}function Ma(){}function La(a){return a}function vp(a,d,h){a.multiplyTo(d,h)}function Ip(a,d){a.squareTo(d)}Ma.prototype.convert=La,Ma.prototype.revert=La,Ma.prototype.mulTo=vp,Ma.prototype.sqrTo=Ip;function Pl(a){return this.exp(a,new Ma)}function xo(a,d,h){var E=Math.min(this.t+a.t,d);for(h.s=0,h.t=E;E>0;)h[--E]=0;var b;for(b=h.t-this.t;E=0;)h[E]=0;for(E=Math.max(d-this.t,0);E2*this.m.t)return a.mod(this.m);if(a.compareTo(this.m)<0)return a;var d=F();return a.copyTo(d),this.reduce(d),d}function Fn(a){return a}function wp(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);a.compareTo(this.r2)<0;)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)}function bp(a,d){a.squareTo(d),this.reduce(d)}function Hl(a,d,h){a.multiplyTo(d,h),this.reduce(h)}Qo.prototype.convert=Bp,Qo.prototype.revert=Fn,Qo.prototype.reduce=wp,Qo.prototype.mulTo=Hl,Qo.prototype.sqrTo=bp;function ta(a,d){var h=a.bitLength(),E,b=Ue(1),x;if(h<=0)return b;h<18?E=1:h<48?E=3:h<144?E=4:h<768?E=5:E=6,h<8?x=new er(d):d.isEven()?x=new Qo(d):x=new Xe(d);var Q=new Array,D=3,O=E-1,M=(1<1){var Z=F();for(x.sqrTo(Q[1],Z);D<=M;)Q[D]=F(),x.mulTo(Z,Q[D-2],Q[D]),D+=2}var te=a.t-1,N,k=!0,J=F(),T;for(h=st(a[te])-1;te>=0;){for(h>=O?N=a[te]>>h-O&M:(N=(a[te]&(1<0&&(N|=a[te-1]>>this.DB+h-O)),D=E;!(N&1);)N>>=1,--D;if((h-=D)<0&&(h+=this.DB,--te),k)Q[N].copyTo(b),k=!1;else{for(;D>1;)x.sqrTo(b,J),x.sqrTo(J,b),D-=2;D>0?x.sqrTo(b,J):(T=b,b=J,J=T),x.mulTo(J,Q[N],b)}for(;te>=0&&!(a[te]&1<0&&(d.rShiftTo(x,d),h.rShiftTo(x,h));d.signum()>0;)(b=d.getLowestSetBit())>0&&d.rShiftTo(b,d),(b=h.getLowestSetBit())>0&&h.rShiftTo(b,h),d.compareTo(h)>=0?(d.subTo(h,d),d.rShiftTo(1,d)):(h.subTo(d,h),h.rShiftTo(1,h));return x>0&&h.lShiftTo(x,h),h}function Dn(a){if(a<=0)return 0;var d=this.DV%a,h=this.s<0?a-1:0;if(this.t>0)if(d==0)h=this[0]%a;else for(var E=this.t-1;E>=0;--E)h=(d*h+this[E])%a;return h}function Fu(a){var d=a.isEven();if(this.isEven()&&d||a.signum()==0)return C.ZERO;for(var h=a.clone(),E=this.clone(),b=Ue(1),x=Ue(0),Q=Ue(0),D=Ue(1);h.signum()!=0;){for(;h.isEven();)h.rShiftTo(1,h),d?((!b.isEven()||!x.isEven())&&(b.addTo(this,b),x.subTo(a,x)),b.rShiftTo(1,b)):x.isEven()||x.subTo(a,x),x.rShiftTo(1,x);for(;E.isEven();)E.rShiftTo(1,E),d?((!Q.isEven()||!D.isEven())&&(Q.addTo(this,Q),D.subTo(a,D)),Q.rShiftTo(1,Q)):D.isEven()||D.subTo(a,D),D.rShiftTo(1,D);h.compareTo(E)>=0?(h.subTo(E,h),d&&b.subTo(Q,b),x.subTo(D,x)):(E.subTo(h,E),d&&Q.subTo(b,Q),D.subTo(x,D))}if(E.compareTo(C.ONE)!=0)return C.ZERO;if(D.compareTo(a)>=0)return D.subtract(a);if(D.signum()<0)D.addTo(a,D);else return D;return D.signum()<0?D.add(a):D}var ci=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Ui=(1<<26)/ci[ci.length-1];function Dc(a){var d,h=this.abs();if(h.t==1&&h[0]<=ci[ci.length-1]){for(d=0;d>1,a>ci.length&&(a=ci.length);for(var b=F(),x=0;x>8&255,xi[hn++]^=a>>16&255,xi[hn++]^=a>>24&255,hn>=Su&&(hn-=Su)}function le(){ie(new Date().getTime())}if(xi==null){if(xi=new Array,hn=0,r!==void 0&&(r.crypto!==void 0||r.msCrypto!==void 0)){if(Le=r.crypto||r.msCrypto,Le.getRandomValues)for(ft=new Uint8Array(32),Le.getRandomValues(ft),me=0;me<32;++me)xi[hn++]=ft[me];else if(t.appName=="Netscape"&&t.appVersion<"5")for(xt=r.crypto.random(32),me=0;me>>8,xi[hn++]=me&255;hn=0,le()}var me,Le,ft,xt;function Tt(){if(ra==null){for(le(),ra=Rc(),ra.init(xi),hn=0;hn0&&d.length>0)this.n=Mr(a,16),this.e=parseInt(d,16);else throw"Invalid RSA public key"}function Os(a){return a.modPowInt(this.e,this.n)}Yt.prototype.doPublic=Os,Yt.prototype.setPublic=ji,Yt.prototype.type="RSA";function ku(a,d,h){if(this.isPrivate=!0,typeof a!="string")this.n=a,this.e=d,this.d=h;else if(a!=null&&d!=null&&a.length>0&&d.length>0)this.n=Mr(a,16),this.e=parseInt(d,16),this.d=Mr(h,16);else throw"Invalid RSA private key"}function ps(a,d,h,E,b,x,Q,D){if(this.isPrivate=!0,this.isPublic=!1,a==null)throw"RSASetPrivateEx N == null";if(d==null)throw"RSASetPrivateEx E == null";if(a.length==0)throw"RSASetPrivateEx N.length == 0";if(d.length==0)throw"RSASetPrivateEx E.length == 0";if(a!=null&&d!=null&&a.length>0&&d.length>0)this.n=Mr(a,16),this.e=parseInt(d,16),this.d=Mr(h,16),this.p=Mr(E,16),this.q=Mr(b,16),this.dmp1=Mr(x,16),this.dmq1=Mr(Q,16),this.coeff=Mr(D,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function Gi(a,d){var h=new $r,E=a>>1;this.e=parseInt(d,16);for(var b=new C(d,16),x=a/2-100,Q=C.ONE.shiftLeft(x);;){for(;this.p=new C(a-E,1,h),!(this.p.subtract(C.ONE).gcd(b).compareTo(C.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new C(E,1,h),!(this.q.subtract(C.ONE).gcd(b).compareTo(C.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var D=this.p;this.p=this.q,this.q=D}var O=this.q.subtract(this.p).abs();if(!(O.bitLength()0;--M){b=b.twice();var Z=h.testBit(M),te=d.testBit(M);Z!=te&&(b=b.add(Z?this:E))}for(M=Q.bitLength()-2;M>0;--M){D=D.twice();var N=Q.testBit(M),k=x.testBit(M);N!=k&&(D=D.add(N?D:O))}return b}function Fp(a,d,h){var E;a.bitLength()>h.bitLength()?E=a.bitLength()-1:E=h.bitLength()-1;for(var b=this.curve.getInfinity(),x=this.add(d);E>=0;)b=b.twice(),a.testBit(E)?h.testBit(E)?b=b.add(x):b=b.add(this):h.testBit(E)&&(b=b.add(d)),--E;return b}Hr.prototype.getX=Zg,Hr.prototype.getY=Xg,Hr.prototype.equals=wh,Hr.prototype.isInfinity=e0,Hr.prototype.negate=mi,Hr.prototype.add=xp,Hr.prototype.twice=$a,Hr.prototype.multiply=bh,Hr.prototype.multiplyTwo=Fp;function ii(a,d,h){this.q=a,this.a=this.fromBigInteger(d),this.b=this.fromBigInteger(h),this.infinity=new Hr(this,null,null)}function xh(){return this.q}function Qh(){return this.a}function Sh(){return this.b}function Rh(a){return a==this?!0:this.q.equals(a.q)&&this.a.equals(a.a)&&this.b.equals(a.b)}function kh(){return this.infinity}function Nh(a){return new ln(this.q,a)}function hs(a){switch(parseInt(a.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var d=a.substr(0,2),h=a.substr(2),E=this.fromBigInteger(new C(M,16)),b=this.getA(),x=this.getB(),Q=E.square().add(b).multiply(E).add(x),D=Q.sqrt();return d=="03"&&(D=D.negate()),new Hr(this,E,D);case 4:case 6:case 7:var O=(a.length-2)/2,M=a.substr(2,O),Z=a.substr(O+2,O);return new Hr(this,this.fromBigInteger(new C(M,16)),this.fromBigInteger(new C(Z,16)));default:return null}}ii.prototype.getQ=xh,ii.prototype.getA=Qh,ii.prototype.getB=Sh,ii.prototype.equals=Rh,ii.prototype.getInfinity=kh,ii.prototype.fromBigInteger=Nh,ii.prototype.decodePointHex=hs,ln.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Hr.prototype.getEncoded=function(a){var d=function(x,Q){var D=x.toByteArrayUnsigned();if(QD.length;)D.unshift(0);return D},h=this.getX().toBigInteger(),E=this.getY().toBigInteger(),b=d(h,32);return a?E.isEven()?b.unshift(2):b.unshift(3):(b.unshift(4),b=b.concat(d(E,32))),b},Hr.decodeFrom=function(a,d){var h=d[0],E=d.length-1,b=d.slice(1,1+E/2),x=d.slice(1+E/2,1+E);b.unshift(0),x.unshift(0);var Q=new C(b),D=new C(x);return new Hr(a,a.fromBigInteger(Q),a.fromBigInteger(D))},Hr.decodeFromHex=function(a,d){var h=d.substr(0,2),E=d.length-2,b=d.substr(2,E/2),x=d.substr(2+E/2,E/2),Q=new C(b,16),D=new C(x,16);return new Hr(a,a.fromBigInteger(Q),a.fromBigInteger(D))},Hr.prototype.add2D=function(a){if(this.isInfinity())return a;if(a.isInfinity())return this;if(this.x.equals(a.x))return this.y.equals(a.y)?this.twice():this.curve.getInfinity();var d=a.x.subtract(this.x),h=a.y.subtract(this.y),E=h.divide(d),b=E.square().subtract(this.x).subtract(a.x),x=E.multiply(this.x.subtract(b)).subtract(this.y);return new Hr(this.curve,b,x)},Hr.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var a=this.curve.fromBigInteger(C.valueOf(2)),d=this.curve.fromBigInteger(C.valueOf(3)),h=this.x.square().multiply(d).add(this.curve.a).divide(this.y.multiply(a)),E=h.square().subtract(this.x.multiply(a)),b=h.multiply(this.x.subtract(E)).subtract(this.y);return new Hr(this.curve,E,b)},Hr.prototype.multiply2D=function(a){if(this.isInfinity())return this;if(a.signum()==0)return this.curve.getInfinity();var d=a,h=d.multiply(new C("3")),E=this.negate(),b=this,x;for(x=h.bitLength()-2;x>0;--x){b=b.twice();var Q=h.testBit(x),D=d.testBit(x);Q!=D&&(b=b.add2D(Q?this:E))}return b},Hr.prototype.isOnCurve=function(){var a=this.getX().toBigInteger(),d=this.getY().toBigInteger(),h=this.curve.getA().toBigInteger(),E=this.curve.getB().toBigInteger(),b=this.curve.getQ(),x=d.multiply(d).mod(b),Q=a.multiply(a).multiply(a).add(h.multiply(a)).add(E).mod(b);return x.equals(Q)},Hr.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},Hr.prototype.validate=function(){var a=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var d=this.getX().toBigInteger(),h=this.getY().toBigInteger();if(d.compareTo(C.ONE)<0||d.compareTo(a.subtract(C.ONE))>0)throw new Error("x coordinate out of bounds");if(h.compareTo(C.ONE)<0||h.compareTo(a.subtract(C.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(a).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var Th=function(){var a="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",d='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',h='(?:"'+d+'*")',E=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+a+"|"+h+")","g"),b=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),x={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function Q(te,N,k){return N?x[N]:String.fromCharCode(parseInt(k,16))}var D=new String(""),O="\\",M={"{":Object,"[":Array},Z=Object.hasOwnProperty;return function(te,N){var k=te.match(E),J,T=k[0],z=!1;T==="{"?J={}:T==="["?J=[]:(J=[],z=!0);for(var G,ne=[J],de=1-z,we=k.length;de=0;)delete R[V[Ee]]}return N.call(Je,y,R)};J=je({"":J},"")}return J}}();(typeof v>"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),v.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var d=a.toString(16);return d.length%2==1&&(d="0"+d),d},this.bigIntToMinTwosComplementsHex=function(a){return nt(a)},this.getPEMStringFromHex=function(a,d){return it(a,d)},this.newObject=function(a){var d=v,h=d.asn1,E=h.ASN1Object,b=h.DERBoolean,x=h.DERInteger,Q=h.DERBitString,D=h.DEROctetString,O=h.DERNull,M=h.DERObjectIdentifier,Z=h.DEREnumerated,te=h.DERUTF8String,N=h.DERNumericString,k=h.DERPrintableString,J=h.DERTeletexString,T=h.DERIA5String,z=h.DERUTCTime,G=h.DERGeneralizedTime,ne=h.DERVisibleString,de=h.DERBMPString,we=h.DERSequence,Be=h.DERSet,je=h.DERTaggedObject,Je=h.ASN1Util.newObject;if(a instanceof h.ASN1Object)return a;var y=Object.keys(a);if(y.length!=1)throw new Error("key of param shall be only one.");var R=y[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+R+":")==-1)throw new Error("undefined key: "+R);if(R=="bool")return new b(a[R]);if(R=="int")return new x(a[R]);if(R=="bitstr")return new Q(a[R]);if(R=="octstr")return new D(a[R]);if(R=="null")return new O(a[R]);if(R=="oid")return new M(a[R]);if(R=="enum")return new Z(a[R]);if(R=="utf8str")return new te(a[R]);if(R=="numstr")return new N(a[R]);if(R=="prnstr")return new k(a[R]);if(R=="telstr")return new J(a[R]);if(R=="ia5str")return new T(a[R]);if(R=="utctime")return new z(a[R]);if(R=="gentime")return new G(a[R]);if(R=="visstr")return new ne(a[R]);if(R=="bmpstr")return new de(a[R]);if(R=="asn1")return new E(a[R]);if(R=="seq"){for(var V=a[R],H=[],ce=0;ce"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+x.length+",v="+this.hV);var Q=this.hV.length/2,D=Q.toString(16);if(D.length%2==1&&(D="0"+D),Q<128)return D;var O=D.length/2;if(O>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+Q.toString(16));var M=128+O;return M.toString(16)+D},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(Q){this.params=Q},a!=null&&a.tlv!=null&&(this.hTLV=a.tlv,this.isModified=!1)},v.asn1.DERAbstractString=function(a){v.asn1.DERAbstractString.superclass.constructor.call(this);var d=null,h=null;this.getString=function(){return this.s},this.setString=function(E){this.hTLV=null,this.isModified=!0,this.s=E,this.hV=Sp(this.s).toLowerCase()},this.setStringHex=function(E){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=E},this.getFreshValueHex=function(){return this.hV},typeof a<"u"&&(typeof a=="string"?this.setString(a):typeof a.str<"u"?this.setString(a.str):typeof a.hex<"u"&&this.setStringHex(a.hex))},ot(v.asn1.DERAbstractString,v.asn1.ASN1Object),v.asn1.DERAbstractTime=function(a){v.asn1.DERAbstractTime.superclass.constructor.call(this);var d=null,h=null;this.localDateToUTC=function(E){var b=E.getTime()+E.getTimezoneOffset()*6e4,x=new Date(b);return x},this.formatDate=function(E,b,x){var Q=this.zeroPadding,D=this.localDateToUTC(E),O=String(D.getFullYear());b=="utc"&&(O=O.substr(2,2));var M=Q(String(D.getMonth()+1),2),Z=Q(String(D.getDate()),2),te=Q(String(D.getHours()),2),N=Q(String(D.getMinutes()),2),k=Q(String(D.getSeconds()),2),J=O+M+Z+te+N+k;if(x===!0){var T=D.getMilliseconds();if(T!=0){var z=Q(String(T),3);z=z.replace(/[0]+$/,""),J=J+"."+z}}return J+"Z"},this.zeroPadding=function(E,b){return E.length>=b?E:new Array(b-E.length+1).join("0")+E},this.setByParam=function(E){this.hV=null,this.hTLV=null,this.params=E},this.getString=function(){},this.setString=function(E){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=E},this.setByDate=function(E){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=E},this.setByDateValue=function(E,b,x,Q,D,O){var M=new Date(Date.UTC(E,b-1,x,Q,D,O,0));this.setByDate(M)},this.getFreshValueHex=function(){return this.hV}},ot(v.asn1.DERAbstractTime,v.asn1.ASN1Object),v.asn1.DERAbstractStructured=function(a){v.asn1.DERAbstractString.superclass.constructor.call(this);var d=null;this.setByASN1ObjectArray=function(h){this.hTLV=null,this.isModified=!0,this.asn1Array=h},this.appendASN1Object=function(h){this.hTLV=null,this.isModified=!0,this.asn1Array.push(h)},this.asn1Array=new Array,typeof a<"u"&&typeof a.array<"u"&&(this.asn1Array=a.array)},ot(v.asn1.DERAbstractStructured,v.asn1.ASN1Object),v.asn1.DERBoolean=function(a){v.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",a==!1?this.hTLV="010100":this.hTLV="0101ff"},ot(v.asn1.DERBoolean,v.asn1.ASN1Object),v.asn1.DERInteger=function(a){v.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var d=nt;this.setByBigInteger=function(h){this.isModified=!0,this.params={bigint:h}},this.setByInteger=function(h){this.isModified=!0,this.params=h},this.setValueHex=function(h){this.isModified=!0,this.params={hex:h}},this.getFreshValueHex=function(){var h=this.params,E=null;if(h==null)throw new Error("value not set");if(typeof h=="object"&&h.hex!=null)return this.hV=h.hex,this.hV;if(typeof h=="number")E=new C(String(h),10);else if(h.int!=null)E=new C(String(h.int),10);else if(h.bigint!=null)E=h.bigint;else throw new Error("wrong parameter");return this.hV=d(E),this.hV},a!=null&&(this.params=a)},ot(v.asn1.DERInteger,v.asn1.ASN1Object),v.asn1.DERBitString=function(a){if(a!==void 0&&typeof a.obj<"u"){var d=v.asn1.ASN1Util.newObject(a.obj);a.hex="00"+d.tohex()}v.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(h){this.hTLV=null,this.isModified=!0,this.hV=h},this.setUnusedBitsAndHexValue=function(h,E){if(h<0||7=x)break}return E},Et.getNthChildIdx=function(a,d,h){var E=Et.getChildIdx(a,d);return E[h]},Et.getIdxbyList=function(a,d,h,E){var b=Et,x,Q;return h.length==0?E!==void 0&&a.substr(d,2)!==E?-1:d:(x=h.shift(),Q=b.getChildIdx(a,d),x>=Q.length?-1:b.getIdxbyList(a,Q[x],h,E))},Et.getIdxbyListEx=function(a,d,h,E){var b=Et,x,Q;if(h.length==0)return E!==void 0&&a.substr(d,2)!==E?-1:d;x=h.shift(),Q=b.getChildIdx(a,d);for(var D=0,O=0;O=a.length?null:b.getTLV(a,x)},Et.getTLVbyListEx=function(a,d,h,E){var b=Et,x=b.getIdxbyListEx(a,d,h,E);return x==-1?null:b.getTLV(a,x)},Et.getVbyList=function(a,d,h,E,b){var x=Et,Q,D;return Q=x.getIdxbyList(a,d,h,E),Q==-1||Q>=a.length?null:(D=x.getV(a,Q),b===!0&&(D=D.substr(2)),D)},Et.getVbyListEx=function(a,d,h,E,b){var x=Et,Q,D,O;return Q=x.getIdxbyListEx(a,d,h,E),Q==-1?null:(O=x.getV(a,Q),a.substr(Q,2)=="03"&&b!==!1&&(O=O.substr(2)),O)},Et.getInt=function(a,d,h){h==null&&(h=-1);try{var E=a.substr(d,2);if(E!="02"&&E!="03")return h;var b=Et.getV(a,d);return E=="02"?parseInt(b,16):mr(b)}catch{return h}},Et.getOID=function(a,d,h){h==null&&(h=null);try{if(a.substr(d,2)!="06")return h;var E=Et.getV(a,d);return qe(E)}catch{return h}},Et.getOIDName=function(a,d,h){h==null&&(h=null);try{var E=Et.getOID(a,d,h);if(E==h)return h;var b=v.asn1.x509.OID.oid2name(E);return b==""?E:b}catch{return h}},Et.getString=function(a,d,h){h==null&&(h=null);try{var E=Et.getV(a,d);return qt(E)}catch{return h}},Et.hextooidstr=function(a){var d=function(te,N){return te.length>=N?te:new Array(N-te.length+1).join("0")+te},h=[],E=a.substr(0,2),b=parseInt(E,16);h[0]=new String(Math.floor(b/40)),h[1]=new String(b%40);for(var x=a.substr(2),Q=[],D=0;D0&&(Z=Z+"."+O.join(".")),Z},Et.dump=function(a,d,h,E){var b=Et,x=b.getV,Q=b.dump,D=b.getChildIdx,O=a;a instanceof v.asn1.ASN1Object&&(O=a.tohex());var M=function(Je,y){if(Je.length<=y*2)return Je;var R=Je.substr(0,y)+"..(total "+Je.length/2+"bytes).."+Je.substr(Je.length-y,y);return R};d===void 0&&(d={ommit_long_octet:32}),h===void 0&&(h=0),E===void 0&&(E="");var Z=d.ommit_long_octet,Be=O.substr(h,2);if(Be=="01"){var te=x(O,h);return te=="00"?E+`BOOLEAN FALSE +`:E+`BOOLEAN TRUE +`}if(Be=="02"){var te=x(O,h);return E+"INTEGER "+M(te,Z)+` +`}if(Be=="03"){var te=x(O,h);if(b.isASN1HEX(te.substr(2))){var N=E+`BITSTRING, encapsulates +`;return N=N+Q(te.substr(2),d,0,E+" "),N}else return E+"BITSTRING "+M(te,Z)+` +`}if(Be=="04"){var te=x(O,h);if(b.isASN1HEX(te)){var N=E+`OCTETSTRING, encapsulates +`;return N=N+Q(te,d,0,E+" "),N}else return E+"OCTETSTRING "+M(te,Z)+` +`}if(Be=="05")return E+`NULL +`;if(Be=="06"){var k=x(O,h),J=v.asn1.ASN1Util.oidHexToInt(k),T=v.asn1.x509.OID.oid2name(J),z=J.replace(/\./g," ");return T!=""?E+"ObjectIdentifier "+T+" ("+z+`) +`:E+"ObjectIdentifier ("+z+`) +`}if(Be=="0a")return E+"ENUMERATED "+parseInt(x(O,h))+` +`;if(Be=="0c")return E+"UTF8String '"+or(x(O,h))+`' +`;if(Be=="13")return E+"PrintableString '"+or(x(O,h))+`' +`;if(Be=="14")return E+"TeletexString '"+or(x(O,h))+`' +`;if(Be=="16")return E+"IA5String '"+or(x(O,h))+`' +`;if(Be=="17")return E+"UTCTime "+or(x(O,h))+` +`;if(Be=="18")return E+"GeneralizedTime "+or(x(O,h))+` +`;if(Be=="1a")return E+"VisualString '"+or(x(O,h))+`' +`;if(Be=="1e")return E+"BMPString '"+Mp(x(O,h))+`' +`;if(Be=="30"){if(O.substr(h,4)=="3000")return E+`SEQUENCE {} +`;var N=E+`SEQUENCE +`,G=D(O,h),ne=d;if((G.length==2||G.length==3)&&O.substr(G[0],2)=="06"&&O.substr(G[G.length-1],2)=="04"){var T=b.oidname(x(O,G[0])),de=JSON.parse(JSON.stringify(d));de.x509ExtName=T,ne=de}for(var we=0;we4?{enum:{hex:G}}:{enum:parseInt(G,16)};if(T=="30"||T=="31")return z[k[T]]=J(a),z;if(T=="14"){var je=N(G);return z[k[T]]={str:je},z}else if(T=="1e"){var je=te(G);return z[k[T]]={str:je},z}else if(":0c:12:13:16:17:18:1a:".indexOf(T)!=-1){var je=Z(G);return z[k[T]]={str:je},z}else if(T.match(/^8[0-9]$/)){var je=Z(G);return je==null|je==""?{tag:{tag:T,explicit:!1,hex:G}}:je.match(/[\x00-\x1F\x7F-\x9F]/)!=null||je.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:T,explicit:!1,hex:G}}:{tag:{tag:T,explicit:!1,str:je}}}else if(T.match(/^a[0-9]$/))try{if(!E(G))throw new Error("not encap");return{tag:{tag:T,explicit:!0,obj:h(G)}}}catch{return{tag:{tag:T,explicit:!0,hex:G}}}else{var Je=new v.asn1.ASN1Object;Je.hV=G;var y=Je.getLengthHexFromValue();return{asn1:{tlv:T+y+G}}}}}},Et.isContextTag=function(a,d){a=a.toLowerCase();var h,E;try{h=parseInt(a,16)}catch{return-1}if(d===void 0)return(h&192)==128;try{var b=d.match(/^\[[0-9]+\]$/);return b==null||(E=parseInt(d.substr(1,d.length-1),10),E>31)?!1:(h&192)==128&&(h&31)==E}catch{return!1}},Et.isASN1HEX=function(a){var d=Et;if(a.length%2==1)return!1;var h=d.getVblen(a,0),E=a.substr(0,2),b=d.getL(a,0),x=a.length-E.length-b.length;return x==h*2},Et.checkStrictDER=function(a,d,h,E,b){var x=Et;if(h===void 0){if(typeof a!="string")throw new Error("not hex string");if(a=a.toLowerCase(),!v.lang.String.isHex(a))throw new Error("not hex string");h=a.length,E=a.length/2,E<128?b=1:b=Math.ceil(E.toString(16))+1}var Q=x.getL(a,d);if(Q.length>b*2)throw new Error("L of TLV too long: idx="+d);var D=x.getVblen(a,d);if(D>E)throw new Error("value of L too long than hex: idx="+d);var O=x.getTLV(a,d),M=O.length-2-x.getL(a,d).length;if(M!==D*2)throw new Error("V string length and L's value not the same:"+M+"/"+D*2);if(d===0&&a.length!=O.length)throw new Error("total length and TLV length unmatch:"+a.length+"!="+O.length);var Z=a.substr(d,2);if(Z==="02"){var te=x.getVidx(a,d);if(a.substr(te,2)=="00"&&a.charCodeAt(te+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(Z,16)&32){for(var N=x.getVblen(a,d),k=0,J=x.getChildIdx(a,d),T=0;T"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),(typeof v.asn1.x509>"u"||!v.asn1.x509)&&(v.asn1.x509={}),v.asn1.x509.Certificate=function(a){v.asn1.x509.Certificate.superclass.constructor.call(this);var d=v,h=d.asn1,E=h.DERBitString,b=h.DERSequence,x=h.x509,Q=x.TBSCertificate,D=x.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(O){this.params=O},this.sign=function(){var O=this.params,M=O.sigalg;O.sigalg.name!=null&&(M=O.sigalg.name);var Z=O.tbsobj.tohex(),te=new v.crypto.Signature({alg:M});te.init(O.cakey),te.updateHex(Z),O.sighex=te.sign()},this.getPEM=function(){return it(this.tohex(),"CERTIFICATE")},this.tohex=function(){var O=this.params;if((O.tbsobj==null||O.tbsobj==null)&&(O.tbsobj=new Q(O)),O.sighex==null&&O.cakey!=null&&this.sign(),O.sighex==null)throw new Error("sighex or cakey parameter not defined");var M=[];M.push(O.tbsobj),M.push(new D({name:O.sigalg})),M.push(new E({hex:"00"+O.sighex}));var Z=new b({array:M});return Z.tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&(this.params=a)},ot(v.asn1.x509.Certificate,v.asn1.ASN1Object),v.asn1.x509.TBSCertificate=function(a){v.asn1.x509.TBSCertificate.superclass.constructor.call(this);var d=v,h=d.asn1,E=h.x509,b=h.DERTaggedObject,x=h.DERInteger,Q=h.DERSequence,D=E.AlgorithmIdentifier,O=E.Time,M=E.X500Name,Z=E.Extensions,te=E.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(N){this.params=N},this.tohex=function(){var N=[],k=this.params;if(k.version!=null||k.version!=1){var J=2;k.version!=null&&(J=k.version-1);var T=new b({obj:new x({int:J})});N.push(T)}N.push(new x(k.serial)),N.push(new D({name:k.sigalg})),N.push(new M(k.issuer)),N.push(new Q({array:[new O(k.notbefore),new O(k.notafter)]})),N.push(new M(k.subject)),N.push(new te(Cr.getKey(k.sbjpubkey))),k.ext!==void 0&&k.ext.length>0&&N.push(new b({tag:"a3",obj:new Z(k.ext)}));var z=new v.asn1.DERSequence({array:N});return z.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.x509.TBSCertificate,v.asn1.ASN1Object),v.asn1.x509.Extensions=function(a){v.asn1.x509.Extensions.superclass.constructor.call(this);var d=v,h=d.asn1,E=h.DERSequence,b=h.x509;this.aParam=[],this.setByParam=function(x){this.aParam=x},this.tohex=function(){for(var x=[],Q=0;Q-1&&D.push(new E({int:this.pathLen}));var O=new b({array:D});return this.asn1ExtnValue=O,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,a!==void 0&&(a.cA!==void 0&&(this.cA=a.cA),a.pathLen!==void 0&&(this.pathLen=a.pathLen))},ot(v.asn1.x509.BasicConstraints,v.asn1.x509.Extension),v.asn1.x509.CRLDistributionPoints=function(a){v.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,a);var d=v,h=d.asn1,E=h.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(b){for(var x=[],Q=0;Q0&&x.push(new h({array:Q}))}var O=new h({array:x});return O.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&(this.params=a)},ot(v.asn1.x509.PolicyInformation,v.asn1.ASN1Object),v.asn1.x509.PolicyQualifierInfo=function(a){v.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,a);var d=v.asn1,h=d.DERSequence,E=d.DERIA5String,b=d.DERObjectIdentifier,x=d.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var Q=new h({array:[new b({oid:"1.3.6.1.5.5.7.2.1"}),new E({str:this.params.cps})]});return Q.tohex()}if(this.params.unotice!=null){var Q=new h({array:[new b({oid:"1.3.6.1.5.5.7.2.2"}),new x(this.params.unotice)]});return Q.tohex()}},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&(this.params=a)},ot(v.asn1.x509.PolicyQualifierInfo,v.asn1.ASN1Object),v.asn1.x509.UserNotice=function(a){v.asn1.x509.UserNotice.superclass.constructor.call(this,a);var d=v.asn1.DERSequence,h=v.asn1.DERInteger,E=v.asn1.x509.DisplayText,b=v.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var x=[];this.params.noticeref!==void 0&&x.push(new b(this.params.noticeref)),this.params.exptext!==void 0&&x.push(new E(this.params.exptext));var Q=new d({array:x});return Q.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&(this.params=a)},ot(v.asn1.x509.UserNotice,v.asn1.ASN1Object),v.asn1.x509.NoticeReference=function(a){v.asn1.x509.NoticeReference.superclass.constructor.call(this,a);var d=v.asn1.DERSequence,h=v.asn1.DERInteger,E=v.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var b=[];if(this.params.org!==void 0&&b.push(new E(this.params.org)),this.params.noticenum!==void 0){for(var x=[],Q=this.params.noticenum,D=0;D0)for(var Q=0;Q0;b++){var x=d.shift();if(h===!0){var Q=E.pop(),D=(Q+","+x).replace(/\\,/g,",");E.push(D),h=!1}else E.push(x);x.substr(-1,1)==="\\"&&(h=!0)}return E=E.map(function(O){return O.replace("/","\\/")}),E.reverse(),"/"+E.join("/")},v.asn1.x509.X500Name.ldapToOneline=function(a){return v.asn1.x509.X500Name.ldapToCompat(a)},v.asn1.x509.RDN=function(a){v.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var d=v.asn1.x509.AttributeTypeAndValue;this.setByParam=function(h){h.rule!==void 0&&(this.sRule=h.rule),h.str!==void 0&&this.addByMultiValuedString(h.str),h.array!==void 0&&(this.paramArray=h.array)},this.addByString=function(h){this.asn1Array.push(new v.asn1.x509.AttributeTypeAndValue({str:h,rule:this.sRule}))},this.addByMultiValuedString=function(h){for(var E=v.asn1.x509.RDN.parseString(h),b=0;b0)for(var h=0;h0;b++){var x=d.shift();if(h===!0){var Q=E.pop(),D=(Q+"+"+x).replace(/\\\+/g,"+");E.push(D),h=!1}else E.push(x);x.substr(-1,1)==="\\"&&(h=!0)}for(var O=!1,M=[],b=0;E.length>0;b++){var x=E.shift();if(O===!0){var Z=M.pop();if(x.match(/"$/)){var D=(Z+"+"+x).replace(/^([^=]+)="(.*)"$/,"$1=$2");M.push(D),O=!1}else M.push(Z+"+"+x)}else M.push(x);x.match(/^[^=]+="/)&&(O=!0)}return M},v.asn1.x509.AttributeTypeAndValue=function(a){v.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var d=v,h=d.asn1,E=h.DERSequence,b=h.DERUTF8String,x=h.DERPrintableString,Q=h.DERTeletexString,D=h.DERIA5String,O=h.DERVisibleString,M=h.DERBMPString,Z=d.lang.String.isMail,te=d.lang.String.isPrintable;this.setByParam=function(N){if(N.rule!==void 0&&(this.sRule=N.rule),N.ds!==void 0&&(this.dsType=N.ds),N.value===void 0&&N.str!==void 0){var k=N.str,J=k.match(/^([^=]+)=(.+)$/);if(J)this.sType=J[1],this.sValue=J[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=N.type,this.sValue=N.value},this.setByString=function(N,k){k!==void 0&&(this.sRule=k);var J=N.match(/^([^=]+)=(.+)$/);if(J)this.setByAttrTypeAndValueStr(J[1],J[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var N=this.sType,k=this.sValue,J=this.sRule;return J==="prn"?N=="CN"&&Z(k)?"ia5":te(k)?"prn":"utf8":J==="utf8"?N=="CN"&&Z(k)?"ia5":N=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(N,k,J){J!==void 0&&(this.sRule=J),this.sType=N,this.sValue=k},this.getValueObj=function(N,k){if(N=="utf8")return new b({str:k});if(N=="prn")return new x({str:k});if(N=="tel")return new Q({str:k});if(N=="ia5")return new D({str:k});if(N=="vis")return new O({str:k});if(N=="bmp")return new M({str:k});throw new Error("unsupported directory string type: type="+N+" value="+k)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var N=v.asn1.x509.OID.atype2obj(this.sType),k=this.getValueObj(this.dsType,this.sValue),J=new E({array:[N,k]});return this.TLV=J.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.x509.AttributeTypeAndValue,v.asn1.ASN1Object),v.asn1.x509.SubjectPublicKeyInfo=function(a){v.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var d=null,h=null,E=v,b=E.asn1,x=b.DERInteger,Q=b.DERBitString,D=b.DERObjectIdentifier,O=b.DERSequence,M=b.ASN1Util.newObject,Z=b.x509,te=Z.AlgorithmIdentifier,N=E.crypto,k=N.ECDSA,J=N.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var T=new O({array:[this.asn1AlgId,this.asn1SubjPKey]});return T},this.tohex=function(){var T=this.getASN1Object();return this.hTLV=T.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(T){try{if(T instanceof Yt){var z=M({seq:[{int:{bigint:T.n}},{int:{int:T.e}}]}),G=z.tohex();this.asn1AlgId=new te({name:"rsaEncryption"}),this.asn1SubjPKey=new Q({hex:"00"+G})}}catch{}try{if(T instanceof v.crypto.ECDSA){var ne=new D({name:T.curveName});this.asn1AlgId=new te({name:"ecPublicKey",asn1params:ne}),this.asn1SubjPKey=new Q({hex:"00"+T.pubKeyHex})}}catch{}try{if(T instanceof v.crypto.DSA){var ne=new M({seq:[{int:{bigint:T.p}},{int:{bigint:T.q}},{int:{bigint:T.g}}]});this.asn1AlgId=new te({name:"dsa",asn1params:ne});var de=new x({bigint:T.y});this.asn1SubjPKey=new Q({hex:"00"+de.tohex()})}}catch{}},a!==void 0&&this.setPubKey(a)},ot(v.asn1.x509.SubjectPublicKeyInfo,v.asn1.ASN1Object),v.asn1.x509.Time=function(a){v.asn1.x509.Time.superclass.constructor.call(this);var d=null,h=null,E=v,b=E.asn1,x=b.DERUTCTime,Q=b.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(D){this.timeParams=D},this.setByParam=function(D){this.params=D},this.getType=function(D){return D.match(/^[0-9]{12}Z$/)?"utc":D.match(/^[0-9]{14}Z$/)?"gen":D.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":D.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var D=this.params,O=null;if(typeof D=="string"&&(D={str:D}),D!=null&&D.str&&(D.type==null||D.type==null)&&(D.type=this.getType(D.str)),D!=null&&D.str?(D.type=="utc"&&(O=new x(D.str)),D.type=="gen"&&(O=new Q(D.str))):this.type=="gen"?O=new Q:O=new x,O==null)throw new Error("wrong setting for Time");return this.TLV=O.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},v.asn1.x509.Time_bak=function(a){v.asn1.x509.Time_bak.superclass.constructor.call(this);var d=null,h=null,E=v,b=E.asn1,x=b.DERUTCTime,Q=b.DERGeneralizedTime;this.setTimeParams=function(D){this.timeParams=D},this.tohex=function(){var D=null;return this.timeParams!=null?this.type=="utc"?D=new x(this.timeParams):D=new Q(this.timeParams):this.type=="utc"?D=new x:D=new Q,this.TLV=D.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",a!==void 0&&(a.type!==void 0?this.type=a.type:a.str!==void 0&&(a.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),a.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=a)},ot(v.asn1.x509.Time,v.asn1.ASN1Object),v.asn1.x509.AlgorithmIdentifier=function(a){v.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var d=v,h=d.asn1,E=h.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var x=null;for(var Q in E)Q===this.nameAlg&&(x=E[Q]);if(x!==null)return this.hTLV=x,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=h.x509.OID.name2obj(this.nameAlg));var D=[this.asn1Alg];this.asn1Params!==null&&D.push(this.asn1Params);var O=new h.DERSequence({array:D});return this.hTLV=O.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&(a.name!==void 0&&(this.nameAlg=a.name),a.asn1params!==void 0&&(this.asn1Params=a.asn1params),a.paramempty!==void 0&&(this.paramEmpty=a.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var b=this.nameAlg.toLowerCase();b.substr(-7,7)!=="withdsa"&&b.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new h.DERNull)}},ot(v.asn1.x509.AlgorithmIdentifier,v.asn1.ASN1Object),v.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},v.asn1.x509.GeneralName=function(a){v.asn1.x509.GeneralName.superclass.constructor.call(this);var d={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},h=v,E=h.asn1,b=E.x509,x=b.X500Name,Q=b.OtherName,D=E.DERIA5String,O=E.DERPrintableString,M=E.DEROctetString,Z=E.DERTaggedObject,te=E.ASN1Object,N=Error;this.params=null,this.setByParam=function(k){this.params=k},this.tohex=function(){var k=this.params,J,z,T,z=!1;if(k.other!==void 0)J="a0",T=new Q(k.other);else if(k.rfc822!==void 0)J="81",T=new D({str:k.rfc822});else if(k.dns!==void 0)J="82",T=new D({str:k.dns});else if(k.dn!==void 0)J="a4",z=!0,typeof k.dn=="string"?T=new x({str:k.dn}):k.dn instanceof v.asn1.x509.X500Name?T=k.dn:T=new x(k.dn);else if(k.ldapdn!==void 0)J="a4",z=!0,T=new x({ldapstr:k.ldapdn});else if(k.certissuer!==void 0||k.certsubj!==void 0){J="a4",z=!0;var G,ne,de=null;if(k.certsubj!==void 0?(G=!1,ne=k.certsubj):(G=!0,ne=k.certissuer),ne.match(/^[0-9A-Fa-f]+$/)&&de==ne,ne.indexOf("-----BEGIN ")!=-1&&(de=Nn(ne)),de==null)throw new Error("certsubj/certissuer not cert");var we=new Nt;we.hex=de;var Be;G?Be=we.getIssuerHex():Be=we.getSubjectHex(),T=new te,T.hTLV=Be}else if(k.uri!==void 0)J="86",T=new D({str:k.uri});else if(k.ip!==void 0){J="87";var je,Je=k.ip;try{if(Je.match(/^[0-9a-f]+$/)){var y=Je.length;if(y==8||y==16||y==32||y==64)je=Je;else throw"err"}else je=Vl(Je)}catch(V){throw new N("malformed IP address: "+k.ip+":"+V.message)}T=new M({hex:je})}else throw new N("improper params");var R=new Z({tag:J,explicit:z,obj:T});return R.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.x509.GeneralName,v.asn1.ASN1Object),v.asn1.x509.GeneralNames=function(a){v.asn1.x509.GeneralNames.superclass.constructor.call(this);var d=null,h=v,E=h.asn1;this.setByParamArray=function(b){for(var x=0;x"u")throw"Name of ObjectIdentifier not defined: "+d;var h=this.name2oidList[d],E=new a({oid:h});return this.objCache[d]=E,E},this.atype2obj=function(d){if(this.objCache[d]!==void 0)return this.objCache[d];var h;if(d.match(/^\d+\.\d+\.[0-9.]+$/))h=d;else if(this.atype2oidList[d]!==void 0)h=this.atype2oidList[d];else if(this.name2oidList[d]!==void 0)h=this.name2oidList[d];else throw new Error("AttributeType name undefined: "+d);var E=new a({oid:h});return this.objCache[d]=E,E},this.registerOIDs=function(d){if(this.checkOIDs(d))for(var h in d)this.name2oidList[h]=d[h]},this.checkOIDs=function(d){try{var h=Object.keys(d);return h.length==0?!1:(h.map(function(E,b,x){var Q=this[E];if(!Q.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},d),!0)}catch{return!1}}},v.asn1.x509.OID.oid2name=function(a){var d=v.asn1.x509.OID.name2oidList;for(var h in d)if(d[h]==a)return h;return""},v.asn1.x509.OID.oid2atype=function(a){var d=v.asn1.x509.OID.atype2oidList;for(var h in d)if(d[h]==a)return h;return a},v.asn1.x509.OID.name2oid=function(a){if(a.match(/^[0-9.]+$/))return a;var d=v.asn1.x509.OID.name2oidList;return d[a]===void 0?"":d[a]},v.asn1.x509.X509Util={},v.asn1.x509.X509Util.newCertPEM=function(a){var d=v.asn1.x509,h=d.TBSCertificate,E=d.Certificate,b=new E(a);return b.getPEM()},(typeof v>"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),(typeof v.asn1.cms>"u"||!v.asn1.cms)&&(v.asn1.cms={}),v.asn1.cms.Attribute=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.DERSet,Q=E.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(D){this.params=D},this.getValueArray=function(){throw new d("not yet implemented abstract")},this.tohex=function(){var D=new Q({oid:this.typeOid}),O=new x({array:this.getValueArray()}),M=new b({array:[D,O]});return M.tohex()},this.getEncodedHex=function(){return this.tohex()}},ot(v.asn1.cms.Attribute,v.asn1.ASN1Object),v.asn1.cms.ContentType=function(a){var d=v,h=d.asn1;h.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var E=new h.DERObjectIdentifier(this.params.type);return[E]},a!=null&&this.setByParam(a)},ot(v.asn1.cms.ContentType,v.asn1.cms.Attribute),v.asn1.cms.MessageDigest=function(a){var d=v,h=d.asn1,E=h.DEROctetString,b=h.cms;b.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var x=new E(this.params);return[x]},a!=null&&this.setByParam(a)},ot(v.asn1.cms.MessageDigest,v.asn1.cms.Attribute),v.asn1.cms.SigningTime=function(a){var d=v,h=d.asn1;h.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var E=new h.x509.Time(this.params);return[E]},a!=null&&this.setByParam(a)},ot(v.asn1.cms.SigningTime,v.asn1.cms.Attribute),v.asn1.cms.SigningCertificate=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.cms,Q=x.ESSCertID,D=h.crypto;x.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new d("parameter 'array' not specified");for(var O=this.params.array,M=[],Z=0;Z0){for(var J=x(N.valhex,k[0]),T=te(J,0),z=[],G=0;G1){var we=x(N.valhex,k[1]);N.polhex=we}delete N.valhex},this.setSignaturePolicyIdentifier=function(N){var k=te(N.valhex,0);if(k.length>0){var J=E.getOID(N.valhex,k[0]);N.oid=J}if(k.length>1){var T=new d,z=te(N.valhex,k[1]),G=x(N.valhex,z[0]),ne=T.getAlgorithmIdentifierName(G);N.alg=ne;var de=b(N.valhex,z[1]);N.hash=de}delete N.valhex},this.setSigningCertificateV2=function(N){var k=te(N.valhex,0);if(k.length>0){for(var J=x(N.valhex,k[0]),T=te(J,0),z=[],G=0;G1){var we=x(N.valhex,k[1]);N.polhex=we}delete N.valhex},this.getESSCertID=function(N){var k={},J=te(N,0);if(J.length>0){var T=b(N,J[0]);k.hash=T}if(J.length>1){var z=x(N,J[1]),G=this.getIssuerSerial(z);G.serial!=null&&(k.serial=G.serial),G.issuer!=null&&(k.issuer=G.issuer)}return k},this.getESSCertIDv2=function(N){var k={},J=te(N,0);if(J.length<1||3T+1){var ne=x(N,J[T+1]),de=this.getIssuerSerial(ne);k.issuer=de.issuer,k.serial=de.serial}return k},this.getIssuerSerial=function(N){var k={},J=te(N,0),T=x(N,J[0]),z=h.getGeneralNames(T),G=z[0].dn;k.issuer=G;var ne=b(N,J[1]);return k.serial={hex:ne},k},this.getCertificateSet=function(N){for(var k=te(N,0),J=[],T=0;T"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),(typeof v.asn1.tsp>"u"||!v.asn1.tsp)&&(v.asn1.tsp={}),v.asn1.tsp.TimeStampToken=function(a){var d=v,h=d.asn1,E=h.tsp;E.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var b=new E.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=b.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.TimeStampToken,v.asn1.cms.SignedData),v.asn1.tsp.TSTInfo=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.DERInteger,Q=E.DERBoolean,D=E.DERGeneralizedTime,O=E.DERObjectIdentifier,M=E.DERTaggedObject,Z=E.tsp,te=Z.MessageImprint,N=Z.Accuracy,k=E.x509.X500Name,J=E.x509.GeneralName;if(Z.TSTInfo.superclass.constructor.call(this),this.dVersion=new x({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var T=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(T.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(T.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(T.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");T.push(this.dGenTime),this.dAccuracy!=null&&T.push(this.dAccuracy),this.dOrdering!=null&&T.push(this.dOrdering),this.dNonce!=null&&T.push(this.dNonce),this.dTsa!=null&&T.push(this.dTsa);var z=new b({array:T});return this.hTLV=z.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},a!==void 0){if(typeof a.policy=="string"){if(!a.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new O({oid:a.policy})}a.messageImprint!==void 0&&(this.dMessageImprint=new te(a.messageImprint)),a.serial!==void 0&&(this.dSerial=new x(a.serial)),a.genTime!==void 0&&(this.dGenTime=new D(a.genTime)),a.accuracy!==void 0&&(this.dAccuracy=new N(a.accuracy)),a.ordering!==void 0&&a.ordering==!0&&(this.dOrdering=new Q),a.nonce!==void 0&&(this.dNonce=new x(a.nonce)),a.tsa!==void 0&&(this.dTsa=new M({tag:"a0",explicit:!0,obj:new J({dn:a.tsa})}))}},ot(v.asn1.tsp.TSTInfo,v.asn1.ASN1Object),v.asn1.tsp.Accuracy=function(a){var d=v,h=d.asn1,E=h.ASN1Util.newObject;h.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var b=this.params,x=[];return b.seconds!=null&&typeof b.seconds=="number"&&x.push({int:b.seconds}),b.millis!=null&&typeof b.millis=="number"&&x.push({tag:{tagi:"80",obj:{int:b.millis}}}),b.micros!=null&&typeof b.micros=="number"&&x.push({tag:{tagi:"81",obj:{int:b.micros}}}),E({seq:x}).tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.Accuracy,v.asn1.ASN1Object),v.asn1.tsp.MessageImprint=function(a){var d=v,h=d.asn1,E=h.DERSequence,b=h.DEROctetString,x=h.x509,Q=x.AlgorithmIdentifier;h.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var D=this.params,O=new Q({name:D.alg}),M=new b({hex:D.hash}),Z=new E({array:[O,M]});return Z.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.tsp.MessageImprint,v.asn1.ASN1Object),v.asn1.tsp.TimeStampReq=function(a){var d=v,h=d.asn1,E=h.DERSequence,b=h.DERInteger,x=h.DERBoolean,Q=h.ASN1Object,D=h.DERObjectIdentifier,O=h.tsp,M=O.MessageImprint;O.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var Z=this.params,te=[];te.push(new b({int:1})),Z.messageImprint instanceof v.asn1.ASN1Object?te.push(Z.messageImprint):te.push(new M(Z.messageImprint)),Z.policy!=null&&te.push(new D(Z.policy)),Z.nonce!=null&&te.push(new b(Z.nonce)),Z.certreq==!0&&te.push(new x);var N=new E({array:te});return N.tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.TimeStampReq,v.asn1.ASN1Object),v.asn1.tsp.TimeStampResp=function(a){var d=v,h=d.asn1,E=h.DERSequence,b=h.ASN1Object,x=h.tsp,Q=x.PKIStatusInfo;x.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var D=this.params,O=[];if(D.econtent!=null||D.tst!=null)if(D.statusinfo!=null?O.push(new Q(D.statusinfo)):O.push(new Q("granted")),D.econtent!=null)O.push(new x.TimeStampToken(D).getContentInfo());else if(D.tst instanceof h.ASN1Object)O.push(D.tst);else throw new Error("improper member tst value");else if(D.statusinfo!=null)O.push(new Q(D.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var M=new E({array:O});return M.tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.TimeStampResp,v.asn1.ASN1Object),v.asn1.tsp.PKIStatusInfo=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.tsp,Q=x.PKIStatus,D=x.PKIFreeText,O=x.PKIFailureInfo;x.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var M=this.params,Z=[];if(typeof M=="string")Z.push(new Q(M));else{if(M.status==null)throw new d("property 'status' unspecified");Z.push(new Q(M.status)),M.statusstr!=null&&Z.push(new D(M.statusstr)),M.failinfo!=null&&Z.push(new O(M.failinfo))}var te=new b({array:Z});return te.tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.PKIStatusInfo,v.asn1.ASN1Object),v.asn1.tsp.PKIStatus=function(a){var d=Error,h=v,E=h.asn1,b=E.DERInteger,x=E.tsp;x.PKIStatus.superclass.constructor.call(this);var Q={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var D=this.params,O,M;if(typeof D=="string")try{M=Q[D]}catch{throw new d("undefined name: "+D)}else if(typeof D=="number")M=D;else throw new d("unsupported params");return new b({int:M}).tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.PKIStatus,v.asn1.ASN1Object),v.asn1.tsp.PKIFreeText=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.DERUTF8String,Q=E.tsp;Q.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var D=this.params;if(!D instanceof Array)throw new d("wrong params: not array");for(var O=[],M=0;M=0;N--)te+=Z[N];return te}else{if(typeof O=="string"&&D[O]!=null)return ja([O],D);if(typeof O=="object"&&O.length!=null)return ja(O,D);throw new d("wrong params")}},this.tohex=function(){var O=this.params,M=this.getBinValue();return new b({bin:M}).tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.tsp.PKIFailureInfo,v.asn1.ASN1Object),v.asn1.tsp.AbstractTSAAdapter=function(a){this.getTSTHex=function(d,h){throw"not implemented yet"}},v.asn1.tsp.SimpleTSAAdapter=function(a){var d=v,h=d.asn1,E=h.tsp,b=d.crypto.Util.hashHex;E.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(x,Q){var D=b(x,Q);this.params.econtent.content.messageImprint={alg:Q,hash:D},this.params.econtent.content.serial={int:this.serial++};var O=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:O};var M=new E.TimeStampToken(this.params);return M.getContentInfoEncodedHex()},a!==void 0&&(this.params=a)},ot(v.asn1.tsp.SimpleTSAAdapter,v.asn1.tsp.AbstractTSAAdapter),v.asn1.tsp.FixedTSAAdapter=function(a){var d=v,h=d.asn1,E=h.tsp,b=d.crypto.Util.hashHex;E.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(x,Q){var D=b(x,Q);this.params.econtent.content.messageImprint={alg:Q,hash:D};var O=new E.TimeStampToken(this.params);return O.getContentInfoEncodedHex()},a!==void 0&&(this.params=a)},ot(v.asn1.tsp.FixedTSAAdapter,v.asn1.tsp.AbstractTSAAdapter),v.asn1.tsp.TSPUtil=new function(){},v.asn1.tsp.TSPUtil.newTimeStampToken=function(a){return new v.asn1.tsp.TimeStampToken(a)},v.asn1.tsp.TSPUtil.parseTimeStampReq=function(a){var d=new v.asn1.tsp.TSPParser;return d.getTimeStampReq(a)},v.asn1.tsp.TSPUtil.parseMessageImprint=function(a){var d=new v.asn1.tsp.TSPParser;return d.getMessageImprint(a)},v.asn1.tsp.TSPParser=function(){var a=Error,d=Nt,h=new d,E=Et,b=E.getV,x=E.getTLV,Q=E.getIdxbyList,D=E.getTLVbyListEx,O=E.getChildIdx,M=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],Z={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(te){var N=O(te,0);if(N.length==1)return this.getPKIStatusInfo(x(te,N[0]));if(N.length>1){var k=this.getPKIStatusInfo(x(te,N[0])),J=x(te,N[1]),T=this.getToken(J);return T.statusinfo=k,T}},this.getToken=function(te){var N=new v.asn1.cms.CMSParser,k=N.getCMSSignedData(te);return this.setTSTInfo(k),k},this.setTSTInfo=function(te){var N=te.econtent;if(N.type=="tstinfo"){var k=N.content.hex,J=this.getTSTInfo(k);N.content=J}},this.getTSTInfo=function(te){var N={},k=O(te,0),J=b(te,k[1]);N.policy=qe(J);var T=x(te,k[2]);N.messageImprint=this.getMessageImprint(T);var z=b(te,k[3]);N.serial={hex:z};var G=b(te,k[4]);N.genTime={str:or(G)};var ne=0;if(k.length>5&&te.substr(k[5],2)=="30"){var de=x(te,k[5]);N.accuracy=this.getAccuracy(de),ne++}if(k.length>5+ne&&te.substr(k[5+ne],2)=="01"){var we=b(te,k[5+ne]);we=="ff"&&(N.ordering=!0),ne++}if(k.length>5+ne&&te.substr(k[5+ne],2)=="02"){var Be=b(te,k[5+ne]);N.nonce={hex:Be},ne++}if(k.length>5+ne&&te.substr(k[5+ne],2)=="a0"){var je=x(te,k[5+ne]);je="30"+je.substr(2),pGeneralNames=h.getGeneralNames(je);var Je=pGeneralNames[0].dn;N.tsa=Je,ne++}if(k.length>5+ne&&te.substr(k[5+ne],2)=="a1"){var y=x(te,k[5+ne]);y="30"+y.substr(2);var R=h.getExtParamArray(y);N.ext=R,ne++}return N},this.getAccuracy=function(te){for(var N={},k=O(te,0),J=0;J1&&te.substr(k[1],2)=="30"){var G=x(te,k[1]);N.statusstr=this.getPKIFreeText(G),J++}if(k.length>J&&te.substr(k[1+J],2)=="03"){var ne=x(te,k[1+J]);N.failinfo=this.getPKIFailureInfo(ne)}return N},this.getPKIFreeText=function(te){for(var N=[],k=O(te,0),J=0;J"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),(typeof v.asn1.cades>"u"||!v.asn1.cades)&&(v.asn1.cades={}),v.asn1.cades.SignaturePolicyIdentifier=function(a){var d=v,h=d.asn1,E=h.cades,b=E.SignaturePolicyId;E.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new b(this.params)]},this.setByParam=function(x){this.params=x},a!=null&&this.setByParam(a)},ot(v.asn1.cades.SignaturePolicyIdentifier,v.asn1.cms.Attribute),v.asn1.cades.SignaturePolicyId=function(a){var d=v,h=d.asn1,E=h.DERSequence,b=h.DERObjectIdentifier,x=h.x509,Q=x.AlgorithmIdentifier,D=h.cades,O=D.SignaturePolicyId,M=D.OtherHashAlgAndValue;O.superclass.constructor.call(this),this.params=null,this.tohex=function(){var Z=this.params,te=[];te.push(new b(Z.oid)),te.push(new M(Z));var N=new E({array:te});return N.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(Z){this.params=Z},a!=null&&this.setByParam(a)},ot(v.asn1.cades.SignaturePolicyId,v.asn1.ASN1Object),v.asn1.cades.OtherHashAlgAndValue=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.DEROctetString,Q=E.x509,D=Q.AlgorithmIdentifier,O=E.cades,M=O.OtherHashAlgAndValue;M.superclass.constructor.call(this),this.params=null,this.tohex=function(){var Z=this.params;if(Z.alg==null)throw new d("property 'alg' not specified");if(Z.hash==null&&Z.cert==null)throw new d("property 'hash' nor 'cert' not specified");var te=null;if(Z.hash!=null)te=Z.hash;else if(Z.cert!=null){if(typeof Z.cert!="string")throw new d("cert not string");var N=Z.cert;Z.cert.indexOf("-----BEGIN")!=-1&&(N=Nn(Z.cert)),te=v.crypto.Util.hashHex(N,Z.alg)}var k=[];k.push(new D({name:Z.alg})),k.push(new x({hex:te}));var J=new b({array:k});return J.tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.cades.OtherHashAlgAndValue,v.asn1.ASN1Object),v.asn1.cades.OtherHashValue=function(a){v.asn1.cades.OtherHashValue.superclass.constructor.call(this);var d=Error,h=v,E=h.lang.String.isHex,b=h.asn1,x=b.DEROctetString,Q=h.crypto.Util.hashHex;this.params=null,this.tohex=function(){var D=this.params;if(D.hash==null&&D.cert==null)throw new d("hash or cert not specified");var O=null;if(D.hash!=null)O=D.hash;else if(D.cert!=null){if(typeof D.cert!="string")throw new d("cert not string");var M=D.cert;D.cert.indexOf("-----BEGIN")!=-1&&(M=Nn(D.cert)),O=v.crypto.Util.hashHex(M,"sha1")}return new x({hex:O}).tohex()},this.getEncodedHex=function(){return this.tohex()},a!=null&&this.setByParam(a)},ot(v.asn1.cades.OtherHashValue,v.asn1.ASN1Object),v.asn1.cades.SignatureTimeStamp=function(a){var d=Error,h=v,E=h.lang.String.isHex,b=h.asn1,x=b.ASN1Object,Q=b.x509,D=b.cades;D.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var O=this.params;if(O.tst!=null)if(E(O.tst)){var M=new x;return M.hTLV=O.tst,[M]}else{if(O.tst instanceof x)return[O.tst];throw new d("params.tst has wrong value")}else if(O.res!=null){var Z=O.res;if(Z instanceof x&&(Z=Z.tohex()),typeof Z!="string"||!E(Z))throw new d("params.res has wrong value");var te=Et.getTLVbyList(Z,0,[1]),M=new x;return M.hTLV=O.tst,[M]}},a!=null&&this.setByParam(a)},ot(v.asn1.cades.SignatureTimeStamp,v.asn1.cms.Attribute),v.asn1.cades.CompleteCertificateRefs=function(a){var d=Error,h=v,E=h.asn1,b=E.DERSequence,x=E.cades,Q=x.OtherCertID,D=h.lang.String.isHex;x.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var O=this.params,M=[],Z=0;Z"u"||!v.asn1.csr)&&(v.asn1.csr={}),v.asn1.csr.CertificationRequest=function(a){var d=v,h=d.asn1,E=h.DERBitString,b=h.DERSequence,x=h.csr,Q=h.x509,D=x.CertificationRequestInfo;x.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(O){this.params=O},this.sign=function(){var O=new D(this.params).tohex(),M=new v.crypto.Signature({alg:this.params.sigalg});M.init(this.params.sbjprvkey),M.updateHex(O);var Z=M.sign();this.params.sighex=Z},this.getPEM=function(){return it(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var O=this.params,M=new v.asn1.csr.CertificationRequestInfo(this.params),Z=new v.asn1.x509.AlgorithmIdentifier({name:O.sigalg});if(O.sighex==null&&O.sbjprvkey!=null&&this.sign(),O.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var te=new E({hex:"00"+O.sighex}),N=new b({array:[M,Z,te]});return N.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.csr.CertificationRequest,v.asn1.ASN1Object),v.asn1.csr.CertificationRequestInfo=function(a){var d=v,h=d.asn1,E=h.DERBitString,b=h.DERSequence,x=h.DERInteger,Q=h.DERUTF8String,D=h.DERTaggedObject,O=h.ASN1Util.newObject,M=h.csr,Z=h.x509,te=Z.X500Name,N=Z.Extensions,k=Z.SubjectPublicKeyInfo,J=M.AttributeList;M.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(z){z!=null&&(this.params=z)},this.tohex=function(){var z=this.params,G=[];if(G.push(new x({int:0})),G.push(new te(z.subject)),G.push(new k(Cr.getKey(z.sbjpubkey))),z.attrs!=null){var ne=T(z.attrs),de=O({tag:{tage:"a0",obj:ne}});G.push(de)}else if(z.extreq!=null){var we=new N(z.extreq),de=O({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[we]}]}}});G.push(de)}else G.push(new D({tag:"a0",explicit:!1,obj:new Q({str:""})}));var Be=new b({array:G});return Be.tohex()},this.getEncodedHex=function(){return this.tohex()};function T(z){for(var G=Error,ne=v.asn1.x509.Extensions,de=[],we=0;we"u"||!v)&&(v={}),(typeof v.asn1>"u"||!v.asn1)&&(v.asn1={}),(typeof v.asn1.ocsp>"u"||!v.asn1.ocsp)&&(v.asn1.ocsp={}),v.asn1.ocsp.DEFAULT_HASH="sha1",v.asn1.ocsp.OCSPResponse=function(a){v.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var d=v.asn1.DEREnumerated,h=v.asn1.ASN1Util.newObject,E=v.asn1.ocsp.ResponseBytes,b=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var x=this.params.resstatus;return typeof x=="number"?x:typeof x!="string"?-1:b.indexOf(x)},this.setByParam=function(x){this.params=x},this.tohex=function(){var x=this.params,Q=this._getStatusCode();if(Q==-1)throw new Error("responseStatus not supported: "+x.resstatus);if(Q!=0)return h({seq:[{enum:{int:Q}}]}).tohex();var D=new E(x);return h({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:D}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.ocsp.OCSPResponse,v.asn1.ASN1Object),v.asn1.ocsp.ResponseBytes=function(a){v.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var d=v.asn1,h=d.DERSequence,E=d.DERObjectIdentifier,b=d.DEROctetString,x=d.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(Q){this.params=Q},this.tohex=function(){var Q=this.params;if(Q.restype!="ocspBasic")throw new Error("not supported responseType: "+Q.restype);var D=new x(Q),O=[];O.push(new E({name:"ocspBasic"})),O.push(new b({hex:D.tohex()}));var M=new h({array:O});return M.tohex()},this.getEncodedHex=function(){return this.tohex()},a!==void 0&&this.setByParam(a)},ot(v.asn1.ocsp.ResponseBytes,v.asn1.ASN1Object),v.asn1.ocsp.BasicOCSPResponse=function(a){v.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var d=Error,h=v.asn1,E=h.ASN1Object,b=h.DERSequence,x=h.DERGeneralizedTime,Q=h.DERTaggedObject,D=h.DERBitString,O=h.x509.Extensions,M=h.x509.AlgorithmIdentifier,Z=h.ocsp,te=Z.ResponderID;_SingleResponseList=Z.SingleResponseList,_ResponseData=Z.ResponseData,this.params=null,this.setByParam=function(N){this.params=N},this.sign=function(){var N=this.params,k=N.tbsresp.tohex(),J=new v.crypto.Signature({alg:N.sigalg});J.init(N.reskey),J.updateHex(k),N.sighex=J.sign()},this.tohex=function(){var N=this.params;N.tbsresp==null&&(N.tbsresp=new _ResponseData(N)),N.sighex==null&&N.reskey!=null&&this.sign();var k=[];if(k.push(N.tbsresp),k.push(new M({name:N.sigalg})),k.push(new D({hex:"00"+N.sighex})),N.certs!=null&&N.certs.length!=null){for(var J=[],T=0;T"u"||!v)&&(v={}),(typeof v.lang>"u"||!v.lang)&&(v.lang={}),v.lang.String=function(){};function Dp(a){for(var d=new Array,h=0;h>6,O=128|Q&63;return or(D.toString(16)+O.toString(16))}var D=224|(x&240)>>4,O=128|(x&15)<<2|(Q&192)>>6,M=128|Q&63;return or(D.toString(16)+O.toString(16)+M.toString(16))}var h=a.match(/.{4}/g),E=h.map(d);return E.join("")}function So(a){for(var d=encodeURIComponent(a),h="",E=0;E"7"?"00"+a:a}function n0(a){a=a.replace(/^\s*\[\s*/,""),a=a.replace(/\s*\]\s*$/,""),a=a.replace(/\s*/g,"");try{var d=a.split(/,/).map(function(h,E,b){var x=parseInt(h);if(x<0||255d.length&&(h=d.length);for(var E=0;E0&&(M=M+"."+D.join(".")),M}catch{return null}}function ut(a){var d=new C(String(a),10);return nt(d)}function nt(a){var d=a.toString(16);if(d.substr(0,1)!="-")return d.length%2==1?d="0"+d:d.match(/^[0-7]/)||(d="00"+d),d;var h=d.substr(1),E=h.length;E%2==1?E+=1:d.match(/^[0-7]/)||(E+=2);for(var b="",x=0;x=d?a:new Array(d-a.length+1).join(h)+a};function mr(a){if(a.length%2!=0||(a=a.toLowerCase(),a.match(/^[0-9a-f]+$/)==null))return-1;try{var d=a.substr(0,2);if(d=="00")return parseInt(a.substr(2),16);var h=parseInt(d,16);if(h>7)return-1;var E=a.substr(2),b=parseInt(E,16).toString(2);b=="0"&&(b="00000000"),b=b.slice(0,0-h);var x=parseInt(b,2);return x==NaN?-1:x}catch{return-1}}function qr(a){if(typeof a!="number"||a<0)return null;var d=Number(a).toString(2),h=8-d.length%8;h==8&&(h=0),d=d+Ht("",h,"0");var E=parseInt(d,2).toString(16);E.length%2==1&&(E="0"+E);var b="0"+h;return b+E}function Kn(a){if(typeof a!="string"||a.length%2!=0||!a.match(/^[0-9a-f]+$/))return null;try{var d=parseInt(a.substr(0,2),16);if(d<0||7=0;E--)x+=b[E];return x}function fn(a,d,h){if(typeof a=="object"){for(var d=String(d).split("."),E=0;E"u"||!v)&&(v={}),(typeof v.crypto>"u"||!v.crypto)&&(v.crypto={}),v.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:s.algo.MD5,sha1:s.algo.SHA1,sha224:s.algo.SHA224,sha256:s.algo.SHA256,sha384:s.algo.SHA384,sha512:s.algo.SHA512,ripemd160:s.algo.RIPEMD160},this.getDigestInfoHex=function(a,d){if(typeof this.DIGESTINFOHEAD[d]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+d;return this.DIGESTINFOHEAD[d]+a},this.getPaddedDigestInfoHex=function(a,d,h){var E=this.getDigestInfoHex(a,d),b=h/4;if(E.length+22>b)throw"key is too short for SigAlg: keylen="+h+","+d;for(var x="0001",Q="00"+E,D="",O=b-x.length-Q.length,M=0;M"u"||!v)&&(v={}),(typeof v.crypto>"u"||!v.crypto)&&(v.crypto={}),v.crypto.ECDSA=function(a){var d="secp256r1",h=null,E=null,b=null,x=Error,Q=C,D=Hr,O=v.crypto.ECDSA,M=v.crypto.ECParameterDB,Z=O.getName,te=Et,N=te.getVbyListEx,k=te.isASN1HEX,J=new $r,T=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function z(G,ne,de,we){for(var Be=Math.max(ne.bitLength(),we.bitLength()),je=G.add2D(de),Je=G.curve.getInfinity(),y=Be-1;y>=0;--y)Je=Je.twice2D(),Je.z=Q.ONE,ne.testBit(y)?we.testBit(y)?Je=Je.add2D(je):Je=Je.add2D(G):we.testBit(y)&&(Je=Je.add2D(de));return Je}this.getBigRandom=function(G){return new Q(G.bitLength(),J).mod(G.subtract(Q.ONE)).add(Q.ONE)},this.setNamedCurve=function(G){this.ecparams=M.getByName(G),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=G},this.setPrivateKeyHex=function(G){this.isPrivate=!0,this.prvKeyHex=G},this.setPublicKeyHex=function(G){this.isPublic=!0,this.pubKeyHex=G},this.getPublicKeyXYHex=function(){var G=this.pubKeyHex;if(G.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var ne=this.ecparams.keycharlen;if(G.length!==2+ne*2)throw"malformed public key hex length";var de={};return de.x=G.substr(2,ne),de.y=G.substr(2+ne),de},this.getShortNISTPCurveName=function(){var G=this.curveName;return G==="secp256r1"||G==="NIST P-256"||G==="P-256"||G==="prime256v1"?"P-256":G==="secp384r1"||G==="NIST P-384"||G==="P-384"?"P-384":G==="secp521r1"||G==="NIST P-521"||G==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var G=this.ecparams.n,ne=this.getBigRandom(G),de=this.ecparams.keycharlen,we=("0000000000"+ne.toString(16)).slice(-de);this.setPrivateKeyHex(we);var Be=this.generatePublicKeyHex();return{ecprvhex:we,ecpubhex:Be}},this.generatePublicKeyHex=function(){var G=new Q(this.prvKeyHex,16),ne=this.ecparams.G.multiply(G),de=ne.getX().toBigInteger(),we=ne.getY().toBigInteger(),Be=this.ecparams.keycharlen,je=("0000000000"+de.toString(16)).slice(-Be),Je=("0000000000"+we.toString(16)).slice(-Be),y="04"+je+Je;return this.setPublicKeyHex(y),y},this.signWithMessageHash=function(G){return this.signHex(G,this.prvKeyHex)},this.signHex=function(G,ne){var de=new Q(ne,16),we=this.ecparams.n,Be=new Q(G.substring(0,this.ecparams.keycharlen),16);do var je=this.getBigRandom(we),Je=this.ecparams.G,y=Je.multiply(je),R=y.getX().toBigInteger().mod(we);while(R.compareTo(Q.ZERO)<=0);var V=je.modInverse(we).multiply(Be.add(de.multiply(R))).mod(we);return O.biRSSigToASN1Sig(R,V)},this.sign=function(G,ne){var de=ne,we=this.ecparams.n,Be=Q.fromByteArrayUnsigned(G);do var je=this.getBigRandom(we),Je=this.ecparams.G,y=Je.multiply(je),R=y.getX().toBigInteger().mod(we);while(R.compareTo(C.ZERO)<=0);var V=je.modInverse(we).multiply(Be.add(de.multiply(R))).mod(we);return this.serializeSig(R,V)},this.verifyWithMessageHash=function(G,ne){return this.verifyHex(G,ne,this.pubKeyHex)},this.verifyHex=function(G,ne,de){try{var we,Be,je=O.parseSigHex(ne);we=je.r,Be=je.s;var Je=D.decodeFromHex(this.ecparams.curve,de),y=new Q(G.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(y,we,Be,Je)}catch{return!1}},this.verify=function(G,ne,de){var we,Be;if(Bitcoin.Util.isArray(ne)){var je=this.parseSig(ne);we=je.r,Be=je.s}else if(typeof ne=="object"&&ne.r&&ne.s)we=ne.r,Be=ne.s;else throw"Invalid value for signature";var Je;if(de instanceof Hr)Je=de;else if(Bitcoin.Util.isArray(de))Je=D.decodeFrom(this.ecparams.curve,de);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var y=Q.fromByteArrayUnsigned(G);return this.verifyRaw(y,we,Be,Je)},this.verifyRaw=function(G,ne,de,we){var Be=this.ecparams.n,je=this.ecparams.G;if(ne.compareTo(Q.ONE)<0||ne.compareTo(Be)>=0||de.compareTo(Q.ONE)<0||de.compareTo(Be)>=0)return!1;var Je=de.modInverse(Be),y=G.multiply(Je).mod(Be),R=ne.multiply(Je).mod(Be),V=je.multiply(y).add(we.multiply(R)),H=V.getX().toBigInteger().mod(Be);return H.equals(ne)},this.serializeSig=function(G,ne){var de=G.toByteArraySigned(),we=ne.toByteArraySigned(),Be=[];return Be.push(2),Be.push(de.length),Be=Be.concat(de),Be.push(2),Be.push(we.length),Be=Be.concat(we),Be.unshift(Be.length),Be.unshift(48),Be},this.parseSig=function(G){var ne;if(G[0]!=48)throw new Error("Signature not a valid DERSequence");if(ne=2,G[ne]!=2)throw new Error("First element in signature must be a DERInteger");var de=G.slice(ne+2,ne+2+G[ne+1]);if(ne+=2+G[ne+1],G[ne]!=2)throw new Error("Second element in signature must be a DERInteger");var we=G.slice(ne+2,ne+2+G[ne+1]);ne+=2+G[ne+1];var Be=Q.fromByteArrayUnsigned(de),je=Q.fromByteArrayUnsigned(we);return{r:Be,s:je}},this.parseSigCompact=function(G){if(G.length!==65)throw"Signature has the wrong length";var ne=G[0]-27;if(ne<0||ne>7)throw"Invalid signature type";var de=this.ecparams.n,we=Q.fromByteArrayUnsigned(G.slice(1,33)).mod(de),Be=Q.fromByteArrayUnsigned(G.slice(33,65)).mod(de);return{r:we,s:Be,i:ne}},this.readPKCS5PrvKeyHex=function(G){if(k(G)===!1)throw new Error("not ASN.1 hex string");var ne,de,we;try{ne=N(G,0,["[0]",0],"06"),de=N(G,0,[1],"04");try{we=N(G,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=Z(ne),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(we),this.setPrivateKeyHex(de),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(G){if(k(G)===!1)throw new x("not ASN.1 hex string");var ne,de,we,Be;try{ne=N(G,0,[1,0],"06"),de=N(G,0,[1,1],"06"),we=N(G,0,[2,0,1],"04");try{Be=N(G,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new x("malformed PKCS#8 plain ECC private key")}if(this.curveName=Z(de),this.curveName===void 0)throw new x("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(Be),this.setPrivateKeyHex(we),this.isPublic=!1},this.readPKCS8PubKeyHex=function(G){if(k(G)===!1)throw new x("not ASN.1 hex string");var ne,de,we;try{ne=N(G,0,[0,0],"06"),de=N(G,0,[0,1],"06"),we=N(G,0,[1],"03")}catch{throw new x("malformed PKCS#8 ECC public key")}if(this.curveName=Z(de),this.curveName===null)throw new x("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(we)},this.readCertPubKeyHex=function(G,ne){if(k(G)===!1)throw new x("not ASN.1 hex string");var de,we;try{de=N(G,0,[0,5,0,1],"06"),we=N(G,0,[0,5,1],"03")}catch{throw new x("malformed X.509 certificate ECC public key")}if(this.curveName=Z(de),this.curveName===null)throw new x("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(we)},a!==void 0&&a.curve!==void 0&&(this.curveName=a.curve),this.curveName===void 0&&(this.curveName=d),this.setNamedCurve(this.curveName),a!==void 0&&(a.prv!==void 0&&this.setPrivateKeyHex(a.prv),a.pub!==void 0&&this.setPublicKeyHex(a.pub))},v.crypto.ECDSA.parseSigHex=function(a){var d=v.crypto.ECDSA.parseSigHexInHexRS(a),h=new C(d.r,16),E=new C(d.s,16);return{r:h,s:E}},v.crypto.ECDSA.parseSigHexInHexRS=function(a){var d=Et,h=d.getChildIdx,E=d.getV;if(d.checkStrictDER(a,0),a.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var b=h(a,0);if(b.length!=2)throw new Error("signature shall have two elements");var x=b[0],Q=b[1];if(a.substr(x,2)!="02")throw new Error("1st item not ASN.1 integer");if(a.substr(Q,2)!="02")throw new Error("2nd item not ASN.1 integer");var D=E(a,x),O=E(a,Q);return{r:D,s:O}},v.crypto.ECDSA.asn1SigToConcatSig=function(a){var d=v.crypto.ECDSA.parseSigHexInHexRS(a),h=d.r,E=d.s;if(h.length>=130&&h.length<=134){if(h.length%2!=0)throw Error("unknown ECDSA sig r length error");if(E.length%2!=0)throw Error("unknown ECDSA sig s length error");h.substr(0,2)=="00"&&(h=h.substr(2)),E.substr(0,2)=="00"&&(E=E.substr(2));var b=Math.max(h.length,E.length);return h=("000000"+h).slice(-b),E=("000000"+E).slice(-b),h+E}if(h.substr(0,2)=="00"&&h.length%32==2&&(h=h.substr(2)),E.substr(0,2)=="00"&&E.length%32==2&&(E=E.substr(2)),h.length%32==30&&(h="00"+h),E.length%32==30&&(E="00"+E),h.length%32!=0)throw Error("unknown ECDSA sig r length error");if(E.length%32!=0)throw Error("unknown ECDSA sig s length error");return h+E},v.crypto.ECDSA.concatSigToASN1Sig=function(a){if(a.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var d=a.substr(0,a.length/2),h=a.substr(a.length/2);return v.crypto.ECDSA.hexRSSigToASN1Sig(d,h)},v.crypto.ECDSA.hexRSSigToASN1Sig=function(a,d){var h=new C(a,16),E=new C(d,16);return v.crypto.ECDSA.biRSSigToASN1Sig(h,E)},v.crypto.ECDSA.biRSSigToASN1Sig=function(a,d){var h=v.asn1,E=new h.DERInteger({bigint:a}),b=new h.DERInteger({bigint:d}),x=new h.DERSequence({array:[E,b]});return x.tohex()},v.crypto.ECDSA.getName=function(a){return a==="2b8104001f"?"secp192k1":a==="2a8648ce3d030107"?"secp256r1":a==="2b8104000a"?"secp256k1":a==="2b81040021"?"secp224r1":a==="2b81040022"?"secp384r1":a==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(a)!==-1?"secp256r1":"|secp256k1|".indexOf(a)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(a)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(a)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(a)!==-1?"secp521r1":null},(typeof v>"u"||!v)&&(v={}),(typeof v.crypto>"u"||!v.crypto)&&(v.crypto={}),v.crypto.ECParameterDB=new function(){var a={},d={};function h(E){return new C(E,16)}this.getByName=function(E){var b=E;if(typeof d[b]<"u"&&(b=d[E]),typeof a[b]<"u")return a[b];throw"unregistered EC curve name: "+b},this.regist=function(E,b,x,Q,D,O,M,Z,te,N,k,J){a[E]={};var T=h(x),z=h(Q),G=h(D),ne=h(O),de=h(M),we=new ii(T,z,G),Be=we.decodePointHex("04"+Z+te);a[E].name=E,a[E].keylen=b,a[E].keycharlen=Math.ceil(b/8)*2,a[E].curve=we,a[E].G=Be,a[E].n=ne,a[E].h=de,a[E].oid=k,a[E].info=J;for(var je=0;je"u"||!v)&&(v={}),(typeof v.crypto>"u"||!v.crypto)&&(v.crypto={}),v.crypto.DSA=function(){var a=Et,d=a.getVbyList,h=a.getVbyListEx,E=a.isASN1HEX,b=C;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(x,Q,D,O,M){this.isPrivate=!0,this.p=x,this.q=Q,this.g=D,this.y=O,this.x=M},this.setPrivateHex=function(x,Q,D,O,M){var Z,te,N,k,J;Z=new C(x,16),te=new C(Q,16),N=new C(D,16),typeof O=="string"&&O.length>1?k=new C(O,16):k=null,J=new C(M,16),this.setPrivate(Z,te,N,k,J)},this.setPublic=function(x,Q,D,O){this.isPublic=!0,this.p=x,this.q=Q,this.g=D,this.y=O,this.x=null},this.setPublicHex=function(x,Q,D,O){var M,Z,te,N;M=new C(x,16),Z=new C(Q,16),te=new C(D,16),N=new C(O,16),this.setPublic(M,Z,te,N)},this.signWithMessageHash=function(x){var Q=this.p,D=this.q,O=this.g,M=this.y,Z=this.x,te=v.crypto.Util.getRandomBigIntegerMinToMax(C.ONE.add(C.ONE),D.subtract(C.ONE)),N=x.substr(0,D.bitLength()/4),k=new C(N,16),J=O.modPow(te,Q).mod(D),T=te.modInverse(D).multiply(k.add(Z.multiply(J))).mod(D),z=v.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:J}},{int:{bigint:T}}]});return z},this.verifyWithMessageHash=function(x,Q){var D=this.p,O=this.q,M=this.g,Z=this.y,te=this.parseASN1Signature(Q),N=te[0],k=te[1],J=x.substr(0,O.bitLength()/4),T=new C(J,16);if(C.ZERO.compareTo(N)>0||N.compareTo(O)>0||C.ZERO.compareTo(k)>=0||k.compareTo(O)>0)throw"invalid DSA signature";var z=k.modInverse(O),G=T.multiply(z).mod(O),ne=N.multiply(z).mod(O),de=M.modPow(G,D).multiply(Z.modPow(ne,D)).mod(D).mod(O);return de.compareTo(N)==0},this.parseASN1Signature=function(x){try{var Q=new b(h(x,0,[0],"02"),16),D=new b(h(x,0,[1],"02"),16);return[Q,D]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(x){var Q,D,O,M,Z;if(E(x)===!1)throw new Error("not ASN.1 hex string");try{Q=h(x,0,[1],"02"),D=h(x,0,[2],"02"),O=h(x,0,[3],"02"),M=h(x,0,[4],"02"),Z=h(x,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(Q,D,O,M,Z)},this.readPKCS8PrvKeyHex=function(x){var Q,D,O,M;if(E(x)===!1)throw new Error("not ASN.1 hex string");try{Q=h(x,0,[1,1,0],"02"),D=h(x,0,[1,1,1],"02"),O=h(x,0,[1,1,2],"02"),M=h(x,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(Q,D,O,null,M)},this.readPKCS8PubKeyHex=function(x){var Q,D,O,M;if(E(x)===!1)throw new Error("not ASN.1 hex string");try{Q=h(x,0,[0,1,0],"02"),D=h(x,0,[0,1,1],"02"),O=h(x,0,[0,1,2],"02"),M=h(x,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(Q,D,O,M)},this.readCertPubKeyHex=function(x,Q){var D,O,M,Z;if(E(x)===!1)throw new Error("not ASN.1 hex string");try{D=h(x,0,[0,5,0,1,0],"02"),O=h(x,0,[0,5,0,1,1],"02"),M=h(x,0,[0,5,0,1,2],"02"),Z=h(x,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(D,O,M,Z)}};var Cr=function(){var a=function(T,z,G){return E(s.AES,T,z,G)},d=function(T,z,G){return E(s.TripleDES,T,z,G)},h=function(T,z,G){return E(s.DES,T,z,G)},E=function(T,z,G,ne){var de=s.enc.Hex.parse(z),we=s.enc.Hex.parse(G),Be=s.enc.Hex.parse(ne),je={};je.key=we,je.iv=Be,je.ciphertext=de;var Je=T.decrypt(je,we,{iv:Be});return s.enc.Hex.stringify(Je)},b=function(T,z,G){return D(s.AES,T,z,G)},x=function(T,z,G){return D(s.TripleDES,T,z,G)},Q=function(T,z,G){return D(s.DES,T,z,G)},D=function(T,z,G,ne){var de=s.enc.Hex.parse(z),we=s.enc.Hex.parse(G),Be=s.enc.Hex.parse(ne),je=T.encrypt(de,we,{iv:Be}),Je=s.enc.Hex.parse(je.toString()),y=s.enc.Base64.stringify(Je);return y},O={"AES-256-CBC":{proc:a,eproc:b,keylen:32,ivlen:16},"AES-192-CBC":{proc:a,eproc:b,keylen:24,ivlen:16},"AES-128-CBC":{proc:a,eproc:b,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:d,eproc:x,keylen:24,ivlen:8},"DES-CBC":{proc:h,eproc:Q,keylen:8,ivlen:8}},M=function(T){return O[T].proc},Z=function(T){var z=s.lib.WordArray.random(T),G=s.enc.Hex.stringify(z);return G},te=function(T){var z={},G=T.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));G&&(z.cipher=G[1],z.ivsalt=G[2]);var ne=T.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));ne&&(z.type=ne[1]);var de=-1,we=0;T.indexOf(`\r +\r +`)!=-1&&(de=T.indexOf(`\r +\r +`),we=2),T.indexOf(` + +`)!=-1&&(de=T.indexOf(` + +`),we=1);var Be=T.indexOf("-----END");if(de!=-1&&Be!=-1){var je=T.substring(de+we*2,Be-we);je=je.replace(/\s+/g,""),z.data=je}return z},N=function(T,z,G){for(var ne=G.substring(0,16),de=s.enc.Hex.parse(ne),we=s.enc.Utf8.parse(z),Be=O[T].keylen+O[T].ivlen,je="",Je=null;;){var y=s.algo.MD5.create();if(Je!=null&&y.update(Je),y.update(we),y.update(de),Je=y.finalize(),je=je+s.enc.Hex.stringify(Je),je.length>=Be*2)break}var R={};return R.keyhex=je.substr(0,O[T].keylen*2),R.ivhex=je.substr(O[T].keylen*2,O[T].ivlen*2),R},k=function(T,z,G,ne){var de=s.enc.Base64.parse(T),we=s.enc.Hex.stringify(de),Be=O[z].proc,je=Be(we,G,ne);return je},J=function(T,z,G,ne){var de=O[z].eproc,we=de(T,G,ne);return we};return{version:"1.0.0",parsePKCS5PEM:function(T){return te(T)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(T,z,G){return N(T,z,G)},decryptKeyB64:function(T,z,G,ne){return k(T,z,G,ne)},getDecryptedKeyHex:function(T,z){var G=te(T),ne=G.type,de=G.cipher,we=G.ivsalt,Be=G.data,je=N(de,z,we),Je=je.keyhex,y=k(Be,de,Je,we);return y},getEncryptedPKCS5PEMFromPrvKeyHex:function(T,z,G,ne,de){var V="";if((typeof ne>"u"||ne==null)&&(ne="AES-256-CBC"),typeof O[ne]>"u")throw new Error("KEYUTIL unsupported algorithm: "+ne);if(typeof de>"u"||de==null){var we=O[ne].ivlen,Be=Z(we);de=Be.toUpperCase()}var je=N(ne,G,de),Je=je.keyhex,y=J(z,ne,Je,de),R=y.replace(/(.{64})/g,`$1\r +`),V="-----BEGIN "+T+` PRIVATE KEY-----\r +`;return V+=`Proc-Type: 4,ENCRYPTED\r +`,V+="DEK-Info: "+ne+","+de+`\r +`,V+=`\r +`,V+=R,V+=`\r +-----END `+T+` PRIVATE KEY-----\r +`,V},getEncryptedPKCS8PEM:function(T,z,G){var ne=this.getEncryptedPKCS8Hex(T,z,G);return it(ne,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(T,z,G){var ne;G==null||G==null?ne={}:ne=JSON.parse(JSON.stringify(G)),ne.plain=T,this.initPBES2Param(ne),this.encryptPBES2Param(ne,z);var de=this.generatePBES2ASN1Param(ne);return v.asn1.ASN1Util.newObject(de).tohex()},initPBES2Param:function(T){if(fn(T,"encalg")==null&&(T.encalg="aes256-CBC"),fn(T,"iter")==null&&(T.iter=2048),fn(T,"prf")==null&&(T.prf="hmacWithSHA256"),fn(T,"salt")==null&&(T.salt=s.enc.Hex.stringify(s.lib.WordArray.random(8))),fn(T,"enciv")==null){var z;T.encalg=="des-EDE3-CBC"&&(z=8),T.encalg=="aes128-CBC"&&(z=16),T.encalg=="aes256-CBC"&&(z=16),T.enciv=s.enc.Hex.stringify(s.lib.WordArray.random(z))}},encryptPBES2Param:function(T,z){var G=Cr.getDKFromPBES2Param(T,z);try{var ne=v.crypto.Cipher.encrypt(T.plain,G,T.encalg,{iv:T.enciv})}catch{throw new Error("encrypt error: "+T.plain+" "+G+" "+T.encalg+" "+T.enciv)}T.enc=ne},generatePBES2ASN1Param:function(T){var z={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:T.salt}},{int:{hex:ut(T.iter)}}]}]},{seq:[{oid:T.encalg},{octstr:{hex:T.enciv}}]}]}]},{octstr:{hex:T.enc}}]};return T.prf!="hmacWithSHA1"&&z.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:T.prf},{null:""}]}),z},parseHexOfEncryptedPKCS8:function(T){var z=Et,G=z.getChildIdx,ne=z.getV,de={},we=G(T,0);if(we.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+we.length);de.ciphertext=ne(T,we[1]);var Be=G(T,we[0]);if(Be.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+Be.length);if(ne(T,Be[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var je=G(T,Be[1]);if(Be.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+je.length);var Je=G(T,je[1]);if(Je.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+Je.length);if(ne(T,Je[0])!="2a864886f70d0307")throw"this only supports TripleDES";de.encryptionSchemeAlg="TripleDES",de.encryptionSchemeIV=ne(T,Je[1]);var y=G(T,je[0]);if(y.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+y.length);if(ne(T,y[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var R=G(T,y[1]);if(R.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+R.length);de.pbkdf2Salt=ne(T,R[0]);var V=ne(T,R[1]);try{de.pbkdf2Iter=parseInt(V,16)}catch{throw new Error("malformed format pbkdf2Iter: "+V)}return de},getPBKDF2KeyHexFromParam:function(T,z){var G=s.enc.Hex.parse(T.pbkdf2Salt),ne=T.pbkdf2Iter,de=s.PBKDF2(z,G,{keySize:192/32,iterations:ne}),we=s.enc.Hex.stringify(de);return we},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(T,z){var G=Nn(T,"ENCRYPTED PRIVATE KEY"),ne=this.parseHexOfEncryptedPKCS8(G),de=Cr.getPBKDF2KeyHexFromParam(ne,z),we={};we.ciphertext=s.enc.Hex.parse(ne.ciphertext);var Be=s.enc.Hex.parse(de),je=s.enc.Hex.parse(ne.encryptionSchemeIV),Je=s.TripleDES.decrypt(we,Be,{iv:je}),y=s.enc.Hex.stringify(Je);return y},parsePBES2:function(T){var z=Et.parse(T);if(fn(z,"seq.0.seq.0.oid")!="pkcs5PBES2"||fn(z,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var G=fn(z,"seq.0.seq.1.seq.0.seq.1.seq");if(G==null)throw new Error("PBKDF2 parameter not found");var ne=fn(G,"0.octstr.hex"),de=fn(G,"1.int.hex"),we=fn(G,"2.seq.0.oid","hmacWithSHA1"),Be=-1;try{Be=parseInt(de,16)}catch{throw new Error("iter not proper value")}var je=fn(z,"seq.0.seq.1.seq.1.seq.0.oid"),Je=fn(z,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),y=fn(z,"seq.1.octstr.hex");if(je==null||Je==null||y==null)throw new Error("encalg, enciv or enc is undefined");var R={salt:ne,iter:Be,prf:we,encalg:je,enciv:Je,enc:y};return R},getDKFromPBES2Param:function(T,z){var G={hmacWithSHA1:s.algo.SHA1,hmacWithSHA224:s.algo.SHA224,hmacWithSHA256:s.algo.SHA256,hmacWithSHA384:s.algo.SHA384,hmacWithSHA512:s.algo.SHA512},ne={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},de=G[T.prf];if(de==null)throw new Error("unsupported prf");var we=ne[T.encalg];if(we==null)throw new Error("unsupported encalg");var Be=s.enc.Hex.parse(T.salt),je=T.iter;try{var Je=s.PBKDF2(z,Be,{keySize:we,iterations:je,hasher:de});return s.enc.Hex.stringify(Je)}catch(y){throw new Error("PBKDF2 error: "+y+" "+JSON.stringify(T)+" "+z)}},getPlainHexFromEncryptedPKCS8PEM:function(T,z){if(T.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var G=Nn(T),ne;try{ne=Cr.parsePBES2(G)}catch(we){throw new Error("malformed PBES2 format: "+we.message)}var de=Cr.getDKFromPBES2Param(ne,z);return v.crypto.Cipher.decrypt(ne.enc,de,ne.encalg,{iv:ne.enciv})},getKeyFromEncryptedPKCS8PEM:function(T,z){var G=this.getPlainHexFromEncryptedPKCS8PEM(T,z),ne=this.getKeyFromPlainPrivatePKCS8Hex(G);return ne},parsePlainPrivatePKCS8Hex:function(T){var z=Et,G=z.getChildIdx,ne=z.getV,de={};if(de.algparam=null,T.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var we=G(T,0);if(we.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(T.substr(we[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var Be=G(T,we[1]);if(Be.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(T.substr(Be[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(de.algoid=ne(T,Be[0]),T.substr(Be[1],2)=="06"&&(de.algparam=ne(T,Be[1])),T.substr(we[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return de.keyidx=z.getVidx(T,we[2]),de},getKeyFromPlainPrivatePKCS8PEM:function(T){var z=Nn(T,"PRIVATE KEY"),G=this.getKeyFromPlainPrivatePKCS8Hex(z);return G},getKeyFromPlainPrivatePKCS8Hex:function(T){var z=this.parsePlainPrivatePKCS8Hex(T),G;if(z.algoid=="2a864886f70d010101")G=new Yt;else if(z.algoid=="2a8648ce380401")G=new v.crypto.DSA;else if(z.algoid=="2a8648ce3d0201")G=new v.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return G.readPKCS8PrvKeyHex(T),G},_getKeyFromPublicPKCS8Hex:function(T){var z,G=Et.getVbyList(T,0,[0,0],"06");if(G==="2a864886f70d010101")z=new Yt;else if(G==="2a8648ce380401")z=new v.crypto.DSA;else if(G==="2a8648ce3d0201")z=new v.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return z.readPKCS8PubKeyHex(T),z},parsePublicRawRSAKeyHex:function(T){var z=Et,G=z.getChildIdx,ne=z.getV,de={};if(T.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var we=G(T,0);if(we.length!=2)throw new Error("malformed RSA key(code:002)");if(T.substr(we[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(de.n=ne(T,we[0]),T.substr(we[1],2)!="02")throw new Error("malformed RSA key(code:004)");return de.e=ne(T,we[1]),de},parsePublicPKCS8Hex:function(T){var z=Et,G=z.getChildIdx,ne=z.getV,de={};de.algparam=null;var we=G(T,0);if(we.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+we.length);var Be=we[0];if(T.substr(Be,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var je=G(T,Be);if(je.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(T.substr(je[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(de.algoid=ne(T,je[0]),T.substr(je[1],2)=="06"?de.algparam=ne(T,je[1]):T.substr(je[1],2)=="30"&&(de.algparam={},de.algparam.p=z.getVbyList(T,je[1],[0],"02"),de.algparam.q=z.getVbyList(T,je[1],[1],"02"),de.algparam.g=z.getVbyList(T,je[1],[2],"02")),T.substr(we[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return de.key=ne(T,we[1]).substr(2),de}}}();Cr.getKey=function(a,d,h){var E=Et,b=E.getChildIdx,x=E.getV,Q=E.getVbyList,D=v.crypto,O=D.ECDSA,M=D.DSA,Z=Yt,te=Nn,N=Cr;if(typeof Z<"u"&&a instanceof Z||typeof O<"u"&&a instanceof O||typeof M<"u"&&a instanceof M)return a;if(a.curve!==void 0&&a.xy!==void 0&&a.d===void 0)return new O({pub:a.xy,curve:a.curve});if(a.curve!==void 0&&a.d!==void 0)return new O({prv:a.d,curve:a.curve});if(a.kty===void 0&&a.n!==void 0&&a.e!==void 0&&a.d===void 0){var k=new Z;return k.setPublic(a.n,a.e),k}if(a.kty===void 0&&a.n!==void 0&&a.e!==void 0&&a.d!==void 0&&a.p!==void 0&&a.q!==void 0&&a.dp!==void 0&&a.dq!==void 0&&a.co!==void 0&&a.qi===void 0){var k=new Z;return k.setPrivateEx(a.n,a.e,a.d,a.p,a.q,a.dp,a.dq,a.co),k}if(a.kty===void 0&&a.n!==void 0&&a.e!==void 0&&a.d!==void 0&&a.p===void 0){var k=new Z;return k.setPrivate(a.n,a.e,a.d),k}if(a.p!==void 0&&a.q!==void 0&&a.g!==void 0&&a.y!==void 0&&a.x===void 0){var k=new M;return k.setPublic(a.p,a.q,a.g,a.y),k}if(a.p!==void 0&&a.q!==void 0&&a.g!==void 0&&a.y!==void 0&&a.x!==void 0){var k=new M;return k.setPrivate(a.p,a.q,a.g,a.y,a.x),k}if(a.kty==="RSA"&&a.n!==void 0&&a.e!==void 0&&a.d===void 0){var k=new Z;return k.setPublic(dn(a.n),dn(a.e)),k}if(a.kty==="RSA"&&a.n!==void 0&&a.e!==void 0&&a.d!==void 0&&a.p!==void 0&&a.q!==void 0&&a.dp!==void 0&&a.dq!==void 0&&a.qi!==void 0){var k=new Z;return k.setPrivateEx(dn(a.n),dn(a.e),dn(a.d),dn(a.p),dn(a.q),dn(a.dp),dn(a.dq),dn(a.qi)),k}if(a.kty==="RSA"&&a.n!==void 0&&a.e!==void 0&&a.d!==void 0){var k=new Z;return k.setPrivate(dn(a.n),dn(a.e),dn(a.d)),k}if(a.kty==="EC"&&a.crv!==void 0&&a.x!==void 0&&a.y!==void 0&&a.d===void 0){var J=new O({curve:a.crv}),T=J.ecparams.keycharlen,z=("0000000000"+dn(a.x)).slice(-T),G=("0000000000"+dn(a.y)).slice(-T),ne="04"+z+G;return J.setPublicKeyHex(ne),J}if(a.kty==="EC"&&a.crv!==void 0&&a.x!==void 0&&a.y!==void 0&&a.d!==void 0){var J=new O({curve:a.crv}),T=J.ecparams.keycharlen,z=("0000000000"+dn(a.x)).slice(-T),G=("0000000000"+dn(a.y)).slice(-T),ne="04"+z+G,de=("0000000000"+dn(a.d)).slice(-T);return J.setPublicKeyHex(ne),J.setPrivateKeyHex(de),J}if(h==="pkcs5prv"){var we=a,E=Et,Be,k;if(Be=b(we,0),Be.length===9)k=new Z,k.readPKCS5PrvKeyHex(we);else if(Be.length===6)k=new M,k.readPKCS5PrvKeyHex(we);else if(Be.length>2&&we.substr(Be[1],2)==="04")k=new O,k.readPKCS5PrvKeyHex(we);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return k}if(h==="pkcs8prv"){var k=N.getKeyFromPlainPrivatePKCS8Hex(a);return k}if(h==="pkcs8pub")return N._getKeyFromPublicPKCS8Hex(a);if(h==="x509pub")return Nt.getPublicKeyFromCertHex(a);if(a.indexOf("-END CERTIFICATE-",0)!=-1||a.indexOf("-END X509 CERTIFICATE-",0)!=-1||a.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return Nt.getPublicKeyFromCertPEM(a);if(a.indexOf("-END PUBLIC KEY-")!=-1){var je=Nn(a,"PUBLIC KEY");return N._getKeyFromPublicPKCS8Hex(je)}if(a.indexOf("-END RSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")==-1){var Je=te(a,"RSA PRIVATE KEY");return N.getKey(Je,null,"pkcs5prv")}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")==-1){var y=te(a,"DSA PRIVATE KEY"),R=Q(y,0,[1],"02"),V=Q(y,0,[2],"02"),H=Q(y,0,[3],"02"),ce=Q(y,0,[4],"02"),Ee=Q(y,0,[5],"02"),k=new M;return k.setPrivate(new C(R,16),new C(V,16),new C(H,16),new C(ce,16),new C(Ee,16)),k}if(a.indexOf("-END EC PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")==-1){var Je=te(a,"EC PRIVATE KEY");return N.getKey(Je,null,"pkcs5prv")}if(a.indexOf("-END PRIVATE KEY-")!=-1)return N.getKeyFromPlainPrivatePKCS8PEM(a);if(a.indexOf("-END RSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var Fe=N.getDecryptedKeyHex(a,d),De=new Yt;return De.readPKCS5PrvKeyHex(Fe),De}if(a.indexOf("-END EC PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var y=N.getDecryptedKeyHex(a,d),k=Q(y,0,[1],"04"),He=Q(y,0,[2,0],"06"),et=Q(y,0,[3,0],"03").substr(2),zt="";if(v.crypto.OID.oidhex2name[He]!==void 0)zt=v.crypto.OID.oidhex2name[He];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+He);var J=new O({curve:zt});return J.setPublicKeyHex(et),J.setPrivateKeyHex(k),J.isPublic=!1,J}if(a.indexOf("-END DSA PRIVATE KEY-")!=-1&&a.indexOf("4,ENCRYPTED")!=-1){var y=N.getDecryptedKeyHex(a,d),R=Q(y,0,[1],"02"),V=Q(y,0,[2],"02"),H=Q(y,0,[3],"02"),ce=Q(y,0,[4],"02"),Ee=Q(y,0,[5],"02"),k=new M;return k.setPrivate(new C(R,16),new C(V,16),new C(H,16),new C(ce,16),new C(Ee,16)),k}if(a.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return N.getKeyFromEncryptedPKCS8PEM(a,d);throw new Error("not supported argument")},Cr.generateKeypair=function(a,d){if(a=="RSA"){var h=d,E=new Yt;E.generate(h,"10001"),E.isPrivate=!0,E.isPublic=!0;var b=new Yt,x=E.n.toString(16),Q=E.e.toString(16);b.setPublic(x,Q),b.isPrivate=!1,b.isPublic=!0;var D={};return D.prvKeyObj=E,D.pubKeyObj=b,D}else if(a=="EC"){var O=d,M=new v.crypto.ECDSA({curve:O}),Z=M.generateKeyPairHex(),E=new v.crypto.ECDSA({curve:O});E.setPublicKeyHex(Z.ecpubhex),E.setPrivateKeyHex(Z.ecprvhex),E.isPrivate=!0,E.isPublic=!1;var b=new v.crypto.ECDSA({curve:O});b.setPublicKeyHex(Z.ecpubhex),b.isPrivate=!1,b.isPublic=!0;var D={};return D.prvKeyObj=E,D.pubKeyObj=b,D}else throw new Error("unknown algorithm: "+a)},Cr.getPEM=function(a,d,h,E,b,x){var Q=v,D=Q.asn1,O=D.DERObjectIdentifier,M=D.DERInteger,Z=D.ASN1Util.newObject,te=D.x509,N=te.SubjectPublicKeyInfo,k=Q.crypto,J=k.DSA,T=k.ECDSA,z=Yt;function G(De){var He=Z({seq:[{int:0},{int:{bigint:De.n}},{int:De.e},{int:{bigint:De.d}},{int:{bigint:De.p}},{int:{bigint:De.q}},{int:{bigint:De.dmp1}},{int:{bigint:De.dmq1}},{int:{bigint:De.coeff}}]});return He}function ne(De){var He=Z({seq:[{int:1},{octstr:{hex:De.prvKeyHex}},{tag:["a0",!0,{oid:{name:De.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+De.pubKeyHex}}]}]});return He}function de(De){var He=Z({seq:[{int:0},{int:{bigint:De.p}},{int:{bigint:De.q}},{int:{bigint:De.g}},{int:{bigint:De.y}},{int:{bigint:De.x}}]});return He}if((z!==void 0&&a instanceof z||J!==void 0&&a instanceof J||T!==void 0&&a instanceof T)&&a.isPublic==!0&&(d===void 0||d=="PKCS8PUB")){var we=new N(a),Be=we.tohex();return it(Be,"PUBLIC KEY")}if(d=="PKCS1PRV"&&z!==void 0&&a instanceof z&&(h===void 0||h==null)&&a.isPrivate==!0){var we=G(a),Be=we.tohex();return it(Be,"RSA PRIVATE KEY")}if(d=="PKCS1PRV"&&T!==void 0&&a instanceof T&&(h===void 0||h==null)&&a.isPrivate==!0){var je=new O({name:a.curveName}),Je=je.tohex(),y=ne(a),R=y.tohex(),V="";return V+=it(Je,"EC PARAMETERS"),V+=it(R,"EC PRIVATE KEY"),V}if(d=="PKCS1PRV"&&J!==void 0&&a instanceof J&&(h===void 0||h==null)&&a.isPrivate==!0){var we=de(a),Be=we.tohex();return it(Be,"DSA PRIVATE KEY")}if(d=="PKCS5PRV"&&z!==void 0&&a instanceof z&&h!==void 0&&h!=null&&a.isPrivate==!0){var we=G(a),Be=we.tohex();return E===void 0&&(E="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",Be,h,E,x)}if(d=="PKCS5PRV"&&T!==void 0&&a instanceof T&&h!==void 0&&h!=null&&a.isPrivate==!0){var we=ne(a),Be=we.tohex();return E===void 0&&(E="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",Be,h,E,x)}if(d=="PKCS5PRV"&&J!==void 0&&a instanceof J&&h!==void 0&&h!=null&&a.isPrivate==!0){var we=de(a),Be=we.tohex();return E===void 0&&(E="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",Be,h,E,x)}var H=function(De,He){if(typeof He=="string")return Cr.getEncryptedPKCS8PEM(De,He);if(typeof He=="object"&&fn(He,"passcode")!=null){var et=JSON.parse(JSON.stringify(He)),zt=et.passcode;return delete et.passcode,Cr.getEncryptedPKCS8PEM(De,zt,et)}};if(d=="PKCS8PRV"&&z!=null&&a instanceof z&&a.isPrivate==!0){var ce=G(a),Ee=ce.tohex(),we=Z({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:Ee}}]}),Be=we.tohex();return h===void 0||h==null?it(Be,"PRIVATE KEY"):H(Be,h)}if(d=="PKCS8PRV"&&T!==void 0&&a instanceof T&&a.isPrivate==!0){var Fe={seq:[{int:1},{octstr:{hex:a.prvKeyHex}}]};typeof a.pubKeyHex=="string"&&Fe.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+a.pubKeyHex}}]});var ce=new Z(Fe),Ee=ce.tohex(),we=Z({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:a.curveName}}]},{octstr:{hex:Ee}}]}),Be=we.tohex();return h===void 0||h==null?it(Be,"PRIVATE KEY"):H(Be,h)}if(d=="PKCS8PRV"&&J!==void 0&&a instanceof J&&a.isPrivate==!0){var ce=new M({bigint:a.x}),Ee=ce.tohex(),we=Z({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:a.p}},{int:{bigint:a.q}},{int:{bigint:a.g}}]}]},{octstr:{hex:Ee}}]}),Be=we.tohex();return h===void 0||h==null?it(Be,"PRIVATE KEY"):H(Be,h)}throw new Error("unsupported object nor format")},Cr.getKeyFromCSRPEM=function(a){var d=Nn(a,"CERTIFICATE REQUEST"),h=Cr.getKeyFromCSRHex(d);return h},Cr.getKeyFromCSRHex=function(a){var d=Cr.parseCSRHex(a),h=Cr.getKey(d.p8pubkeyhex,null,"pkcs8pub");return h},Cr.parseCSRHex=function(a){var d=Et,h=d.getChildIdx,E=d.getTLV,b={},x=a;if(x.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var Q=h(x,0);if(Q.length<1)throw new Error("malformed CSR(code:002)");if(x.substr(Q[0],2)!="30")throw new Error("malformed CSR(code:003)");var D=h(x,Q[0]);if(D.length<3)throw new Error("malformed CSR(code:004)");return b.p8pubkeyhex=E(x,D[2]),b},Cr.getKeyID=function(a){var d=Cr,h=Et;typeof a=="string"&&a.indexOf("BEGIN ")!=-1&&(a=d.getKey(a));var E=Nn(d.getPEM(a)),b=h.getIdxbyList(E,0,[1]),x=h.getV(E,b).substring(2);return v.crypto.Util.hashHex(x,"sha1")},Cr.getJWK=function(a,d,h,E,b){var x,Q={},D,O=v.crypto.Util.hashHex;if(typeof a=="string")x=Cr.getKey(a),a.indexOf("CERTIFICATE")!=-1&&(D=Nn(a));else if(typeof a=="object")a instanceof Nt?(x=a.getPublicKey(),D=a.hex):x=a;else throw new Error("unsupported keyinfo type");if(x instanceof Yt&&x.isPrivate)Q.kty="RSA",Q.n=An(x.n.toString(16)),Q.e=An(x.e.toString(16)),Q.d=An(x.d.toString(16)),Q.p=An(x.p.toString(16)),Q.q=An(x.q.toString(16)),Q.dp=An(x.dmp1.toString(16)),Q.dq=An(x.dmq1.toString(16)),Q.qi=An(x.coeff.toString(16));else if(x instanceof Yt&&x.isPublic)Q.kty="RSA",Q.n=An(x.n.toString(16)),Q.e=An(x.e.toString(16));else if(x instanceof v.crypto.ECDSA&&x.isPrivate){var M=x.getShortNISTPCurveName();if(M!=="P-256"&&M!=="P-384"&&M!=="P-521")throw new Error("unsupported curve name for JWT: "+M);var Z=x.getPublicKeyXYHex();Q.kty="EC",Q.crv=M,Q.x=An(Z.x),Q.y=An(Z.y),Q.d=An(x.prvKeyHex)}else if(x instanceof v.crypto.ECDSA&&x.isPublic){var M=x.getShortNISTPCurveName();if(M!=="P-256"&&M!=="P-384"&&M!=="P-521")throw new Error("unsupported curve name for JWT: "+M);var Z=x.getPublicKeyXYHex();Q.kty="EC",Q.crv=M,Q.x=An(Z.x),Q.y=An(Z.y)}if(Q.kty==null)throw new Error("unsupported keyinfo");return!x.isPrivate&&d!=!0&&(Q.kid=v.jws.JWS.getJWKthumbprint(Q)),D!=null&&h!=!0&&(Q.x5c=[A(D)]),D!=null&&E!=!0&&(Q.x5t=fr(A(O(D,"sha1")))),D!=null&&b!=!0&&(Q["x5t#S256"]=fr(A(O(D,"sha256")))),Q},Cr.getJWKFromKey=function(a){return Cr.getJWK(a,!0,!0,!0,!0)},Yt.getPosArrayOfChildrenFromHex=function(a){return Et.getChildIdx(a,0)},Yt.getHexValueArrayOfChildrenFromHex=function(a){var d=Et,h=d.getV,N=Yt.getPosArrayOfChildrenFromHex(a),E=h(a,N[0]),b=h(a,N[1]),x=h(a,N[2]),Q=h(a,N[3]),D=h(a,N[4]),O=h(a,N[5]),M=h(a,N[6]),Z=h(a,N[7]),te=h(a,N[8]),N=new Array;return N.push(E,b,x,Q,D,O,M,Z,te),N},Yt.prototype.readPrivateKeyFromPEMString=function(a){var d=Nn(a),h=Yt.getHexValueArrayOfChildrenFromHex(d);this.setPrivateEx(h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8])},Yt.prototype.readPKCS5PrvKeyHex=function(a){var d=Yt.getHexValueArrayOfChildrenFromHex(a);this.setPrivateEx(d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8])},Yt.prototype.readPKCS8PrvKeyHex=function(a){var d,h,E,b,x,Q,D,O,M=Et,Z=M.getVbyListEx;if(M.isASN1HEX(a)===!1)throw new Error("not ASN.1 hex string");try{d=Z(a,0,[2,0,1],"02"),h=Z(a,0,[2,0,2],"02"),E=Z(a,0,[2,0,3],"02"),b=Z(a,0,[2,0,4],"02"),x=Z(a,0,[2,0,5],"02"),Q=Z(a,0,[2,0,6],"02"),D=Z(a,0,[2,0,7],"02"),O=Z(a,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(d,h,E,b,x,Q,D,O)},Yt.prototype.readPKCS5PubKeyHex=function(a){var d=Et,h=d.getV;if(d.isASN1HEX(a)===!1)throw new Error("keyHex is not ASN.1 hex string");var E=d.getChildIdx(a,0);if(E.length!==2||a.substr(E[0],2)!=="02"||a.substr(E[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var b=h(a,E[0]),x=h(a,E[1]);this.setPublic(b,x)},Yt.prototype.readPKCS8PubKeyHex=function(a){var d=Et;if(d.isASN1HEX(a)===!1)throw new Error("not ASN.1 hex string");if(d.getTLVbyListEx(a,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var h=d.getTLVbyListEx(a,0,[1,0]);this.readPKCS5PubKeyHex(h)},Yt.prototype.readCertPubKeyHex=function(a,d){var h,E;h=new Nt,h.readCertHex(a),E=h.getPublicKeyHex(),this.readPKCS8PubKeyHex(E)};var Hh=new RegExp("[^0-9a-f]","gi");function ko(a,d){for(var h="",E=d/4-a.length,b=0;b>24,(b&16711680)>>16,(b&65280)>>8,b&255])))),b+=1;return E}Yt.prototype.signPSS=function(a,d,h){var E=function(x){return v.crypto.Util.hashHex(x,d)},b=E(kn(a));return h===void 0&&(h=-1),this.signWithMessageHashPSS(b,d,h)},Yt.prototype.signWithMessageHashPSS=function(a,d,h){var E=qt(a),b=E.length,x=this.n.bitLength()-1,Q=Math.ceil(x/8),D,O=function(z){return v.crypto.Util.hashHex(z,d)};if(h===-1||h===void 0)h=b;else if(h===-2)h=Q-b-2;else if(h<-2)throw new Error("invalid salt length");if(Q0&&(M=new Array(h),new $r().nextBytes(M),M=String.fromCharCode.apply(String,M));var Z=qt(O(kn("\0\0\0\0\0\0\0\0"+E+M))),te=[];for(D=0;D>8*Q-x&255;for(J[0]&=~T,D=0;DE)return!1;var b=this.doPublic(h),x=b.toString(16);if(x.length+3!=E/4)return!1;var Q=x.replace(/^1f+00/,""),D=Lu(Q);if(D.length==0)return!1;var O=D[0],M=D[1],Z=function(N){return v.crypto.Util.hashString(N,O)},te=Z(a);return M==te},Yt.prototype.verifyWithMessageHash=function(a,d){if(d.length!=Math.ceil(this.n.bitLength()/4))return!1;var h=Mr(d,16);if(h.bitLength()>this.n.bitLength())return 0;var E=this.doPublic(h),b=E.toString(16).replace(/^1f+00/,""),x=Lu(b);if(x.length==0)return!1;var Q=x[0],D=x[1];return D==a},Yt.prototype.verifyPSS=function(a,d,h,E){var b=function(Q){return v.crypto.Util.hashHex(Q,h)},x=b(kn(a));return E===void 0&&(E=-1),this.verifyWithMessageHashPSS(x,d,h,E)},Yt.prototype.verifyWithMessageHashPSS=function(a,d,h,E){if(d.length!=Math.ceil(this.n.bitLength()/4))return!1;var b=new C(d,16),x=function(ne){return v.crypto.Util.hashHex(ne,h)},Q=qt(a),D=Q.length,O=this.n.bitLength()-1,M=Math.ceil(O/8),Z;if(E===-1||E===void 0)E=D;else if(E===-2)E=M-D-2;else if(E<-2)throw new Error("invalid salt length");if(M>8*M-O&255;if(N.charCodeAt(0)&J)throw new Error("bits beyond keysize not zero");var T=Hc(k,N.length,x),z=[];for(Z=0;Z0?R:void 0}catch{return}},this._asn1ToNoticeRef=function(y){try{for(var R={},V=fn(y,"seq"),H=0;H0?R:void 0}catch{return}},this._asn1ToNoticeNum=function(y){try{for(var R=fn(y,"seq"),V=[],H=0;H1){var Ee=Q(y,ce[1]),Fe=this.getGeneralName(Ee);Fe.uri!=null&&(H.uri=Fe.uri)}if(ce.length>2){var De=Q(y,ce[2]);De=="0101ff"&&(H.reqauth=!0),De=="010100"&&(H.reqauth=!1)}return H},this.getExtSubjectDirectoryAttributes=function(y,R){if(y===void 0&&R===void 0){var V=this.getExtInfo("subjectDirectoryAttributes");if(V===void 0)return;y=Q(this.hex,V.vidx),R=V.critical}var H={extname:"subjectDirectoryAttributes"};R&&(H.critical=!0);try{for(var ce=x(y),Ee=[],Fe=0;Fe0&&(R.ext=this.getExtParamArray()),R.sighex=this.getSignatureValueHex(),y.tbshex==!0&&(R.tbshex=M(this.hex,0,[0])),y.nodnarray==!0&&(delete R.issuer.array,delete R.subject.array),R},this.getExtParamArray=function(y){if(y==null){var R=N(this.hex,0,[0,"[3]"]);R!=-1&&(y=Z(this.hex,0,[0,"[3]",0],"30"))}for(var V=[],H=h(y,0),ce=0;ce"u"||!v)&&(v={}),(typeof v.jws>"u"||!v.jws)&&(v.jws={}),v.jws.JWS=function(){var a=v,d=a.jws.JWS,h=d.isSafeJSONString;this.parseJWS=function(E,b){if(!(this.parsedJWS!==void 0&&(b||this.parsedJWS.sigvalH!==void 0))){var x=E.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(x==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var Q=x[1],D=x[2],O=x[3],M=Q+"."+D;if(this.parsedJWS={},this.parsedJWS.headB64U=Q,this.parsedJWS.payloadB64U=D,this.parsedJWS.sigvalB64U=O,this.parsedJWS.si=M,!b){var Z=dn(O),te=Mr(Z,16);this.parsedJWS.sigvalH=Z,this.parsedJWS.sigvalBI=te}var N=Yi(Q),k=Yi(D);if(this.parsedJWS.headS=N,this.parsedJWS.payloadS=k,!h(N,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+N}}},v.jws.JWS.sign=function(a,d,h,E,b){var x=v,Q=x.jws,D=Q.JWS,O=D.readSafeJSONString,M=D.isSafeJSONString,Z=x.crypto,te=Z.ECDSA,N=Z.Mac,k=Z.Signature,J=JSON,T,z,G;if(typeof d!="string"&&typeof d!="object")throw"spHeader must be JSON string or object: "+d;if(typeof d=="object"&&(z=d,T=J.stringify(z)),typeof d=="string"){if(T=d,!M(T))throw"JWS Head is not safe JSON string: "+T;z=O(T)}if(G=h,typeof h=="object"&&(G=J.stringify(h)),(a==""||a==null)&&z.alg!==void 0&&(a=z.alg),a!=""&&a!=null&&z.alg===void 0&&(z.alg=a,T=J.stringify(z)),a!==z.alg)throw"alg and sHeader.alg doesn't match: "+a+"!="+z.alg;var ne=null;if(D.jwsalg2sigalg[a]===void 0)throw"unsupported alg name: "+a;ne=D.jwsalg2sigalg[a];var de=Ye(T),we=Ye(G),Be=de+"."+we,je="";if(ne.substr(0,4)=="Hmac"){if(E===void 0)throw"mac key shall be specified for HS* alg";var Je=new N({alg:ne,prov:"cryptojs",pass:E});Je.updateString(Be),je=Je.doFinal()}else if(ne.indexOf("withECDSA")!=-1){var y=new k({alg:ne});y.init(E,b),y.updateString(Be);var R=y.sign();je=v.crypto.ECDSA.asn1SigToConcatSig(R)}else if(ne!="none"){var y=new k({alg:ne});y.init(E,b),y.updateString(Be),je=y.sign()}var V=An(je);return Be+"."+V},v.jws.JWS.verify=function(a,d,h){var E=v,b=E.jws,x=b.JWS,Q=x.readSafeJSONString,D=E.crypto,O=D.ECDSA,M=D.Mac,Z=D.Signature,te;if(typeof Yt!==void 0&&(te=Yt),!Mu(a))return!1;var N=a.split(".");if(N.length!==3)return!1;var k=N[0],J=N[1],T=k+"."+J,z=dn(N[2]),G=Q(Yi(N[0])),ne=null,de=null;if(G.alg===void 0)throw"algorithm not specified in header";if(ne=G.alg,de=ne.substr(0,2),h!=null&&Object.prototype.toString.call(h)==="[object Array]"&&h.length>0){var we=":"+h.join(":")+":";if(we.indexOf(":"+ne+":")==-1)throw"algorithm '"+ne+"' not accepted in the list"}if(ne!="none"&&d===null)throw"key shall be specified to verify.";if(typeof d=="string"&&d.indexOf("-----BEGIN ")!=-1&&(d=Cr.getKey(d)),(de=="RS"||de=="PS")&&!(d instanceof te))throw"key shall be a RSAKey obj for RS* and PS* algs";if(de=="ES"&&!(d instanceof O))throw"key shall be a ECDSA obj for ES* algs";ne=="none";var Be=null;if(x.jwsalg2sigalg[G.alg]===void 0)throw"unsupported alg name: "+ne;if(Be=x.jwsalg2sigalg[ne],Be=="none")throw"not supported";if(Be.substr(0,4)=="Hmac"){var je=null;if(d===void 0)throw"hexadecimal key shall be specified for HMAC";var Je=new M({alg:Be,pass:d});return Je.updateString(T),je=Je.doFinal(),z==je}else if(Be.indexOf("withECDSA")!=-1){var y=null;try{y=O.concatSigToASN1Sig(z)}catch{return!1}var R=new Z({alg:Be});return R.init(d),R.updateString(T),R.verify(y)}else{var R=new Z({alg:Be});return R.init(d),R.updateString(T),R.verify(z)}},v.jws.JWS.parse=function(a){var d=a.split("."),h={},E,b,x;if(d.length!=2&&d.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return E=d[0],b=d[1],d.length==3&&(x=d[2]),h.headerObj=v.jws.JWS.readSafeJSONString(Yi(E)),h.payloadObj=v.jws.JWS.readSafeJSONString(Yi(b)),h.headerPP=JSON.stringify(h.headerObj,null," "),h.payloadObj==null?h.payloadPP=Yi(b):h.payloadPP=JSON.stringify(h.payloadObj,null," "),x!==void 0&&(h.sigHex=dn(x)),h},v.jws.JWS.verifyJWT=function(a,d,h){var E=v,b=E.jws,x=b.JWS,Q=x.readSafeJSONString,D=x.inArray,O=x.includedArray;if(!Mu(a))return!1;var M=a.split(".");if(M.length!=3)return!1;var Z=M[0],te=M[1],N=Z+"."+te,k=dn(M[2]),J=Q(Yi(Z)),T=Q(Yi(te));if(J.alg===void 0)return!1;if(h.alg===void 0)throw"acceptField.alg shall be specified";if(!D(J.alg,h.alg)||T.iss!==void 0&&typeof h.iss=="object"&&!D(T.iss,h.iss)||T.sub!==void 0&&typeof h.sub=="object"&&!D(T.sub,h.sub))return!1;if(T.aud!==void 0&&typeof h.aud=="object"){if(typeof T.aud=="string"){if(!D(T.aud,h.aud))return!1}else if(typeof T.aud=="object"&&!O(T.aud,h.aud))return!1}var z=b.IntDate.getNow();return h.verifyAt!==void 0&&typeof h.verifyAt=="number"&&(z=h.verifyAt),(h.gracePeriod===void 0||typeof h.gracePeriod!="number")&&(h.gracePeriod=0),!(T.exp!==void 0&&typeof T.exp=="number"&&T.exp+h.gracePeriod"u"||!v)&&(v={}),(typeof v.jws>"u"||!v.jws)&&(v.jws={}),v.jws.JWSJS=function(){var a=v,d=a.jws,h=d.JWS,E=h.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(b){this.init();var x=b.split(".");if(x.length!=3)throw"malformed input JWS";this.aHeader.push(x[0]),this.sPayload=x[1],this.aSignature.push(x[2])},this.addSignature=function(b,x,Q,D){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var O=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var M=v.jws.JWS.sign(b,x,this.sPayload,Q,D),Z=M.split("."),te=Z[0],N=Z[2];this.aHeader.push(Z[0]),this.aSignature.push(Z[2])}catch(k){throw this.aHeader.length>O&&this.aHeader.pop(),this.aSignature.length>O&&this.aSignature.pop(),"addSignature failed: "+k}},this.verifyAll=function(b){if(this.aHeader.length!==b.length||this.aSignature.length!==b.length)return!1;for(var x=0;x0)this.aHeader=b.headers;else throw"malformed header";if(typeof b.payload=="string")this.sPayload=b.payload;else throw"malformed signatures";if(b.signatures.length>0)this.aSignature=b.signatures;else throw"malformed signatures"}catch(Q){throw"malformed JWS-JS JSON object: "+Q}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}},e.SecureRandom=$r,e.rng_seed_time=le,e.BigInteger=C,e.RSAKey=Yt,e.ECDSA=v.crypto.ECDSA,e.DSA=v.crypto.DSA,e.Signature=v.crypto.Signature,e.MessageDigest=v.crypto.MessageDigest,e.Mac=v.crypto.Mac,e.KEYUTIL=Cr,e.ASN1HEX=Et,e.X509=Nt,e.X509CRL=i0,e.CryptoJS=s,e.b64tohex=p,e.b64toBA=f,e.ECFieldElementFp=ln,e.ECPointFp=Hr,e.ECCurveFp=ii,e.stoBA=Dp,e.BAtos=Fo,e.BAtohex=Ha,e.stohex=Oi,e.stob64=Un,e.stob64u=Aa,e.b64utos=K,e.b64tob64u=fr,e.b64utob64=Zs,e.hex2b64=A,e.hextob64u=An,e.b64utohex=dn,e.utf8tob64u=Ye,e.b64utoutf8=Yi,e.utf8tob64=jl,e.b64toutf8=_c,e.utf8tohex=Sp,e.hextoutf8=or,e.hextorstr=qt,e.rstrtohex=kn,e.hextob64=Rp,e.hextob64nl=kp,e.b64nltohex=Np,e.hextopem=it,e.pemtohex=Nn,e.hextoArrayBuffer=Tp,e.ArrayBuffertohex=Uh,e.zulutomsec=_p,e.msectozulu=Oh,e.zulutosec=Up,e.zulutodate=Op,e.datetozulu=r0,e.uricmptohex=Gl,e.hextouricmp=Oc,e.ipv6tohex=qa,e.hextoipv6=Yl,e.hextoip=Is,e.iptohex=Vl,e.ucs2hextoutf8=Mp,e.encodeURIComponentAll=So,e.newline_toUnix=On,e.newline_toDos=$c,e.hextoposhex=Jl,e.intarystrtohex=n0,e.strdiffidx=Lh,e.oidtohex=Xs,e.hextooid=qe,e.strpad=Ht,e.bitstrtoint=mr,e.inttobitstr=qr,e.bitstrtobinstr=Kn,e.binstrtobitstr=pn,e.isBase64URLDot=Mu,e.namearraytobinstr=ja,e.extendClass=ot,e.foldnl=Xi,e.b64topem=Uu,e.pemtob64=Ou,e.timeogen=Do,e.aryval=fn,e.inttohex=ut,e.twoscompl=nt,e.KJUR=v,e.crypto=v.crypto,e.asn1=v.asn1,e.jws=v.jws,e.lang=v.lang,e.VERSION=n,e.VERSION_FULL=i}),TE=ye(e=>{"use strict";e.toString=function(t){switch(t){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+t},e.toType=function(t){switch(t.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return t.toUpperCase().startsWith("UNKNOWN_")?parseInt(t.slice(8)):0}}),OE=ye(e=>{"use strict";e.toString=function(t){switch(t){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+t},e.toRcode=function(t){switch(t.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}}),NE=ye(e=>{"use strict";e.toString=function(t){switch(t){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+t},e.toOpcode=function(t){switch(t.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}}),xE=ye(e=>{"use strict";e.toString=function(t){switch(t){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+t},e.toClass=function(t){switch(t.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}}),kE=ye(e=>{"use strict";e.toString=function(t){switch(t){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return t<0?null:`OPTION_${t}`},e.toCode=function(t){if(typeof t=="number")return t;if(!t)return-1;switch(t.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let r=t.match(/_(\d+)$/);return r?parseInt(r[1],10):-1}}),HE=ye((e,t)=>{var r=function(n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.decode=C,n.encode=w,n.familyOf=m,n.name=void 0,n.sizeOf=c,n.v6=n.v4=void 0;let i=/^(\d{1,3}\.){3,3}\d{1,3}$/,s=4,o=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,u=16,A={name:"v4",size:s,isFormat:F=>i.test(F),encode(F,P,j){j=~~j,P=P||new Uint8Array(j+s);let re=F.length,se=0;for(let ge=0;geF.length>0&&o.test(F),encode(F,P,j){j=~~j;let re=j+u,se=-1,ge=0,oe=0,be=!0,fe=!1;P=P||new Uint8Array(j+u);for(let Ie=0;Ie>8),j=97?$e-=87:$e>=65?$e-=55:($e-=48,oe=oe*10+$e),ge=(ge<<4)+$e)}if(be===!1)fe===!0?(j>8),j=se+2;Ie--)P[Ie]=P[Ie-2];P[se]=0,P[se+1]=0,se=j}if(se!==j&&se!==-1)for(j>re-2&&(j=re-2);re>se;)P[--re]=jse?P[--j]:0;else for(;j{"use strict";var t=qf().Buffer,r=TE(),n=OE(),i=NE(),s=xE(),o=kE(),u=HE(),A=0,p=32768,f=32768,c=~f,m=32768,w=~m,C=e.name={};C.encode=function(W,_,Y,{mail:ke=!1}={}){_||(_=t.alloc(C.encodingLength(W))),Y||(Y=0);let Xe=Y,Jt=W.replace(/^\.|\.$/gm,"");if(Jt.length){let xr=[];if(ke){let Fr="";Jt.split(".").forEach(Ar=>{Ar.endsWith("\\")?Fr+=(Fr.length?".":"")+Ar.slice(0,-1):xr.length===0&&Fr.length?xr.push(Fr+"."+Ar):xr.push(Ar)})}else xr=Jt.split(".");for(let Fr=0;Fr=W.length)throw new Error("Cannot decode name (buffer overflow)");let Ar=W[_++];if(xr+=Fr?0:1,Ar===0)break;if(Ar&192)if((Ar&192)===192){if(_+1>W.length)throw new Error("Cannot decode name (buffer overflow)");let Dr=W.readUInt16BE(_-1)-49152;if(Dr>=Xe)throw new Error("Cannot decode name (bad pointer)");_=Dr,Xe=Dr,xr+=Fr?0:1,Fr=!0}else throw new Error("Cannot decode name (bad label)");else{if(_+Ar>W.length)throw new Error("Cannot decode name (buffer overflow)");if(Jt+=Ar+1,Jt>254)throw new Error("Cannot decode name (name too long)");let Dr=W.toString("utf-8",_,_+Ar);Y&&(Dr=Dr.replace(/\./g,"\\.")),ke.push(Dr),_+=Ar,xr+=Fr?0:Ar}}return C.decode.bytes=xr,ke.length===0?".":ke.join(".")},C.decode.bytes=0,C.encodingLength=function(W){return W==="."||W===".."?1:t.byteLength(W.replace(/^\.|\.$/gm,""))+2};var F={};F.encode=function(W,_,Y){_||(_=t.alloc(F.encodingLength(W))),Y||(Y=0);let ke=_.write(W,Y+1);return _[Y]=ke,F.encode.bytes=ke+1,_},F.encode.bytes=0,F.decode=function(W,_){_||(_=0);let Y=W[_],ke=W.toString("utf-8",_+1,_+1+Y);return F.decode.bytes=Y+1,ke},F.decode.bytes=0,F.encodingLength=function(W){return t.byteLength(W)+1};var P={};P.encode=function(W,_,Y){_||(_=P.encodingLength(W)),Y||(Y=0);let ke=(W.flags||0)&32767,Xe=W.type==="response"?p:A;return _.writeUInt16BE(W.id||0,Y),_.writeUInt16BE(ke|Xe,Y+2),_.writeUInt16BE(W.questions.length,Y+4),_.writeUInt16BE(W.answers.length,Y+6),_.writeUInt16BE(W.authorities.length,Y+8),_.writeUInt16BE(W.additionals.length,Y+10),_},P.encode.bytes=12,P.decode=function(W,_){if(_||(_=0),W.length<12)throw new Error("Header must be 12 bytes");let Y=W.readUInt16BE(_+2);return{id:W.readUInt16BE(_),type:Y&p?"response":"query",flags:Y&32767,flag_qr:(Y>>15&1)===1,opcode:i.toString(Y>>11&15),flag_aa:(Y>>10&1)===1,flag_tc:(Y>>9&1)===1,flag_rd:(Y>>8&1)===1,flag_ra:(Y>>7&1)===1,flag_z:(Y>>6&1)===1,flag_ad:(Y>>5&1)===1,flag_cd:(Y>>4&1)===1,rcode:n.toString(Y&15),questions:new Array(W.readUInt16BE(_+4)),answers:new Array(W.readUInt16BE(_+6)),authorities:new Array(W.readUInt16BE(_+8)),additionals:new Array(W.readUInt16BE(_+10))}},P.decode.bytes=12,P.encodingLength=function(){return 12};var j=e.unknown={};j.encode=function(W,_,Y){return _||(_=t.alloc(j.encodingLength(W))),Y||(Y=0),_.writeUInt16BE(W.length,Y),W.copy(_,Y+2),j.encode.bytes=W.length+2,_},j.encode.bytes=0,j.decode=function(W,_){_||(_=0);let Y=W.readUInt16BE(_),ke=W.slice(_+2,_+2+Y);return j.decode.bytes=Y+2,ke},j.decode.bytes=0,j.encodingLength=function(W){return W.length+2};var re=e.ns={};re.encode=function(W,_,Y){return _||(_=t.alloc(re.encodingLength(W))),Y||(Y=0),C.encode(W,_,Y+2),_.writeUInt16BE(C.encode.bytes,Y),re.encode.bytes=C.encode.bytes+2,_},re.encode.bytes=0,re.decode=function(W,_){_||(_=0);let Y=W.readUInt16BE(_),ke=C.decode(W,_+2);return re.decode.bytes=Y+2,ke},re.decode.bytes=0,re.encodingLength=function(W){return C.encodingLength(W)+2};var se=e.soa={};se.encode=function(W,_,Y){_||(_=t.alloc(se.encodingLength(W))),Y||(Y=0);let ke=Y;return Y+=2,C.encode(W.mname,_,Y),Y+=C.encode.bytes,C.encode(W.rname,_,Y,{mail:!0}),Y+=C.encode.bytes,_.writeUInt32BE(W.serial||0,Y),Y+=4,_.writeUInt32BE(W.refresh||0,Y),Y+=4,_.writeUInt32BE(W.retry||0,Y),Y+=4,_.writeUInt32BE(W.expire||0,Y),Y+=4,_.writeUInt32BE(W.minimum||0,Y),Y+=4,_.writeUInt16BE(Y-ke-2,ke),se.encode.bytes=Y-ke,_},se.encode.bytes=0,se.decode=function(W,_){_||(_=0);let Y=_,ke={};return _+=2,ke.mname=C.decode(W,_),_+=C.decode.bytes,ke.rname=C.decode(W,_,{mail:!0}),_+=C.decode.bytes,ke.serial=W.readUInt32BE(_),_+=4,ke.refresh=W.readUInt32BE(_),_+=4,ke.retry=W.readUInt32BE(_),_+=4,ke.expire=W.readUInt32BE(_),_+=4,ke.minimum=W.readUInt32BE(_),_+=4,se.decode.bytes=_-Y,ke},se.decode.bytes=0,se.encodingLength=function(W){return 22+C.encodingLength(W.mname)+C.encodingLength(W.rname)};var ge=e.txt={};ge.encode=function(W,_,Y){Array.isArray(W)||(W=[W]);for(let Xe=0;Xe0;){let Jt=W[_++];if(--ke,ke0&&(Y.timeout=W.readUInt16BE(_),_+=2);break;case 14:Y.tags=[];for(let Jt=0;Jt0;)ke[Jt++]=Re.decode(W,_),_+=Re.decode.bytes,Xe-=Re.decode.bytes;return Qe.decode.bytes=_-Y,ke},Qe.decode.bytes=0,Qe.encodingLength=function(W){return 2+er(W||[],Re)};var ze=e.dnskey={};ze.PROTOCOL_DNSSEC=3,ze.ZONE_KEY=128,ze.SECURE_ENTRYPOINT=32768,ze.encode=function(W,_,Y){_||(_=t.alloc(ze.encodingLength(W))),Y||(Y=0);let ke=Y,Xe=W.key;if(!t.isBuffer(Xe))throw new Error("Key must be a Buffer");return Y+=2,_.writeUInt16BE(W.flags,Y),Y+=2,_.writeUInt8(ze.PROTOCOL_DNSSEC,Y),Y+=1,_.writeUInt8(W.algorithm,Y),Y+=1,Xe.copy(_,Y,0,Xe.length),Y+=Xe.length,ze.encode.bytes=Y-ke,_.writeUInt16BE(ze.encode.bytes-2,ke),_},ze.encode.bytes=0,ze.decode=function(W,_){_||(_=0);let Y=_;var ke={},Xe=W.readUInt16BE(_);if(_+=2,ke.flags=W.readUInt16BE(_),_+=2,W.readUInt8(_)!==ze.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return _+=1,ke.algorithm=W.readUInt8(_),_+=1,ke.key=W.slice(_,Y+Xe+2),_+=ke.key.length,ze.decode.bytes=_-Y,ke},ze.decode.bytes=0,ze.encodingLength=function(W){return 6+t.byteLength(W.key)};var kt=e.rrsig={};kt.encode=function(W,_,Y){_||(_=t.alloc(kt.encodingLength(W))),Y||(Y=0);let ke=Y,Xe=W.signature;if(!t.isBuffer(Xe))throw new Error("Signature must be a Buffer");return Y+=2,_.writeUInt16BE(r.toType(W.typeCovered),Y),Y+=2,_.writeUInt8(W.algorithm,Y),Y+=1,_.writeUInt8(W.labels,Y),Y+=1,_.writeUInt32BE(W.originalTTL,Y),Y+=4,_.writeUInt32BE(W.expiration,Y),Y+=4,_.writeUInt32BE(W.inception,Y),Y+=4,_.writeUInt16BE(W.keyTag,Y),Y+=2,C.encode(W.signersName,_,Y),Y+=C.encode.bytes,Xe.copy(_,Y,0,Xe.length),Y+=Xe.length,kt.encode.bytes=Y-ke,_.writeUInt16BE(kt.encode.bytes-2,ke),_},kt.encode.bytes=0,kt.decode=function(W,_){_||(_=0);let Y=_;var ke={},Xe=W.readUInt16BE(_);return _+=2,ke.typeCovered=r.toString(W.readUInt16BE(_)),_+=2,ke.algorithm=W.readUInt8(_),_+=1,ke.labels=W.readUInt8(_),_+=1,ke.originalTTL=W.readUInt32BE(_),_+=4,ke.expiration=W.readUInt32BE(_),_+=4,ke.inception=W.readUInt32BE(_),_+=4,ke.keyTag=W.readUInt16BE(_),_+=2,ke.signersName=C.decode(W,_),_+=C.decode.bytes,ke.signature=W.slice(_,Y+Xe+2),_+=ke.signature.length,kt.decode.bytes=_-Y,ke},kt.decode.bytes=0,kt.encodingLength=function(W){return 20+C.encodingLength(W.signersName)+t.byteLength(W.signature)};var st=e.rp={};st.encode=function(W,_,Y){_||(_=t.alloc(st.encodingLength(W))),Y||(Y=0);let ke=Y;return Y+=2,C.encode(W.mbox||".",_,Y,{mail:!0}),Y+=C.encode.bytes,C.encode(W.txt||".",_,Y),Y+=C.encode.bytes,st.encode.bytes=Y-ke,_.writeUInt16BE(st.encode.bytes-2,ke),_},st.encode.bytes=0,st.decode=function(W,_){_||(_=0);let Y=_,ke={};return _+=2,ke.mbox=C.decode(W,_,{mail:!0})||".",_+=C.decode.bytes,ke.txt=C.decode(W,_)||".",_+=C.decode.bytes,st.decode.bytes=_-Y,ke},st.decode.bytes=0,st.encodingLength=function(W){return 2+C.encodingLength(W.mbox||".")+C.encodingLength(W.txt||".")};var We={};We.encode=function(W,_,Y){_||(_=t.alloc(We.encodingLength(W))),Y||(Y=0);let ke=Y;for(var Xe=[],Jt=0;Jt>8]===void 0&&(Xe[xr>>8]=[]),Xe[xr>>8][xr>>3&31]|=1<<7-(xr&7)}for(Jt=0;Jt>8]=Math.max(_[ke>>8]||0,ke&255)}var Xe=0;for(Y=0;Y<_.length;Y++)_[Y]!==void 0&&(Xe+=2+Math.ceil((_[Y]+1)/8));return Xe};var pt=e.nsec={};pt.encode=function(W,_,Y){_||(_=t.alloc(pt.encodingLength(W))),Y||(Y=0);let ke=Y;return Y+=2,C.encode(W.nextDomain,_,Y),Y+=C.encode.bytes,We.encode(W.rrtypes,_,Y),Y+=We.encode.bytes,pt.encode.bytes=Y-ke,_.writeUInt16BE(pt.encode.bytes-2,ke),_},pt.encode.bytes=0,pt.decode=function(W,_){_||(_=0);let Y=_;var ke={},Xe=W.readUInt16BE(_);return _+=2,ke.nextDomain=C.decode(W,_),_+=C.decode.bytes,ke.rrtypes=We.decode(W,_,Xe-(_-Y)),_+=We.decode.bytes,pt.decode.bytes=_-Y,ke},pt.decode.bytes=0,pt.encodingLength=function(W){return 2+C.encodingLength(W.nextDomain)+We.encodingLength(W.rrtypes)};var Pt=e.nsec3={};Pt.encode=function(W,_,Y){_||(_=t.alloc(Pt.encodingLength(W))),Y||(Y=0);let ke=Y,Xe=W.salt;if(!t.isBuffer(Xe))throw new Error("salt must be a Buffer");let Jt=W.nextDomain;if(!t.isBuffer(Jt))throw new Error("nextDomain must be a Buffer");return Y+=2,_.writeUInt8(W.algorithm,Y),Y+=1,_.writeUInt8(W.flags,Y),Y+=1,_.writeUInt16BE(W.iterations,Y),Y+=2,_.writeUInt8(Xe.length,Y),Y+=1,Xe.copy(_,Y,0,Xe.length),Y+=Xe.length,_.writeUInt8(Jt.length,Y),Y+=1,Jt.copy(_,Y,0,Jt.length),Y+=Jt.length,We.encode(W.rrtypes,_,Y),Y+=We.encode.bytes,Pt.encode.bytes=Y-ke,_.writeUInt16BE(Pt.encode.bytes-2,ke),_},Pt.encode.bytes=0,Pt.decode=function(W,_){_||(_=0);let Y=_;var ke={},Xe=W.readUInt16BE(_);_+=2,ke.algorithm=W.readUInt8(_),_+=1,ke.flags=W.readUInt8(_),_+=1,ke.iterations=W.readUInt16BE(_),_+=2;let Jt=W.readUInt8(_);_+=1,ke.salt=W.slice(_,_+Jt),_+=Jt;let xr=W.readUInt8(_);return _+=1,ke.nextDomain=W.slice(_,_+xr),_+=xr,ke.rrtypes=We.decode(W,_,Xe-(_-Y)),_+=We.decode.bytes,Pt.decode.bytes=_-Y,ke},Pt.decode.bytes=0,Pt.encodingLength=function(W){return 8+W.salt.length+W.nextDomain.length+We.encodingLength(W.rrtypes)};var nn=e.ds={};nn.encode=function(W,_,Y){_||(_=t.alloc(nn.encodingLength(W))),Y||(Y=0);let ke=Y,Xe=W.digest;if(!t.isBuffer(Xe))throw new Error("Digest must be a Buffer");return Y+=2,_.writeUInt16BE(W.keyTag,Y),Y+=2,_.writeUInt8(W.algorithm,Y),Y+=1,_.writeUInt8(W.digestType,Y),Y+=1,Xe.copy(_,Y,0,Xe.length),Y+=Xe.length,nn.encode.bytes=Y-ke,_.writeUInt16BE(nn.encode.bytes-2,ke),_},nn.encode.bytes=0,nn.decode=function(W,_){_||(_=0);let Y=_;var ke={},Xe=W.readUInt16BE(_);return _+=2,ke.keyTag=W.readUInt16BE(_),_+=2,ke.algorithm=W.readUInt8(_),_+=1,ke.digestType=W.readUInt8(_),_+=1,ke.digest=W.slice(_,Y+Xe+2),_+=ke.digest.length,nn.decode.bytes=_-Y,ke},nn.decode.bytes=0,nn.encodingLength=function(W){return 6+t.byteLength(W.digest)};var nr=e.sshfp={};nr.getFingerprintLengthForHashType=function(W){switch(W){case 1:return 20;case 2:return 32}},nr.encode=function(W,_,Y){_||(_=t.alloc(nr.encodingLength(W))),Y||(Y=0);let ke=Y;Y+=2,_[Y]=W.algorithm,Y+=1,_[Y]=W.hash,Y+=1;let Xe=t.from(W.fingerprint.toUpperCase(),"hex");if(Xe.length!==nr.getFingerprintLengthForHashType(W.hash))throw new Error("Invalid fingerprint length");return Xe.copy(_,Y),Y+=Xe.byteLength,nr.encode.bytes=Y-ke,_.writeUInt16BE(nr.encode.bytes-2,ke),_},nr.encode.bytes=0,nr.decode=function(W,_){_||(_=0);let Y=_,ke={};_+=2,ke.algorithm=W[_],_+=1,ke.hash=W[_],_+=1;let Xe=nr.getFingerprintLengthForHashType(ke.hash);return ke.fingerprint=W.slice(_,_+Xe).toString("hex").toUpperCase(),_+=Xe,nr.decode.bytes=_-Y,ke},nr.decode.bytes=0,nr.encodingLength=function(W){return 4+t.from(W.fingerprint,"hex").byteLength};var jt=e.naptr={};jt.encode=function(W,_,Y){_||(_=t.alloc(jt.encodingLength(W))),Y||(Y=0);let ke=Y;return Y+=2,_.writeUInt16BE(W.order||0,Y),Y+=2,_.writeUInt16BE(W.preference||0,Y),Y+=2,F.encode(W.flags,_,Y),Y+=F.encode.bytes,F.encode(W.services,_,Y),Y+=F.encode.bytes,F.encode(W.regexp,_,Y),Y+=F.encode.bytes,C.encode(W.replacement,_,Y),Y+=C.encode.bytes,jt.encode.bytes=Y-ke,_.writeUInt16BE(jt.encode.bytes-2,ke),_},jt.encode.bytes=0,jt.decode=function(W,_){_||(_=0);let Y=_,ke={};return _+=2,ke.order=W.readUInt16BE(_),_+=2,ke.preference=W.readUInt16BE(_),_+=2,ke.flags=F.decode(W,_),_+=F.decode.bytes,ke.services=F.decode(W,_),_+=F.decode.bytes,ke.regexp=F.decode(W,_),_+=F.decode.bytes,ke.replacement=C.decode(W,_),_+=C.decode.bytes,jt.decode.bytes=_-Y,ke},jt.decode.bytes=0,jt.encodingLength=function(W){return F.encodingLength(W.flags)+F.encodingLength(W.services)+F.encodingLength(W.regexp)+C.encodingLength(W.replacement)+6};var Rt=e.tlsa={};Rt.encode=function(W,_,Y){_||(_=t.alloc(Rt.encodingLength(W))),Y||(Y=0);let ke=Y,Xe=W.certificate;if(!t.isBuffer(Xe))throw new Error("Certificate must be a Buffer");return Y+=2,_.writeUInt8(W.usage,Y),Y+=1,_.writeUInt8(W.selector,Y),Y+=1,_.writeUInt8(W.matchingType,Y),Y+=1,Xe.copy(_,Y,0,Xe.length),Y+=Xe.length,Rt.encode.bytes=Y-ke,_.writeUInt16BE(Rt.encode.bytes-2,ke),_},Rt.encode.bytes=0,Rt.decode=function(W,_){_||(_=0);let Y=_,ke={},Xe=W.readUInt16BE(_);return _+=2,ke.usage=W.readUInt8(_),_+=1,ke.selector=W.readUInt8(_),_+=1,ke.matchingType=W.readUInt8(_),_+=1,ke.certificate=W.slice(_,Y+Xe+2),_+=ke.certificate.length,Rt.decode.bytes=_-Y,ke},Rt.decode.bytes=0,Rt.encodingLength=function(W){return 5+t.byteLength(W.certificate)};var vn=e.record=function(W){switch(W.toUpperCase()){case"A":return Oe;case"PTR":return fe;case"CNAME":return Ie;case"DNAME":return $e;case"TXT":return ge;case"NULL":return oe;case"AAAA":return ct;case"SRV":return Ve;case"HINFO":return be;case"CAA":return Ae;case"NS":return re;case"SOA":return se;case"MX":return Ue;case"OPT":return Qe;case"DNSKEY":return ze;case"RRSIG":return kt;case"RP":return st;case"NSEC":return pt;case"NSEC3":return Pt;case"SSHFP":return nr;case"DS":return nn;case"NAPTR":return jt;case"TLSA":return Rt}return j},Xt=e.answer={};Xt.encode=function(W,_,Y){_||(_=t.alloc(Xt.encodingLength(W))),Y||(Y=0);let ke=Y;if(C.encode(W.name,_,Y),Y+=C.encode.bytes,_.writeUInt16BE(r.toType(W.type),Y),W.type.toUpperCase()==="OPT"){if(W.name!==".")throw new Error("OPT name must be root.");_.writeUInt16BE(W.udpPayloadSize||4096,Y+2),_.writeUInt8(W.extendedRcode||0,Y+4),_.writeUInt8(W.ednsVersion||0,Y+5),_.writeUInt16BE(W.flags||0,Y+6),Y+=8,Qe.encode(W.options||[],_,Y),Y+=Qe.encode.bytes}else{let Xe=s.toClass(W.class===void 0?"IN":W.class);W.flush&&(Xe|=f),_.writeUInt16BE(Xe,Y+2),_.writeUInt32BE(W.ttl||0,Y+4),Y+=8;let Jt=vn(W.type);Jt.encode(W.data,_,Y),Y+=Jt.encode.bytes}return Xt.encode.bytes=Y-ke,_},Xt.encode.bytes=0,Xt.decode=function(W,_){_||(_=0);let Y={},ke=_;if(Y.name=C.decode(W,_),_+=C.decode.bytes,Y.type=r.toString(W.readUInt16BE(_)),Y.type==="OPT")Y.udpPayloadSize=W.readUInt16BE(_+2),Y.extendedRcode=W.readUInt8(_+4),Y.ednsVersion=W.readUInt8(_+5),Y.flags=W.readUInt16BE(_+6),Y.flag_do=(Y.flags>>15&1)===1,Y.options=Qe.decode(W,_+8),_+=8+Qe.decode.bytes;else{let Xe=W.readUInt16BE(_+2);Y.ttl=W.readUInt32BE(_+4),Y.class=s.toString(Xe&c),Y.flush=!!(Xe&f);let Jt=vn(Y.type);Y.data=Jt.decode(W,_+8),_+=8+Jt.decode.bytes}return Xt.decode.bytes=_-ke,Y},Xt.decode.bytes=0,Xt.encodingLength=function(W){let _=W.data!==null&&W.data!==void 0?W.data:W.options;return C.encodingLength(W.name)+8+vn(W.type).encodingLength(_)};var Ct=e.question={};Ct.encode=function(W,_,Y){_||(_=t.alloc(Ct.encodingLength(W))),Y||(Y=0);let ke=Y;return C.encode(W.name,_,Y),Y+=C.encode.bytes,_.writeUInt16BE(r.toType(W.type),Y),Y+=2,_.writeUInt16BE(s.toClass(W.class===void 0?"IN":W.class),Y),Y+=2,Ct.encode.bytes=Y-ke,W},Ct.encode.bytes=0,Ct.decode=function(W,_){_||(_=0);let Y=_,ke={};return ke.name=C.decode(W,_),_+=C.decode.bytes,ke.type=r.toString(W.readUInt16BE(_)),_+=2,ke.class=s.toString(W.readUInt16BE(_)),_+=2,ke.class&m&&(ke.class&=w),Ct.decode.bytes=_-Y,ke},Ct.decode.bytes=0,Ct.encodingLength=function(W){return C.encodingLength(W.name)+4},e.AUTHORITATIVE_ANSWER=1024,e.TRUNCATED_RESPONSE=512,e.RECURSION_DESIRED=256,e.RECURSION_AVAILABLE=128,e.AUTHENTIC_DATA=32,e.CHECKING_DISABLED=16,e.DNSSEC_OK=32768,e.encode=function(W,_,Y){let ke=!_;ke&&(_=t.alloc(e.encodingLength(W))),Y||(Y=0);let Xe=Y;return W.questions||(W.questions=[]),W.answers||(W.answers=[]),W.authorities||(W.authorities=[]),W.additionals||(W.additionals=[]),P.encode(W,_,Y),Y+=P.encode.bytes,Y=Qt(W.questions,Ct,_,Y),Y=Qt(W.answers,Xt,_,Y),Y=Qt(W.authorities,Xt,_,Y),Y=Qt(W.additionals,Xt,_,Y),e.encode.bytes=Y-Xe,ke&&e.encode.bytes!==_.length?_.slice(0,e.encode.bytes):_},e.encode.bytes=0,e.decode=function(W,_){_||(_=0);let Y=_,ke=P.decode(W,_);return _+=P.decode.bytes,_=Gt(ke.questions,Ct,W,_),_=Gt(ke.answers,Xt,W,_),_=Gt(ke.authorities,Xt,W,_),_=Gt(ke.additionals,Xt,W,_),e.decode.bytes=_-Y,ke},e.decode.bytes=0,e.encodingLength=function(W){return P.encodingLength(W)+er(W.questions||[],Ct)+er(W.answers||[],Xt)+er(W.authorities||[],Xt)+er(W.additionals||[],Xt)},e.streamEncode=function(W){let _=e.encode(W),Y=t.alloc(2);Y.writeUInt16BE(_.byteLength);let ke=t.concat([Y,_]);return e.streamEncode.bytes=ke.byteLength,ke},e.streamEncode.bytes=0,e.streamDecode=function(W){let _=W.readUInt16BE(0);if(W.byteLength<_+2)return null;let Y=e.decode(W.slice(2));return e.streamDecode.bytes=e.decode.bytes,Y},e.streamDecode.bytes=0;function er(W,_){let Y=0;for(let ke=0;ke{(function(){var r,n="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",u="Invalid `variable` option passed into `_.template`",A="__lodash_hash_undefined__",p=500,f="__lodash_placeholder__",c=1,m=2,w=4,C=1,F=2,P=1,j=2,re=4,se=8,ge=16,oe=32,be=64,fe=128,Ie=256,$e=512,Ve=30,Ae="...",Ue=800,Oe=16,ct=1,Re=2,Qe=3,ze=1/0,kt=9007199254740991,st=17976931348623157e292,We=NaN,pt=4294967295,Pt=pt-1,nn=pt>>>1,nr=[["ary",fe],["bind",P],["bindKey",j],["curry",se],["curryRight",ge],["flip",$e],["partial",oe],["partialRight",be],["rearg",Ie]],jt="[object Arguments]",Rt="[object Array]",vn="[object AsyncFunction]",Xt="[object Boolean]",Ct="[object Date]",er="[object DOMException]",Qt="[object Error]",Gt="[object Function]",W="[object GeneratorFunction]",_="[object Map]",Y="[object Number]",ke="[object Null]",Xe="[object Object]",Jt="[object Promise]",xr="[object Proxy]",Fr="[object RegExp]",Ar="[object Set]",Dr="[object String]",ui="[object Symbol]",Us="[object Undefined]",ti="[object WeakMap]",U="[object WeakSet]",S="[object ArrayBuffer]",L="[object DataView]",X="[object Float32Array]",ve="[object Float64Array]",Se="[object Int8Array]",ee="[object Int16Array]",Te="[object Int32Array]",Ke="[object Uint8Array]",lt="[object Uint8ClampedArray]",at="[object Uint16Array]",Ze="[object Uint32Array]",mt=/\b__p \+= '';/g,It=/\b(__p \+=) '' \+/g,_t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,sr=/&(?:amp|lt|gt|quot|#39);/g,tr=/[&<>"']/g,Ki=RegExp(sr.source),_n=RegExp(tr.source),bu=/<%-([\s\S]+?)%>/g,wc=/<%([\s\S]+?)%>/g,bc=/<%=([\s\S]+?)%>/g,ap=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,up=/^\w*$/,Ul=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qu=/[\\^$.*+?()[\]{}|]/g,Ol=RegExp(Qu.source),Fc=/^\s+/,cp=/\s/,lp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ap=/\{\n\/\* \[wrapped with (.+)\] \*/,pp=/,? & /,Ml=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,fp=/[()=,{}\[\]\/\s]/,hp=/\\(\\)?/g,dp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ea=/\w*$/,Ll=/^[-+]0x[0-9a-f]+$/i,gp=/^0b[01]+$/i,mp=/^\[object .+?Constructor\]$/,Ep=/^0o[0-7]+$/i,yp=/^(?:0|[1-9]\d*)$/,Cp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,vs=/($^)/,Ma=/['\n\r\u2028\u2029\\]/g,La="\\ud800-\\udfff",vp="\\u0300-\\u036f",Ip="\\ufe20-\\ufe2f",Pl="\\u20d0-\\u20ff",xo=vp+Ip+Pl,$l="\\u2700-\\u27bf",Qo="a-z\\xdf-\\xf6\\xf8-\\xff",Bp="\\xac\\xb1\\xd7\\xf7",Fn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",wp="\\u2000-\\u206f",bp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hl="A-Z\\xc0-\\xd6\\xd8-\\xde",ta="\\ufe0e\\ufe0f",_i=Bp+Fn+wp+bp,Dn="['\u2019]",Fu="["+La+"]",ci="["+_i+"]",Ui="["+xo+"]",Dc="\\d+",Sc="["+$l+"]",Du="["+Qo+"]",ql="[^"+La+_i+Dc+$l+Qo+Hl+"]",Pa="\\ud83c[\\udffb-\\udfff]",Rc="(?:"+Ui+"|"+Pa+")",Su="[^"+La+"]",ra="(?:\\ud83c[\\udde6-\\uddff]){2}",xi="[\\ud800-\\udbff][\\udc00-\\udfff]",hn="["+Hl+"]",ie="\\u200d",le="(?:"+Du+"|"+ql+")",me="(?:"+hn+"|"+ql+")",Le="(?:"+Dn+"(?:d|ll|m|re|s|t|ve))?",ft="(?:"+Dn+"(?:D|LL|M|RE|S|T|VE))?",xt=Rc+"?",Tt="["+ta+"]?",$t="(?:"+ie+"(?:"+[Su,ra,xi].join("|")+")"+Tt+xt+")*",$r="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mr="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Yt=Tt+xt+$t,ji="(?:"+[Sc,ra,xi].join("|")+")"+Yt,Os="(?:"+[Su+Ui+"?",Ui,ra,xi,Fu].join("|")+")",ku=RegExp(Dn,"g"),ps=RegExp(Ui,"g"),Gi=RegExp(Pa+"(?="+Pa+")|"+Os+Yt,"g"),_u=RegExp([hn+"?"+Du+"+"+Le+"(?="+[ci,hn,"$"].join("|")+")",me+"+"+ft+"(?="+[ci,hn+le,"$"].join("|")+")",hn+"?"+le+"+"+Le,hn+"+"+ft,Mr,$r,Dc,ji].join("|"),"g"),ln=RegExp("["+ie+La+xo+ta+"]"),kc=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Vg=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Jg=-1,Sn={};Sn[X]=Sn[ve]=Sn[Se]=Sn[ee]=Sn[Te]=Sn[Ke]=Sn[lt]=Sn[at]=Sn[Ze]=!0,Sn[jt]=Sn[Rt]=Sn[S]=Sn[Xt]=Sn[L]=Sn[Ct]=Sn[Qt]=Sn[Gt]=Sn[_]=Sn[Y]=Sn[Xe]=Sn[Fr]=Sn[Ar]=Sn[Dr]=Sn[ti]=!1;var In={};In[jt]=In[Rt]=In[S]=In[L]=In[Xt]=In[Ct]=In[X]=In[ve]=In[Se]=In[ee]=In[Te]=In[_]=In[Y]=In[Xe]=In[Fr]=In[Ar]=In[Dr]=In[ui]=In[Ke]=In[lt]=In[at]=In[Ze]=!0,In[Qt]=In[Gt]=In[ti]=!1;var Wg={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},zg={"&":"&","<":"<",">":">",'"':""","'":"'"},Kg={"&":"&","<":"<",">":">",""":'"',"'":"'"},Hr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Zg=parseFloat,Xg=parseInt,wh=typeof global=="object"&&global&&global.Object===Object&&global,e0=typeof self=="object"&&self&&self.Object===Object&&self,mi=wh||e0||Function("return this")(),xp=typeof e=="object"&&e&&!e.nodeType&&e,$a=xp&&typeof t=="object"&&t&&!t.nodeType&&t,bh=$a&&$a.exports===xp,Fp=bh&&wh.process,ii=function(){try{var qe=$a&&$a.require&&$a.require("util").types;return qe||Fp&&Fp.binding&&Fp.binding("util")}catch{}}(),xh=ii&&ii.isArrayBuffer,Qh=ii&&ii.isDate,Sh=ii&&ii.isMap,Rh=ii&&ii.isRegExp,kh=ii&&ii.isSet,Nh=ii&&ii.isTypedArray;function hs(qe,ut,nt){switch(nt.length){case 0:return qe.call(ut);case 1:return qe.call(ut,nt[0]);case 2:return qe.call(ut,nt[0],nt[1]);case 3:return qe.call(ut,nt[0],nt[1],nt[2])}return qe.apply(ut,nt)}function Th(qe,ut,nt,Ht){for(var mr=-1,qr=qe==null?0:qe.length;++mr-1}function Oi(qe,ut,nt){for(var Ht=-1,mr=qe==null?0:qe.length;++Ht-1;);return nt}function Uh(qe,ut){for(var nt=qe.length;nt--&&_c(ut,qe[nt],0)>-1;);return nt}function _p(qe,ut){for(var nt=qe.length,Ht=0;nt--;)qe[nt]===ut&&++Ht;return Ht}var Oh=qt(Wg),Up=qt(zg);function Op(qe){return"\\"+Hr[qe]}function r0(qe,ut){return qe==null?r:qe[ut]}function Do(qe){return ln.test(qe)}function Gl(qe){return kc.test(qe)}function Oc(qe){for(var ut,nt=[];!(ut=qe.next()).done;)nt.push(ut.value);return nt}function qa(qe){var ut=-1,nt=Array(qe.size);return qe.forEach(function(Ht,mr){nt[++ut]=[mr,Ht]}),nt}function Yl(qe,ut){return function(nt){return qe(ut(nt))}}function Is(qe,ut){for(var nt=-1,Ht=qe.length,mr=0,qr=[];++nt-1}function PZ(l,g){var B=this.__data__,q=Z1(B,l);return q<0?(++this.size,B.push([l,g])):B[q][1]=g,this}ns.prototype.clear=UZ,ns.prototype.delete=OZ,ns.prototype.get=MZ,ns.prototype.has=LZ,ns.prototype.set=PZ;function jc(l){var g=-1,B=l==null?0:l.length;for(this.clear();++g=g?l:g)),l}function ha(l,g,B,q,ue,Ce){var Ne,Me=g&c,Ge=g&m,dt=g&w;if(B&&(Ne=ue?B(l,q,ue,Ce):B(l)),Ne!==r)return Ne;if(!li(l))return l;var gt=Rr(l);if(gt){if(Ne=jX(l),!Me)return ro(l,Ne)}else{var St=ws(l),Ot=St==Gt||St==W;if(Xl(l))return _8(l,Me);if(St==Xe||St==jt||Ot&&!ue){if(Ne=Ge||Ot?{}:ek(l),!Me)return Ge?NX(l,rX(Ne,l)):kX(l,A8(Ne,l))}else{if(!In[St])return ue?l:{};Ne=GX(l,St,Me)}}Ce||(Ce=new Va);var Kt=Ce.get(l);if(Kt)return Kt;Ce.set(l,Ne),Dk(l)?l.forEach(function(dr){Ne.add(ha(dr,g,B,dr,l,Ce))}):Qk(l)&&l.forEach(function(dr,Pr){Ne.set(Pr,ha(dr,g,B,Pr,l,Ce))});var hr=dt?Ge?Jw:Yw:Ge?oo:is,Ur=gt?r:hr(l);return Et(Ur||l,function(dr,Pr){Ur&&(Pr=dr,dr=l[Pr]),u0(Ne,Pr,ha(dr,g,B,Pr,l,Ce))}),Ne}function nX(l){var g=is(l);return function(B){return p8(B,l,g)}}function p8(l,g,B){var q=B.length;if(l==null)return!q;for(l=pn(l);q--;){var ue=B[q],Ce=g[ue],Ne=l[ue];if(Ne===r&&!(ue in l)||!Ce(Ne))return!1}return!0}function f8(l,g,B){if(typeof l!="function")throw new ot(o);return g0(function(){l.apply(r,B)},g)}function c0(l,g,B,q){var ue=-1,Ce=Ha,Ne=!0,Me=l.length,Ge=[],dt=g.length;if(!Me)return Ge;B&&(g=Un(g,it(B))),q?(Ce=Oi,Ne=!1):g.length>=i&&(Ce=Ou,Ne=!1,g=new Lp(g));e:for(;++ueue?0:ue+B),q=q===r||q>ue?ue:_r(q),q<0&&(q+=ue),q=B>q?0:Rk(q);B0&&B(Me)?g>1?gs(Me,g-1,B,q,ue):Aa(ue,Me):q||(ue[ue.length]=Me)}return ue}var yw=$8(),g8=$8(!0);function $u(l,g){return l&&yw(l,g,is)}function Cw(l,g){return l&&g8(l,g,is)}function ey(l,g){return Fo(g,function(B){return Zc(l[B])})}function $p(l,g){g=Kl(g,l);for(var B=0,q=g.length;l!=null&&Bg}function oX(l,g){return l!=null&&Nt.call(l,g)}function aX(l,g){return l!=null&&g in pn(l)}function uX(l,g,B){return l>=ce(g,B)&&l=120&>.length>=120)?new Lp(Ne&>):r}gt=l[0];var St=-1,Ot=Me[0];e:for(;++St-1;)Me!==l&&N.call(Me,Ge,1),N.call(l,Ge,1);return l}function Q8(l,g){for(var B=l?g.length:0,q=B-1;B--;){var ue=g[B];if(B==q||ue!==Ce){var Ce=ue;zc(ue)?N.call(l,ue,1):Ow(l,ue)}}return l}function Nw(l,g){return l+Be(De()*(g-l+1))}function vX(l,g,B,q){for(var ue=-1,Ce=H(we((g-l)/(B||1)),0),Ne=nt(Ce);Ce--;)Ne[q?Ce:++ue]=l,l+=B;return Ne}function _w(l,g){var B="";if(!l||g<1||g>kt)return B;do g%2&&(B+=l),g=Be(g/2),g&&(l+=l);while(g);return B}function Or(l,g){return nb(nk(l,g,ao),l+"")}function IX(l){return l8(Vh(l))}function BX(l,g){var B=Vh(l);return Ay(B,Pp(g,0,B.length))}function f0(l,g,B,q){if(!li(l))return l;g=Kl(g,l);for(var ue=-1,Ce=g.length,Ne=Ce-1,Me=l;Me!=null&&++ueue?0:ue+g),B=B>ue?ue:B,B<0&&(B+=ue),ue=g>B?0:B-g>>>0,g>>>=0;for(var Ce=nt(ue);++q>>1,Ne=l[Ce];Ne!==null&&!To(Ne)&&(B?Ne<=g:Ne=i){var dt=g?null:OX(l);if(dt)return Mc(dt);Ne=!1,ue=Ou,Ge=new Lp}else Ge=g?[]:Me;e:for(;++q=q?l:da(l,g,B)}var T8=G||function(l){return mi.clearTimeout(l)};function _8(l,g){if(g)return l.slice();var B=l.length,q=O?O(B):new l.constructor(B);return l.copy(q),q}function $w(l){var g=new l.constructor(l.byteLength);return new D(g).set(new D(l)),g}function FX(l,g){var B=g?$w(l.buffer):l.buffer;return new l.constructor(B,l.byteOffset,l.byteLength)}function DX(l){var g=new l.constructor(l.source,ea.exec(l));return g.lastIndex=l.lastIndex,g}function SX(l){return Zn?pn(Zn.call(l)):{}}function U8(l,g){var B=g?$w(l.buffer):l.buffer;return new l.constructor(B,l.byteOffset,l.length)}function O8(l,g){if(l!==g){var B=l!==r,q=l===null,ue=l===l,Ce=To(l),Ne=g!==r,Me=g===null,Ge=g===g,dt=To(g);if(!Me&&!dt&&!Ce&&l>g||Ce&&Ne&&Ge&&!Me&&!dt||q&&Ne&&Ge||!B&&Ge||!ue)return 1;if(!q&&!Ce&&!dt&&l=Me)return Ge;var dt=B[q];return Ge*(dt=="desc"?-1:1)}}return l.index-g.index}function M8(l,g,B,q){for(var ue=-1,Ce=l.length,Ne=B.length,Me=-1,Ge=g.length,dt=H(Ce-Ne,0),gt=nt(Ge+dt),St=!q;++Me1?B[ue-1]:r,Ne=ue>2?B[2]:r;for(Ce=l.length>3&&typeof Ce=="function"?(ue--,Ce):r,Ne&&$s(B[0],B[1],Ne)&&(Ce=ue<3?r:Ce,ue=1),g=pn(g);++q-1?ue[Ce?g[Ne]:Ne]:r}}function j8(l){return Wc(function(g){var B=g.length,q=B,ue=$n.prototype.thru;for(l&&g.reverse();q--;){var Ce=g[q];if(typeof Ce!="function")throw new ot(o);if(ue&&!Ne&&cy(Ce)=="wrapper")var Ne=new $n([],!0)}for(q=Ne?q:B;++q1&&Zr.reverse(),gt&&GeMe))return!1;var dt=Ce.get(l),gt=Ce.get(g);if(dt&>)return dt==g&>==l;var St=-1,Ot=!0,Kt=B&F?new Lp:r;for(Ce.set(l,g),Ce.set(g,l);++St1?"& ":"")+g[q],g=g.join(B>2?", ":" "),l.replace(lp,`{ +/* [wrapped with `+g+`] */ +`)}function VX(l){return Rr(l)||jp(l)||!!(k&&l&&l[k])}function zc(l,g){var B=typeof l;return g=g??kt,!!g&&(B=="number"||B!="symbol"&&yp.test(l))&&l>-1&&l%1==0&&l0){if(++g>=Ue)return arguments[0]}else g=0;return l.apply(r,arguments)}}function Ay(l,g){var B=-1,q=l.length,ue=q-1;for(g=g===r?q:g;++B1?l[g-1]:r;return B=typeof B=="function"?(l.pop(),B):r,dk(l,B)});function gk(l){var g=pe(l);return g.__chain__=!0,g}function ite(l,g){return g(l),l}function py(l,g){return g(l)}var ste=Wc(function(l){var g=l.length,B=g?l[0]:0,q=this.__wrapped__,ue=function(Ce){return Ew(Ce,l)};return g>1||this.__actions__.length||!(q instanceof Nr)||!zc(B)?this.thru(ue):(q=q.slice(B,+B+(g?1:0)),q.__actions__.push({func:py,args:[ue],thisArg:r}),new $n(q,this.__chain__).thru(function(Ce){return g&&!Ce.length&&Ce.push(r),Ce}))});function ote(){return gk(this)}function ate(){return new $n(this.value(),this.__chain__)}function ute(){this.__values__===r&&(this.__values__=Sk(this.value()));var l=this.__index__>=this.__values__.length,g=l?r:this.__values__[this.__index__++];return{done:l,value:g}}function cte(){return this}function lte(l){for(var g,B=this;B instanceof sn;){var q=ck(B);q.__index__=0,q.__values__=r,g?ue.__wrapped__=q:g=q;var ue=q;B=B.__wrapped__}return ue.__wrapped__=l,g}function Ate(){var l=this.__wrapped__;if(l instanceof Nr){var g=l;return this.__actions__.length&&(g=new Nr(this)),g=g.reverse(),g.__actions__.push({func:py,args:[ib],thisArg:r}),new $n(g,this.__chain__)}return this.thru(ib)}function pte(){return k8(this.__wrapped__,this.__actions__)}var fte=iy(function(l,g,B){Nt.call(l,B)?++l[B]:Yc(l,B,1)});function hte(l,g,B){var q=Rr(l)?Dp:iX;return B&&$s(l,g,B)&&(g=r),q(l,ar(g,3))}function dte(l,g){var B=Rr(l)?Fo:d8;return B(l,ar(g,3))}var gte=q8(lk),mte=q8(Ak);function Ete(l,g){return gs(fy(l,g),1)}function yte(l,g){return gs(fy(l,g),ze)}function Cte(l,g,B){return B=B===r?1:_r(B),gs(fy(l,g),B)}function mk(l,g){var B=Rr(l)?Et:Wl;return B(l,ar(g,3))}function Ek(l,g){var B=Rr(l)?v:h8;return B(l,ar(g,3))}var vte=iy(function(l,g,B){Nt.call(l,B)?l[B].push(g):Yc(l,B,[g])});function Ite(l,g,B,q){l=so(l)?l:Vh(l),B=B&&!q?_r(B):0;var ue=l.length;return B<0&&(B=H(ue+B,0)),Ey(l)?B<=ue&&l.indexOf(g,B)>-1:!!ue&&_c(l,g,B)>-1}var Bte=Or(function(l,g,B){var q=-1,ue=typeof g=="function",Ce=so(l)?nt(l.length):[];return Wl(l,function(Ne){Ce[++q]=ue?hs(g,Ne,B):l0(Ne,g,B)}),Ce}),wte=iy(function(l,g,B){Yc(l,B,g)});function fy(l,g){var B=Rr(l)?Un:v8;return B(l,ar(g,3))}function bte(l,g,B,q){return l==null?[]:(Rr(g)||(g=g==null?[]:[g]),B=q?r:B,Rr(B)||(B=B==null?[]:[B]),b8(l,g,B))}var xte=iy(function(l,g,B){l[B?0:1].push(g)},function(){return[[],[]]});function Qte(l,g,B){var q=Rr(l)?K:kn,ue=arguments.length<3;return q(l,ar(g,4),B,ue,Wl)}function Fte(l,g,B){var q=Rr(l)?fr:kn,ue=arguments.length<3;return q(l,ar(g,4),B,ue,h8)}function Dte(l,g){var B=Rr(l)?Fo:d8;return B(l,gy(ar(g,3)))}function Ste(l){var g=Rr(l)?l8:IX;return g(l)}function Rte(l,g,B){(B?$s(l,g,B):g===r)?g=1:g=_r(g);var q=Rr(l)?XZ:BX;return q(l,g)}function kte(l){var g=Rr(l)?eX:bX;return g(l)}function Nte(l){if(l==null)return 0;if(so(l))return Ey(l)?So(l):l.length;var g=ws(l);return g==_||g==Ar?l.size:Dw(l).length}function Tte(l,g,B){var q=Rr(l)?Zs:xX;return B&&$s(l,g,B)&&(g=r),q(l,ar(g,3))}var _te=Or(function(l,g){if(l==null)return[];var B=g.length;return B>1&&$s(l,g[0],g[1])?g=[]:B>2&&$s(g[0],g[1],g[2])&&(g=[g[0]]),b8(l,gs(g,1),[])}),hy=ne||function(){return mi.Date.now()};function Ute(l,g){if(typeof g!="function")throw new ot(o);return l=_r(l),function(){if(--l<1)return g.apply(this,arguments)}}function yk(l,g,B){return g=B?r:g,g=l&&g==null?l.length:g,Jc(l,fe,r,r,r,r,g)}function Ck(l,g){var B;if(typeof g!="function")throw new ot(o);return l=_r(l),function(){return--l>0&&(B=g.apply(this,arguments)),l<=1&&(g=r),B}}var ob=Or(function(l,g,B){var q=P;if(B.length){var ue=Is(B,Gh(ob));q|=oe}return Jc(l,q,g,B,ue)}),vk=Or(function(l,g,B){var q=P|j;if(B.length){var ue=Is(B,Gh(vk));q|=oe}return Jc(g,q,l,B,ue)});function Ik(l,g,B){g=B?r:g;var q=Jc(l,se,r,r,r,r,r,g);return q.placeholder=Ik.placeholder,q}function Bk(l,g,B){g=B?r:g;var q=Jc(l,ge,r,r,r,r,r,g);return q.placeholder=Bk.placeholder,q}function wk(l,g,B){var q,ue,Ce,Ne,Me,Ge,dt=0,gt=!1,St=!1,Ot=!0;if(typeof l!="function")throw new ot(o);g=ma(g)||0,li(B)&&(gt=!!B.leading,St="maxWait"in B,Ce=St?H(ma(B.maxWait)||0,g):Ce,Ot="trailing"in B?!!B.trailing:Ot);function Kt(Di){var Za=q,tl=ue;return q=ue=r,dt=Di,Ne=l.apply(tl,Za),Ne}function hr(Di){return dt=Di,Me=g0(Pr,g),gt?Kt(Di):Ne}function Ur(Di){var Za=Di-Ge,tl=Di-dt,qk=g-Za;return St?ce(qk,Ce-tl):qk}function dr(Di){var Za=Di-Ge,tl=Di-dt;return Ge===r||Za>=g||Za<0||St&&tl>=Ce}function Pr(){var Di=hy();if(dr(Di))return Zr(Di);Me=g0(Pr,Ur(Di))}function Zr(Di){return Me=r,Ot&&q?Kt(Di):(q=ue=r,Ne)}function _o(){Me!==r&&T8(Me),dt=0,q=Ge=ue=Me=r}function Gs(){return Me===r?Ne:Zr(hy())}function Uo(){var Di=hy(),Za=dr(Di);if(q=arguments,ue=this,Ge=Di,Za){if(Me===r)return hr(Ge);if(St)return T8(Me),Me=g0(Pr,g),Kt(Ge)}return Me===r&&(Me=g0(Pr,g)),Ne}return Uo.cancel=_o,Uo.flush=Gs,Uo}var Ote=Or(function(l,g){return f8(l,1,g)}),Mte=Or(function(l,g,B){return f8(l,ma(g)||0,B)});function Lte(l){return Jc(l,$e)}function dy(l,g){if(typeof l!="function"||g!=null&&typeof g!="function")throw new ot(o);var B=function(){var q=arguments,ue=g?g.apply(this,q):q[0],Ce=B.cache;if(Ce.has(ue))return Ce.get(ue);var Ne=l.apply(this,q);return B.cache=Ce.set(ue,Ne)||Ce,Ne};return B.cache=new(dy.Cache||jc),B}dy.Cache=jc;function gy(l){if(typeof l!="function")throw new ot(o);return function(){var g=arguments;switch(g.length){case 0:return!l.call(this);case 1:return!l.call(this,g[0]);case 2:return!l.call(this,g[0],g[1]);case 3:return!l.call(this,g[0],g[1],g[2])}return!l.apply(this,g)}}function Pte(l){return Ck(2,l)}var $te=QX(function(l,g){g=g.length==1&&Rr(g[0])?Un(g[0],it(ar())):Un(gs(g,1),it(ar()));var B=g.length;return Or(function(q){for(var ue=-1,Ce=ce(q.length,B);++ue=g}),jp=E8(function(){return arguments}())?E8:function(l){return Ei(l)&&Nt.call(l,"callee")&&!te.call(l,"callee")},Rr=nt.isArray,rre=xh?it(xh):lX;function so(l){return l!=null&&my(l.length)&&!Zc(l)}function Fi(l){return Ei(l)&&so(l)}function nre(l){return l===!0||l===!1||Ei(l)&&Ps(l)==Xt}var Xl=Je||Eb,ire=Qh?it(Qh):AX;function sre(l){return Ei(l)&&l.nodeType===1&&!m0(l)}function ore(l){if(l==null)return!0;if(so(l)&&(Rr(l)||typeof l=="string"||typeof l.splice=="function"||Xl(l)||Yh(l)||jp(l)))return!l.length;var g=ws(l);if(g==_||g==Ar)return!l.size;if(d0(l))return!Dw(l).length;for(var B in l)if(Nt.call(l,B))return!1;return!0}function are(l,g){return p0(l,g)}function ure(l,g,B){B=typeof B=="function"?B:r;var q=B?B(l,g):r;return q===r?p0(l,g,r,B):!!q}function ub(l){if(!Ei(l))return!1;var g=Ps(l);return g==Qt||g==er||typeof l.message=="string"&&typeof l.name=="string"&&!m0(l)}function cre(l){return typeof l=="number"&&y(l)}function Zc(l){if(!li(l))return!1;var g=Ps(l);return g==Gt||g==W||g==vn||g==xr}function xk(l){return typeof l=="number"&&l==_r(l)}function my(l){return typeof l=="number"&&l>-1&&l%1==0&&l<=kt}function li(l){var g=typeof l;return l!=null&&(g=="object"||g=="function")}function Ei(l){return l!=null&&typeof l=="object"}var Qk=Sh?it(Sh):fX;function lre(l,g){return l===g||Fw(l,g,Kw(g))}function Are(l,g,B){return B=typeof B=="function"?B:r,Fw(l,g,Kw(g),B)}function pre(l){return Fk(l)&&l!=+l}function fre(l){if(zX(l))throw new mr(s);return y8(l)}function hre(l){return l===null}function dre(l){return l==null}function Fk(l){return typeof l=="number"||Ei(l)&&Ps(l)==Y}function m0(l){if(!Ei(l)||Ps(l)!=Xe)return!1;var g=M(l);if(g===null)return!0;var B=Nt.call(g,"constructor")&&g.constructor;return typeof B=="function"&&B instanceof B&&Lu.call(B)==h}var cb=Rh?it(Rh):hX;function gre(l){return xk(l)&&l>=-kt&&l<=kt}var Dk=kh?it(kh):dX;function Ey(l){return typeof l=="string"||!Rr(l)&&Ei(l)&&Ps(l)==Dr}function To(l){return typeof l=="symbol"||Ei(l)&&Ps(l)==ui}var Yh=Nh?it(Nh):gX;function mre(l){return l===r}function Ere(l){return Ei(l)&&ws(l)==ti}function yre(l){return Ei(l)&&Ps(l)==U}var Cre=uy(Sw),vre=uy(function(l,g){return l<=g});function Sk(l){if(!l)return[];if(so(l))return Ey(l)?On(l):ro(l);if(J&&l[J])return Oc(l[J]());var g=ws(l),B=g==_?qa:g==Ar?Mc:Vh;return B(l)}function Xc(l){if(!l)return l===0?l:0;if(l=ma(l),l===ze||l===-ze){var g=l<0?-1:1;return g*st}return l===l?l:0}function _r(l){var g=Xc(l),B=g%1;return g===g?B?g-B:g:0}function Rk(l){return l?Pp(_r(l),0,pt):0}function ma(l){if(typeof l=="number")return l;if(To(l))return We;if(li(l)){var g=typeof l.valueOf=="function"?l.valueOf():l;l=li(g)?g+"":g}if(typeof l!="string")return l===0?l:+l;l=Uu(l);var B=gp.test(l);return B||Ep.test(l)?Xg(l.slice(2),B?2:8):Ll.test(l)?We:+l}function kk(l){return qu(l,oo(l))}function Ire(l){return l?Pp(_r(l),-kt,kt):l===0?l:0}function Bn(l){return l==null?"":No(l)}var Bre=qh(function(l,g){if(d0(g)||so(g)){qu(g,is(g),l);return}for(var B in g)Nt.call(g,B)&&u0(l,B,g[B])}),Nk=qh(function(l,g){qu(g,oo(g),l)}),yy=qh(function(l,g,B,q){qu(g,oo(g),l,q)}),wre=qh(function(l,g,B,q){qu(g,is(g),l,q)}),bre=Wc(Ew);function xre(l,g){var B=Mi(l);return g==null?B:A8(B,g)}var Qre=Or(function(l,g){l=pn(l);var B=-1,q=g.length,ue=q>2?g[2]:r;for(ue&&$s(g[0],g[1],ue)&&(q=1);++B1),Ce}),qu(l,Jw(l),B),q&&(B=ha(B,c|m|w,MX));for(var ue=g.length;ue--;)Ow(B,g[ue]);return B});function Gre(l,g){return _k(l,gy(ar(g)))}var Yre=Wc(function(l,g){return l==null?{}:yX(l,g)});function _k(l,g){if(l==null)return{};var B=Un(Jw(l),function(q){return[q]});return g=ar(g),x8(l,B,function(q,ue){return g(q,ue[0])})}function Vre(l,g,B){g=Kl(g,l);var q=-1,ue=g.length;for(ue||(ue=1,l=r);++qg){var q=l;l=g,g=q}if(B||l%1||g%1){var ue=De();return ce(l+ue*(g-l+Zg("1e-"+((ue+"").length-1))),g)}return Nw(l,g)}var ine=jh(function(l,g,B){return g=g.toLowerCase(),l+(B?Mk(g):g)});function Mk(l){return pb(Bn(l).toLowerCase())}function Lk(l){return l=Bn(l),l&&l.replace(Cp,Oh).replace(ps,"")}function sne(l,g,B){l=Bn(l),g=No(g);var q=l.length;B=B===r?q:Pp(_r(B),0,q);var ue=B;return B-=g.length,B>=0&&l.slice(B,ue)==g}function one(l){return l=Bn(l),l&&_n.test(l)?l.replace(tr,Up):l}function ane(l){return l=Bn(l),l&&Ol.test(l)?l.replace(Qu,"\\$&"):l}var une=jh(function(l,g,B){return l+(B?"-":"")+g.toLowerCase()}),cne=jh(function(l,g,B){return l+(B?" ":"")+g.toLowerCase()}),lne=H8("toLowerCase");function Ane(l,g,B){l=Bn(l),g=_r(g);var q=g?So(l):0;if(!g||q>=g)return l;var ue=(g-q)/2;return ay(Be(ue),B)+l+ay(we(ue),B)}function pne(l,g,B){l=Bn(l),g=_r(g);var q=g?So(l):0;return g&&q>>0,B?(l=Bn(l),l&&(typeof g=="string"||g!=null&&!cb(g))&&(g=No(g),!g&&Do(l))?Zl(On(l),0,B):l.split(g,B)):[]}var yne=jh(function(l,g,B){return l+(B?" ":"")+pb(g)});function Cne(l,g,B){return l=Bn(l),B=B==null?0:Pp(_r(B),0,l.length),g=No(g),l.slice(B,B+g.length)==g}function vne(l,g,B){var q=pe.templateSettings;B&&$s(l,g,B)&&(g=r),l=Bn(l),g=yy({},g,q,W8);var ue=yy({},g.imports,q.imports,W8),Ce=is(ue),Ne=Nn(ue,Ce),Me,Ge,dt=0,gt=g.interpolate||vs,St="__p += '",Ot=ja((g.escape||vs).source+"|"+gt.source+"|"+(gt===bc?dp:vs).source+"|"+(g.evaluate||vs).source+"|$","g"),Kt="//# sourceURL="+(Nt.call(g,"sourceURL")?(g.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Jg+"]")+` +`;l.replace(Ot,function(dr,Pr,Zr,_o,Gs,Uo){return Zr||(Zr=_o),St+=l.slice(dt,Uo).replace(Ma,Op),Pr&&(Me=!0,St+=`' + +__e(`+Pr+`) + +'`),Gs&&(Ge=!0,St+=`'; +`+Gs+`; +__p += '`),Zr&&(St+=`' + +((__t = (`+Zr+`)) == null ? '' : __t) + +'`),dt=Uo+dr.length,dr}),St+=`'; +`;var hr=Nt.call(g,"variable")&&g.variable;if(!hr)St=`with (obj) { +`+St+` +} +`;else if(fp.test(hr))throw new mr(u);St=(Ge?St.replace(mt,""):St).replace(It,"$1").replace(_t,"$1;"),St="function("+(hr||"obj")+`) { +`+(hr?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(Me?", __e = _.escape":"")+(Ge?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+St+`return __p +}`;var Ur=$k(function(){return qr(Ce,Kt+"return "+St).apply(r,Ne)});if(Ur.source=St,ub(Ur))throw Ur;return Ur}function Ine(l){return Bn(l).toLowerCase()}function Bne(l){return Bn(l).toUpperCase()}function wne(l,g,B){if(l=Bn(l),l&&(B||g===r))return Uu(l);if(!l||!(g=No(g)))return l;var q=On(l),ue=On(g),Ce=Tp(q,ue),Ne=Uh(q,ue)+1;return Zl(q,Ce,Ne).join("")}function bne(l,g,B){if(l=Bn(l),l&&(B||g===r))return l.slice(0,$c(l)+1);if(!l||!(g=No(g)))return l;var q=On(l),ue=Uh(q,On(g))+1;return Zl(q,0,ue).join("")}function xne(l,g,B){if(l=Bn(l),l&&(B||g===r))return l.replace(Fc,"");if(!l||!(g=No(g)))return l;var q=On(l),ue=Tp(q,On(g));return Zl(q,ue).join("")}function Qne(l,g){var B=Ve,q=Ae;if(li(g)){var ue="separator"in g?g.separator:ue;B="length"in g?_r(g.length):B,q="omission"in g?No(g.omission):q}l=Bn(l);var Ce=l.length;if(Do(l)){var Ne=On(l);Ce=Ne.length}if(B>=Ce)return l;var Me=B-So(q);if(Me<1)return q;var Ge=Ne?Zl(Ne,0,Me).join(""):l.slice(0,Me);if(ue===r)return Ge+q;if(Ne&&(Me+=Ge.length-Me),cb(ue)){if(l.slice(Me).search(ue)){var dt,gt=Ge;for(ue.global||(ue=ja(ue.source,Bn(ea.exec(ue))+"g")),ue.lastIndex=0;dt=ue.exec(gt);)var St=dt.index;Ge=Ge.slice(0,St===r?Me:St)}}else if(l.indexOf(No(ue),Me)!=Me){var Ot=Ge.lastIndexOf(ue);Ot>-1&&(Ge=Ge.slice(0,Ot))}return Ge+q}function Fne(l){return l=Bn(l),l&&Ki.test(l)?l.replace(sr,Ro):l}var Dne=jh(function(l,g,B){return l+(B?" ":"")+g.toUpperCase()}),pb=H8("toUpperCase");function Pk(l,g,B){return l=Bn(l),g=B?r:g,g===r?Gl(l)?n0(l):Ye(l):l.match(g)||[]}var $k=Or(function(l,g){try{return hs(l,r,g)}catch(B){return ub(B)?B:new mr(B)}}),Sne=Wc(function(l,g){return Et(g,function(B){B=Gu(B),Yc(l,B,ob(l[B],l))}),l});function Rne(l){var g=l==null?0:l.length,B=ar();return l=g?Un(l,function(q){if(typeof q[1]!="function")throw new ot(o);return[B(q[0]),q[1]]}):[],Or(function(q){for(var ue=-1;++uekt)return[];var B=pt,q=ce(l,pt);g=ar(g),l-=pt;for(var ue=Xi(q,g);++B0||g<0)?new Nr(B):(l<0?B=B.takeRight(-l):l&&(B=B.drop(l)),g!==r&&(g=_r(g),B=g<0?B.dropRight(-g):B.take(g-l)),B)},Nr.prototype.takeRightWhile=function(l){return this.reverse().takeWhile(l).reverse()},Nr.prototype.toArray=function(){return this.take(pt)},$u(Nr.prototype,function(l,g){var B=/^(?:filter|find|map|reject)|While$/.test(g),q=/^(?:head|last)$/.test(g),ue=pe[q?"take"+(g=="last"?"Right":""):g],Ce=q||/^find/.test(g);ue&&(pe.prototype[g]=function(){var Ne=this.__wrapped__,Me=q?[1]:arguments,Ge=Ne instanceof Nr,dt=Me[0],gt=Ge||Rr(Ne),St=function(Pr){var Zr=ue.apply(pe,Aa([Pr],Me));return q&&Ot?Zr[0]:Zr};gt&&B&&typeof dt=="function"&&dt.length!=1&&(Ge=gt=!1);var Ot=this.__chain__,Kt=!!this.__actions__.length,hr=Ce&&!Ot,Ur=Ge&&!Kt;if(!Ce&>){Ne=Ur?Ne:new Nr(this);var dr=l.apply(Ne,Me);return dr.__actions__.push({func:py,args:[St],thisArg:r}),new $n(dr,Ot)}return hr&&Ur?l.apply(this,Me):(dr=this.thru(St),hr?q?dr.value()[0]:dr.value():dr)})}),Et(["pop","push","shift","sort","splice","unshift"],function(l){var g=Cr[l],B=/^(?:push|sort|unshift)$/.test(l)?"tap":"thru",q=/^(?:pop|shift)$/.test(l);pe.prototype[l]=function(){var ue=arguments;if(q&&!this.__chain__){var Ce=this.value();return g.apply(Rr(Ce)?Ce:[],ue)}return this[B](function(Ne){return g.apply(Rr(Ne)?Ne:[],ue)})}}),$u(Nr.prototype,function(l,g){var B=pe[g];if(B){var q=B.name+"";Nt.call(Wr,q)||(Wr[q]=[]),Wr[q].push({name:g,func:B})}}),Wr[sy(r,j).name]=[{name:"wrapper",func:r}],Nr.prototype.clone=Pu,Nr.prototype.reverse=pw,Nr.prototype.value=pa,pe.prototype.at=ste,pe.prototype.chain=ote,pe.prototype.commit=ate,pe.prototype.next=ute,pe.prototype.plant=lte,pe.prototype.reverse=Ate,pe.prototype.toJSON=pe.prototype.valueOf=pe.prototype.value=pte,pe.prototype.first=pe.prototype.head,J&&(pe.prototype[J]=cte),pe},Xs=Lh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(mi._=Xs,define(function(){return Xs})):$a?(($a.exports=Xs)._=Xs,xp._=Xs):mi._=Xs}).call(e)}),vh=ye((e,t)=>{"use strict";var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&(i[o]=s[o])},n=class NZ extends Error{constructor(s,o,u){super(s),r(this,NZ.prototype),this.name="GrammarError",this.location=o,u===void 0&&(u=[]),this.diagnostics=u,this.stage=null,this.problems=[["error",s,o,u]]}toString(){let s=super.toString();this.location&&(s+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(s+=`${this.location.source}:`),s+=`${this.location.start.line}:${this.location.start.column}`);for(let o of this.diagnostics)s+=` + from `,o.location.source!==void 0&&o.location.source!==null&&(s+=`${o.location.source}:`),s+=`${o.location.start.line}:${o.location.start.column}: ${o.message}`;return s}format(s){let o=s.map(({source:p,text:f})=>({source:p,text:f.split(/\r\n|\n|\r/g)}));function u(p,f,c=""){let m="",w=o.find(({source:F})=>F===p.source),C=p.start;if(w){let F=p.end,P=w.text[C.line-1],j=(C.line===F.line?F.column:P.length+1)-C.column||1;c&&(m+=` +note: ${c}`),m+=` + --> ${p.source}:${C.line}:${C.column} +${"".padEnd(f)} | +${C.line.toString().padStart(f)} | ${P} +${"".padEnd(f)} | ${"".padEnd(C.column-1)}${"".padEnd(j,"^")}`}else m+=` + at ${p.source}:${C.line}:${C.column}`,c&&(m+=`: ${c}`);return m}function A(p,f,c,m=[]){let w;c?w=m.reduce((F,{location:P})=>Math.max(F,P.start.line),c.start.line):w=Math.max.apply(null,m.map(F=>F.location.start.line)),w=w.toString().length;let C=`${p}: ${f}`;c&&(C+=u(c,w));for(let F of m)C+=u(F.location,w,F.message);return C}return this.problems.filter(p=>p[0]!=="info").map(p=>A(...p)).join(` + +`)}};t.exports=n}),hi=ye((e,t)=>{"use strict";var r={build(n){function i(p,...f){return n[p.type](p,...f)}function s(){}function o(p,...f){return i(p.expression,...f)}function u(p){return function(f,...c){f[p].forEach(m=>i(m,...c))}}let A={grammar(p,...f){p.topLevelInitializer&&i(p.topLevelInitializer,...f),p.initializer&&i(p.initializer,...f),p.rules.forEach(c=>i(c,...f))},top_level_initializer:s,initializer:s,rule:o,named:o,choice:u("alternatives"),action:o,sequence:u("elements"),labeled:o,text:o,simple_and:o,simple_not:o,optional:o,zero_or_more:o,one_or_more:o,group:o,semantic_and:s,semantic_not:s,rule_ref:s,literal:s,class:s,any:s};return Object.keys(A).forEach(p=>{Object.prototype.hasOwnProperty.call(n,p)||(n[p]=A[p])}),i}};t.exports=r}),Ea=ye((e,t)=>{"use strict";var r=hi(),n={findRule(i,s){for(let o=0;o{"use strict";var r={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};t.exports=r}),$0=ye((e,t)=>{"use strict";var r=hi(),n=Ea(),i=vh(),s=1,o=0,u=-1;function A(p){function f(F){return F.match=o}function c(F){return C(F.expression),F.match=s}function m(F){return F.match=C(F.expression)}function w(F,P){let j=F.length,re=0,se=0;for(let ge=0;ge0?u:o}let C=r.build({rule(F){let P,j=0;if(typeof F.match>"u"){F.match=o;do if(P=F.match,F.match=C(F.expression),++j>6)throw new i("Infinity cycle detected when trying to evaluate node match result",F.location);while(P!==F.match)}return F.match},named:m,choice(F){return F.match=w(F.alternatives,!0)},action:m,sequence(F){return F.match=w(F.elements,!1)},labeled:m,text:m,simple_and:m,simple_not(F){return F.match=-C(F.expression)},optional:c,zero_or_more:c,one_or_more:m,group:m,semantic_and:f,semantic_not:f,rule_ref(F){let P=n.findRule(p,F.name);return F.match=C(P)},literal(F){let P=F.value.length===0?s:o;return F.match=P},class(F){let P=F.parts.length===0?u:o;return F.match=P},any:f});C(p)}A.ALWAYS_MATCH=s,A.SOMETIMES_MATCH=o,A.NEVER_MATCH=u,t.exports=A}),hw=ye((e,t)=>{"use strict";var r=Ea(),n=I0(),i=hi(),{ALWAYS_MATCH:s,SOMETIMES_MATCH:o,NEVER_MATCH:u}=$0();function A(p){let f=[],c=[],m=[],w=[];function C(Ae){let Ue=f.indexOf(Ae);return Ue===-1?f.push(Ae)-1:Ue}function F(Ae){let Ue={value:Ae.parts,inverted:Ae.inverted,ignoreCase:Ae.ignoreCase},Oe=JSON.stringify(Ue),ct=c.findIndex(Re=>JSON.stringify(Re)===Oe);return ct===-1?c.push(Ue)-1:ct}function P(Ae){let Ue=JSON.stringify(Ae),Oe=m.findIndex(ct=>JSON.stringify(ct)===Ue);return Oe===-1?m.push(Ae)-1:Oe}function j(Ae,Ue,Oe){let ct={predicate:Ae,params:Ue,body:Oe.code,location:Oe.codeLocation},Re=JSON.stringify(ct),Qe=w.findIndex(ze=>JSON.stringify(ze)===Re);return Qe===-1?w.push(ct)-1:Qe}function re(Ae){let Ue={};return Object.keys(Ae).forEach(Oe=>{Ue[Oe]=Ae[Oe]}),Ue}function se(Ae,...Ue){return Ae.concat(...Ue)}function ge(Ae,Ue,Oe,ct){return Ae===s?Oe:Ae===u?ct:Ue.concat([Oe.length,ct.length],Oe,ct)}function oe(Ae,Ue){return Ae.concat([Ue.length],Ue)}function be(Ae,Ue,Oe,ct){let Re=Object.keys(Oe).map(Qe=>ct-Oe[Qe]);return[n.CALL,Ae,Ue,Re.length].concat(Re)}function fe(Ae,Ue,Oe){let ct=Ae.match|0;return se([n.PUSH_CURR_POS],[n.SILENT_FAILS_ON],Ve(Ae,{sp:Oe.sp+1,env:re(Oe.env),action:null}),[n.SILENT_FAILS_OFF],ge(Ue?-ct:ct,[Ue?n.IF_ERROR:n.IF_NOT_ERROR],se([n.POP],[Ue?n.POP:n.POP_CURR_POS],[n.PUSH_UNDEFINED]),se([n.POP],[Ue?n.POP_CURR_POS:n.POP],[n.PUSH_FAILED])))}function Ie(Ae,Ue,Oe){let ct=j(!0,Object.keys(Oe.env),Ae);return se([n.UPDATE_SAVED_POS],be(ct,0,Oe.env,Oe.sp),ge(Ae.match|0,[n.IF],se([n.POP],Ue?[n.PUSH_FAILED]:[n.PUSH_UNDEFINED]),se([n.POP],Ue?[n.PUSH_UNDEFINED]:[n.PUSH_FAILED])))}function $e(Ae){return oe([n.WHILE_NOT_ERROR],se([n.APPEND],Ae))}let Ve=i.build({grammar(Ae){Ae.rules.forEach(Ve),Ae.literals=f,Ae.classes=c,Ae.expectations=m,Ae.functions=w},rule(Ae){Ae.bytecode=Ve(Ae.expression,{sp:-1,env:{},pluck:[],action:null})},named(Ae,Ue){let Oe=Ae.match|0,ct=Oe===u?null:P({type:"rule",value:Ae.name});return se([n.SILENT_FAILS_ON],Ve(Ae.expression,Ue),[n.SILENT_FAILS_OFF],ge(Oe,[n.IF_ERROR],[n.FAIL,ct],[]))},choice(Ae,Ue){function Oe(ct,Re){let Qe=ct[0].match|0,ze=Ve(ct[0],{sp:Re.sp,env:re(Re.env),action:null});return Qe===s?ze:se(ze,ct.length>1?ge(o,[n.IF_ERROR],se([n.POP],Oe(ct.slice(1),Re)),[]):[])}return Oe(Ae.alternatives,Ue)},action(Ae,Ue){let Oe=re(Ue.env),ct=Ae.expression.type!=="sequence"||Ae.expression.elements.length===0,Re=Ve(Ae.expression,{sp:Ue.sp+(ct?1:0),env:Oe,action:Ae}),Qe=Ae.expression.match|0,ze=ct&&Qe!==u?j(!1,Object.keys(Oe),Ae):null;return ct?se([n.PUSH_CURR_POS],Re,ge(Qe,[n.IF_NOT_ERROR],se([n.LOAD_SAVED_POS,1],be(ze,1,Oe,Ue.sp+2)),[]),[n.NIP]):Re},sequence(Ae,Ue){function Oe(ct,Re){if(ct.length>0){let Qe=Ae.elements.length-ct.length+1;return se(Ve(ct[0],{sp:Re.sp,env:Re.env,pluck:Re.pluck,action:null}),ge(ct[0].match|0,[n.IF_NOT_ERROR],Oe(ct.slice(1),{sp:Re.sp+1,env:Re.env,pluck:Re.pluck,action:Re.action}),se(Qe>1?[n.POP_N,Qe]:[n.POP],[n.POP_CURR_POS],[n.PUSH_FAILED])))}else{if(Re.pluck.length>0)return se([n.PLUCK,Ae.elements.length+1,Re.pluck.length],Re.pluck.map(Qe=>Re.sp-Qe));if(Re.action){let Qe=j(!1,Object.keys(Re.env),Re.action);return se([n.LOAD_SAVED_POS,Ae.elements.length],be(Qe,Ae.elements.length+1,Re.env,Re.sp))}else return se([n.WRAP,Ae.elements.length],[n.NIP])}}return se([n.PUSH_CURR_POS],Oe(Ae.elements,{sp:Ue.sp+1,env:Ue.env,pluck:[],action:Ue.action}))},labeled(Ae,Ue){let Oe=Ue.env,ct=Ae.label,Re=Ue.sp+1;return ct&&(Oe=re(Ue.env),Ue.env[Ae.label]=Re),Ae.pick&&Ue.pluck.push(Re),Ve(Ae.expression,{sp:Ue.sp,env:Oe,action:null})},text(Ae,Ue){return se([n.PUSH_CURR_POS],Ve(Ae.expression,{sp:Ue.sp+1,env:re(Ue.env),action:null}),ge(Ae.match|0,[n.IF_NOT_ERROR],se([n.POP],[n.TEXT]),[n.NIP]))},simple_and(Ae,Ue){return fe(Ae.expression,!1,Ue)},simple_not(Ae,Ue){return fe(Ae.expression,!0,Ue)},optional(Ae,Ue){return se(Ve(Ae.expression,{sp:Ue.sp,env:re(Ue.env),action:null}),ge(-(Ae.expression.match|0),[n.IF_ERROR],se([n.POP],[n.PUSH_NULL]),[]))},zero_or_more(Ae,Ue){let Oe=Ve(Ae.expression,{sp:Ue.sp+1,env:re(Ue.env),action:null});return se([n.PUSH_EMPTY_ARRAY],Oe,$e(Oe),[n.POP])},one_or_more(Ae,Ue){let Oe=Ve(Ae.expression,{sp:Ue.sp+1,env:re(Ue.env),action:null});return se([n.PUSH_EMPTY_ARRAY],Oe,ge(Ae.expression.match|0,[n.IF_NOT_ERROR],se($e(Oe),[n.POP]),se([n.POP],[n.POP],[n.PUSH_FAILED])))},group(Ae,Ue){return Ve(Ae.expression,{sp:Ue.sp,env:re(Ue.env),action:null})},semantic_and(Ae,Ue){return Ie(Ae,!1,Ue)},semantic_not(Ae,Ue){return Ie(Ae,!0,Ue)},rule_ref(Ae){return[n.RULE,r.indexOfRule(p,Ae.name)]},literal(Ae){if(Ae.value.length>0){let Ue=Ae.match|0,Oe=Ue===o||Ue===s&&!Ae.ignoreCase?C(Ae.ignoreCase?Ae.value.toLowerCase():Ae.value):null,ct=Ue!==s?P({type:"literal",value:Ae.value,ignoreCase:Ae.ignoreCase}):null;return ge(Ue,Ae.ignoreCase?[n.MATCH_STRING_IC,Oe]:[n.MATCH_STRING,Oe],Ae.ignoreCase?[n.ACCEPT_N,Ae.value.length]:[n.ACCEPT_STRING,Oe],[n.FAIL,ct])}return[n.PUSH_EMPTY_STRING]},class(Ae){let Ue=Ae.match|0,Oe=Ue===o?F(Ae):null,ct=Ue!==s?P({type:"class",value:Ae.parts,inverted:Ae.inverted,ignoreCase:Ae.ignoreCase}):null;return ge(Ue,[n.MATCH_CHAR_CLASS,Oe],[n.ACCEPT_N,1],[n.FAIL,ct])},any(Ae){let Ue=Ae.match|0,Oe=Ue!==s?P({type:"any"}):null;return ge(Ue,[n.MATCH_ANY],[n.ACCEPT_N,1],[n.FAIL,Oe])}});Ve(p)}t.exports=A}),dw=ye((e,t)=>{"use strict";var r=class{constructor(n,i,s){this.sp=-1,this.maxSp=-1,this.varName=i,this.ruleName=n,this.type=s}name(n){if(n<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${n}`);return this.varName+n}push(n){let i=this.name(++this.sp)+" = "+n+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),i}pop(n){return n!==void 0?(this.sp-=n,Array.from({length:n},(i,s)=>this.name(this.sp+1+s))):this.name(this.sp--)}top(){return this.name(this.sp)}index(n){if(n<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${n}`);return this.name(this.sp-n)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(n,i)=>this.name(i)).join(", ")+";"}checkedIf(n,i,s){let o=this.sp;if(i(),s){let u=this.sp;if(this.sp=o,s(),u!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+n+": Branches of a condition can't move the stack pointer differently (before: "+o+", after then: "+u+", after else: "+this.sp+").")}}checkedLoop(n,i){let s=this.sp;if(i(),s!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+n+": Body of a loop can't move the stack pointer (before: "+s+", after: "+this.sp+").")}};t.exports=r}),P0=ye((e,t)=>{"use strict";t.exports="2.0.1"}),mw=ye(e=>{"use strict";function t(i){return i.charCodeAt(0).toString(16).toUpperCase()}e.hex=t;function r(i){return i.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,s=>"\\x0"+t(s)).replace(/[\x10-\x1F\x7F-\xFF]/g,s=>"\\x"+t(s)).replace(/[\u0100-\u0FFF]/g,s=>"\\u0"+t(s)).replace(/[\u1000-\uFFFF]/g,s=>"\\u"+t(s))}e.stringEscape=r;function n(i){return i.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,s=>"\\x0"+t(s)).replace(/[\x10-\x1F\x7F-\xFF]/g,s=>"\\x"+t(s)).replace(/[\u0100-\u0FFF]/g,s=>"\\u0"+t(s)).replace(/[\u1000-\uFFFF]/g,s=>"\\u"+t(s))}e.regexpClassEscape=n}),ww=ye(e=>{var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");e.encode=function(r){if(0<=r&&r{var t=ww(),r=5,n=1<>>=r,f>0&&(p|=s),A+=t.encode(p);while(f>0);return A}}),yh=ye(e=>{function t(fe,Ie,$e){if(Ie in fe)return fe[Ie];if(arguments.length===3)return $e;throw new Error('"'+Ie+'" is a required argument.')}e.getArg=t;var r=function(){return!("__proto__"in Object.create(null))}();function n(fe){return fe}function i(fe){return o(fe)?"$"+fe:fe}e.toSetString=r?n:i;function s(fe){return o(fe)?fe.slice(1):fe}e.fromSetString=r?n:s;function o(fe){if(!fe)return!1;let Ie=fe.length;if(Ie<9||fe.charCodeAt(Ie-1)!==95||fe.charCodeAt(Ie-2)!==95||fe.charCodeAt(Ie-3)!==111||fe.charCodeAt(Ie-4)!==116||fe.charCodeAt(Ie-5)!==111||fe.charCodeAt(Ie-6)!==114||fe.charCodeAt(Ie-7)!==112||fe.charCodeAt(Ie-8)!==95||fe.charCodeAt(Ie-9)!==95)return!1;for(let $e=Ie-10;$e>=0;$e--)if(fe.charCodeAt($e)!==36)return!1;return!0}function u(fe,Ie){return fe===Ie?0:fe===null?1:Ie===null?-1:fe>Ie?1:-1}function A(fe,Ie){let $e=fe.generatedLine-Ie.generatedLine;return $e!==0||($e=fe.generatedColumn-Ie.generatedColumn,$e!==0)||($e=u(fe.source,Ie.source),$e!==0)||($e=fe.originalLine-Ie.originalLine,$e!==0)||($e=fe.originalColumn-Ie.originalColumn,$e!==0)?$e:u(fe.name,Ie.name)}e.compareByGeneratedPositionsInflated=A;var p="http:",f=`${p}//host`;function c(fe){return Ie=>{let $e=P(Ie),Ve=C(Ie),Ae=new URL(Ie,Ve);fe(Ae);let Ue=Ae.toString();return $e==="absolute"?Ue:$e==="scheme-relative"?Ue.slice(p.length):$e==="path-absolute"?Ue.slice(f.length):j(Ve,Ue)}}function m(fe,Ie){return new URL(fe,Ie).toString()}function w(fe,Ie){let $e=0;do{let Ve=fe+$e++;if(Ie.indexOf(Ve)===-1)return Ve}while(!0)}function C(fe){let Ie=fe.split("..").length-1,$e=w("p",fe),Ve=`${f}/`;for(let Ae=0;Ae0&&!Ve[Ve.length-1]&&Ve.pop();$e.length>0&&Ve.length>0&&$e[0]===Ve[0];)$e.shift(),Ve.shift();return Ve.map(()=>"..").concat($e).join("/")+Ie.search+Ie.hash}var re=c(fe=>{fe.pathname=fe.pathname.replace(/\/?$/,"/")}),se=c(fe=>{});e.normalize=se;function ge(fe,Ie){let $e=P(Ie),Ve=P(fe);if(fe=re(fe),$e==="absolute")return m(Ie,void 0);if(Ve==="absolute")return m(Ie,fe);if($e==="scheme-relative")return se(Ie);if(Ve==="scheme-relative")return m(Ie,m(fe,f)).slice(p.length);if($e==="path-absolute")return se(Ie);if(Ve==="path-absolute")return m(Ie,m(fe,f)).slice(f.length);let Ae=C(Ie+fe),Ue=m(Ie,m(fe,Ae));return j(Ae,Ue)}e.join=ge;function oe(fe,Ie){let $e=be(fe,Ie);return typeof $e=="string"?$e:se(Ie)}e.relative=oe;function be(fe,Ie){if(P(fe)!==P(Ie))return null;let $e=C(fe+Ie),Ve=new URL(fe,$e),Ae=new URL(Ie,$e);try{new URL("",Ae.toString())}catch{return null}return Ae.protocol!==Ve.protocol||Ae.user!==Ve.user||Ae.password!==Ve.password||Ae.hostname!==Ve.hostname||Ae.port!==Ve.port?null:j(Ve,Ae)}}),Bw=ye(e=>{var t=class TZ{constructor(){this._array=[],this._set=new Map}static fromArray(n,i){let s=new TZ;for(let o=0,u=n.length;o=0)return i;throw new Error('"'+n+'" is not in the set.')}at(n){if(n>=0&&n{var t=yh();function r(i,s){let o=i.generatedLine,u=s.generatedLine,A=i.generatedColumn,p=s.generatedColumn;return u>o||u==o&&p>=A||t.compareByGeneratedPositionsInflated(i,s)<=0}var n=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(i,s){this._array.forEach(i,s)}add(i){r(this._last,i)?(this._last=i,this._array.push(i)):(this._sorted=!1,this._array.push(i))}toArray(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};e.MappingList=n}),L0=ye(e=>{var t=bw(),r=yh(),n=Bw().ArraySet,i=Tw().MappingList,s=class _Z{constructor(u){u||(u={}),this._file=r.getArg(u,"file",null),this._sourceRoot=r.getArg(u,"sourceRoot",null),this._skipValidation=r.getArg(u,"skipValidation",!1),this._sources=new n,this._names=new n,this._mappings=new i,this._sourcesContents=null}static fromSourceMap(u){let A=u.sourceRoot,p=new _Z({file:u.file,sourceRoot:A});return u.eachMapping(function(f){let c={generated:{line:f.generatedLine,column:f.generatedColumn}};f.source!=null&&(c.source=f.source,A!=null&&(c.source=r.relative(A,c.source)),c.original={line:f.originalLine,column:f.originalColumn},f.name!=null&&(c.name=f.name)),p.addMapping(c)}),u.sources.forEach(function(f){let c=f;A!=null&&(c=r.relative(A,f)),p._sources.has(c)||p._sources.add(c);let m=u.sourceContentFor(f);m!=null&&p.setSourceContent(f,m)}),p}addMapping(u){let A=r.getArg(u,"generated"),p=r.getArg(u,"original",null),f=r.getArg(u,"source",null),c=r.getArg(u,"name",null);this._skipValidation||this._validateMapping(A,p,f,c),f!=null&&(f=String(f),this._sources.has(f)||this._sources.add(f)),c!=null&&(c=String(c),this._names.has(c)||this._names.add(c)),this._mappings.add({generatedLine:A.line,generatedColumn:A.column,originalLine:p&&p.line,originalColumn:p&&p.column,source:f,name:c})}setSourceContent(u,A){let p=u;this._sourceRoot!=null&&(p=r.relative(this._sourceRoot,p)),A!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[r.toSetString(p)]=A):this._sourcesContents&&(delete this._sourcesContents[r.toSetString(p)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(u,A,p){let f=A;if(A==null){if(u.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);f=u.file}let c=this._sourceRoot;c!=null&&(f=r.relative(c,f));let m=this._mappings.toArray().length>0?new n:this._sources,w=new n;this._mappings.unsortedForEach(function(C){if(C.source===f&&C.originalLine!=null){let j=u.originalPositionFor({line:C.originalLine,column:C.originalColumn});j.source!=null&&(C.source=j.source,p!=null&&(C.source=r.join(p,C.source)),c!=null&&(C.source=r.relative(c,C.source)),C.originalLine=j.line,C.originalColumn=j.column,j.name!=null&&(C.name=j.name))}let F=C.source;F!=null&&!m.has(F)&&m.add(F);let P=C.name;P!=null&&!w.has(P)&&w.add(P)},this),this._sources=m,this._names=w,u.sources.forEach(function(C){let F=u.sourceContentFor(C);F!=null&&(p!=null&&(C=r.join(p,C)),c!=null&&(C=r.relative(c,C)),this.setSourceContent(C,F))},this)}_validateMapping(u,A,p,f){if(A&&typeof A.line!="number"&&typeof A.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(u&&"line"in u&&"column"in u&&u.line>0&&u.column>=0&&!A&&!p&&!f)&&!(u&&"line"in u&&"column"in u&&A&&"line"in A&&"column"in A&&u.line>0&&u.column>=0&&A.line>0&&A.column>=0&&p))throw new Error("Invalid mapping: "+JSON.stringify({generated:u,source:p,original:A,name:f}))}_serializeMappings(){let u=0,A=1,p=0,f=0,c=0,m=0,w="",C,F,P,j,re=this._mappings.toArray();for(let se=0,ge=re.length;se0){if(!r.compareByGeneratedPositionsInflated(F,re[se-1]))continue;C+=","}C+=t.encode(F.generatedColumn-u),u=F.generatedColumn,F.source!=null&&(j=this._sources.indexOf(F.source),C+=t.encode(j-m),m=j,C+=t.encode(F.originalLine-1-f),f=F.originalLine-1,C+=t.encode(F.originalColumn-p),p=F.originalColumn,F.name!=null&&(P=this._names.indexOf(F.name),C+=t.encode(P-c),c=P)),w+=C}return w}_generateSourcesContent(u,A){return u.map(function(p){if(!this._sourcesContents)return null;A!=null&&(p=r.relative(A,p));let f=r.toSetString(p);return Object.prototype.hasOwnProperty.call(this._sourcesContents,f)?this._sourcesContents[f]:null},this)}toJSON(){let u={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(u.file=this._file),this._sourceRoot!=null&&(u.sourceRoot=this._sourceRoot),this._sourcesContents&&(u.sourcesContent=this._generateSourcesContent(u.sources,u.sourceRoot)),u}toString(){return JSON.stringify(this.toJSON())}};s.prototype._version=3,e.SourceMapGenerator=s}),xw=ye(e=>{var t=L0().SourceMapGenerator,r=yh(),n=/(\r?\n)/,i=10,s="$$$isSourceNode$$$",o=class u8{constructor(A,p,f,c,m){this.children=[],this.sourceContents={},this.line=A??null,this.column=p??null,this.source=f??null,this.name=m??null,this[s]=!0,c!=null&&this.add(c)}static fromStringWithSourceMap(A,p,f){let c=new u8,m=A.split(n),w=0,C=function(){let ge=be(),oe=be()||"";return ge+oe;function be(){return w=0;p--)this.prepend(A[p]);else if(A[s]||typeof A=="string")this.children.unshift(A);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+A);return this}walk(A){let p;for(let f=0,c=this.children.length;f0){for(p=[],f=0;f{e.SourceMapGenerator=L0().SourceMapGenerator,e.SourceNode=xw().SourceNode}),jw=ye((e,t)=>{"use strict";var r=Ea(),n=I0(),i=dw(),s=P0(),{stringEscape:o,regexpClassEscape:u}=mw(),{SourceNode:A}=kw();function p(m,w,C){let F=w.start.line,P=w.start.column-1,j=m.split(` +`);return j.length===1?new A(F,P,w.source,m,C):new A(null,null,w.source,j.map((re,se)=>new A(F+se,se===0?P:0,w.source,se===j.length-1?re:[re,` +`],C)))}function f(m,w,C,F,P){return C?new A(null,null,C.source,[m,p(w,C,P),new A(C.end.line,C.end.column-1,C.source,F)]):new A(null,null,null,[m,w,F])}function c(m,w){function C(Ae){return Ae instanceof A?Ae:Ae.replace(/^(.+)$/gm," $1")}function F(Ae){return"peg$c"+Ae}function P(Ae){return"peg$r"+Ae}function j(Ae){return"peg$e"+Ae}function re(Ae){return"peg$f"+Ae}function se(Ae){return"peg$parse"+Ae}function ge(){function Ae(Re){return'"'+o(Re)+'"'}function Ue(Re){return"/^["+(Re.inverted?"^":"")+Re.value.map(Qe=>Array.isArray(Qe)?u(Qe[0])+"-"+u(Qe[1]):u(Qe)).join("")+"]/"+(Re.ignoreCase?"i":"")}function Oe(Re){switch(Re.type){case"rule":return'peg$otherExpectation("'+o(Re.value)+'")';case"literal":return'peg$literalExpectation("'+o(Re.value)+'", '+Re.ignoreCase+")";case"class":return"peg$classExpectation(["+Re.value.map(Qe=>Array.isArray(Qe)?'["'+o(Qe[0])+'", "'+o(Qe[1])+'"]':'"'+o(Qe)+'"').join(", ")+"], "+Re.inverted+", "+Re.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(Re)+")")}}function ct(Re,Qe){return f(` + var ${re(Qe)} = function(${Re.params.join(", ")}) {`,Re.body,Re.location,"};")}return new A(null,null,w.grammarSource,[m.literals.map((Re,Qe)=>" var "+F(Qe)+" = "+Ae(Re)+";").concat("",m.classes.map((Re,Qe)=>" var "+P(Qe)+" = "+Ue(Re)+";")).concat("",m.expectations.map((Re,Qe)=>" var "+j(Qe)+" = "+Oe(Re)+";")).concat("").join(` +`),m.functions.map(ct)])}function oe(Ae,Ue){let Oe=[];return Oe.push(""),w.trace&&Oe.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+Ae+","," location: peg$computeLocation(startPos, startPos)","});",""),w.cache&&(Oe.push("var key = peg$currPos * "+m.rules.length+" + "+Ue+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),w.trace&&Oe.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+Ae+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+Ae+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),Oe.push(" return cached.result;","}","")),Oe}function be(Ae,Ue){let Oe=[];return w.cache&&Oe.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+Ue+" };"),w.trace&&Oe.push("","if ("+Ue+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+Ae+","," result: "+Ue+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+Ae+","," location: peg$computeLocation(startPos, startPos)"," });","}"),Oe.push("","return "+Ue+";"),Oe}function fe(Ae){let Ue=[],Oe=new i(Ae.name,"s","var");function ct(Qe){let ze=0,kt=Qe.length,st=[],We;function pt(nr,jt){let Rt=jt+3,vn=Qe[ze+Rt-2],Xt=Qe[ze+Rt-1],Ct,er;Oe.checkedIf(ze,()=>{ze+=Rt,Ct=ct(Qe.slice(ze,ze+vn)),ze+=vn},Xt>0?()=>{er=ct(Qe.slice(ze,ze+Xt)),ze+=Xt}:null),st.push("if ("+nr+") {"),st.push(...Ct.map(C)),Xt>0&&(st.push("} else {"),st.push(...er.map(C))),st.push("}")}function Pt(nr){let jt=Qe[ze+2-1],Rt;Oe.checkedLoop(ze,()=>{ze+=2,Rt=ct(Qe.slice(ze,ze+jt)),ze+=jt}),st.push("while ("+nr+") {"),st.push(...Rt.map(C)),st.push("}")}function nn(){let nr=Qe[ze+4-1],jt=re(Qe[ze+1])+"("+Qe.slice(ze+4,ze+4+nr).map(Rt=>Oe.index(Rt)).join(", ")+")";Oe.pop(Qe[ze+2]),st.push(Oe.push(jt)),ze+=4+nr}for(;zeOe.index(Rt)).join(", ")} ]`,Oe.pop(Qe[ze+1]),st.push(Oe.push(We)),ze+=jt;break}case n.IF:pt(Oe.top(),0);break;case n.IF_ERROR:pt(Oe.top()+" === peg$FAILED",0);break;case n.IF_NOT_ERROR:pt(Oe.top()+" !== peg$FAILED",0);break;case n.WHILE_NOT_ERROR:Pt(Oe.top()+" !== peg$FAILED");break;case n.MATCH_ANY:pt("input.length > peg$currPos",0);break;case n.MATCH_STRING:pt(m.literals[Qe[ze+1]].length>1?"input.substr(peg$currPos, "+m.literals[Qe[ze+1]].length+") === "+F(Qe[ze+1]):"input.charCodeAt(peg$currPos) === "+m.literals[Qe[ze+1]].charCodeAt(0),1);break;case n.MATCH_STRING_IC:pt("input.substr(peg$currPos, "+m.literals[Qe[ze+1]].length+").toLowerCase() === "+F(Qe[ze+1]),1);break;case n.MATCH_CHAR_CLASS:pt(P(Qe[ze+1])+".test(input.charAt(peg$currPos))",1);break;case n.ACCEPT_N:st.push(Oe.push(Qe[ze+1]>1?"input.substr(peg$currPos, "+Qe[ze+1]+")":"input.charAt(peg$currPos)")),st.push(Qe[ze+1]>1?"peg$currPos += "+Qe[ze+1]+";":"peg$currPos++;"),ze+=2;break;case n.ACCEPT_STRING:st.push(Oe.push(F(Qe[ze+1]))),st.push(m.literals[Qe[ze+1]].length>1?"peg$currPos += "+m.literals[Qe[ze+1]].length+";":"peg$currPos++;"),ze+=2;break;case n.FAIL:st.push(Oe.push("peg$FAILED")),st.push("if (peg$silentFails === 0) { peg$fail("+j(Qe[ze+1])+"); }"),ze+=2;break;case n.LOAD_SAVED_POS:st.push("peg$savedPos = "+Oe.index(Qe[ze+1])+";"),ze+=2;break;case n.UPDATE_SAVED_POS:st.push("peg$savedPos = peg$currPos;"),ze++;break;case n.CALL:nn();break;case n.RULE:st.push(Oe.push(se(m.rules[Qe[ze+1]].name)+"()")),ze+=2;break;case n.SILENT_FAILS_ON:st.push("peg$silentFails++;"),ze++;break;case n.SILENT_FAILS_OFF:st.push("peg$silentFails--;"),ze++;break;default:throw new Error("Invalid opcode: "+Qe[ze]+".")}return st}let Re=ct(Ae.bytecode);return Ue.push(f(" function ",se(Ae.name),Ae.nameLocation,`() { +`,Ae.name)),w.trace&&Ue.push(" var startPos = peg$currPos;"),Ue.push(C(Oe.defines())),Ue.push(...oe('"'+o(Ae.name)+'"',r.indexOfRule(m,Ae.name)).map(C)),Ue.push(...Re.map(C)),Ue.push(...be('"'+o(Ae.name)+'"',Oe.result()).map(C)),Ue.push("}"),Ue}function Ie(Ae){return Ae.codeLocation?p(Ae.code,Ae.codeLocation,"$"+Ae.type):Ae.code}function $e(){let Ae=[];m.topLevelInitializer&&(Ae.push(Ie(m.topLevelInitializer)),Ae.push("")),Ae.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),w.trace&&Ae.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let Ue="{ "+w.allowedStartRules.map(ct=>ct+": "+se(ct)).join(", ")+" }",Oe=se(w.allowedStartRules[0]);return Ae.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+Ue+";"," var peg$startRuleFunction = "+Oe+";","",ge(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),w.cache&&Ae.push(" var peg$resultsCache = {};",""),w.trace&&Ae.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),Ae.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),m.rules.forEach(ct=>{Ae.push(...fe(ct).map(C)),Ae.push("")}),m.initializer&&(Ae.push(Ie(m.initializer)),Ae.push("")),Ae.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new A(null,null,w.grammarSource,Ae.map(ct=>ct instanceof A?ct:ct+` +`))}function Ve(Ae){function Ue(){return[`// Generated by Peggy ${s}.`,"//","// https://peggyjs.org/"]}function Oe(){return w.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let ct={bare(){return[...Ue(),"(function() {",' "use strict";',"",Ae,"",C("return "+Oe()+";"),"})()"]},commonjs(){let Re=Object.keys(w.dependencies),Qe=Ue();return Qe.push("",'"use strict";',""),Re.length>0&&(Re.forEach(ze=>{Qe.push("var "+ze+' = require("'+o(w.dependencies[ze])+'");')}),Qe.push("")),Qe.push(Ae,"","module.exports = "+Oe()+";"),Qe},es(){let Re=Object.keys(w.dependencies),Qe=Ue();return Qe.push(""),Re.length>0&&(Re.forEach(ze=>{Qe.push("import "+ze+' from "'+o(w.dependencies[ze])+'";')}),Qe.push("")),Qe.push(Ae,"","export {"," peg$SyntaxError as SyntaxError,",w.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),Qe},amd(){let Re=Object.keys(w.dependencies),Qe="["+Re.map(kt=>w.dependencies[kt]).map(kt=>'"'+o(kt)+'"').join(", ")+"]",ze=Re.join(", ");return[...Ue(),"define("+Qe+", function("+ze+") {",' "use strict";',"",Ae,"",C("return "+Oe()+";"),"});"]},globals(){return[...Ue(),"(function(root) {",' "use strict";',"",Ae,"",C("root."+w.exportVar+" = "+Oe()+";"),"})(this);"]},umd(){let Re=Object.keys(w.dependencies),Qe=Re.map(pt=>w.dependencies[pt]),ze="["+Qe.map(pt=>'"'+o(pt)+'"').join(", ")+"]",kt=Qe.map(pt=>'require("'+o(pt)+'")').join(", "),st=Re.join(", "),We=Ue();return We.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+ze+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+kt+");"),w.exportVar!==null&&We.push(" } else {"," root."+w.exportVar+" = factory();"),We.push(" }","})(this, function("+st+") {",' "use strict";',"",Ae,"",C("return "+Oe()+";"),"});"),We}}[w.format]();return new A(null,null,w.grammarSource,ct.map(Re=>Re instanceof A?Re:Re+` +`))}m.code=Ve($e())}t.exports=c}),qw=ye((e,t)=>{"use strict";var r=Ea(),n=hi();function i(s,o,u){function A(c){return c.type==="rule"&&c.expression.type==="rule_ref"}function p(c,m,w){n.build({rule_ref(C){C.name===m&&(C.name=w,u.info(`Proxy rule "${m}" replaced by the rule "${w}"`,C.location,[{message:"This rule will be used",location:r.findRule(c,w).nameLocation}]))}})(c)}let f=[];s.rules.forEach((c,m)=>{A(c)&&(p(s,c.name,c.expression.name),o.allowedStartRules.indexOf(c.name)===-1&&f.push(m))}),f.reverse(),f.forEach(c=>{s.rules.splice(c,1)})}t.exports=i}),Vw=ye((e,t)=>{"use strict";var r=hi();function n(i,s,o){function u(f){let c={};return Object.keys(f).forEach(m=>{c[m]=f[m]}),c}function A(f,c){p(f.expression,u(c))}let p=r.build({rule(f){p(f.expression,{})},choice(f,c){f.alternatives.forEach(m=>{p(m,u(c))})},action:A,labeled(f,c){let m=f.label;m&&Object.prototype.hasOwnProperty.call(c,m)&&o.error(`Label "${f.label}" is already defined`,f.labelLocation,[{message:"Original label location",location:c[m]}]),p(f.expression,c),c[f.label]=f.labelLocation},text:A,simple_and:A,simple_not:A,optional:A,zero_or_more:A,one_or_more:A,group:A});p(i)}t.exports=n}),zw=ye((e,t)=>{"use strict";var r=hi();function n(i,s,o){let u={};r.build({rule(A){if(Object.prototype.hasOwnProperty.call(u,A.name)){o.error(`Rule "${A.name}" is already defined`,A.nameLocation,[{message:"Original rule location",location:u[A.name]}]);return}u[A.name]=A.nameLocation}})(i)}t.exports=n}),Xw=ye((e,t)=>{"use strict";var r=Ea(),n=hi();function i(s,o,u){let A=[],p=[],f=n.build({rule(c){A.push(c.name),f(c.expression),A.pop()},sequence(c){c.elements.every(m=>(f(m),!r.alwaysConsumesOnSuccess(s,m)))},rule_ref(c){p.push(c);let m=r.findRule(s,c.name);if(A.indexOf(c.name)!==-1){A.push(c.name),u.error("Possible infinite loop when parsing (left recursion: "+A.join(" -> ")+")",m.nameLocation,p.map((w,C,F)=>({message:C+1!==F.length?`Step ${C+1}: call of the rule "${w.name}" without input consumption`:`Step ${C+1}: call itself without input consumption - left recursion`,location:w.location})));return}m&&f(m),p.pop()}});f(s)}t.exports=i}),Qw=ye((e,t)=>{"use strict";var r=Ea(),n=hi();function i(s,o,u){n.build({zero_or_more(A){r.alwaysConsumesOnSuccess(s,A.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",A.location)},one_or_more(A){r.alwaysConsumesOnSuccess(s,A.expression)||u.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",A.location)}})(s)}t.exports=i}),tA=ye((e,t)=>{"use strict";var r=Ea(),n=hi();function i(s,o,u){n.build({rule_ref(A){r.findRule(s,A.name)||u.error(`Rule "${A.name}" is not defined`,A.location)}})(s)}t.exports=i}),nA=ye((e,t)=>{"use strict";var r=hi();function n(i,s,o){let u=r.build({action(A){u(A.expression,A)},labeled(A,p){A.pick&&p&&o.error('"@" cannot be used with an action block',A.labelLocation,[{message:"Action block location",location:p.codeLocation}]),u(A.expression)}});u(i)}t.exports=n}),sA=ye((e,t)=>{"use strict";var r=vh(),n=class{constructor(s){s=typeof s<"u"?s:{},typeof s.error=="function"&&(this.error=s.error),typeof s.warning=="function"&&(this.warning=s.warning),typeof s.info=="function"&&(this.info=s.info)}error(){}warning(){}info(){}},i=class{constructor(s){this._callbacks=new n(s),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...s){++this.errors,this._firstError===null&&(this._firstError=new r(...s),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...s]),this._callbacks.error(this.stage,...s)}warning(...s){this.problems.push(["warning",...s]),this._callbacks.warning(this.stage,...s)}info(...s){this.problems.push(["info",...s]),this._callbacks.info(this.stage,...s)}checkErrors(){if(this.errors!==0)throw this._firstError}};t.exports=i}),aA=ye((exports,module)=>{"use strict";var generateBytecode=hw(),generateJS=jw(),inferenceMatchResult=$0(),removeProxyRules=qw(),reportDuplicateLabels=Vw(),reportDuplicateRules=zw(),reportInfiniteRecursion=Xw(),reportInfiniteRepetition=Qw(),reportUndefinedRules=tA(),reportIncorrectPlucking=nA(),Session=sA(),visitor=hi();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler}),uA=ye((e,t)=>{"use strict";var r={$:"text","&":"simple_and","!":"simple_not"},n={"?":"optional","*":"zero_or_more","+":"one_or_more"},i={"&":"semantic_and","!":"semantic_not"};function s(p,f){function c(){this.constructor=p}c.prototype=f.prototype,p.prototype=new c}function o(p,f,c,m){var w=Error.call(this,p);return Object.setPrototypeOf&&Object.setPrototypeOf(w,o.prototype),w.expected=f,w.found=c,w.location=m,w.name="SyntaxError",w}s(o,Error);function u(p,f,c){return c=c||" ",p.length>f?p:(f-=p.length,c+=c.repeat(f),p+c.slice(0,f))}o.prototype.format=function(p){var f="Error: "+this.message;if(this.location){var c=null,m;for(m=0;m `+C+` +`+P+` | +`+w.line+" | "+j+` +`+P+" | "+u("",w.column-1," ")+u("",se,"^")}else f+=` + at `+C}return f},o.buildMessage=function(p,f){var c={literal:function(re){return'"'+w(re.text)+'"'},class:function(re){var se=re.parts.map(function(ge){return Array.isArray(ge)?C(ge[0])+"-"+C(ge[1]):C(ge)});return"["+(re.inverted?"^":"")+se.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(re){return re.description}};function m(re){return re.charCodeAt(0).toString(16).toUpperCase()}function w(re){return re.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(se){return"\\x0"+m(se)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(se){return"\\x"+m(se)})}function C(re){return re.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(se){return"\\x0"+m(se)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(se){return"\\x"+m(se)})}function F(re){return c[re.type](re)}function P(re){var se=re.map(F),ge,oe;if(se.sort(),se.length>0){for(ge=1,oe=1;ge0?{type:"choice",alternatives:[y].concat(R),location:or()}:y},zg=function(y,R){return R!==null?{type:"action",expression:y,code:R[0],codeLocation:R[1],location:or()}:y},Kg=function(y,R){return R.length>0||y.type==="labeled"&&y.pick?{type:"sequence",elements:[y].concat(R),location:or()}:y},Hr=function(y,R,V){return V.type.startsWith("semantic_")&&Uc('"@" cannot be used on a semantic predicate',y),{type:"labeled",label:R!==null?R[0]:null,labelLocation:R!==null?R[1]:y,pick:!0,expression:V,location:or()}},Zg=function(y,R){return{type:"labeled",label:y[0],labelLocation:y[1],expression:R,location:or()}},Xg=function(){return or()},wh=function(y){return Je.indexOf(y[0])>=0&&Uc(`Label can't be a reserved word "${y[0]}"`,y[1]),y},e0=function(y,R){return{type:r[y],expression:R,location:or()}},mi=function(y,R){return{type:n[R],expression:y,location:or()}},xp=function(y){return y.type==="labeled"||y.type==="sequence"?{type:"group",expression:y,location:or()}:y},$a=function(y){return{type:"rule_ref",name:y[0],location:or()}},bh=function(y,R){return{type:i[y],code:R[0],codeLocation:R[1],location:or()}},Fp=function(y,R){return[y+R.join(""),or()]},ii=function(y,R){return{type:"literal",value:y,ignoreCase:R!==null,location:or()}},xh=function(y){return y.join("")},Qh=function(y){return y.join("")},Sh=function(y,R,V){return{type:"class",parts:R.filter(H=>H!==""),inverted:y!==null,ignoreCase:V!==null,location:or()}},Rh=function(y,R){return y.charCodeAt(0)>R.charCodeAt(0)&&Uc("Invalid character range: "+jl()+"."),[y,R]},kh=function(){return""},Nh=function(){return"\0"},hs=function(){return"\b"},Th=function(){return"\f"},Et=function(){return` +`},v=function(){return"\r"},Dp=function(){return" "},Fo=function(){return"\v"},Ha=function(y){return String.fromCharCode(parseInt(y,16))},Oi=function(y){return String.fromCharCode(parseInt(y,16))},Un=function(){return{type:"any",location:or()}},Aa=function(y){return[y,or()]},K=0,fr=0,Zs=[{line:1,column:1}],An=0,dn=[],Ye=0,Yi;if("startRule"in f){if(!(f.startRule in w))throw new Error(`Can't start parsing from rule "`+f.startRule+'".');C=w[f.startRule]}function jl(){return p.substring(fr,K)}function _c(){return fr}function Sp(){return{source:m,start:fr,end:K}}function or(){return Uu(fr,K)}function t0(y,R){throw R=R!==void 0?R:Uu(fr,K),Ou([Xi(y)],p.substring(fr,K),R)}function Uc(y,R){throw R=R!==void 0?R:Uu(fr,K),Nn(y,R)}function qt(y,R){return{type:"literal",text:y,ignoreCase:R}}function kn(y,R,V){return{type:"class",parts:y,inverted:R,ignoreCase:V}}function Rp(){return{type:"any"}}function kp(){return{type:"end"}}function Xi(y){return{type:"other",description:y}}function Np(y){var R=Zs[y],V;if(R)return R;for(V=y-1;!Zs[V];)V--;for(R=Zs[V],R={line:R.line,column:R.column};VAn&&(An=K,dn=[]),dn.push(y))}function Nn(y,R){return new o(y,null,null,R)}function Ou(y,R,V){return new o(o.buildMessage(y,R),y,R,V)}function Tp(){var y,R,V,H,ce,Ee,Fe,De;if(y=K,R=de(),V=K,H=Uh(),H!==c?(ce=de(),V=H):(K=V,V=c),V===c&&(V=null),H=K,ce=_p(),ce!==c?(Ee=de(),H=ce):(K=H,H=c),H===c&&(H=null),ce=[],Ee=K,Fe=Oh(),Fe!==c?(De=de(),Ee=Fe):(K=Ee,Ee=c),Ee!==c)for(;Ee!==c;)ce.push(Ee),Ee=K,Fe=Oh(),Fe!==c?(De=de(),Ee=Fe):(K=Ee,Ee=c);else ce=c;return ce!==c?(fr=y,y=Vg(V,H,ce)):(K=y,y=c),y}function Uh(){var y,R,V,H,ce;return y=K,p.charCodeAt(K)===123?(R=F,K++):(R=c,Ye===0&&it(_n)),R!==c?(V=x(),V!==c?(p.charCodeAt(K)===125?(H=P,K++):(H=c,Ye===0&&it(bu)),H!==c?(ce=Be(),ce!==c?(fr=y,y=Jg(V)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c),y}function _p(){var y,R,V;return y=K,R=x(),R!==c?(V=Be(),V!==c?(fr=y,y=Sn(R)):(K=y,y=c)):(K=y,y=c),y}function Oh(){var y,R,V,H,ce,Ee,Fe,De;return y=K,R=qe(),R!==c?(V=de(),H=K,ce=Kn(),ce!==c?(Ee=de(),H=ce):(K=H,H=c),H===c&&(H=null),p.charCodeAt(K)===61?(ce=j,K++):(ce=c,Ye===0&&it(wc)),ce!==c?(Ee=de(),Fe=Up(),Fe!==c?(De=Be(),De!==c?(fr=y,y=In(R,H,Fe)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c),y}function Up(){var y,R,V,H,ce,Ee,Fe,De;if(y=K,R=Op(),R!==c){for(V=[],H=K,ce=de(),p.charCodeAt(K)===47?(Ee=re,K++):(Ee=c,Ye===0&&it(bc)),Ee!==c?(Fe=de(),De=Op(),De!==c?H=De:(K=H,H=c)):(K=H,H=c);H!==c;)V.push(H),H=K,ce=de(),p.charCodeAt(K)===47?(Ee=re,K++):(Ee=c,Ye===0&&it(bc)),Ee!==c?(Fe=de(),De=Op(),De!==c?H=De:(K=H,H=c)):(K=H,H=c);fr=y,y=Wg(R,V)}else K=y,y=c;return y}function Op(){var y,R,V,H,ce;return y=K,R=r0(),R!==c?(V=K,H=de(),ce=x(),ce!==c?V=ce:(K=V,V=c),V===c&&(V=null),fr=y,y=zg(R,V)):(K=y,y=c),y}function r0(){var y,R,V,H,ce,Ee;if(y=K,R=Do(),R!==c){for(V=[],H=K,ce=de(),Ee=Do(),Ee!==c?H=Ee:(K=H,H=c);H!==c;)V.push(H),H=K,ce=de(),Ee=Do(),Ee!==c?H=Ee:(K=H,H=c);fr=y,y=Kg(R,V)}else K=y,y=c;return y}function Do(){var y,R,V,H;return y=K,R=Gl(),R!==c?(V=Oc(),V===c&&(V=null),H=qa(),H!==c?(fr=y,y=Hr(R,V,H)):(K=y,y=c)):(K=y,y=c),y===c&&(y=K,R=Oc(),R!==c?(V=de(),H=qa(),H!==c?(fr=y,y=Zg(R,H)):(K=y,y=c)):(K=y,y=c),y===c&&(y=qa())),y}function Gl(){var y,R;return y=K,p.charCodeAt(K)===64?(R=se,K++):(R=c,Ye===0&&it(ap)),R!==c&&(fr=y,R=Xg()),y=R,y}function Oc(){var y,R,V,H;return y=K,R=qe(),R!==c?(V=de(),p.charCodeAt(K)===58?(H=ge,K++):(H=c,Ye===0&&it(up)),H!==c?(fr=y,y=wh(R)):(K=y,y=c)):(K=y,y=c),y}function qa(){var y,R,V,H;return y=K,R=Yl(),R!==c?(V=de(),H=Is(),H!==c?(fr=y,y=e0(R,H)):(K=y,y=c)):(K=y,y=c),y===c&&(y=Is()),y}function Yl(){var y;return p.charCodeAt(K)===36?(y=oe,K++):(y=c,Ye===0&&it(Ul)),y===c&&(p.charCodeAt(K)===38?(y=be,K++):(y=c,Ye===0&&it(Qu)),y===c&&(p.charCodeAt(K)===33?(y=fe,K++):(y=c,Ye===0&&it(Ol)))),y}function Is(){var y,R,V,H;return y=K,R=Vl(),R!==c?(V=de(),H=Mc(),H!==c?(fr=y,y=mi(R,H)):(K=y,y=c)):(K=y,y=c),y===c&&(y=Vl()),y}function Mc(){var y;return p.charCodeAt(K)===63?(y=Ie,K++):(y=c,Ye===0&&it(Fc)),y===c&&(p.charCodeAt(K)===42?(y=$e,K++):(y=c,Ye===0&&it(cp)),y===c&&(p.charCodeAt(K)===43?(y=Ve,K++):(y=c,Ye===0&&it(lp)))),y}function Vl(){var y,R,V,H,ce,Ee;return y=qr(),y===c&&(y=fn(),y===c&&(y=b(),y===c&&(y=Mh(),y===c&&(y=Mp(),y===c&&(y=K,p.charCodeAt(K)===40?(R=Ae,K++):(R=c,Ye===0&&it(Ap)),R!==c?(V=de(),H=Up(),H!==c?(ce=de(),p.charCodeAt(K)===41?(Ee=Ue,K++):(Ee=c,Ye===0&&it(pp)),Ee!==c?(fr=y,y=xp(H)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c)))))),y}function Mh(){var y,R,V,H,ce,Ee,Fe,De;return y=K,R=qe(),R!==c?(V=K,Ye++,H=K,ce=de(),Ee=K,Fe=Kn(),Fe!==c?(De=de(),Fe=[Fe,De],Ee=Fe):(K=Ee,Ee=c),Ee===c&&(Ee=null),p.charCodeAt(K)===61?(Fe=j,K++):(Fe=c,Ye===0&&it(wc)),Fe!==c?(ce=[ce,Ee,Fe],H=ce):(K=H,H=c),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(fr=y,y=$a(R)):(K=y,y=c)):(K=y,y=c),y}function Mp(){var y,R,V,H;return y=K,R=So(),R!==c?(V=de(),H=x(),H!==c?(fr=y,y=bh(R,H)):(K=y,y=c)):(K=y,y=c),y}function So(){var y;return p.charCodeAt(K)===38?(y=be,K++):(y=c,Ye===0&&it(Qu)),y===c&&(p.charCodeAt(K)===33?(y=fe,K++):(y=c,Ye===0&&it(Ol))),y}function On(){var y;return p.length>K?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Ml)),y}function $c(){var y,R;return Ye++,p.charCodeAt(K)===9?(y=Oe,K++):(y=c,Ye===0&&it(hp)),y===c&&(p.charCodeAt(K)===11?(y=ct,K++):(y=c,Ye===0&&it(dp)),y===c&&(p.charCodeAt(K)===12?(y=Re,K++):(y=c,Ye===0&&it(ea)),y===c&&(p.charCodeAt(K)===32?(y=Qe,K++):(y=c,Ye===0&&it(Ll)),y===c&&(p.charCodeAt(K)===160?(y=ze,K++):(y=c,Ye===0&&it(gp)),y===c&&(p.charCodeAt(K)===65279?(y=kt,K++):(y=c,Ye===0&&it(mp)),y===c&&(y=ne())))))),Ye--,y===c&&(R=c,Ye===0&&it(fp)),y}function Ro(){var y;return X.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Ep)),y}function Mu(){var y,R;return Ye++,p.charCodeAt(K)===10?(y=st,K++):(y=c,Ye===0&&it(Cp)),y===c&&(p.substr(K,2)===We?(y=We,K+=2):(y=c,Ye===0&&it(vs)),y===c&&(p.charCodeAt(K)===13?(y=pt,K++):(y=c,Ye===0&&it(Ma)),y===c&&(p.charCodeAt(K)===8232?(y=Pt,K++):(y=c,Ye===0&&it(La)),y===c&&(p.charCodeAt(K)===8233?(y=nn,K++):(y=c,Ye===0&&it(vp)))))),Ye--,y===c&&(R=c,Ye===0&&it(yp)),y}function Jl(){var y,R;return Ye++,y=n0(),y===c&&(y=Xs()),Ye--,y===c&&(R=c,Ye===0&&it(Ip)),y}function n0(){var y,R,V,H,ce,Ee;if(y=K,p.substr(K,2)===nr?(R=nr,K+=2):(R=c,Ye===0&&it(Pl)),R!==c){for(V=[],H=K,ce=K,Ye++,p.substr(K,2)===jt?(Ee=jt,K+=2):(Ee=c,Ye===0&&it(xo)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);H!==c;)V.push(H),H=K,ce=K,Ye++,p.substr(K,2)===jt?(Ee=jt,K+=2):(Ee=c,Ye===0&&it(xo)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);p.substr(K,2)===jt?(H=jt,K+=2):(H=c,Ye===0&&it(xo)),H!==c?(R=[R,V,H],y=R):(K=y,y=c)}else K=y,y=c;return y}function Lh(){var y,R,V,H,ce,Ee;if(y=K,p.substr(K,2)===nr?(R=nr,K+=2):(R=c,Ye===0&&it(Pl)),R!==c){for(V=[],H=K,ce=K,Ye++,p.substr(K,2)===jt?(Ee=jt,K+=2):(Ee=c,Ye===0&&it(xo)),Ee===c&&(Ee=Ro()),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);H!==c;)V.push(H),H=K,ce=K,Ye++,p.substr(K,2)===jt?(Ee=jt,K+=2):(Ee=c,Ye===0&&it(xo)),Ee===c&&(Ee=Ro()),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);p.substr(K,2)===jt?(H=jt,K+=2):(H=c,Ye===0&&it(xo)),H!==c?(R=[R,V,H],y=R):(K=y,y=c)}else K=y,y=c;return y}function Xs(){var y,R,V,H,ce,Ee;if(y=K,p.substr(K,2)===Rt?(R=Rt,K+=2):(R=c,Ye===0&&it($l)),R!==c){for(V=[],H=K,ce=K,Ye++,Ee=Ro(),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);H!==c;)V.push(H),H=K,ce=K,Ye++,Ee=Ro(),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);R=[R,V],y=R}else K=y,y=c;return y}function qe(){var y,R,V,H;if(Ye++,y=K,R=ut(),R!==c){for(V=[],H=nt();H!==c;)V.push(H),H=nt();fr=y,y=Fp(R,V)}else K=y,y=c;return Ye--,y===c&&(R=c,Ye===0&&it(Qo)),y}function ut(){var y,R,V;return y=Ht(),y===c&&(p.charCodeAt(K)===36?(y=oe,K++):(y=c,Ye===0&&it(Ul)),y===c&&(p.charCodeAt(K)===95?(y=vn,K++):(y=c,Ye===0&&it(Bp)),y===c&&(y=K,p.charCodeAt(K)===92?(R=Xt,K++):(R=c,Ye===0&&it(Fn)),R!==c?(V=d(),V!==c?y=V:(K=y,y=c)):(K=y,y=c)))),y}function nt(){var y;return y=ut(),y===c&&(y=mr(),y===c&&(y=T(),y===c&&(y=G(),y===c&&(p.charCodeAt(K)===8204?(y=Ct,K++):(y=c,Ye===0&&it(wp)),y===c&&(p.charCodeAt(K)===8205?(y=er,K++):(y=c,Ye===0&&it(bp))))))),y}function Ht(){var y;return y=N(),y===c&&(y=O(),y===c&&(y=te(),y===c&&(y=M(),y===c&&(y=Z(),y===c&&(y=z()))))),y}function mr(){var y;return y=J(),y===c&&(y=k()),y}function qr(){var y,R,V;return Ye++,y=K,R=Kn(),R!==c?(p.charCodeAt(K)===105?(V=Qt,K++):(V=c,Ye===0&&it(ta)),V===c&&(V=null),fr=y,y=ii(R,V)):(K=y,y=c),Ye--,y===c&&(R=c,Ye===0&&it(Hl)),y}function Kn(){var y,R,V,H;if(Ye++,y=K,p.charCodeAt(K)===34?(R=Gt,K++):(R=c,Ye===0&&it(Dn)),R!==c){for(V=[],H=pn();H!==c;)V.push(H),H=pn();p.charCodeAt(K)===34?(H=Gt,K++):(H=c,Ye===0&&it(Dn)),H!==c?(fr=y,y=xh(V)):(K=y,y=c)}else K=y,y=c;if(y===c)if(y=K,p.charCodeAt(K)===39?(R=W,K++):(R=c,Ye===0&&it(Fu)),R!==c){for(V=[],H=ja();H!==c;)V.push(H),H=ja();p.charCodeAt(K)===39?(H=W,K++):(H=c,Ye===0&&it(Fu)),H!==c?(fr=y,y=Qh(V)):(K=y,y=c)}else K=y,y=c;return Ye--,y===c&&(R=c,Ye===0&&it(_i)),y}function pn(){var y,R,V,H;return y=K,R=K,V=K,Ye++,p.charCodeAt(K)===34?(H=Gt,K++):(H=c,Ye===0&&it(Dn)),H===c&&(p.charCodeAt(K)===92?(H=Xt,K++):(H=c,Ye===0&&it(Fn)),H===c&&(H=Ro())),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(H=On(),H!==c?(V=[V,H],R=V):(K=R,R=c)):(K=R,R=c),R!==c?y=p.substring(y,K):y=R,y===c&&(y=K,p.charCodeAt(K)===92?(R=Xt,K++):(R=c,Ye===0&&it(Fn)),R!==c?(V=ko(),V!==c?y=V:(K=y,y=c)):(K=y,y=c),y===c&&(y=Hh())),y}function ja(){var y,R,V,H;return y=K,R=K,V=K,Ye++,p.charCodeAt(K)===39?(H=W,K++):(H=c,Ye===0&&it(Fu)),H===c&&(p.charCodeAt(K)===92?(H=Xt,K++):(H=c,Ye===0&&it(Fn)),H===c&&(H=Ro())),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(H=On(),H!==c?(V=[V,H],R=V):(K=R,R=c)):(K=R,R=c),R!==c?y=p.substring(y,K):y=R,y===c&&(y=K,p.charCodeAt(K)===92?(R=Xt,K++):(R=c,Ye===0&&it(Fn)),R!==c?(V=ko(),V!==c?y=V:(K=y,y=c)):(K=y,y=c),y===c&&(y=Hh())),y}function fn(){var y,R,V,H,ce,Ee;if(Ye++,y=K,p.charCodeAt(K)===91?(R=_,K++):(R=c,Ye===0&&it(Ui)),R!==c){for(p.charCodeAt(K)===94?(V=Y,K++):(V=c,Ye===0&&it(Dc)),V===c&&(V=null),H=[],ce=ot(),ce===c&&(ce=Cr());ce!==c;)H.push(ce),ce=ot(),ce===c&&(ce=Cr());p.charCodeAt(K)===93?(ce=ke,K++):(ce=c,Ye===0&&it(Sc)),ce!==c?(p.charCodeAt(K)===105?(Ee=Qt,K++):(Ee=c,Ye===0&&it(ta)),Ee===c&&(Ee=null),fr=y,y=Sh(V,H,Ee)):(K=y,y=c)}else K=y,y=c;return Ye--,y===c&&(R=c,Ye===0&&it(ci)),y}function ot(){var y,R,V,H;return y=K,R=Cr(),R!==c?(p.charCodeAt(K)===45?(V=Xe,K++):(V=c,Ye===0&&it(Du)),V!==c?(H=Cr(),H!==c?(fr=y,y=Rh(R,H)):(K=y,y=c)):(K=y,y=c)):(K=y,y=c),y}function Cr(){var y,R,V,H;return y=K,R=K,V=K,Ye++,p.charCodeAt(K)===93?(H=ke,K++):(H=c,Ye===0&&it(Sc)),H===c&&(p.charCodeAt(K)===92?(H=Xt,K++):(H=c,Ye===0&&it(Fn)),H===c&&(H=Ro())),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(H=On(),H!==c?(V=[V,H],R=V):(K=R,R=c)):(K=R,R=c),R!==c?y=p.substring(y,K):y=R,y===c&&(y=K,p.charCodeAt(K)===92?(R=Xt,K++):(R=c,Ye===0&&it(Fn)),R!==c?(V=ko(),V!==c?y=V:(K=y,y=c)):(K=y,y=c),y===c&&(y=Hh())),y}function Hh(){var y,R,V;return y=K,p.charCodeAt(K)===92?(R=Xt,K++):(R=c,Ye===0&&it(Fn)),R!==c?(V=Mu(),V!==c?(fr=y,y=kh()):(K=y,y=c)):(K=y,y=c),y}function ko(){var y,R,V,H;return y=Hc(),y===c&&(y=K,p.charCodeAt(K)===48?(R=Jt,K++):(R=c,Ye===0&&it(ql)),R!==c?(V=K,Ye++,H=h(),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(fr=y,y=Nh()):(K=y,y=c)):(K=y,y=c),y===c&&(y=a(),y===c&&(y=d()))),y}function Hc(){var y;return y=Lu(),y===c&&(y=Nt()),y}function Lu(){var y,R;return p.charCodeAt(K)===39?(y=W,K++):(y=c,Ye===0&&it(Fu)),y===c&&(p.charCodeAt(K)===34?(y=Gt,K++):(y=c,Ye===0&&it(Dn)),y===c&&(p.charCodeAt(K)===92?(y=Xt,K++):(y=c,Ye===0&&it(Fn)),y===c&&(y=K,p.charCodeAt(K)===98?(R=xr,K++):(R=c,Ye===0&&it(Pa)),R!==c&&(fr=y,R=hs()),y=R,y===c&&(y=K,p.charCodeAt(K)===102?(R=Fr,K++):(R=c,Ye===0&&it(Rc)),R!==c&&(fr=y,R=Th()),y=R,y===c&&(y=K,p.charCodeAt(K)===110?(R=Ar,K++):(R=c,Ye===0&&it(Su)),R!==c&&(fr=y,R=Et()),y=R,y===c&&(y=K,p.charCodeAt(K)===114?(R=Dr,K++):(R=c,Ye===0&&it(ra)),R!==c&&(fr=y,R=v()),y=R,y===c&&(y=K,p.charCodeAt(K)===116?(R=ui,K++):(R=c,Ye===0&&it(xi)),R!==c&&(fr=y,R=Dp()),y=R,y===c&&(y=K,p.charCodeAt(K)===118?(R=Us,K++):(R=c,Ye===0&&it(hn)),R!==c&&(fr=y,R=Fo()),y=R)))))))),y}function Nt(){var y,R,V,H;return y=K,R=K,V=K,Ye++,H=i0(),H===c&&(H=Ro()),Ye--,H===c?V=void 0:(K=V,V=c),V!==c?(H=On(),H!==c?(V=[V,H],R=V):(K=R,R=c)):(K=R,R=c),R!==c?y=p.substring(y,K):y=R,y}function i0(){var y;return y=Lu(),y===c&&(y=h(),y===c&&(p.charCodeAt(K)===120?(y=ti,K++):(y=c,Ye===0&&it(ie)),y===c&&(p.charCodeAt(K)===117?(y=U,K++):(y=c,Ye===0&&it(le))))),y}function a(){var y,R,V,H,ce,Ee;return y=K,p.charCodeAt(K)===120?(R=ti,K++):(R=c,Ye===0&&it(ie)),R!==c?(V=K,H=K,ce=E(),ce!==c?(Ee=E(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c),H!==c?V=p.substring(V,K):V=H,V!==c?(fr=y,y=Ha(V)):(K=y,y=c)):(K=y,y=c),y}function d(){var y,R,V,H,ce,Ee,Fe,De;return y=K,p.charCodeAt(K)===117?(R=U,K++):(R=c,Ye===0&&it(le)),R!==c?(V=K,H=K,ce=E(),ce!==c?(Ee=E(),Ee!==c?(Fe=E(),Fe!==c?(De=E(),De!==c?(ce=[ce,Ee,Fe,De],H=ce):(K=H,H=c)):(K=H,H=c)):(K=H,H=c)):(K=H,H=c),H!==c?V=p.substring(V,K):V=H,V!==c?(fr=y,y=Oi(V)):(K=y,y=c)):(K=y,y=c),y}function h(){var y;return ve.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(me)),y}function E(){var y;return Se.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Le)),y}function b(){var y,R;return y=K,p.charCodeAt(K)===46?(R=S,K++):(R=c,Ye===0&&it(ft)),R!==c&&(fr=y,R=Un()),y=R,y}function x(){var y,R,V,H;return Ye++,y=K,p.charCodeAt(K)===123?(R=F,K++):(R=c,Ye===0&&it(_n)),R!==c?(V=Q(),p.charCodeAt(K)===125?(H=P,K++):(H=c,Ye===0&&it(bu)),H!==c?y=V:(K=y,y=c)):(K=y,y=c),Ye--,y===c&&(R=c,Ye===0&&it(xt)),y}function Q(){var y,R;return y=K,R=D(),fr=y,R=Aa(R),y=R,y}function D(){var y,R,V,H,ce,Ee;if(y=K,R=[],V=[],H=K,ce=K,Ye++,ee.test(p.charAt(K))?(Ee=p.charAt(K),K++):(Ee=c,Ye===0&&it(Tt)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c),H!==c)for(;H!==c;)V.push(H),H=K,ce=K,Ye++,ee.test(p.charAt(K))?(Ee=p.charAt(K),K++):(Ee=c,Ye===0&&it(Tt)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);else V=c;for(V===c&&(V=K,p.charCodeAt(K)===123?(H=F,K++):(H=c,Ye===0&&it(_n)),H!==c?(ce=D(),p.charCodeAt(K)===125?(Ee=P,K++):(Ee=c,Ye===0&&it(bu)),Ee!==c?(H=[H,ce,Ee],V=H):(K=V,V=c)):(K=V,V=c));V!==c;){if(R.push(V),V=[],H=K,ce=K,Ye++,ee.test(p.charAt(K))?(Ee=p.charAt(K),K++):(Ee=c,Ye===0&&it(Tt)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c),H!==c)for(;H!==c;)V.push(H),H=K,ce=K,Ye++,ee.test(p.charAt(K))?(Ee=p.charAt(K),K++):(Ee=c,Ye===0&&it(Tt)),Ye--,Ee===c?ce=void 0:(K=ce,ce=c),ce!==c?(Ee=On(),Ee!==c?(ce=[ce,Ee],H=ce):(K=H,H=c)):(K=H,H=c);else V=c;V===c&&(V=K,p.charCodeAt(K)===123?(H=F,K++):(H=c,Ye===0&&it(_n)),H!==c?(ce=D(),p.charCodeAt(K)===125?(Ee=P,K++):(Ee=c,Ye===0&&it(bu)),Ee!==c?(H=[H,ce,Ee],V=H):(K=V,V=c)):(K=V,V=c))}return y=p.substring(y,K),y}function O(){var y;return Te.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it($t)),y}function M(){var y;return Ke.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it($r)),y}function Z(){var y;return lt.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Mr)),y}function te(){var y;return at.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Yt)),y}function N(){var y;return Ze.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(ji)),y}function k(){var y;return mt.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Os)),y}function J(){var y;return It.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(ku)),y}function T(){var y;return _t.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(ps)),y}function z(){var y;return sr.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(Gi)),y}function G(){var y;return tr.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(_u)),y}function ne(){var y;return Ki.test(p.charAt(K))?(y=p.charAt(K),K++):(y=c,Ye===0&&it(ln)),y}function de(){var y,R;for(y=[],R=$c(),R===c&&(R=Mu(),R===c&&(R=Jl()));R!==c;)y.push(R),R=$c(),R===c&&(R=Mu(),R===c&&(R=Jl()));return y}function we(){var y,R;for(y=[],R=$c(),R===c&&(R=Lh());R!==c;)y.push(R),R=$c(),R===c&&(R=Lh());return y}function Be(){var y,R,V,H;return y=K,R=de(),p.charCodeAt(K)===59?(V=L,K++):(V=c,Ye===0&&it(kc)),V!==c?(R=[R,V],y=R):(K=y,y=c),y===c&&(y=K,R=we(),V=Xs(),V===c&&(V=null),H=Mu(),H!==c?(R=[R,V,H],y=R):(K=y,y=c),y===c&&(y=K,R=de(),V=je(),V!==c?(R=[R,V],y=R):(K=y,y=c))),y}function je(){var y,R;return y=K,Ye++,p.length>K?(R=p.charAt(K),K++):(R=c,Ye===0&&it(Ml)),Ye--,R===c?y=void 0:(K=y,y=c),y}let Je=f.reservedWords||[];if(Yi=C(),Yi!==c&&K===p.length)return Yi;throw Yi!==c&&K{"use strict";var r=vh(),n=aA(),i=uA(),s=P0(),o=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],u={VERSION:s,RESERVED_WORDS:o,GrammarError:r,parser:i,compiler:n,generate(A,p){p=p!==void 0?p:{};function f(w){let C={};return Object.keys(w).forEach(F=>{C[F]=w[F].slice()}),C}let c="plugins"in p?p.plugins:[],m={parser:u.parser,passes:f(u.compiler.passes),reservedWords:u.RESERVED_WORDS.slice()};return c.forEach(w=>{w.use(m,p)}),u.compiler.compile(m.parser.parse(A,{grammarSource:p.grammarSource,reservedWords:m.reservedWords}),m.passes,p)}};t.exports=u}),o1=ye((e,t)=>{var r=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};t.exports=r}),u1=ye((e,t)=>{var r="2.0.0",n=Number.MAX_SAFE_INTEGER||9007199254740991,i=16,s=250,o=["major","premajor","minor","preminor","patch","prepatch","prerelease"];t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,RELEASE_TYPES:o,SEMVER_SPEC_VERSION:r,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),f1=ye((e,t)=>{var{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=u1(),s=o1();e=t.exports={};var o=e.re=[],u=e.safeRe=[],A=e.src=[],p=e.t={},f=0,c="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",i],[c,n]],w=F=>{for(let[P,j]of m)F=F.split(`${P}*`).join(`${P}{0,${j}}`).split(`${P}+`).join(`${P}{1,${j}}`);return F},C=(F,P,j)=>{let re=w(P),se=f++;s(F,se,P),p[F]=se,A[se]=P,o[se]=new RegExp(P,j?"g":void 0),u[se]=new RegExp(re,j?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","\\d+"),C("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${c}*`),C("MAINVERSION",`(${A[p.NUMERICIDENTIFIER]})\\.(${A[p.NUMERICIDENTIFIER]})\\.(${A[p.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${A[p.NUMERICIDENTIFIERLOOSE]})\\.(${A[p.NUMERICIDENTIFIERLOOSE]})\\.(${A[p.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${A[p.NUMERICIDENTIFIER]}|${A[p.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${A[p.NUMERICIDENTIFIERLOOSE]}|${A[p.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${A[p.PRERELEASEIDENTIFIER]}(?:\\.${A[p.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${A[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${A[p.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER",`${c}+`),C("BUILD",`(?:\\+(${A[p.BUILDIDENTIFIER]}(?:\\.${A[p.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${A[p.MAINVERSION]}${A[p.PRERELEASE]}?${A[p.BUILD]}?`),C("FULL",`^${A[p.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${A[p.MAINVERSIONLOOSE]}${A[p.PRERELEASELOOSE]}?${A[p.BUILD]}?`),C("LOOSE",`^${A[p.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${A[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${A[p.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${A[p.XRANGEIDENTIFIER]})(?:\\.(${A[p.XRANGEIDENTIFIER]})(?:\\.(${A[p.XRANGEIDENTIFIER]})(?:${A[p.PRERELEASE]})?${A[p.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${A[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${A[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${A[p.XRANGEIDENTIFIERLOOSE]})(?:${A[p.PRERELEASELOOSE]})?${A[p.BUILD]}?)?)?`),C("XRANGE",`^${A[p.GTLT]}\\s*${A[p.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${A[p.GTLT]}\\s*${A[p.XRANGEPLAINLOOSE]}$`),C("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),C("COERCE",`${A[p.COERCEPLAIN]}(?:$|[^\\d])`),C("COERCEFULL",A[p.COERCEPLAIN]+`(?:${A[p.PRERELEASE]})?(?:${A[p.BUILD]})?(?:$|[^\\d])`),C("COERCERTL",A[p.COERCE],!0),C("COERCERTLFULL",A[p.COERCEFULL],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${A[p.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",C("TILDE",`^${A[p.LONETILDE]}${A[p.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${A[p.LONETILDE]}${A[p.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${A[p.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",C("CARET",`^${A[p.LONECARET]}${A[p.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${A[p.LONECARET]}${A[p.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${A[p.GTLT]}\\s*(${A[p.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${A[p.GTLT]}\\s*(${A[p.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${A[p.GTLT]}\\s*(${A[p.LOOSEPLAIN]}|${A[p.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${A[p.XRANGEPLAIN]})\\s+-\\s+(${A[p.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${A[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${A[p.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}),BA=ye((e,t)=>{var r=Object.freeze({loose:!0}),n=Object.freeze({}),i=s=>s?typeof s!="object"?r:s:n;t.exports=i}),OA=ye((e,t)=>{var r=/^[0-9]+$/,n=(s,o)=>{let u=r.test(s),A=r.test(o);return u&&A&&(s=+s,o=+o),s===o?0:u&&!A?-1:A&&!u?1:sn(o,s);t.exports={compareIdentifiers:n,rcompareIdentifiers:i}}),Ph=ye((e,t)=>{var r=o1(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:i}=u1(),{safeRe:s,t:o}=f1(),u=BA(),{compareIdentifiers:A}=OA(),p=class Bc{constructor(c,m){if(m=u(m),c instanceof Bc){if(c.loose===!!m.loose&&c.includePrerelease===!!m.includePrerelease)return c;c=c.version}else if(typeof c!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof c}".`);if(c.length>n)throw new TypeError(`version is longer than ${n} characters`);r("SemVer",c,m),this.options=m,this.loose=!!m.loose,this.includePrerelease=!!m.includePrerelease;let w=c.trim().match(m.loose?s[o.LOOSE]:s[o.FULL]);if(!w)throw new TypeError(`Invalid Version: ${c}`);if(this.raw=c,this.major=+w[1],this.minor=+w[2],this.patch=+w[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");w[4]?this.prerelease=w[4].split(".").map(C=>{if(/^[0-9]+$/.test(C)){let F=+C;if(F>=0&&F=0;)typeof this.prerelease[F]=="number"&&(this.prerelease[F]++,F=-2);if(F===-1){if(m===this.prerelease.join(".")&&w===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(C)}}if(m){let F=[m,C];w===!1&&(F=[m]),A(this.prerelease[0],m)===0?isNaN(this.prerelease[1])&&(this.prerelease=F):this.prerelease=F}break}default:throw new Error(`invalid increment argument: ${c}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};t.exports=p}),jA=ye((e,t)=>{var r=Ph(),n=(i,s,o)=>new r(i,o).compare(new r(s,o));t.exports=n}),qA=ye((e,t)=>{var r=jA(),n=(i,s,o)=>r(i,s,o)>=0;t.exports=n}),GA=ye((e,t)=>{var r=Ph(),n=(i,s,o=!1)=>{if(i instanceof r)return i;try{return new r(i,s)}catch(u){if(!o)return null;throw u}};t.exports=n}),YA=ye((e,t)=>{var r=Ph(),n=GA(),{safeRe:i,t:s}=f1(),o=(u,A)=>{if(u instanceof r)return u;if(typeof u=="number"&&(u=String(u)),typeof u!="string")return null;A=A||{};let p=null;if(!A.rtl)p=u.match(A.includePrerelease?i[s.COERCEFULL]:i[s.COERCE]);else{let F=A.includePrerelease?i[s.COERCERTLFULL]:i[s.COERCERTL],P;for(;(P=F.exec(u))&&(!p||p.index+p[0].length!==u.length);)(!p||P.index+P[0].length!==p.index+p[0].length)&&(p=P),F.lastIndex=P.index+P[1].length+P[2].length;F.lastIndex=-1}if(p===null)return null;let f=p[2],c=p[3]||"0",m=p[4]||"0",w=A.includePrerelease&&p[5]?`-${p[5]}`:"",C=A.includePrerelease&&p[6]?`+${p[6]}`:"";return n(`${f}.${c}.${m}${w}${C}`,A)};t.exports=o}),uf="2.19.56",na=typeof $task<"u",Ss=typeof $loon<"u",ia=typeof $httpClient<"u"&&!Ss,Ni=eval('typeof process !== "undefined"'),um=typeof $environment<"u"&&$environment["stash-version"],cm=typeof $rocket<"u",t_=typeof egern=="object",r_=typeof $native<"u",sa=typeof $Plugins<"u";function om(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var cf=class{constructor(e="untitled",t=!1){this.name=e,this.debug=t,this.http=wi(),this.env=Ir(),Ni&&Wk().config(),this.node=Ni?{fs:require("fs")}:null,this.initCache();let r=(n,i)=>new Promise(function(s){setTimeout(s.bind(null,i),n)});Promise.prototype.delay=async function(n){let i=await this;return await r(n,i)}}initCache(){if(na&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(Ss||ia)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),sa&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),Ni){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}om(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}om(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(na&&$prefs.setValueForKey(data,this.name),(Ss||ia)&&$persistentStore.write(data,this.name),sa&&$Plugins.SubStoreCache.set(this.name,data),Ni){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),ia||Ss)return $persistentStore.write(e,t);if(na)return $prefs.setValueForKey(e,t);if(Ni&&(this.root[t]=e),sa)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ia||Ss)return $persistentStore.read(e);if(na)return $prefs.valueForKey(e);if(Ni)return this.root[e];if(sa)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ia||Ss)return $persistentStore.write(null,e);if(na)return $prefs.removeValueForKey(e);if(Ni&&delete this.root[e],sa)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(na&&$notify(title,subtitle,content,options),ia&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),Ss){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(Ni){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(t=>t).join(` +`)));wi().get({url:e}).then(t=>{console.log(`[Push Service] URL: ${e} +RES: ${t.statusCode} ${t.body}`)}).catch(t=>{console.log(`[Push Service] URL: ${e} +ERROR: ${t}`)})}}sa&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){na||Ss||ia||sa?$done(e):Ni&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function Ir(){return{isQX:na,isLoon:Ss,isSurge:ia,isNode:Ni,isStash:um,isShadowRocket:cm,isEgern:t_,isLanceX:r_,isGUIforCores:sa}}function wi(e={baseURL:""}){let{isQX:t,isLoon:r,isSurge:n,isNode:i,isGUIforCores:s}=Ir(),o=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],u=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function A(f,c){c=typeof c=="string"?{url:c}:c;let m=e.baseURL;m&&!u.test(c.url||"")&&(c.url=m?m+c.url:c.url),c={...e,...c};let w=c.timeout,C={onRequest:()=>{},onResponse:re=>re,onTimeout:()=>{},...c.events};if(C.onRequest(f,c),c.node&&n){let re=$environment["surge-build"];re&&parseInt(re)>=2407&&(c["policy-descriptor"]=c.node,delete c.node)}let F;t?F=$task.fetch({method:f,url:c.url,headers:c.headers,body:c.body,opts:c.opts}):r||n||i?F=new Promise(async(re,se)=>{let ge=c.body,oe=JSON.parse(JSON.stringify(c));if(oe.body=ge,oe.timeout=oe.timeout||8e3,oe.timeout&&(oe.timeout++,isNaN(oe.timeout)&&(oe.timeout=8e3),!i)){let be="ms";(n||um||cm)&&(oe.timeout=Math.ceil(oe.timeout/1e3),be="s")}if(i){let be=VF(),{ProxyAgent:fe,EnvHttpProxyAgent:Ie,request:$e,interceptors:Ve}=be,Ae={connect:{rejectUnauthorized:!(oe.strictSSL===!1||oe.insecure===!0)},bodyTimeout:oe.timeout,headersTimeout:oe.timeout};try{let Ue=new URL(oe.url);(Ue.username||Ue.password)&&(oe.headers={...oe.headers||{},Authorization:`Basic ${Buffer.from(`${Ue.username||""}:${Ue.password||""}`).toString("base64")}`});let Oe=await $e(oe.url,{...oe,method:f.toUpperCase(),dispatcher:(oe.proxy?new fe({...Ae,uri:oe.proxy}):new Ie(Ae)).compose(Ve.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});re({statusCode:Oe.statusCode,headers:Oe.headers,body:oe.encoding===null?await Oe.body.arrayBuffer():await Oe.body.text()})}catch(Ue){se(Ue)}}else $httpClient[f.toLowerCase()](oe,(be,fe,Ie)=>{be?se(be):re({statusCode:fe.status||fe.statusCode,headers:fe.headers,body:Ie})})}):s&&(F=new Promise(async(re,se)=>{try{let ge=await $Plugins.Requests({method:f,url:c.url,headers:c.headers,body:c.body,options:{Proxy:c.proxy,Timeout:c.timeout?c.timeout/1e3:15}});re({statusCode:ge.status,headers:ge.headers,body:ge.body})}catch(ge){se(ge)}}));let P,j=w?new Promise((re,se)=>{P=setTimeout(()=>(C.onTimeout(),se(`${f} URL: ${c.url} exceeds the timeout ${w} ms`)),w)}):null;return(j?Promise.race([j,F]).then(re=>(typeof clearTimeout<"u"&&clearTimeout(P),re)):F).then(re=>C.onResponse(re))}let p={};return o.forEach(f=>p[f.toLowerCase()]=c=>A(f,c)),p}var n_=new cf("sub-store"),I=n_,Zp="schemaVersion",Ft="settings",Dt="subs",Bt="collections",yt="files",Cn="modules",ht="artifacts",Pc="rules",cn="tokens",lm="Auto Generated Sub-Store Backup",lf="Sub-Store",Ya="Sub-Store Artifacts Repository",Wa="#sub-store-cached-resource",Xa="#sub-store-cached-headers-resource",ff="#sub-store-chr-expiration-time",Ja="#sub-store-cached-script-resource",hf="#sub-store-csr-expiration-time";function aa(){i_()}function i_(){let e=I.read(Zp);e||s_(),e!=="2.0"&&I.write("2.0",Zp)}function s_(){I.info("Start migrating...");let e=I.read(Dt)||{},t=Object.values(e).map(C=>(C.source=C.source||"remote",m(C),w(C),C));I.write(t,Dt);let r=I.read(Bt)||{},n=Object.values(r).map(C=>(delete C.ua,m(C),w(C),C));I.write(n,Bt);let i=I.read(ht)||{},s=Object.values(i);I.write(s,ht);let o=I.read(Pc)||{},u=Object.values(o);I.write(u,Pc);let A=I.read(yt)||{},p=Object.values(A);I.write(p,yt);let f=I.read(cn)||{},c=Object.values(f);I.write(c,cn),delete I.cache.builtin,I.info("Migration complete!");function m(C){let F=C["display-name"];F&&(C.displayName=F,delete C["display-name"])}function w(C){let F=C.process;if(!F||F.length===0)return;let P=[],j={type:"Quick Setting Operator",args:{udp:"DEFAULT",tfo:"DEFAULT",scert:"DEFAULT","vmess aead":"DEFAULT",useless:"DEFAULT"}};for(let re of F)if(re.type){if(re.type==="Useless Filter")j.args.useless="ENABLED";else if(re.type==="Set Property Operator"){let{key:se,value:ge}=re.args;switch(se){case"udp":j.args.udp=ge?"ENABLED":"DISABLED";break;case"tfo":j.args.tfo=ge?"ENABLED":"DISABLED";break;case"skip-cert-verify":j.args.scert=ge?"ENABLED":"DISABLED";break;case"aead":j.args["vmess aead"]=ge?"ENABLED":"DISABLED";break}}else if(re.type.indexOf("Keyword")===-1)if(re.type==="Flag Operator"){let se=typeof re.args>"u"?!0:re.args;re.args={mode:se?"add":"remove"},P.push(re)}else P.push(re)}P.unshift(j),C.process=P}}function Qp({substore:$,port,host}){let{isNode}=Ir(),DEFAULT_HEADERS={"Content-Type":"text/plain;charset=UTF-8","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST,GET,OPTIONS,PATCH,PUT,DELETE","Access-Control-Allow-Headers":"Origin, X-Requested-With, Content-Type, Accept","X-Powered-By":"Sub-Store"};if(isNode){let express_=HI(),bodyParser=zS(),app=express_(),limit=eval("process.env.SUB_STORE_BODY_JSON_LIMIT")||"1mb";return $.info(`[BACKEND] body JSON limit: ${limit}`),app.use(bodyParser.json({verify:rawBodySaver,limit})),app.use(bodyParser.urlencoded({verify:rawBodySaver,extended:!0})),app.use(bodyParser.raw({verify:rawBodySaver,type:"*/*"})),app.use((e,t,r)=>{t.set(DEFAULT_HEADERS),r()}),app.start=()=>{let e=app.listen(port,host,()=>{let{address:t,port:r}=e.address();$.info(`[BACKEND] listening on ${t}:${r}`)})},app}let handlers=[],METHODS_NAMES=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD'","ALL"],dispatch=(e,t=0)=>{let{method:r,url:n,headers:i,body:s}=e;i=a_(i),/json/i.test(i["content-type"])&&(s=JSON.parse(s)),r=r.toUpperCase();let{path:o,query:u}=u_(n),A=null,p,f=0;for(p=t;pf&&(A=handlers[p],f=c.split("/").length)}if(A){let c=()=>{dispatch(r,n,p)},m={method:r,url:n,path:o,query:u,params:fm(A.pattern,o),headers:i,body:s},w=Response(),C=A.callback,F=P=>{w.status(500).json({status:"failed",message:`Internal Server Error: ${P}`})};if(C.constructor.name==="AsyncFunction")C(m,w,c).catch(F);else try{C(m,w,c)}catch(P){F(P)}}else Response().status(404).json({status:"failed",message:"ERROR: 404 not found"})},app={};return METHODS_NAMES.forEach(e=>{app[e.toLowerCase()]=(t,r)=>{handlers.push({method:e,pattern:t,callback:r})}}),app.route=e=>{let t={};return METHODS_NAMES.forEach(r=>{t[r.toLowerCase()]=n=>(handlers.push({method:r,pattern:e,callback:n}),t)}),t},app.start=()=>{dispatch($request)},app;function rawBodySaver(e,t,r,n){r&&r.length&&(e.rawBody=r.toString(n||"utf8"))}function Response(){let e=200,{isQX:t,isLoon:r,isSurge:n,isGUIforCores:i}=Ir(),s=DEFAULT_HEADERS,o={200:"HTTP/1.1 200 OK",201:"HTTP/1.1 201 Created",302:"HTTP/1.1 302 Found",307:"HTTP/1.1 307 Temporary Redirect",308:"HTTP/1.1 308 Permanent Redirect",404:"HTTP/1.1 404 Not Found",500:"HTTP/1.1 500 Internal Server Error"};return new class{status(u){return e=u,this}send(u=""){let A={status:t?o[e]:e,body:u,headers:s};t||i?$done(A):(r||n)&&$done({response:A})}end(){this.send()}html(u){this.set("Content-Type","text/html;charset=UTF-8"),this.send(u)}json(u){this.set("Content-Type","application/json;charset=UTF-8"),this.send(JSON.stringify(u))}set(u,A){return s[u]=A,this}}}}function a_(e){let t={};for(let r of Object.keys(e))t[r.toLowerCase()]=e[r];return t}function o_(e,t){if(e instanceof RegExp&&e.test(t)||e==="/")return!0;if(e.indexOf(":")===-1){let r=t.split("/"),n=e.split("/");for(let i=0;i>>4&15)+t.charAt(n&15);return r}function f_(e){for(var t="",r=-1,n,i;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function h_(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function d_(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,i=-1732584194,s=271733878,o=0;o>16)+(t>>16)+(r>>16);return n<<16|r&65535}function g_(e,t){return e<>>32-t}var Sf=bn(Cm()),j_=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,M_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function vr(e){return j_.test(e)}function ur(e){return M_.test(e)}function _m(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function Hi(e){return typeof e=="string"&&e.trim().length>0}function Ut(e,t){return Hi(e)?e:t}function au(e){return typeof e<"u"&&e!==null}function ou(e,t){return au(e)?e:t}function Cs(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function q_(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function Nc(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,i]=r.split("-").map(Number);return q_(n,i)}else return Number(r)}function Fm(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function bf(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}function ca(e,t="YYYY-MM-DD_HH-mm-ss"){let r=e instanceof Date?e:new Date(e);if(isNaN(r.getTime()))return"";let n=s=>String(s).padStart(2,"0"),i={YYYY:r.getFullYear(),MM:n(r.getMonth()+1),DD:n(r.getDate()),HH:n(r.getHours()),mm:n(r.getMinutes()),ss:n(r.getSeconds())};return t.replace(/YYYY|MM|DD|HH|mm|ss/g,s=>i[s])}var pd=class{constructor(e){this.expires=e,I.read(Wa)||I.write("{}",Wa);try{this.resourceCache=JSON.parse(I.read(Wa))}catch(t){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Wa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},I.write("{}",Wa)}this._cleanup()}_cleanup(){let e=!1;Object.entries(this.resourceCache).forEach(t=>{let[r,n]=t;n.time||(delete this.resourceCache[r],I.delete(`#${r}`),e=!0),new Date().getTime()-n.time>this.expires&&(delete this.resourceCache[r],e=!0)}),e&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Wa)}get(e){let t=this.resourceCache[e]&&this.resourceCache[e].time;return t&&new Date().getTime()-t<=this.expires?this.resourceCache[e].data:null}set(e,t){this.resourceCache[e]={time:new Date().getTime(),data:t},this._persist()}},pr=new pd(36e5),dd=class{constructor(){this.expires=V_(),I.read(Xa)||I.write("{}",Xa);try{this.resourceCache=JSON.parse(I.read(Xa))}catch(e){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Xa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${e?.message??e}`),this.resourceCache={},I.write("{}",Xa)}this._cleanup()}_cleanup(){let e=!1;Object.entries(this.resourceCache).forEach(t=>{let[r,n]=t;n.time||(delete this.resourceCache[r],I.delete(`#${r}`),e=!0),new Date().getTime()-n.time>this.expires&&(delete this.resourceCache[r],e=!0)}),e&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Xa)}get(e){let t=this.resourceCache[e]&&this.resourceCache[e].time;return t&&new Date().getTime()-t<=this.expires?this.resourceCache[e].data:null}gettime(e){let t=this.resourceCache[e]&&this.resourceCache[e].time;return t&&new Date().getTime()-t<=this.expires?this.resourceCache[e].time:null}set(e,t){this.resourceCache[e]={time:new Date().getTime(),data:t},this._persist()}};function V_(){I.read(ff)||I.write("6e4",ff);let e=6e4;if(I.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=I.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=I.read(ff),e}var eo=new dd;function uu(e){let t=Object.keys(e),r="",n="";for(let i of t){let s=i.toLowerCase();s==="subscription-userinfo"?r=e[i]:s==="profile-web-page-url"&&(n=e[i])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Xr(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let e of rawArgs[1].split("&")){let t=e.split("=")[0],r=e.split("=")[1];$arguments[t]=r==null||r===""?!0:decodeURIComponent(r)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=Ir(),insecure=$arguments?.insecure?I.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=I.read(Ft),proxy=customProxy||defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=Mn(userAgent+url),cached=eo.get(id),flowInfo;if(!$arguments?.noCache&&cached)I.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=wi();if(flowUrl){I.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=t}else{try{I.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=uu(t)}catch(t){I.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){I.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=uu(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&eo.set(id,flowInfo)}return flowInfo}function to(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(n[1]+n[2]),s=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),o=Number(s[1]+s[2]),u=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),A=u?Number(u[1]+u[2]):void 0,p=e.match(/reset_day=([0-9]+)/),f=p?Number(p[1]):void 0,c=e.match(/app_url=(.*?)\s*?(;|$)/),m=c?decodeURIComponent(c[1]):void 0,w=e.match(/plan_name=(.*?)\s*?(;|$)/),C=w?decodeURIComponent(w[1]):void 0;return{expires:A,total:o,usage:{upload:r,download:i},remainingDays:f,appUrl:m,planName:C}}function xc(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:xc(e/1024,r[++n])}function Cf(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3s.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let o=new Date(r);for(o.setDate(o.getDate()+n);o31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let i=new Date,s=i.getDate(),o=i.getMonth(),u=i.getFullYear(),A;return t>s?A=0:A=new Date(u,o+1,0).getDate(),A-s+t}}catch(t){I.error(`getRmainingDays failed: ${t.message??t}`)}}function la(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let i=r.slice(0,n).trim(),s=r.slice(n+1).trim();if(!t.has(i))try{let o=decodeURIComponent(s);t.set(i,o)}catch{t.set(i,s)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return I.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}var Kc=bn(E2());function A2(e,t,...r){try{return e(t,...r)}catch{return e(y2(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function qc(e,...t){return A2(Kc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function SF(e,...t){return A2(Kc.default.load,JSON.parse(JSON.stringify(e)),...t)}function w2(e,...t){return Kc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function y2(e,...t){return Kc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var co={safeLoad:qc,load:SF,safeDump:w2,dump:y2,parse:qc,stringify:w2},I2="3.7.7",bF=I2,vu=typeof Buffer=="function",S2=typeof TextDecoder=="function"?new TextDecoder:void 0,b2=typeof TextEncoder=="function"?new TextEncoder:void 0,CF="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vc=Array.prototype.slice.call(CF),kf=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Vc),_F=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Lr=String.fromCharCode.bind(String),C2=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),$2=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),D2=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),B2=e=>{let t,r,n,i,s="",o=e.length%3;for(let u=0;u255||(n=e.charCodeAt(u++))>255||(i=e.charCodeAt(u++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|i,s+=Vc[t>>18&63]+Vc[t>>12&63]+Vc[t>>6&63]+Vc[t&63]}return o?s.slice(0,o-3)+"===".substring(o):s},Dd=typeof btoa=="function"?e=>btoa(e):vu?e=>Buffer.from(e,"binary").toString("base64"):B2,Id=vu?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,n=e.length;rt?$2(Id(e)):Id(e),FF=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Lr(192|t>>>6)+Lr(128|t&63):Lr(224|t>>>12&15)+Lr(128|t>>>6&63)+Lr(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Lr(240|t>>>18&7)+Lr(128|t>>>12&63)+Lr(128|t>>>6&63)+Lr(128|t&63)}},IF=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,R2=e=>e.replace(IF,FF),_2=vu?e=>Buffer.from(e,"utf8").toString("base64"):b2?e=>Id(b2.encode(e)):e=>Dd(R2(e)),mu=(e,t=!1)=>t?$2(_2(e)):_2(e),F2=e=>mu(e,!0),$F=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,DF=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return Lr((r>>>10)+55296)+Lr((r&1023)+56320);case 3:return Lr((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Lr((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},P2=e=>e.replace($F,DF),T2=e=>{if(e=e.replace(/\s+/g,""),!_F.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,i;for(let s=0;s>16&255):i===64?Lr(t>>16&255,t>>8&255):Lr(t>>16&255,t>>8&255,t&255);return r},Bd=typeof atob=="function"?e=>atob(D2(e)):vu?e=>Buffer.from(e,"base64").toString("binary"):T2,O2=vu?e=>C2(Buffer.from(e,"base64")):e=>C2(Bd(e).split("").map(t=>t.charCodeAt(0))),N2=e=>O2(x2(e)),BF=vu?e=>Buffer.from(e,"base64").toString("utf8"):S2?e=>S2.decode(O2(e)):e=>P2(Bd(e)),x2=e=>D2(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),$d=e=>BF(x2(e)),RF=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},k2=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),L2=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,k2(r));e("fromBase64",function(){return $d(this)}),e("toBase64",function(t){return mu(this,t)}),e("toBase64URI",function(){return mu(this,!0)}),e("toBase64URL",function(){return mu(this,!0)}),e("toUint8Array",function(){return N2(this)})},U2=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,k2(r));e("toBase64",function(t){return Lf(this,t)}),e("toBase64URI",function(){return Lf(this,!0)}),e("toBase64URL",function(){return Lf(this,!0)})},PF=()=>{L2(),U2()},vt={version:I2,VERSION:bF,atob:Bd,atobPolyfill:T2,btoa:Dd,btoaPolyfill:B2,fromBase64:$d,toBase64:mu,encode:mu,encodeURI:F2,encodeURL:F2,utob:R2,btou:P2,decode:$d,isValid:RF,fromUint8Array:Lf,toUint8Array:N2,extendString:L2,extendUint8Array:U2,extendBuiltins:PF};function TF(){return{name:"HTML",test:e=>/^/.test(e),parse:()=>""}}function OF(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(r){return!/^\w+:\/\/\w+/im.test(r)&&t.some(n=>r.indexOf(n)!==-1)},parse:function(r){let n=vt.decode(r);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(n)?n:(I.error("Base64 Pre-processor error: decoded line does not start with protocol"),r)}}}function NF(){return{name:"Fallback Base64 Pre-processor",test:function(e){return!0},parse:function(e){let t=vt.decode(e);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(t)?t:(I.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),e)}}}function xF(){return{name:"Clash Pre-processor",test:function(e){if(!/proxies/.test(e))return!1;let t=qc(e);return t.proxies&&Array.isArray(t.proxies)},parse:function(e,t){let r=e.replace(/short-id:([ \t]*[^#\n,}]*)/g,(s,o)=>{let u=o.trim();return!u||u===""?'short-id: ""':/^(['"]).*\1$/.test(u)?`short-id: ${u}`:["null"].includes(u)?`short-id: ${u}`:`short-id: "${u}"`}),{proxies:n,"global-client-fingerprint":i}=qc(r);return(t?`proxies: +`:"")+n.map(s=>(i&&!s["client-fingerprint"]&&(s["client-fingerprint"]=i),`${t?" - ":""}${JSON.stringify(s)} +`)).join("")}}}function kF(){return{name:"SSD Pre-processor",test:function(e){return e.indexOf("ssd://")===0},parse:function(e){let t=[],r=JSON.parse(vt.decode(e.split("ssd://")[1])),n=r.port,i=r.encryption,s=r.password,o=r.servers;for(let u=0;ue.name==="Clash Pre-processor"),Rd=new Map;async function wr(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let e of rawArgs[1].split("&")){let t=e.split("=")[0],r=e.split("=")[1];$arguments[t]=r==null||r===""?!0:decodeURIComponent(r)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=Ir(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=I.read(Ft),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=Mn(userAgent+url);$arguments?.cacheKey===!0&&(I.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=I.read(customCacheKey),t=pr.get(id);if(!noCache&&!$arguments?.noCache&&t)return I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await wr(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){I.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),I.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),pr.set(id,e)}}else I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),wr(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{I.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&Rd.has(id))return Rd.get(id);let http=wi({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=pr.get(id);if(!noCache&&!$arguments?.noCache&&cached)I.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(I.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),I.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;I.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...e||{}});if(I.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let s=uu(r);s&&eo.set(id,s)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{H2.test(t)&&(t=H2.parse(t,!0))}catch(s){I.error(`Clash Pre-processor error: ${s}`)}let i=!0;if(cacheThreshold){let s=t.length/1024;s>cacheThreshold&&(I.info(`\u8D44\u6E90\u5927\u5C0F ${s.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),i=!1)}i&&(pr.set(id,t),customCacheKey&&(I.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),I.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=I.read(customCacheKey);if(r)return I.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await Cf(to(await Xr(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||Rd.set(id,result),result}async function Gc(e,t){let r=VF(),n=require("fs"),{pipeline:i}=require("stream/promises"),{Agent:s,interceptors:o,request:u}=r;I.info(`Downloading file... +URL: ${e} +File: ${t}`);let{body:A,statusCode:p}=await u(e,{dispatcher:new s().compose(o.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(p!==200)throw new Error(`Failed to download file from ${e}`);let f=n.createWriteStream(t);return await i(A,f),I.info(`File downloaded from ${e} to ${t}`),t}function xe(e,t,r){e.status(r||200).json({status:"success",data:t})}function Pe(e,t,r){e.status(r||500).json({status:"failed",error:{code:t.code,type:t.type,message:t.message,details:t.details}})}var Eu=class{constructor(e,t,r){this.code=e,this.message=t,this.details=r}},Mt=class extends Eu{constructor(e,t,r){super(e,t,r),this.type="InternalServerError"}},wt=class extends Eu{constructor(e,t,r){super(e,t,r),this.type="RequestInvalidError"}},Vt=class extends Eu{constructor(e,t,r){super(e,t,r),this.type="ResourceNotFoundError"}},wu=class extends Eu{constructor(e,t,r){super(e,t,r),this.type="NetworkError"}};function tt(e,t,r="name"){return e.find(n=>n[r]===t)}function j2(e,t,r="name"){return e.findIndex(n=>n[r]===t)}function oi(e,t,r="name"){let n=j2(e,t,r);e.splice(n,1)}function yi(e,t,r,n="name"){let i=j2(e,t,n);e[i]=r}var _h=bn(qf()),s0=bn(RE());function cD(e){let t=s0.default.pemtohex(e);return s0.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var PE={generateFingerprint:cD},a0=class{constructor(){this.expires=lD(),I.read(Ja)||I.write("{}",Ja);try{this.resourceCache=JSON.parse(I.read(Ja))}catch(e){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Ja} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${e?.message??e}`),this.resourceCache={},I.write("{}",Ja)}this._cleanup()}_cleanup(e,t){let r=!1;Object.entries(this.resourceCache).forEach(n=>{let[i,s]=n;s.time||(delete this.resourceCache[i],I.delete(`#${i}`),r=!0),(new Date().getTime()-s.time>(t??this.expires)||e&&i.startsWith(e))&&(delete this.resourceCache[i],r=!0)}),r&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Ja)}get(e,t,r){let n=this.resourceCache[e]&&this.resourceCache[e].time;if(n){if(new Date().getTime()-n<=(t??this.expires))return this.resourceCache[e].data;r&&(delete this.resourceCache[e],this._persist())}return null}gettime(e){let t=this.resourceCache[e]&&this.resourceCache[e].time;return t&&new Date().getTime()-t<=this.expires?this.resourceCache[e].time:null}set(e,t){this.resourceCache[e]={time:new Date().getTime(),data:t},this._persist()}};function lD(){I.read(hf)||I.write("1728e5",hf);let e=1728e5;if(I.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=I.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=I.read(hf),e}var Qc=new a0;function nh(e,t){return[...Array(e).keys()].map(()=>t)}var o0={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function Ru(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(i=>RegExp(`${i}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(o0))if(o0[n].some(i=>RegExp(`(^|[^a-zA-Z])${i}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function sh(e){return o0[Ru(e)]?.[0]}function el(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var ih=class{constructor({country,asn}={}){if(I.env.isNode){let Reader=cJ().Reader,fs=require("fs"),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}},uh=bn(qE()),KE=bn(qf());async function Tu({url:e,domain:t,type:r="A",timeout:n,edns:i}){let s=uh.default.encode({type:"query",id:0,flags:uh.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:i,sourcePrefixLength:vr(i)?24:56,scopePrefixLength:0}]}]}),o=await I.http.get({url:`${e}?dns=${s.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return uh.default.decode(KE.Buffer.from(I.env.isQX?o.bodyBytes:o.body))}var w0=bn(v0()),{isNode:VE,isQX:ED,isLoon:wD,isSurge:AD,isStash:yD,isShadowRocket:SD,isLanceX:bD,isEgern:CD,isGUIforCores:_D}=Ir(),Zi="Node";VE&&(Zi="Node"),ED&&(Zi="QX"),wD&&(Zi="Loon"),AD&&(Zi="Surge"),yD&&(Zi="Stash"),SD&&(Zi="ShadowRocket"),CD&&(Zi="Egern"),bD&&(Zi="LanceX"),_D&&(Zi="GUI.for.Cores");var mo={},FD={};try{if(typeof $environment<"u"&&(mo.env=$environment),typeof $loon<"u"&&(mo.loon=$loon),typeof $script<"u"&&(mo.script=$script),typeof $Plugin<"u"&&(mo.plugin=$Plugin),VE){mo.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(mo.node.env[e]=env[e])}}catch(e){}var Qi={backend:Zi,version:uf,feature:FD,meta:mo};function ID(e){return e&&typeof e=="object"&&!Array.isArray(e)}function nl(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function zE(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(ID(r[n]))if(n.endsWith("!")){let i=nl(n.slice(0,-1));e[i]=r[n]}else{let i=nl(n);e[i]||Object.assign(e,{[i]:{}}),zE(e[i],r[i])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let i=nl(n.slice(1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...r[n],...e[i]]}else if(n.endsWith("+")){let i=nl(n.slice(0,-1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...e[i],...r[n]]}else{let i=nl(n);Object.assign(e,{[i]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function $D({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>ch(e,r))}}function ch(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>ch(r,t));case"OR":return e.child.some(r=>ch(r,t));case"NOT":return!ch(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function DD(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let n=JE().func(r);r=r.filter((i,s)=>n[s]&&i.port>0&&i.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function BD({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=el(n.name);else{let i=Ru(n.name);n.name=el(n.name),n.name=i+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function RD(e){let{action:t,template:r,link:n,position:i}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:s=>{if(t==="delete"){let o={};return s.filter(u=>o[u.name]?!1:(o[u.name]=!0,!0))}else if(t==="rename"){let o=r.split(" "),u={},A=0;s.forEach(f=>{typeof u[f.name]>"u"?u[f.name]=1:u[f.name]++,A=Math.max(u[f.name].toString().length,A)});let p={};return s.map(f=>{if(u[f.name]>1){typeof p[f.name]>"u"&&(p[f.name]=1);let c="",m=p[f.name]++,w=0;for(;m>0;)c=o[m%10]+c,m=parseInt(m/10),w++;for(;w++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let i=r.name>n.name?1:-1;return i*=e==="desc"?-1:1,i});case"random":return qD(t);default:throw new Error("Unknown sort option: "+e)}}}}function TD(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(i=>A0(i)),n.sort((i,s)=>{let o=GE(r,i.name),u=GE(r,s.name);return o&&!u?-1:u&&!o?1:o&&u?ot.map(r=>{for(let{expr:n,now:i}of e)r.name=r.name.replace(A0(n,"g"),i).trim();return r})}}function OD(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:YE(t).func}}function ND(e,t,r,n,i){return{name:"Script Operator",func:async s=>{let o=s;if(o?.$file?.type==="mihomoProfile")try{let u=co.safeLoad(e),A;if(o?.$content)try{A=co.safeLoad(o?.$content)}catch(p){I.error(p.message??p)}if(typeof u!="object")throw new Error("patch is not an object");return o.$content=At.yaml.safeDump(zE(A||(o?.$file?.sourceType==="none"?{}:{proxies:await Qr({type:o?.$file?.sourceType||"collection",name:o?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),u)),o}catch{}return await async function(){o=lh("operator",e,r,i)(s,t,{source:n,...Qi})}(),o},nodeFunc:async s=>{let o=s;return await async function(){o=lh("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,i)(s,t,{source:n,...Qi})}(),o}}}function xD(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let i=parseInt(n[3],16),s=parseInt(n[4],16),o=i>>8,u=i&255,A=s>>8,p=s&255;if(t=`${o}.${u}.${A}.${p}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!vr(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){I.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var WE={Custom:async function(e,t,r,n,i,s){let o=Mn(`CUSTOM:${s}:${e}:${t}`),u=pr.get(o);if(!r&&u)return u;let A=t==="IPv6"?"AAAA":"A",p=await Tu({url:s,domain:e,type:A,timeout:n,edns:i}),{answers:f}=p;if(!Array.isArray(f)||f.length===0)throw new Error("No answers");let c=f.filter(m=>m?.type===A).map(m=>m?.data).filter(m=>m);if(c.length===0)throw new Error("No answers");return pr.set(o,c),c},Google:async function(e,t,r,n,i){let s=Mn(`GOOGLE:${e}:${t}`),o=pr.get(s);if(!r&&o)return o;let u=t==="IPv6"?"AAAA":"A",A=await Tu({url:"https://8.8.4.4/dns-query",domain:e,type:u,timeout:n,edns:i}),{answers:p}=A;if(!Array.isArray(p)||p.length===0)throw new Error("No answers");let f=p.filter(c=>c?.type===u).map(c=>c?.data).filter(c=>c);if(f.length===0)throw new Error("No answers");return pr.set(s,f),f},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let i=Mn(`IP-API:${e}`),s=pr.get(i);if(!r&&s)return s;let o=await I.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),u=JSON.parse(o.body);if(u.status!=="success")throw new Error(`Status is ${u.status}`);if(!u.query||u.query===0)throw new Error("No answers");let A=[u.query];if(A.length===0)throw new Error("No answers");return pr.set(i,A),A},Cloudflare:async function(e,t,r,n,i){let s=Mn(`CLOUDFLARE:${e}:${t}`),o=pr.get(s);if(!r&&o)return o;let u=t==="IPv6"?"AAAA":"A",A=await Tu({url:"https://1.0.0.1/dns-query",domain:e,type:u,timeout:n,edns:i}),{answers:p}=A;if(!Array.isArray(p)||p.length===0)throw new Error("No answers");let f=p.filter(c=>c?.type===u).map(c=>c?.data).filter(c=>c);if(f.length===0)throw new Error("No answers");return pr.set(s,f),f},Ali:async function(e,t,r,n,i){let s=Mn(`ALI:${e}:${t}`),o=pr.get(s);if(!r&&o)return o;let u=await I.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${i}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),A=JSON.parse(u.body);if(!Array.isArray(A)||A.length===0)throw new Error("No answers");let p=A;if(p.length===0)throw new Error("No answers");return pr.set(s,p),p},Tencent:async function(e,t,r,n,i){let s=Mn(`TENCENT:${e}:${t}`),o=pr.get(s);if(!r&&o)return o;let u=(await I.http.get({url:`http://119.28.28.28/d?ip=${i}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(p=>p.split(",")[0]);if(u.length===0||String(u)==="0")throw new Error("No answers");let A=u;if(A.length===0)throw new Error("No answers");return pr.set(s,A),A}};function XE({provider:e,type:t,filter:r,cache:n,url:i,timeout:s,edns:o}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:u}=I.read(Ft),A=s||u||8e3,p=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",f=WE[e];if(!f)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let c=o||"223.6.6.6";if(!vo(c))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return I.info(`Domain Resolver: [${t}] ${e} ${c||""} ${i||""}`),{name:"Resolve Domain Operator",func:async m=>{m.forEach((j,re)=>{!j["_no-resolve"]&&j["no-resolve"]&&(m[re]["_no-resolve"]=j["no-resolve"])});let w={},C=15,F=[...new Set(m.filter(j=>!vo(j.server)&&!j["_no-resolve"]).map(j=>j.server))],P=Math.ceil(F.length/C);for(let j=0;j{w[se]=ge,I.info(`Successfully resolved domain: ${se} \u279F ${ge}`)}).catch(ge=>{I.error(`Failed to resolve domain: ${se} with resolver [${e}]: ${ge}`)}));await Promise.all(re)}return m.forEach(j=>{if(!j["_no-resolve"])if(w[j.server]){j._resolved_ips=w[j.server];let re=Array.isArray(w[j.server])?w[j.server][Math.floor(Math.random()*w[j.server].length)]:w[j.server];if(p==="IPv6"&&ur(re)){try{re=new Sf.Address6(re).correctForm()}catch(se){I.error(`Failed to parse IPv6 address: ${re}: ${se}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(re)){j._IP4P=re;let{server:se,port:ge}=xD(re);se&&ge?(j._domain=j.server,j.server=se,j.port=ge,j.resolved=!0,j._IPv4=j.server,vo(j._IP)||(j._IP=j.server)):j.resolved||(j.resolved=!1)}else j._domain=j.server,j.server=re,j.resolved=!0,j[`_${p}`]=j.server,vo(j._IP)||(j._IP=j.server)}else j._domain=j.server,j.server=re,j.resolved=!0,j[`_${p}`]=j.server,vo(j._IP)||(j._IP=j.server)}else j.resolved||(j.resolved=!1)}),m.filter(j=>r==="removeFailed"?vo(j.server)||j["_no-resolve"]||j.resolved:r==="IPOnly"?vo(j.server):r==="IPv4Only"?vr(j.server):r==="IPv6Only"?ur(j.server):!0)}}}function vo(e){return vr(e)||ur(e)}XE.resolver=WE;function E0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function JE(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!E0(t.cipher)||t.password&&!E0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!E0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function kD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:i=>i.map(s=>{let o=Ru(s.name),u=t.some(A=>n[A]===o);return r?u:!u})}}function LD({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let i=e.some(s=>A0(s).test(n.name));return t?i:!i})}}function A0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function UD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(i=>{let s=t.some(o=>i.type===o);return r?s:!s})}}function HD(e,t,r,n,i){return{name:"Script Filter",func:async s=>{let o=nh(s.length,!0);return await async function(){o=lh("filter",e,r,i)(s,t,{source:n,...Qi})}(),o},nodeFunc:async s=>{let o=nh(s.length,!0);return await async function(){o=lh("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,i)(s,t,{source:n,...Qi})}(),o}}}var fh={"Useless Filter":JE,"Region Filter":kD,"Regex Filter":LD,"Type Filter":UD,"Script Filter":HD,"Conditional Filter":$D,"Quick Setting Operator":DD,"Flag Operator":BD,"Sort Operator":PD,"Regex Sort Operator":TD,"Regex Rename Operator":YE,"Regex Delete Operator":OD,"Script Operator":ND,"Handle Duplicate Operator":RD,"Resolve Domain Operator":XE};async function jD(e,t){let r=nh(t.length,!0);try{r=await e.func(t)}catch(n){let i="",s=`${n.message??n}`;s.includes("$server is not defined")?i="":(I.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),i=`\u6267\u884C function filter \u5931\u8D25 ${s}; `);try{r=await e.nodeFunc(t)}catch(o){I.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${o}`);let u="",A=`${o.message??o}`;throw i&&A===s?(u="",i=`\u6267\u884C\u5931\u8D25 ${s}`):u=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${A}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${i}${u}`)}}return t.filter((n,i)=>r[i])}async function MD(e,t){let r=KD(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let i="",s=`${n.message??n}`;s.includes("$server is not defined")||s.includes("$content is not defined")||s.includes("$files is not defined")||r?.$files||r?.$content?i="":(I.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),i=`\u6267\u884C function operator \u5931\u8D25 ${s}; `);try{let o=await e.nodeFunc(r);o&&(r=o)}catch(o){I.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${o}`);let u="",A=`${o.message??o}`;throw i&&A===s?(u="",i=`\u6267\u884C\u5931\u8D25 ${s}`):u=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${A}`,new Error(`\u811A\u672C\u64CD\u4F5C ${i}${u}`)}}return r}async function ZE(e,t){if(e.name.indexOf("Filter")!==-1)return jD(e,t);if(e.name.indexOf("Operator")!==-1)return MD(e,t)}function qD(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function KD(e){return JSON.parse(JSON.stringify(e))}function lh(name,script,$arguments,$options){let flowUtils={getFlowField:uu,getFlowHeaders:Xr,parseFlowHeaders:to,flowTransfer:xc,validCheck:Cf,getRmainingDays:_f,normalizeFlowHeader:la};return I.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,I,w0.default,$persistentStore,$httpClient,$notification,At,At.yaml,At.Buffer,At.Base64.decode,At.Base64.encode,Qc,flowUtils,Qr,eval('typeof require !== "undefined"')?za:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,I,w0.default,At,At.yaml,At.Buffer,At.Base64.decode,At.Base64.encode,Qc,flowUtils,Qr,eval('typeof require !== "undefined"')?za:void 0)}var QE=bn(v0()),rt=class{constructor(e){this.proxy=e,this.output=[]}append(e){if(typeof e>"u")throw new Error("required field is missing");this.output.push(e)}appendIfPresent(e,t){ae(this.proxy,t)&&this.append(e)}toString(){return this.output.join("")}};function ae(e,t){let r=QE.default.get(e,t);return typeof r<"u"&&r!==null}var VD="Surge",fi={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function Nu(){return{produce:(e,t,r={})=>{switch(e.name=e.name.replace(/=|,/g,""),e.ports&&(e.ports=String(e.ports)),e.type){case"ss":return GD(e,r["include-unsupported-proxy"]);case"trojan":return zD(e);case"vmess":return YD(e,r["include-unsupported-proxy"]);case"http":return XD(e);case"direct":return JD(e);case"socks5":return ZD(e);case"snell":return QD(e);case"tuic":return e9(e);case"wireguard-surge":return r9(e);case"hysteria2":return n9(e);case"ssh":return WD(e)}if(r["include-unsupported-proxy"]&&e.type==="wireguard")return t9(e);throw new Error(`Platform ${VD} does not support proxy type: ${e.type}`)}}}function GD(e){let t=new rt(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=fi[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,s=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),s){if(s<2)throw new Error(`shadow-tls version ${s} is not supported`);t.append(`,shadow-tls-version=${s}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function zD(e){let t=new rt(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ew(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function YD(e,t){let r=new rt(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=fi[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ew(r,e,t),ae(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function WD(e){let t=new rt(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function XD(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new rt(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function JD(e){let t=new rt(e);t.append(`${e.name}=direct`);let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function ZD(e){let t=new rt(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&I.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function QD(e){let t=new rt(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function e9(e){let t=new rt(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function t9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new rt(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=Ut(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=fi[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],i=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,s=e["preshared-key"]??e["pre-shared-key"];s&&(s=`,preshared-key="${s}"`);let o={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":i,"preshared-key":s};return t.append(` +peer = (${Object.keys(o).filter(u=>o[u]!=null).map(u=>`${u} = ${o[u]}`).join(", ")})`),t.toString()}function r9(e){let t=new rt(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function n9(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new rt(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function ew(e,t,r){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,i=Object.keys(n).map(s=>{let o=n[s];return["Host"].includes(s)&&(o=`"${o}"`),`${s}:${o}`}).join("|");Hi(i)&&e.append(`,ws-headers=${i}`)}}else if(r&&["http"].includes(t.network))I.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function zn(){return{type:"ALL",produce:(e,t,r={})=>{let n=e.filter(i=>r["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"||["juicity"].includes(i.type)?!1:!(["ss"].includes(i.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(i.cipher))).map(i=>{if(i.type==="vmess"?(ae(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),ae(i,"sni")&&(i.servername=i.sni,delete i.sni),ae(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(ae(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!ae(i,"version")&&(i.version=5)):i.type==="hysteria"?(ae(i,"auth_str")&&!ae(i,"auth-str")&&(i["auth-str"]=i.auth_str),ae(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?ae(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&ae(i,"shadow-tls-password")&&!ae(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let s=i["http-opts"]?.path;ae(i,"http-opts.path")&&!Array.isArray(s)&&(i["http-opts"].path=[s]);let o=i["http-opts"]?.headers?.Host;ae(i,"http-opts.headers.Host")&&!Array.isArray(o)&&(i["http-opts"].headers.Host=[o])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let s=i["h2-opts"]?.path;ae(i,"h2-opts.path")&&Array.isArray(s)&&(i["h2-opts"].path=s[0]);let o=i["h2-opts"]?.headers?.host;ae(i,"h2-opts.headers.Host")&&!Array.isArray(o)&&(i["h2-opts"].headers.host=[o])}if(i["plugin-opts"]?.tls&&ae(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],ae(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],t!=="internal"||r["delete-underscore-fields"])for(let s in i)(i[s]==null||/^_/i.test(s))&&delete i[s];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return t==="internal"?n:`proxies: +`+n.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var tw="SurgeMac",i9=Nu();function y0(){return{produce:(e,t,r={})=>{switch(e.type){case"external":return rw(e);default:try{return i9.produce(e,t,r)}catch{if(r.useMihomoExternal)return I.log(`${e.name} is not supported on ${tw}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),s9(e,t,r);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function rw(e){let t=new rt(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function s9(e,t,r){let n=zn().produce([e],"internal")?.[0];if(n){let i=r?.localPort||e._localPort||65535,s=!["ipv4","v4-only"].includes(e["ip-version"]),o={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":i,args:["-config",vt.encode(JSON.stringify({"mixed-port":i,ipv6:s,mode:"global",dns:{enable:!0,ipv6:s,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return a9(e.server)?o.addresses.push(e.server):I.log(`Platform ${tw}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=i-1,rw(o)}}function a9(e){return vr(e)||ur(e)}function S0(){return{type:"ALL",produce:(e,t,r={})=>{let n=e.filter(i=>r["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&(typeof i.flow<"u"||i["reality-opts"])?!1:i["underlying-proxy"]||i["dialer-proxy"]?(I.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}`),!1):!0).map(i=>{if(i.type==="vmess"?(ae(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),ae(i,"sni")&&(i.servername=i.sni,delete i.sni),ae(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&ae(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let s=i["http-opts"]?.path;ae(i,"http-opts.path")&&!Array.isArray(s)&&(i["http-opts"].path=[s]);let o=i["http-opts"]?.headers?.Host;ae(i,"http-opts.headers.Host")&&!Array.isArray(o)&&(i["http-opts"].headers.Host=[o])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let s=i["h2-opts"]?.path;ae(i,"h2-opts.path")&&Array.isArray(s)&&(i["h2-opts"].path=s[0]);let o=i["h2-opts"]?.headers?.host;ae(i,"h2-opts.headers.Host")&&!Array.isArray(o)&&(i["h2-opts"].headers.host=[o])}if(i["plugin-opts"]?.tls&&ae(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],ae(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],t!=="internal")for(let s in i)(i[s]==null||/^_/i.test(s))&&delete i[s];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return t==="internal"?n:`proxies: +`+n.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}function hh(){return{type:"ALL",produce:(e,t,r={})=>{let n=e.filter(i=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(i.type)||i.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(i.cipher)||i.type==="snell"&&String(i.version)==="4"||i.type==="vless"&&i["reality-opts"]&&!["xtls-rprx-vision"].includes(i.flow)?!1:i["underlying-proxy"]||i["dialer-proxy"]?(I.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${i.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(i=>{if(i.type==="vmess"?(ae(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),ae(i,"sni")&&(i.servername=i.sni,delete i.sni),ae(i,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(ae(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),(!i.token||i.token.length===0)&&!ae(i,"version")&&(i.version=5)):i.type==="hysteria"?(ae(i,"auth_str")&&!ae(i,"auth-str")&&(i["auth-str"]=i.auth_str),ae(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),ae(i,"down")&&!ae(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),ae(i,"up")&&!ae(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),ae(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),ae(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="hysteria2"?(ae(i,"password")&&!ae(i,"auth")&&(i.auth=i.password,delete i.password),ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo,delete i.tfo),ae(i,"down")&&!ae(i,"down-speed")&&(i["down-speed"]=i.down,delete i.down),ae(i,"up")&&!ae(i,"up-speed")&&(i["up-speed"]=i.up,delete i.up),ae(i,"down-speed")&&(i["down-speed"]=`${i["down-speed"]}`.match(/\d+/)?.[0]||0),ae(i,"up-speed")&&(i["up-speed"]=`${i["up-speed"]}`.match(/\d+/)?.[0]||0)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"&&ae(i,"sni")&&(i.servername=i.sni,delete i.sni),["vmess","vless"].includes(i.type)&&i.network==="http"){let s=i["http-opts"]?.path;ae(i,"http-opts.path")&&!Array.isArray(s)&&(i["http-opts"].path=[s]);let o=i["http-opts"]?.headers?.Host;ae(i,"http-opts.headers.Host")&&!Array.isArray(o)&&(i["http-opts"].headers.Host=[o])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let s=i["h2-opts"]?.path;ae(i,"h2-opts.path")&&Array.isArray(s)&&(i["h2-opts"].path=s[0]);let o=i["h2-opts"]?.headers?.host;ae(i,"h2-opts.headers.Host")&&!Array.isArray(o)&&(i["h2-opts"].headers.host=[o])}if(i["plugin-opts"]?.tls&&ae(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i["server-cert-fingerprint"]=i["tls-fingerprint"]),delete i["tls-fingerprint"],ae(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,i["test-url"]&&(i["benchmark-url"]=i["test-url"],delete i["test-url"]),i["test-timeout"]&&(i["benchmark-timeout"]=i["test-timeout"],delete i["test-timeout"]),delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],t!=="internal")for(let s in i)(i[s]==null||/^_/i.test(s))&&delete i[s];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return t==="internal"?n:`proxies: +`+n.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var o9="Loon",Hs={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function b0(){return{produce:(e,t,r={})=>{switch(e.type){case"ss":return u9(e);case"ssr":return c9(e);case"trojan":return l9(e);case"vmess":return f9(e,r["include-unsupported-proxy"]);case"vless":return h9(e,r["include-unsupported-proxy"]);case"http":return p9(e);case"socks5":return d9(e);case"wireguard":return g9(e);case"hysteria2":return m9(e)}throw new Error(`Platform ${o9} does not support proxy type: ${e.type}`)}}}function u9(e){let t=new rt(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,s=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),s){if(s<2)throw new Error(`shadow-tls version ${s} is not supported`);t.append(`,shadow-tls-version=${s}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function c9(e){let t=new rt(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,s=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),s){if(s<2)throw new Error(`shadow-tls version ${s} is not supported`);t.append(`,shadow-tls-version=${s}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function l9(e){let t=new rt(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function f9(e){let t=!!e["reality-opts"],r=new rt(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let i=e["http-opts"]?.path,s=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(i)?i[0]:i}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(s)?s[0]:s}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),ae(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=Hs[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function h9(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new rt(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let s=e["http-opts"]?.path,o=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(s)?s[0]:s}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(o)?o[0]:o}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let i=Hs[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${i}`,"ip-version"),n.toString()}function p9(e){let t=new rt(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function d9(e){let t=new rt(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function g9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new rt(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(u=>ur(u));let o=e.dns.find(u=>vr(u));o||(o=e.dns.find(u=>!vr(u)&&!ur(u))),e.dns=o}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let i=e["preshared-key"]??e["pre-shared-key"];i&&(i=`,preshared-key="${i}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${i??""}}]`);let s=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${s}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function m9(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new rt(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function xu(){return{type:"SINGLE",produce:e=>{let t="";delete e.subName,delete e.collectionName,delete e.id,delete e.resolved,delete e["no-resolve"];for(let r in e)e[r]==null&&delete e[r];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(e.type)&&delete e.tls,!["vmess"].includes(e.type)&&e.server&&ur(e.server)&&(e.server=`[${e.server}]`),e.type){case"socks5":t=`socks://${encodeURIComponent(vt.encode(`${e.username??""}:${e.password??""}`))}@${e.server}:${e.port}#${e.name}`;break;case"ss":let r=`${e.cipher}:${e.password}`;if(t=`ss://${e.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(e.cipher)}:${encodeURIComponent(e.password)}`:vt.encode(r)}@${e.server}:${e.port}${e.plugin?"/":""}`,e.plugin){t+="?plugin=";let We=e["plugin-opts"];switch(e.plugin){case"obfs":t+=encodeURIComponent(`simple-obfs;obfs=${We.mode}${We.host?";obfs-host="+We.host:""}`);break;case"v2ray-plugin":t+=encodeURIComponent(`v2ray-plugin;obfs=${We.mode}${We.host?";obfs-host"+We.host:""}${We.tls?";tls":""}`);break;case"shadow-tls":t+=encodeURIComponent(`shadow-tls;host=${We.host};password=${We.password};version=${We.version}`);break;default:throw new Error(`Unsupported plugin option: ${e.plugin}`)}}e["udp-over-tcp"]&&(t=`${t}${e.plugin?"&":"?"}uot=1`),e.tfo&&(t=`${t}${e.plugin||e["udp-over-tcp"]?"&":"?"}tfo=1`),t+=`#${encodeURIComponent(e.name)}`;break;case"ssr":t=`${e.server}:${e.port}:${e.protocol}:${e.cipher}:${e.obfs}:${vt.encode(e.password)}/`,t+=`?remarks=${vt.encode(e.name)}${e["obfs-param"]?"&obfsparam="+vt.encode(e["obfs-param"]):""}${e["protocol-param"]?"&protocolparam="+vt.encode(e["protocol-param"]):""}`,t="ssr://"+vt.encode(t);break;case"vmess":let n="",i=e.network||"tcp";if(e.network==="http"?(i="tcp",n="http"):e.network==="ws"&&e["ws-opts"]?.["v2ray-http-upgrade"]&&(i="httpupgrade"),t={v:"2",ps:e.name,add:e.server,port:`${e.port}`,id:e.uuid,aid:`${e.alterId||0}`,scy:e.cipher,net:i,type:n,tls:e.tls?"tls":"",alpn:Array.isArray(e.alpn)?e.alpn.join(","):e.alpn,fp:e["client-fingerprint"]},e.tls&&e.sni&&(t.sni=e.sni),e.network){let We=e[`${e.network}-opts`]?.path,pt=e[`${e.network}-opts`]?.headers?.Host;["grpc"].includes(e.network)?(t.path=e[`${e.network}-opts`]?.["grpc-service-name"],t.type=e[`${e.network}-opts`]?.["_grpc-type"]||"gun",t.host=e[`${e.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(e.network)?(t.type=e[`${e.network}-opts`]?.[`_${e.network}-type`]||"none",t.host=e[`${e.network}-opts`]?.[`_${e.network}-host`],t.path=e[`${e.network}-opts`]?.[`_${e.network}-path`]):(We&&(t.path=Array.isArray(We)?We[0]:We),pt&&(t.host=Array.isArray(pt)?pt[0]:pt))}t="vmess://"+vt.encode(JSON.stringify(t));break;case"vless":let s="none",o=e["reality-opts"],u="",A="",p="";if(o){s="reality";let We=e["reality-opts"]?.["public-key"];We&&(A=`&pbk=${encodeURIComponent(We)}`);let pt=e["reality-opts"]?.["short-id"];pt&&(u=`&sid=${encodeURIComponent(pt)}`);let Pt=e["reality-opts"]?.["_spider-x"];Pt&&(p=`&spx=${encodeURIComponent(Pt)}`)}else e.tls&&(s="tls");let f="";e.alpn&&(f=`&alpn=${encodeURIComponent(Array.isArray(e.alpn)?e.alpn:e.alpn.join(","))}`);let c="";e["skip-cert-verify"]&&(c="&allowInsecure=1");let m="";e.sni&&(m=`&sni=${encodeURIComponent(e.sni)}`);let w="";e["client-fingerprint"]&&(w=`&fp=${encodeURIComponent(e["client-fingerprint"])}`);let C="";e.flow&&(C=`&flow=${encodeURIComponent(e.flow)}`);let F="";e._extra&&(F=`&extra=${encodeURIComponent(e._extra)}`);let P="";e._mode&&(P=`&mode=${encodeURIComponent(e._mode)}`);let j=e.network;e.network==="ws"&&e["ws-opts"]?.["v2ray-http-upgrade"]&&(j="httpupgrade");let re=`&type=${encodeURIComponent(j)}`;if(["grpc"].includes(e.network)){re+=`&mode=${encodeURIComponent(e[`${e.network}-opts`]?.["_grpc-type"]||"gun")}`;let We=e[`${e.network}-opts`]?.["_grpc-authority"];We&&(re+=`&authority=${encodeURIComponent(We)}`)}let se=e[`${e.network}-opts`]?.[`${e.network}-service-name`],ge=e[`${e.network}-opts`]?.path,oe=e[`${e.network}-opts`]?.headers?.Host;ge&&(re+=`&path=${encodeURIComponent(Array.isArray(ge)?ge[0]:ge)}`),oe&&(re+=`&host=${encodeURIComponent(Array.isArray(oe)?oe[0]:oe)}`),se&&(re+=`&serviceName=${encodeURIComponent(se)}`),e.network==="kcp"&&(e.seed&&(re+=`&seed=${encodeURIComponent(e.seed)}`),e.headerType&&(re+=`&headerType=${encodeURIComponent(e.headerType)}`)),t=`vless://${e.uuid}@${e.server}:${e.port}?security=${encodeURIComponent(s)}${re}${f}${c}${m}${w}${C}${u}${p}${A}${P}${F}#${encodeURIComponent(e.name)}`;break;case"trojan":let be="";if(e.network){let We=e.network;if(e.network==="ws"&&e["ws-opts"]?.["v2ray-http-upgrade"]&&(We="httpupgrade"),be=`&type=${encodeURIComponent(We)}`,["grpc"].includes(e.network)){let nn=e[`${e.network}-opts`]?.[`${e.network}-service-name`],nr=e[`${e.network}-opts`]?.["_grpc-authority"];nn&&(be+=`&serviceName=${encodeURIComponent(nn)}`),nr&&(be+=`&authority=${encodeURIComponent(nr)}`),be+=`&mode=${encodeURIComponent(e[`${e.network}-opts`]?.["_grpc-type"]||"gun")}`}let pt=e[`${e.network}-opts`]?.path,Pt=e[`${e.network}-opts`]?.headers?.Host;pt&&(be+=`&path=${encodeURIComponent(Array.isArray(pt)?pt[0]:pt)}`),Pt&&(be+=`&host=${encodeURIComponent(Array.isArray(Pt)?Pt[0]:Pt)}`)}let fe="";e["client-fingerprint"]&&(fe=`&fp=${encodeURIComponent(e["client-fingerprint"])}`);let Ie="";e.alpn&&(Ie=`&alpn=${encodeURIComponent(Array.isArray(e.alpn)?e.alpn:e.alpn.join(","))}`);let $e=e["reality-opts"],Ve="",Ae="",Ue="",Oe="",ct="",Re="";if($e){Oe="&security=reality";let We=e["reality-opts"]?.["public-key"];We&&(Ae=`&pbk=${encodeURIComponent(We)}`);let pt=e["reality-opts"]?.["short-id"];pt&&(Ve=`&sid=${encodeURIComponent(pt)}`);let Pt=e["reality-opts"]?.["_spider-x"];Pt&&(Ue=`&spx=${encodeURIComponent(Pt)}`),e._extra&&(Re=`&extra=${encodeURIComponent(e._extra)}`),e._mode&&(ct=`&mode=${encodeURIComponent(e._mode)}`)}t=`trojan://${e.password}@${e.server}:${e.port}?sni=${encodeURIComponent(e.sni||e.server)}${e["skip-cert-verify"]?"&allowInsecure=1":""}${be}${Ie}${fe}${Oe}${Ve}${Ae}${Ue}${ct}${Re}#${encodeURIComponent(e.name)}`;break;case"hysteria2":let Qe=[];e["hop-interval"]&&Qe.push(`hop-interval=${e["hop-interval"]}`),e.keepalive&&Qe.push(`keepalive=${e.keepalive}`),e["skip-cert-verify"]&&Qe.push("insecure=1"),e.obfs&&(Qe.push(`obfs=${encodeURIComponent(e.obfs)}`),e["obfs-password"]&&Qe.push(`obfs-password=${encodeURIComponent(e["obfs-password"])}`)),e.sni&&Qe.push(`sni=${encodeURIComponent(e.sni)}`),e.ports&&Qe.push(`mport=${e.ports}`),e["tls-fingerprint"]&&Qe.push(`pinSHA256=${encodeURIComponent(e["tls-fingerprint"])}`),e.tfo&&Qe.push("fastopen=1"),t=`hysteria2://${encodeURIComponent(e.password)}@${e.server}:${e.port}?${Qe.join("&")}#${encodeURIComponent(e.name)}`;break;case"hysteria":let ze=[];Object.keys(e).forEach(We=>{if(!["name","type","server","port"].includes(We)){let pt=We.replace(/-/,"_");["alpn"].includes(We)?e[We]&&ze.push(`${pt}=${encodeURIComponent(Array.isArray(e[We])?e[We][0]:e[We])}`):["skip-cert-verify"].includes(We)?e[We]&&ze.push("insecure=1"):["tfo","fast-open"].includes(We)?e[We]&&!ze.includes("fastopen=1")&&ze.push("fastopen=1"):["ports"].includes(We)?ze.push(`mport=${e[We]}`):["auth-str"].includes(We)?ze.push(`auth=${e[We]}`):["up"].includes(We)?ze.push(`upmbps=${e[We]}`):["down"].includes(We)?ze.push(`downmbps=${e[We]}`):["_obfs"].includes(We)?ze.push(`obfs=${e[We]}`):["obfs"].includes(We)?ze.push(`obfsParam=${e[We]}`):["sni"].includes(We)?ze.push(`peer=${e[We]}`):e[We]&&!/^_/i.test(We)&&ze.push(`${pt}=${encodeURIComponent(e[We])}`)}}),t=`hysteria://${e.server}:${e.port}?${ze.join("&")}#${encodeURIComponent(e.name)}`;break;case"tuic":if(!e.token||e.token.length===0){let We=[];Object.keys(e).forEach(pt=>{if(!["name","type","uuid","password","server","port","tls"].includes(pt)){let Pt=pt.replace(/-/,"_");["alpn"].includes(pt)?e[pt]&&We.push(`${Pt}=${encodeURIComponent(Array.isArray(e[pt])?e[pt][0]:e[pt])}`):["skip-cert-verify"].includes(pt)?e[pt]&&We.push("allow_insecure=1"):["tfo","fast-open"].includes(pt)?e[pt]&&!We.includes("fast_open=1")&&We.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(pt)&&e[pt]?We.push(`${Pt.replace(/-/g,"_")}=1`):["congestion-controller"].includes(pt)?We.push(`congestion_control=${e[pt]}`):e[pt]&&!/^_/i.test(pt)&&We.push(`${Pt.replace(/-/g,"_")}=${encodeURIComponent(e[pt])}`)}}),t=`tuic://${encodeURIComponent(e.uuid)}:${encodeURIComponent(e.password)}@${e.server}:${e.port}?${We.join("&")}#${encodeURIComponent(e.name)}`}break;case"anytls":let kt=[];Object.keys(e).forEach(We=>{if(!["name","type","password","server","port","tls"].includes(We)){let pt=We.replace(/-/,"_");["alpn"].includes(We)?e[We]&&kt.push(`${pt}=${encodeURIComponent(Array.isArray(e[We])?e[We][0]:e[We])}`):["skip-cert-verify"].includes(We)?e[We]&&kt.push("insecure=1"):["udp"].includes(We)?e[We]&&kt.push("udp=1"):e[We]&&!/^_/i.test(We)&&kt.push(`${pt.replace(/-/g,"_")}=${encodeURIComponent(e[We])}`)}}),t=`anytls://${encodeURIComponent(e.password)}@${e.server}:${e.port}/?${kt.join("&")}#${encodeURIComponent(e.name)}`;break;case"wireguard":let st=[];Object.keys(e).forEach(We=>{["name","type","server","port","ip","ipv6","private-key"].includes(We)||(["public-key"].includes(We)?st.push(`publickey=${e[We]}`):["udp"].includes(We)?e[We]&&st.push(`${We}=1`):e[We]&&!/^_/i.test(We)&&st.push(`${We}=${encodeURIComponent(e[We])}`))}),e.ip&&e.ipv6?st.push(`address=${e.ip}/32,${e.ipv6}/128`):e.ip?st.push(`address=${e.ip}/32`):e.ipv6&&st.push(`address=${e.ipv6}/128`),t=`wireguard://${encodeURIComponent(e["private-key"])}@${e.server}:${e.port}/?${st.join("&")}#${encodeURIComponent(e.name)}`;break}return t}}}var v9=xu();function il(){return{type:"ALL",produce:e=>{let t=[];return e.map(r=>{try{t.push(v9.produce(r))}catch(n){I.error(`Cannot produce proxy: ${JSON.stringify(r,null,2)} +Reason: ${n}`)}}),vt.encode(t.join(` +`))}}}var E9="QX";function sl(){return{produce:(e,t,r={})=>{switch(e.type){case"ss":return w9(e);case"ssr":return A9(e);case"trojan":return y9(e);case"vmess":return S9(e);case"http":return C9(e);case"socks5":return _9(e);case"vless":return b9(e)}throw new Error(`Platform ${E9} does not support proxy type: ${e.type}`)}}}function w9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),Yn(e)&&(e.tls=!0),ae(e,"plugin")){if(e.plugin==="obfs"){let i=e["plugin-opts"];r(`,obfs=${i.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function A9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function y9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),ae(e,"network"))if(e.network==="ws")Yn(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&Yn(e)&&r(",over-tls=true"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function S9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let i;if(e.cipher==="auto"?i="chacha20-ietf-poly1305":i=e.cipher,r(`,method=${i}`),r(`,password=${e.uuid}`),Yn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let s=e[`${e.network}-opts`]?.path,o=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(o)?o[0]:o}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),ae(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function b9(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),Yn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let i=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(i)?i[0]:i}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function C9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Yn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function _9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Yn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Yn(e){return e.tls}function al(){return{type:"ALL",produce:(e,t,r={})=>{let n=e.filter(i=>r["include-unsupported-proxy"]?!0:i.type==="snell"&&String(i.version)==="4"?!1:!["mieru"].includes(i.type)).map(i=>{if(i.type==="vmess"?(ae(i,"aead")&&(i.aead&&(i.alterId=0),delete i.aead),ae(i,"sni")&&(i.servername=i.sni,delete i.sni),ae(i,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(i.cipher)&&(i.cipher="auto")):i.type==="tuic"?(ae(i,"alpn")?i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]:i.alpn=["h3"],ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo),(!i.token||i.token.length===0)&&!ae(i,"version")&&(i.version=5)):i.type==="hysteria"?(ae(i,"auth_str")&&!ae(i,"auth-str")&&(i["auth-str"]=i.auth_str),ae(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="hysteria2"?(i["obfs-password"]&&i.obfs=="salamander"&&(i.obfs=i["obfs-password"],delete i["obfs-password"]),ae(i,"alpn")&&(i.alpn=Array.isArray(i.alpn)?i.alpn:[i.alpn]),ae(i,"tfo")&&!ae(i,"fast-open")&&(i["fast-open"]=i.tfo)):i.type==="wireguard"?(i.keepalive=i.keepalive??i["persistent-keepalive"],i["persistent-keepalive"]=i.keepalive,i["preshared-key"]=i["preshared-key"]??i["pre-shared-key"],i["pre-shared-key"]=i["preshared-key"]):i.type==="snell"&&i.version<3?delete i.udp:i.type==="vless"?ae(i,"sni")&&(i.servername=i.sni,delete i.sni):i.type==="ss"&&ae(i,"shadow-tls-password")&&!ae(i,"plugin")&&(i.plugin="shadow-tls",i["plugin-opts"]={host:i["shadow-tls-sni"],password:i["shadow-tls-password"],version:i["shadow-tls-version"]},delete i["shadow-tls-password"],delete i["shadow-tls-sni"],delete i["shadow-tls-version"]),["vmess","vless"].includes(i.type)&&i.network==="http"){let s=i["http-opts"]?.path;ae(i,"http-opts.path")&&!Array.isArray(s)&&(i["http-opts"].path=[s]);let o=i["http-opts"]?.headers?.Host;ae(i,"http-opts.headers.Host")&&!Array.isArray(o)&&(i["http-opts"].headers.Host=[o])}if(["vmess","vless"].includes(i.type)&&i.network==="h2"){let s=i["h2-opts"]?.path;ae(i,"h2-opts.path")&&Array.isArray(s)&&(i["h2-opts"].path=s[0]);let o=i["h2-opts"]?.headers?.host;ae(i,"h2-opts.headers.Host")&&!Array.isArray(o)&&(i["h2-opts"].headers.host=[o])}if(i["plugin-opts"]?.tls&&ae(i,"skip-cert-verify")&&(i["plugin-opts"]["skip-cert-verify"]=i["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(i.type)&&delete i.tls,i["tls-fingerprint"]&&(i.fingerprint=i["tls-fingerprint"]),delete i["tls-fingerprint"],i["underlying-proxy"]&&(i["dialer-proxy"]=i["underlying-proxy"]),delete i["underlying-proxy"],ae(i,"tls")&&typeof i.tls!="boolean"&&delete i.tls,delete i.subName,delete i.collectionName,delete i.id,delete i.resolved,delete i["no-resolve"],t!=="internal")for(let s in i)(i[s]==null||/^_/i.test(s))&&delete i[s];return["grpc"].includes(i.network)&&i[`${i.network}-opts`]&&(delete i[`${i.network}-opts`]["_grpc-type"],delete i[`${i.network}-opts`]["_grpc-authority"]),i});return t==="internal"?n:`proxies: +`+n.map(i=>" - "+JSON.stringify(i)+` +`).join("")}}}var F9="Surfboard";function ph(){return{produce:e=>{switch(e.name=e.name.replace(/=|,/g,""),e.type){case"ss":return I9(e);case"trojan":return $9(e);case"vmess":return D9(e);case"http":return B9(e);case"socks5":return R9(e);case"wireguard-surge":return P9(e)}throw new Error(`Platform ${F9} does not support proxy type: ${e.type}`)}}}function I9(e){let t=new rt(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),ae(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function $9(e){let t=new rt(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),nw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function D9(e){let t=new rt(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),nw(t,e),ae(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function B9(e){let t=new rt(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function R9(e){let t=new rt(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function P9(e){let t=new rt(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function nw(e,t){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(i=>{let s=r[i];return["Host"].includes(i)&&(s=`"${s}"`),`${i}:${s}`}).join("|");Hi(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var Rn=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},js=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},Wn=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},es=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},C0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:i={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(i).length>0){let s={};for(let u of Object.keys(i)){let A=i[u];A!==""&&(Array.isArray(A)||(A=[`${A}`]),A.length>0&&(s[u]=A))}let{Host:o}=s;if(o.length===1)for(let u of`Host:${o[0]}`.split(` +`)){let[A,p]=u.split(":");p.trim()!==""&&(s[A.trim()]=p.trim().split(","))}r.headers=s}}if(e["ws-headers"]){let n={};for(let s of Object.keys(e["ws-headers"])){let o=e["ws-headers"][s];o!==""&&(Array.isArray(o)||(o=[`${o}`]),o.length>0&&(n[s]=o))}let{Host:i}=n;if(i.length===1)for(let s of`Host:${i[0]}`.split(` +`)){let[o,u]=s.split(":");u.trim()!==""&&(n[o.trim()]=u.trim().split(","))}for(let s of Object.keys(n))r.headers[s]=n[s]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[i,s="",o=""]=n.exec(r.path);r.path=s,o!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(o,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r},T9=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:i="",headers:s={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(i)?r.path=`${i[0]}`:i!==""&&(r.path=`${i}`);for(let o of Object.keys(s)){let u=s[o];if(u!==""){if(o.toLowerCase()==="host"){let A=u;Array.isArray(A)||(A=`${A}`.split(",").map(p=>p.trim())),A.length>0&&(r.host=A);continue}Array.isArray(u)||(u=`${u}`.split(",").map(A=>A.trim())),u.length>0&&(r.headers[o]=u)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r}},O9=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:i=""}=e["h2-opts"];i!==""&&(r.path=`${i}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(s=>s.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},_0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},va=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},N9=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),t},x9=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),va(e,t),t},k9=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),js(e,t),Wn(e,t),Rn(e,t),t},L9=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),Wn(e,r),Rn(e,r),es(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},U9=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),js(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},H9=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),es(e.smux,t),t},j9=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&C0(e,t),e.network==="h2"&&O9(e,t),e.network==="http"&&T9(e,t),e.network==="grpc"&&_0(e,t),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},M9=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&C0(e,t),e.network==="grpc"&&_0(e,t),js(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),va(e,t),t},q9=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&_0(e,t),e.network==="ws"&&C0(e,t),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},K9=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),js(e,t),va(e,t),Rn(e,t),Wn(e,t),es(e.smux,t),t},V9=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,js(e,t),va(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),t},G9=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},z9=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),Rn(e,t),va(e,t),t},Y9=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(vr(n))return`${n}/32`;if(ur(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let i={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")i.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let s of n.reserved)i.reserved.push(s);else delete i.reserved;n["pre-shared-key"]&&(i.pre_shared_key=n["pre-shared-key"]),r.peers.push(i)}}return js(e,r),Wn(e,r),Rn(e,r),es(e.smux,r),r};function dh(){return{type:"ALL",produce:(e,t,r={})=>{let n=[];return zn().produce(e,"internal",{"include-unsupported-proxy":!0}).map(i=>{try{switch(i.type){case"ssh":n.push(N9(i));break;case"http":n.push(x9(i));break;case"socks5":if(i.tls)throw new Error(`Platform sing-box does not support proxy type: ${i.type} with tls`);n.push(k9(i));break;case"ss":if(i.plugin==="shadow-tls"){let{ssPart:s,stPart:o}=L9(i);n.push(s),n.push(o)}else n.push(U9(i));break;case"ssr":if(r["include-unsupported-proxy"])n.push(H9(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type}`);break;case"vmess":if(!i.network||["ws","grpc","h2","http"].includes(i.network))n.push(j9(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with network ${i.network}`);break;case"vless":if(!i.flow||["xtls-rprx-vision"].includes(i.flow))n.push(M9(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"trojan":if(!i.flow)n.push(q9(i));else throw new Error(`Platform sing-box does not support proxy type: ${i.type} with flow ${i.flow}`);break;case"hysteria":n.push(K9(i));break;case"hysteria2":n.push(V9(i,r["include-unsupported-proxy"]));break;case"tuic":if(!i.token||i.token.length===0)n.push(G9(i));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":n.push(Y9(i));break;case"anytls":n.push(z9(i));break;default:throw new Error(`Platform sing-box does not support proxy type: ${i.type}`)}}catch(s){I.error(s.message??s)}}),t==="internal"?n:JSON.stringify({outbounds:n},null,2)}}}function gh(){return{type:"ALL",produce:(e,t)=>{let r=e.filter(n=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(n.type)||n.type==="ss"&&(n.plugin==="obfs"&&!["http","tls"].includes(n["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(n.cipher))||n.type==="vmess"&&!["http","ws","tcp"].includes(n.network)&&n.network||n.type==="trojan"&&!["http","ws","tcp"].includes(n.network)&&n.network||n.type==="vless"&&(typeof n.flow<"u"||n["reality-opts"]||!["http","ws","tcp"].includes(n.network)&&n.network)||n.type==="tuic"&&n.token&&n.token.length!==0)).map(n=>{let i={...n};n.tls&&!n.sni&&(n.sni=n.server);let s=n.prev_hop||n["underlying-proxy"]||n["dialer-proxy"]||n.detour;if(n.type==="http")n={type:"http",name:n.name,server:n.server,port:n.port,username:n.username,password:n.password,tfo:n.tfo||n["fast-open"],next_hop:n.next_hop};else if(n.type==="socks5")n={type:"socks5",name:n.name,server:n.server,port:n.port,username:n.username,password:n.password,tfo:n.tfo||n["fast-open"],udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop};else if(n.type==="ss")n={type:"shadowsocks",name:n.name,method:n.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":n.cipher,server:n.server,port:n.port,password:n.password,tfo:n.tfo||n["fast-open"],udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop},i.plugin==="obfs"&&(n.obfs=i["plugin-opts"].mode,n.obfs_host=i["plugin-opts"].host,n.obfs_uri=i["plugin-opts"].path);else if(n.type==="hysteria2")n={type:"hysteria2",name:n.name,server:n.server,port:n.port,auth:n.password,tfo:n.tfo||n["fast-open"],udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop,sni:n.sni,skip_tls_verify:n["skip-cert-verify"],port_hopping:n.ports,port_hopping_interval:n["hop-interval"]},i["obfs-password"]&&i.obfs=="salamander"&&(n.obfs="salamander",n.obfs_password=i["obfs-password"]);else if(n.type==="tuic")n={type:"tuic",name:n.name,server:n.server,port:n.port,uuid:n.uuid,password:n.password,next_hop:n.next_hop,sni:n.sni,alpn:Array.isArray(n.alpn)?n.alpn:[n.alpn||"h3"],skip_tls_verify:n["skip-cert-verify"],port_hopping:n.ports,port_hopping_interval:n["hop-interval"]};else if(n.type==="trojan")n.network==="ws"&&(n.websocket={path:n["ws-opts"]?.path,host:n["ws-opts"]?.headers?.Host}),n={type:"trojan",name:n.name,server:n.server,port:n.port,password:n.password,tfo:n.tfo||n["fast-open"],udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop,sni:n.sni,skip_tls_verify:n["skip-cert-verify"],websocket:n.websocket};else if(n.type==="vmess"){let o=n.cipher;o&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(o)&&(o="auto"),n.network==="ws"?n.transport={[n.tls?"wss":"ws"]:{path:n["ws-opts"]?.path,headers:{Host:n["ws-opts"]?.headers?.Host},sni:n.tls?n.sni:void 0,skip_tls_verify:n.tls?n["skip-cert-verify"]:void 0}}:n.network==="http"?n.transport={http1:{method:n["http-opts"]?.method,path:Array.isArray(n["http-opts"]?.path)?n["http-opts"]?.path[0]:n["http-opts"]?.path,headers:{Host:Array.isArray(n["http-opts"]?.headers?.Host)?n["http-opts"]?.headers?.Host[0]:n["http-opts"]?.headers?.Host},skip_tls_verify:n["skip-cert-verify"]}}:n.network==="h2"?n.transport={http2:{method:n["h2-opts"]?.method,path:Array.isArray(n["h2-opts"]?.path)?n["h2-opts"]?.path[0]:n["h2-opts"]?.path,headers:{Host:Array.isArray(n["h2-opts"]?.headers?.Host)?n["h2-opts"]?.headers?.Host[0]:n["h2-opts"]?.headers?.Host},skip_tls_verify:n["skip-cert-verify"]}}:(n.network==="tcp"||!n.network)&&n.tls&&(n.transport={tls:{sni:n.tls?n.sni:void 0,skip_tls_verify:n.tls?n["skip-cert-verify"]:void 0}}),n={type:"vmess",name:n.name,server:n.server,port:n.port,user_id:n.uuid,security:o,tfo:n.tfo||n["fast-open"],legacy:n.legacy,udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop,transport:n.transport}}else n.type==="vless"&&(n.network==="ws"?n.transport={[n.tls?"wss":"ws"]:{path:n["ws-opts"]?.path,headers:{Host:n["ws-opts"]?.headers?.Host},sni:n.tls?n.sni:void 0,skip_tls_verify:n.tls?n["skip-cert-verify"]:void 0}}:n.network==="http"?n.transport={http:{method:n["http-opts"]?.method,path:Array.isArray(n["http-opts"]?.path)?n["http-opts"]?.path[0]:n["http-opts"]?.path,headers:{Host:Array.isArray(n["http-opts"]?.headers?.Host)?n["http-opts"]?.headers?.Host[0]:n["http-opts"]?.headers?.Host},skip_tls_verify:n["skip-cert-verify"]}}:(n.network==="tcp"||!n.network)&&(n.transport={[n.tls?"tls":"tcp"]:{sni:n.tls?n.sni:void 0,skip_tls_verify:n.tls?n["skip-cert-verify"]:void 0}}),n={type:"vless",name:n.name,server:n.server,port:n.port,user_id:n.uuid,security:n.cipher,tfo:n.tfo||n["fast-open"],legacy:n.legacy,udp_relay:n.udp||n.udp_relay||n.udp_relay,next_hop:n.next_hop,transport:n.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(i.type)){if(ae(i,"shadow-tls-password")){if(i["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${i["shadow-tls-version"]} is not supported`);n.shadow_tls={password:i["shadow-tls-password"],sni:i["shadow-tls-sni"]}}else if(["shadow-tls"].includes(i.plugin)&&i["plugin-opts"]){if(i["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${i["plugin-opts"].version} is not supported`);n.shadow_tls={password:i["plugin-opts"].password,sni:i["plugin-opts"].host}}}if(delete n.subName,delete n.collectionName,delete n.id,delete n.resolved,delete n["no-resolve"],t!=="internal")for(let o in n)(n[o]==null||/^_/i.test(o))&&delete n[o];return{[n.type]:{...n,type:void 0,prev_hop:s}}});return t==="internal"?r:`proxies: +`+r.map(n=>" - "+JSON.stringify(n)+` +`).join("")}}}function iw(){return{type:"ALL",produce:(e,t)=>t==="internal"?e:JSON.stringify(e,null,2)}}var mh={qx:sl(),QX:sl(),QuantumultX:sl(),surge:Nu(),Surge:Nu(),SurgeMac:y0(),Loon:b0(),Clash:S0(),meta:zn(),clashmeta:zn(),"clash.meta":zn(),"Clash.Meta":zn(),ClashMeta:zn(),mihomo:zn(),Mihomo:zn(),uri:xu(),URI:xu(),v2:il(),v2ray:il(),V2Ray:il(),json:iw(),JSON:iw(),stash:hh(),Stash:hh(),shadowrocket:al(),Shadowrocket:al(),ShadowRocket:al(),surfboard:ph(),Surfboard:ph(),singbox:dh(),"sing-box":dh(),egern:gh(),Egern:gh()},lA=bn(pl()),nR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,V0;function Jn(){return V0||(V0=lA.generate(nR)),V0}var fA=bn(pl()),iR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,G0;function ts(){return G0||(G0=fA.generate(iR)),G0}var hA=bn(pl()),sR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,z0;function qs(){return z0||(z0=hA.generate(sR)),z0}var pA=bn(pl()),aR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,Y0;function W0(){return Y0||(Y0=pA.generate(aR)),Y0}function dA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function oR(){return{name:"URI PROXY Parser",test:e=>/^(socks5\+tls|socks5|http|https):\/\//.test(e),parse:e=>{let[t,r,n,i,s,o,u,A,p]=e.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(u)u=parseInt(u,10);else{if(n)u=443;else if(r==="http")u=80;else throw I.error(`port is not present in line: ${e}`),new Error(`port is not present in line: ${e}`);I.info(`port is not present in line: ${e}, set to ${u}`)}return{name:p!=null?decodeURIComponent(p):`${r} ${o}:${u}`,type:r,tls:!!n,server:o,port:u,username:i!=null?decodeURIComponent(i):void 0,password:s!=null?decodeURIComponent(s):void 0}}}}function uR(){return{name:"URI SOCKS Parser",test:e=>/^socks:\/\//.test(e),parse:e=>{let[t,r,n,i,s,o,u]=e.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(s)s=parseInt(s,10);else throw I.error(`port is not present in line: ${e}`),new Error(`port is not present in line: ${e}`);let A,p;if(n){let f=vt.decode(decodeURIComponent(n)).split(":");A=f[0],p=f[1]}return{name:u!=null?decodeURIComponent(u):`${r} ${i}:${s}`,type:"socks5",server:i,port:s,username:A,password:p}}}}function cR(){return{name:"URI SS Parser",test:e=>/^ss:\/\//.test(e),parse:e=>{let t=e.split("ss://")[1],r=e.split("#")[1],n={type:"ss"};t=t.split("#")[0];let i=t.match(/@([^/?]*)(\/|\?|$)/),s=decodeURIComponent(t.split("@")[0]),o;s?.startsWith("2022-blake3-")?o=s:o=vt.decode(s);let u="";if(i)t.includes("?")&&(u=t.match(/(\?.*)$/)[1]);else{if(t.includes("?")){let w=t.match(/^(.*)(\?.*)$/);t=w[1],u=w[2]}if(t=vt.decode(t),u){if(/(&|\?)v2ray-plugin=/.test(u)){let w=u.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(n.plugin="v2ray-plugin",n["plugin-opts"]=JSON.parse(vt.decode(w)))}t=`${t}${u}`}o=t.match(/(^.*)@/)?.[1],i=t.match(/@([^/@]*)(\/|$)/)}let A=i[1],p=A.lastIndexOf(":");n.server=A.substring(0,p),n.port=`${A.substring(p+1)}`.match(/\d+/)?.[0];let f=o.match(/(^.*?):(.*$)/);n.cipher=f?.[1],n.password=f?.[2];let c=t.match(/[?&]plugin=([^&]+)/),m=t.match(/[?&]shadow-tls=([^&]+)/);if(c){let w=("plugin="+decodeURIComponent(c[1])).split(";"),C={};for(let F of w){let[P,j]=F.split("=");P&&(C[P]=j||!0)}switch(C.plugin){case"obfs-local":case"simple-obfs":n.plugin="obfs",n["plugin-opts"]={mode:C.obfs,host:Ut(C["obfs-host"])};break;case"v2ray-plugin":n.plugin="v2ray-plugin",n["plugin-opts"]={mode:"websocket",host:Ut(C["obfs-host"]),path:Ut(C.path),tls:ou(C.tls)};break;case"shadow-tls":{n.plugin="shadow-tls";let F=Ut(C.version);n["plugin-opts"]={host:Ut(C.host),password:Ut(C.password),version:F?parseInt(F,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${C.plugin}`)}}if(m){let w=JSON.parse(vt.decode(m[1])),C=Ut(w.version),F=Ut(w.address),P=Ut(w.port);n.plugin="shadow-tls",n["plugin-opts"]={host:Ut(w.host),password:Ut(w.password),version:C?parseInt(C,10):void 0},F&&(n.server=F),P&&(n.port=parseInt(P,10))}return/(&|\?)uot=(1|true)/i.test(u)&&(n["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(u)&&(n.tfo=!0),r!=null&&(r=decodeURIComponent(r)),n.name=r??`SS ${n.server}:${n.port}`,n}}}function lR(){return{name:"URI SSR Parser",test:e=>/^ssr:\/\//.test(e),parse:e=>{e=vt.decode(e.split("ssr://")[1]);let t=e.indexOf(":origin");t===-1&&(t=e.indexOf(":auth_"));let r=e.substring(0,t),n=r.substring(0,r.lastIndexOf(":")),i=r.substring(r.lastIndexOf(":")+1),s=e.substring(t+1).split("/?")[0].split(":"),o={type:"ssr",server:n,port:i,protocol:s[0],cipher:s[1],obfs:s[2],password:vt.decode(s[3])},u={};if(e=e.split("/?")[1].split("&"),e.length>1)for(let A of e){let[p,f]=A.split("=");f=f.trim(),f.length>0&&f!=="(null)"&&(u[p]=f)}return o={...o,name:u.remarks?vt.decode(u.remarks):o.server,"protocol-param":Ut(vt.decode(u.protoparam||"").replace(/\s/g,"")),"obfs-param":Ut(vt.decode(u.obfsparam||"").replace(/\s/g,""))},o}}}function fR(){return{name:"URI VMess Parser",test:e=>/^vmess:\/\//.test(e),parse:e=>{e=e.split("vmess://")[1];let t=vt.decode(e.replace(/\?.*?$/,""));if(/=\s*vmess/.test(t)){let r=t.split(",").map(s=>s.trim()),n={};for(let s of r)if(s.indexOf("=")!==-1){let[o,u]=s.split("=");n[o.trim()]=u.trim()}let i={name:r[0].split("=")[0].trim(),type:"vmess",server:r[1],port:r[2],cipher:Ut(r[3],"auto"),uuid:r[4].match(/^"(.*)"$/)[1],tls:n.obfs==="wss",udp:ou(n["udp-relay"]),tfo:ou(n["fast-open"]),"skip-cert-verify":au(n["tls-verification"])?!n["tls-verification"]:void 0};if(au(n.obfs))if(n.obfs==="ws"||n.obfs==="wss"){i.network="ws",i["ws-opts"].path=(Ut(n["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let s=n["obfs-header"];s&&s.indexOf("Host")!==-1&&(s=s.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),Hi(s)&&(i["ws-opts"].headers={Host:s})}else throw new Error(`Unsupported obfs: ${n.obfs}`);return i}else{let r={};try{r=JSON.parse(t)}catch{let[u,A,p]=/(^[^?]+?)\/?\?(.*)$/.exec(e);t=vt.decode(A);for(let F of p.split("&")){let[P,j]=F.split("="),re=j;re=decodeURIComponent(j),re.indexOf(",")===-1?r[P]=re:r[P]=re.split(",")}let[f,c,m,w,C]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(t);r.scy=c,r.id=m,r.port=C,r.add=w}let n=r.add,i=parseInt(ou(r.port),10),s={name:r.ps??r.remarks??r.remark??`VMess ${n}:${i}`,type:"vmess",server:n,port:i,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(r.scy)?r.scy:"auto",uuid:r.id,alterId:parseInt(ou(r.aid??r.alterId,0),10),tls:["tls",!0,1,"1"].includes(r.tls),"skip-cert-verify":au(r.verify_cert)?!r.verify_cert:void 0};!s["skip-cert-verify"]&&au(r.allowInsecure)&&(s["skip-cert-verify"]=/(TRUE)|1/i.test(r.allowInsecure)),s.tls&&(r.sni&&r.sni!==""?s.sni=r.sni:r.peer&&r.peer!==""&&(s.sni=r.peer));let o=!1;if(r.net==="ws"||r.obfs==="websocket"?s.network="ws":["http"].includes(r.net)||["http"].includes(r.obfs)||["http"].includes(r.type)?s.network="http":["grpc","kcp","quic"].includes(r.net)?s.network=r.net:r.net==="httpupgrade"||s.network==="httpupgrade"?(s.network="ws",o=!0):(r.net==="h2"||s.network==="h2")&&(s.network="h2"),s.network){let u=r.host??r.obfsParam;try{let p=JSON.parse(u)?.Host;p&&(u=p)}catch{}let A=r.path;if(["ws"].includes(s.network)&&(A=A||"/"),s.network==="http"&&(u&&(u=u.split(",").map(p=>p.trim()),u=Array.isArray(u)?u[0]:u),A?A=Array.isArray(A)?A[0]:A:A="/"),A||u||["kcp","quic"].includes(s.network))if(["grpc"].includes(s.network))s[`${s.network}-opts`]={"grpc-service-name":Ut(A),"_grpc-type":Ut(r.type),"_grpc-authority":Ut(r.authority)};else if(["kcp","quic"].includes(s.network))s[`${s.network}-opts`]={[`_${s.network}-type`]:Ut(r.type),[`_${s.network}-host`]:Ut(Ut(u)),[`_${s.network}-path`]:Ut(A)};else{let p={path:Ut(A),headers:{Host:Ut(u)}};o&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),s[`${s.network}-opts`]=p}else delete s.network}return s["client-fingerprint"]=r.fp,s.alpn=r.alpn?r.alpn.split(","):void 0,s}}}}function hR(){return{name:"URI VLESS Parser",test:e=>/^vless:\/\//.test(e),parse:e=>{e=e.split("vless://")[1];let t,r=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(e);if(!r){let[w,C,F]=/^(.*?)(\?.*?$)/.exec(e);e=`${vt.decode(C)}${F}`,r=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(e),t=!0}let[n,i,s,o,u,A="",p]=r;t&&(i=i.replace(/^.*?:/g,"")),o=parseInt(`${o}`,10),i=decodeURIComponent(i),p!=null&&(p=decodeURIComponent(p));let f={type:"vless",name:p,server:s,port:o,uuid:i},c={};for(let w of A.split("&")){let[C,F]=w.split("="),P=F;P=decodeURIComponent(F),c[C]=P}if(f.name=p??c.remarks??c.remark??`VLESS ${s}:${o}`,f.tls=c.security&&c.security!=="none",t&&/TRUE|1/i.test(c.tls)&&(f.tls=!0,c.security=c.security??"reality"),f.sni=c.sni||c.peer,f.flow=c.flow,!f.flow&&t&&c.xtls){let w=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][c.xtls];w&&(f.flow=w)}if(f["client-fingerprint"]=c.fp,f.alpn=c.alpn?c.alpn.split(","):void 0,f["skip-cert-verify"]=/(TRUE)|1/i.test(c.allowInsecure),["reality"].includes(c.security)){let w={};c.pbk&&(w["public-key"]=c.pbk),c.sid&&(w["short-id"]=c.sid),c.spx&&(w["_spider-x"]=c.spx),Object.keys(w).length>0&&(f[`${c.security}-opts`]=w)}let m=!1;if(f.network=c.type,f.network==="tcp"&&c.headerType==="http"?f.network="http":f.network==="httpupgrade"&&(f.network="ws",m=!0),!f.network&&t&&c.obfs&&(f.network=c.obfs,["none"].includes(f.network)&&(f.network="tcp")),["websocket"].includes(f.network)&&(f.network="ws"),f.network&&!["tcp","none"].includes(f.network)){let w={},C=c.host??c.obfsParam;if(C)if(c.obfsParam)try{let F=JSON.parse(C);w.headers=F}catch{w.headers={Host:C}}else w.headers={Host:C};c.serviceName?(w[`${f.network}-service-name`]=c.serviceName,["grpc"].includes(f.network)&&c.authority&&(w["_grpc-authority"]=c.authority)):t&&c.path&&(["ws","http","h2"].includes(f.network)||(w[`${f.network}-service-name`]=c.path,delete c.path)),c.path&&(w.path=c.path),["grpc"].includes(f.network)&&(w["_grpc-type"]=c.mode||"gun"),m&&(w["v2ray-http-upgrade"]=!0,w["v2ray-http-upgrade-fast-open"]=!0),Object.keys(w).length>0&&(f[`${f.network}-opts`]=w),f.network==="kcp"&&(c.seed&&(f.seed=c.seed),f.headerType=c.headerType||"none"),c.mode&&(f._mode=c.mode),c.extra&&(f._extra=c.extra)}return f}}}function pR(){return{name:"URI AnyTLS Parser",test:e=>/^anytls:\/\//.test(e),parse:e=>{e=e.split(/anytls:\/\//)[1];let[t,r,n,i,s="",o]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(e);r=decodeURIComponent(r),i=parseInt(`${i}`,10),isNaN(i)&&(i=443),r=decodeURIComponent(r),o!=null&&(o=decodeURIComponent(o)),o=o??`AnyTLS ${n}:${i}`;let u={type:"anytls",name:o,server:n,port:i,password:r};for(let A of s.split("&")){let[p,f]=A.split("=");p=p.replace(/_/g,"-"),f=decodeURIComponent(f),["alpn"].includes(p)?u[p]=f?f.split(","):void 0:["insecure"].includes(p)?u["skip-cert-verify"]=/(TRUE)|1/i.test(f):["udp"].includes(p)?u[p]=/(TRUE)|1/i.test(f):u[p]=f}return u}}}function dR(){return{name:"URI Hysteria2 Parser",test:e=>/^(hysteria2|hy2):\/\//.test(e),parse:e=>{e=e.split(/(hysteria2|hy2):\/\//)[2];let t,[r,n,i,s,o,u,A,p,f,c,m="",w]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(e);/^\d+$/.test(o)?(o=parseInt(`${o}`,10),isNaN(o)&&(o=443)):o?(t=o,o=Nc(t)):o=443,n=decodeURIComponent(n),w!=null&&(w=decodeURIComponent(w)),w=w??`Hysteria2 ${i}:${o}`;let C={type:"hysteria2",name:w,server:i,port:o,ports:t,password:n},F={};for(let re of m.split("&")){let[se,ge]=re.split("="),oe=ge;oe=decodeURIComponent(ge),F[se]=oe}C.sni=F.sni,!C.sni&&F.peer&&(C.sni=F.peer),F.obfs&&F.obfs!=="none"&&(C.obfs=F.obfs),F.mport&&(C.ports=F.mport),C["obfs-password"]=F["obfs-password"],C["skip-cert-verify"]=/(TRUE)|1/i.test(F.insecure),C.tfo=/(TRUE)|1/i.test(F.fastopen),C["tls-fingerprint"]=F.pinSHA256;let P=F["hop-interval"]||F.hop_interval;/^\d+$/.test(P)&&(C["hop-interval"]=parseInt(`${P}`,10));let j=F.keepalive;return/^\d+$/.test(j)&&(C.keepalive=parseInt(`${j}`,10)),C}}}function gR(){return{name:"URI Hysteria Parser",test:e=>/^(hysteria|hy):\/\//.test(e),parse:e=>{e=e.split(/(hysteria|hy):\/\//)[2];let[t,r,n,i,s,o="",u]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(e);i=parseInt(`${i}`,10),isNaN(i)&&(i=443),u!=null&&(u=decodeURIComponent(u)),u=u??`Hysteria ${r}:${i}`;let A={type:"hysteria",name:u,server:r,port:i},p={};for(let f of o.split("&")){let[c,m]=f.split("=");c=c.replace(/_/,"-"),m=decodeURIComponent(m),["alpn"].includes(c)?A[c]=m?m.split(","):void 0:["insecure"].includes(c)?A["skip-cert-verify"]=/(TRUE)|1/i.test(m):["auth"].includes(c)?A["auth-str"]=m:["mport"].includes(c)?A.ports=m:["obfsParam"].includes(c)?A.obfs=m:["upmbps"].includes(c)?A.up=m:["downmbps"].includes(c)?A.down=m:["obfs"].includes(c)?A._obfs=m||"":["fast-open","peer"].includes(c)?p[c]=m:A[c]=m}return!A.sni&&p.peer&&(A.sni=p.peer),!A["fast-open"]&&p.fastopen&&(A["fast-open"]=!0),A.protocol||(A.protocol="udp"),A}}}function mR(){return{name:"URI TUIC Parser",test:e=>/^tuic:\/\//.test(e),parse:e=>{e=e.split(/tuic:\/\//)[1];let[t,r,n,i,s="",o]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(e);r=decodeURIComponent(r);let[u,...A]=r.split(":"),p=A.join(":");i=parseInt(`${i}`,10),isNaN(i)&&(i=443),p=decodeURIComponent(p),o!=null&&(o=decodeURIComponent(o)),o=o??`TUIC ${n}:${i}`;let f={type:"tuic",name:o,server:n,port:i,password:p,uuid:u};for(let c of s.split("&")){let[m,w]=c.split("=");m=m.replace(/_/g,"-"),w=decodeURIComponent(w),["alpn"].includes(m)?f[m]=w?w.split(","):void 0:["allow-insecure"].includes(m)?f["skip-cert-verify"]=/(TRUE)|1/i.test(w):["fast-open"].includes(m)?f.tfo=!0:["disable-sni","reduce-rtt"].includes(m)?f[m]=/(TRUE)|1/i.test(w):m==="congestion-control"?(f["congestion-controller"]=w,delete f[m]):f[m]=w}return f}}}function vR(){return{name:"URI WireGuard Parser",test:e=>/^(wireguard|wg):\/\//.test(e),parse:e=>{e=e.split(/(wireguard|wg):\/\//)[2];let[t,r,n,i,s,o,u,A="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(e);o=parseInt(`${o}`,10),isNaN(o)&&(o=51820),n=decodeURIComponent(n),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${i}:${o}`;let f={type:"wireguard",name:p,server:i,port:o,"private-key":n,udp:!0};for(let c of A.split("&")){let[m,w]=c.split("=");if(m=m.replace(/_/,"-"),w=decodeURIComponent(w),["reserved"].includes(m)){let C=w.split(",").map(F=>parseInt(F.trim(),10)).filter(F=>Number.isInteger(F));C.length===3&&(f[m]=C)}else if(["address","ip"].includes(m))w.split(",").map(C=>{let F=C.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");vr(F)?f.ip=F:ur(F)&&(f.ipv6=F)});else if(["mtu"].includes(m)){let C=parseInt(w.trim(),10);Number.isInteger(C)&&(f[m]=C)}else/publickey/i.test(m)?f["public-key"]=w:/privatekey/i.test(m)?f["private-key"]=w:["udp"].includes(m)?f[m]=/(TRUE)|1/i.test(w):["flag"].includes(m)||(f[m]=w)}return f}}}function ER(){return{name:"URI Trojan Parser",test:e=>/^trojan:\/\//.test(e),parse:e=>{let t=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(e);t?.[2]||(e=e.replace(t[1],`${t[1]}:443`));let[r,n]=e.split(/#(.+)/,2),i=W0().parse(r);if(Hi(n))try{i.name=decodeURIComponent(n)}catch(s){console.log(s)}return i}}}function wR(){return{name:"Clash Parser",test:e=>{try{JSON.parse(e)}catch{return!1}return!0},parse:e=>{let t=JSON.parse(e);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(t.type))throw new Error(`Clash does not support proxy with type: ${t.type}`);return["vmess","vless"].includes(t.type)&&(t.sni=t.servername,delete t.servername),t["server-cert-fingerprint"]&&(t["tls-fingerprint"]=t["server-cert-fingerprint"]),t.fingerprint&&(t["tls-fingerprint"]=t.fingerprint),t["dialer-proxy"]&&(t["underlying-proxy"]=t["dialer-proxy"]),t["benchmark-url"]&&(t["test-url"]=t["benchmark-url"]),t["benchmark-timeout"]&&(t["test-timeout"]=t["benchmark-timeout"]),t}}}function AR(){return{name:"QX SS Parser",test:e=>/^shadowsocks\s*=/.test(e.split(",")[0].trim())&&e.indexOf("ssr-protocol")===-1,parse:e=>qs().parse(e)}}function yR(){return{name:"QX SSR Parser",test:e=>/^shadowsocks\s*=/.test(e.split(",")[0].trim())&&e.indexOf("ssr-protocol")!==-1,parse:e=>qs().parse(e)}}function SR(){return{name:"QX VMess Parser",test:e=>/^vmess\s*=/.test(e.split(",")[0].trim()),parse:e=>qs().parse(e)}}function bR(){return{name:"QX VLESS Parser",test:e=>/^vless\s*=/.test(e.split(",")[0].trim()),parse:e=>qs().parse(e)}}function CR(){return{name:"QX Trojan Parser",test:e=>/^trojan\s*=/.test(e.split(",")[0].trim()),parse:e=>qs().parse(e)}}function _R(){return{name:"QX HTTP Parser",test:e=>/^http\s*=/.test(e.split(",")[0].trim()),parse:e=>qs().parse(e)}}function FR(){return{name:"QX Socks5 Parser",test:e=>/^socks5\s*=/.test(e.split(",")[0].trim()),parse:e=>qs().parse(e)}}function IR(){return{name:"Loon SS Parser",test:e=>e.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:e=>ts().parse(e)}}function $R(){return{name:"Loon SSR Parser",test:e=>e.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:e=>ts().parse(e)}}function DR(){return{name:"Loon VMess Parser",test:e=>/^.*=\s*vmess/i.test(e.split(",")[0])&&e.indexOf("username")===-1,parse:e=>ts().parse(e)}}function BR(){return{name:"Loon Vless Parser",test:e=>/^.*=\s*vless/i.test(e.split(",")[0]),parse:e=>ts().parse(e)}}function RR(){return{name:"Loon Trojan Parser",test:e=>/^.*=\s*trojan/i.test(e.split(",")[0]),parse:e=>ts().parse(e)}}function PR(){return{name:"Loon Hysteria2 Parser",test:e=>/^.*=\s*Hysteria2/i.test(e.split(",")[0]),parse:e=>ts().parse(e)}}function TR(){return{name:"Loon HTTP Parser",test:e=>/^.*=\s*http/i.test(e.split(",")[0]),parse:e=>ts().parse(e)}}function OR(){return{name:"Loon SOCKS5 Parser",test:e=>/^.*=\s*socks5/i.test(e.split(",")[0]),parse:e=>ts().parse(e)}}function NR(){return{name:"Loon WireGuard Parser",test:e=>/^.*=\s*wireguard/i.test(e.split(",")[0]),parse:e=>{let t=e.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];e=e.replace(t,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let r=e.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],n=r.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),i=n?.[2],s=parseInt(n?.[3],10),o=e.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];o&&(o=parseInt(o,10));let u=e.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];u&&(u=parseInt(u,10));let A=r.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];A&&(A=JSON.parse(A));let p,f=e.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],c=e.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(f||c)&&(p=[],f&&p.push(f),c&&p.push(c));let m=r.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(re=>re.trim()),w=r.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],C=e.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],F=e.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],P=r.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],j={type:"wireguard",name:t,server:i,port:s,ip:C,ipv6:F,"private-key":e.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":P,mtu:o,keepalive:u,reserved:A,"allowed-ips":m,"preshared-key":w,dns:p,udp:!0,peers:[{server:i,port:s,ip:C,ipv6:F,"public-key":P,"pre-shared-key":w,"allowed-ips":m,reserved:A}]};return Array.isArray(j.dns)&&j.dns.length>0&&(j["remote-dns-resolve"]=!0),j}}}function xR(){return{name:"Surge Direct Parser",test:e=>/^.*=\s*direct/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function kR(){return{name:"Surge SSH Parser",test:e=>/^.*=\s*ssh/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function LR(){return{name:"Surge SS Parser",test:e=>/^.*=\s*ss/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function UR(){return{name:"Surge VMess Parser",test:e=>/^.*=\s*vmess/.test(e.split(",")[0])&&e.indexOf("username")!==-1,parse:e=>Jn().parse(e)}}function HR(){return{name:"Surge Trojan Parser",test:e=>/^.*=\s*trojan/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function jR(){return{name:"Surge HTTP Parser",test:e=>/^.*=\s*https?/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function MR(){return{name:"Surge Socks5 Parser",test:e=>/^.*=\s*socks5(-tls)?/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function qR(){return{name:"Surge External Parser",test:e=>/^.*=\s*external/.test(e.split(",")[0]),parse:e=>{let t=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(e),[r,n,i]=t;e=i;let s=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(e)?.[2];s||(s=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(e)?.[2]);let o=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(e)?.[2];o||(o=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(e)?.[2]);let u=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,p=[];for(;(A=u.exec(e))!==null;)A[3]!=null?p.push(A[3]):A[4]!=null&&p.push(A[4]);let f=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,c,m=[];for(;(c=f.exec(e))!==null;){let w;c[3]!=null?w=c[3]:c[4]!=null&&(w=c[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),YR(w)&&m.push(w)}return{type:"external",name:n,exec:s,"local-port":o,args:p,addresses:m}}}}function KR(){return{name:"Surge Snell Parser",test:e=>/^.*=\s*snell/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function VR(){return{name:"Surge Tuic Parser",test:e=>/^.*=\s*tuic(-v5)?/.test(e.split(",")[0]),parse:e=>{let{port_hopping:t,line:r}=dA(e),n=Jn().parse(r);return n.ports=t,n}}}function GR(){return{name:"Surge WireGuard Parser",test:e=>/^.*=\s*wireguard/.test(e.split(",")[0]),parse:e=>Jn().parse(e)}}function zR(){return{name:"Surge Hysteria2 Parser",test:e=>/^.*=\s*hysteria2/.test(e.split(",")[0]),parse:e=>{let{port_hopping:t,line:r}=dA(e),n=Jn().parse(r);return n.ports=t,n}}}function YR(e){return vr(e)||ur(e)}var gA=[oR(),uR(),cR(),lR(),fR(),hR(),mR(),vR(),gR(),dR(),ER(),pR(),wR(),xR(),kR(),LR(),UR(),HR(),jR(),KR(),VR(),GR(),zR(),MR(),qR(),IR(),$R(),DR(),BR(),PR(),RR(),TR(),OR(),NR(),AR(),yR(),SR(),bR(),CR(),_R(),FR()],di=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=Ir(),{defaultProxy,defaultTimeout:timeout}=I.read(Ft),proxy=defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=wi({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=wi({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);I.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((s,o)=>(s[o.path]=o,s),{}));let n=[],i={...t.files};return Object.keys(r).map(s=>{i[s]?r[s].content==null||r[s].content===""?(delete i[s],n.push({action:"delete",file_path:s})):(i[s]=r[s],n.push({action:"update",file_path:s,content:r[s].content})):r[s].content==null||r[s].content===""?(delete i[s],delete r[s]):(i[s]=r[s],n.push({action:"create",file_path:s,content:r[s].content}))}),this.syncPlatform==="gitlab"?Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(i).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[i,s])=>(s.content!==null&&s.content!==""&&(n[i]=s),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(i=>JSON.parse(i.body)),n=r[e].raw_url;return await this.http.get(n).then(i=>i.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};function WR(e){for(let t of Uf)try{if(t.test(e))return I.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){I.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function XR(e){e=WR(e);let t=e.split(` +`),r=[],n;for(let i of t){if(i=i.trim(),i.length===0)continue;let s=!1;if(n){let[o,u]=mA(n,i);u||(r.push(EA(o)),s=!0)}if(!s)for(let o of gA){let[u,A]=mA(o,i);if(!A){r.push(EA(u)),n=o,s=!0,I.info(`${o.name} is activated`);break}}s||I.error(`Failed to parse line: ${i}`)}return r.filter(i=>(["vless","vmess"].includes(i.type)&&(bf(i.uuid)||I.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0))}async function JR(e,t=[],r,n,i){for(let s of t){if(s.disabled){I.log(`Skipping disabled operator: "${s.type}" with arguments: + >>> ${JSON.stringify(s.args,null,2)||"None"}`);continue}let o,u={};if(s.type.indexOf("Script")!==-1){let{mode:p,content:f}=s.args;if(p==="link"){let c=f||"",m=c.split("#");if(m.length>1)try{u=JSON.parse(decodeURIComponent(m[1]))}catch{for(let C of m[1].split("&")){let F=C.split("=")[0],P=C.split("=")[1];u[F]=P==null||P===""?!0:decodeURIComponent(P)}}c=`${c.split("#")[0]}${m[2]?`#${m[2]}`:u?.noCache!=null||u?.insecure!=null?`#${m[1]}`:""}`;let w=c.match(/^\/api\/(file|module)\/(.+)/);if(w){let C="";try{C=w?.[1];let F=w?.[2];if(F==null)throw new Error(`\u672C\u5730 ${C} URL \u65E0\u6548: ${c}`);F=decodeURIComponent(F);let P=C==="module"?Cn:yt,j=tt(I.read(P),F);if(!j)throw new Error(`\u627E\u4E0D\u5230 ${C}: ${F}`);C==="module"?o=j.content:o=await Qr({type:"file",name:F})}catch(F){throw I.error(`Error when loading ${C}: ${s.args.content}. + Reason: ${F}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${C}: ${c}`)}}else try{o=await wr(c)}catch(C){throw I.error(`Error when downloading remote script: ${s.args.content}. + Reason: ${C}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${c}`)}}else o=f,u=s.args.arguments||{}}if(!fh[s.type]){I.error(`Unknown operator: "${s.type}"`);continue}I.log(`Applying "${s.type}" with arguments: + >>> ${JSON.stringify(s.args,null,2)||"None"}`);let A;s.type.indexOf("Script")!==-1?A=fh[s.type](o,r,u,n,i):A=fh[s.type](s.args||{}),e=await ZE(A,e)}return e}function ZR(e,t,r,n={}){let i=mh[t];if(!i)throw new Error(`Target platform: ${t} is not supported!`);let s=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(o=>o.supported&&o.supported[t]===!1?!1:(["vless","vmess"].includes(o.type)&&(bf(o.uuid)||I.error(`UUID may be invalid: ${o.name} ${o.uuid}`)),!0)),e=e.map(o=>(o._resolved=o.resolved,Hi(o.name)||(o.name=`${o.type} ${o.server}:${o.port}`),o["disable-sni"]&&(s?o.sni="off":["tuic"].includes(o.type)||(I.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),o.sni="",o["skip-cert-verify"]=!0,delete o["tls-fingerprint"])),o.ports&&(o.ports=String(o.ports),["ClashMeta"].includes(t)||(o.ports=o.ports.replace(/\//g,",")),o.port||(o.port=Nc(o.ports))),o)),I.log(`Producing proxies for target: ${t}`),typeof i.type>"u"||i.type==="SINGLE"){let o=e.map(u=>{try{return i.produce(u,r,n)}catch(A){return I.error(`Cannot produce proxy: ${JSON.stringify(u,null,2)} +Reason: ${A}`),""}}).filter(u=>u.length>0);return o=r==="internal"?o:o.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(u=>u.type==="wireguard")&&(o=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${o}`),o}else if(i.type==="ALL")return i.produce(e,r,n)}var At={parse:XR,process:JR,produce:ZR,ipAddress:Sf,getRandomPort:Nc,isIPv4:vr,isIPv6:ur,isIP:X0,yaml:co,getFlag:Ru,removeFlag:el,getISO:sh,MMDB:ih,Gist:di,download:wr,downloadFile:Gc,isValidUUID:bf,doh:Tu,Buffer:_h.Buffer,Base64:vt};function mA(e,t){if(!QR(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function QR(e,t){try{return e.test(t)}catch{return!1}}function vA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function EA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=Fm(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),_m(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>vA(n)):t!=null&&(e[`${e.network}-opts`].path=vA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,i=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!i&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):i&&!n&&(e[`${e.network}-opts`].headers.Host=i,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,i=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(i)&&(e["h2-opts"].path=i[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!X0(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;i&&!Array.isArray(i)&&(e[`${e.network}-opts`].headers.Host=[i]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(X0(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=_h.Buffer.from(e.name.data).toString("utf8"):e.name=_h.Buffer.from(e.name).toString("utf8")}catch(n){I.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{I.env.isNode&&!r&&e._ca&&(r=I.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){I.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=PE.generateFingerprint(r)),["ss"].includes(e.type)&&ae(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function X0(e){return vr(e)||ur(e)}function eP(){return{name:"HTML",test:e=>/^/.test(e),parse:()=>""}}function tP(){return{name:"Clash Provider",test:e=>/^payload:/gm.exec(e).index>=0,parse:e=>e.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var wA=[eP(),tP()];function rP(){return{type:"SINGLE",func:e=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(e.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[e.type]||e.type},${e.content},SUB-STORE`}}function AA(){return{type:"SINGLE",func:e=>{if(["GEOSITE","GEOIP"].indexOf(e.type)!==-1)return null;let t=`${e.type},${e.content}`;return["IP-CIDR","IP-CIDR6"].includes(e.type)&&(t+=e.options?.length>0?`,${e.options.join(",")}`:""),t}}}function nP(){return{type:"SINGLE",func:e=>["SRC-IP","GEOSITE","GEOIP"].indexOf(e.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(e.type)&&e.options&&(e.options=e.options.filter(t=>["no-resolve"].includes(t))),AA().func(e))}}function iP(){return{type:"ALL",func:e=>{let t={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},r={payload:e.map(n=>{let i=`${t[n.type]||n.type},${n.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(n.type)&&(n.options&&(n.options=n.options.filter(s=>["no-resolve"].includes(s))),i+=n.options?.length>0?`,${n.options.join(",")}`:""),i})};return co.dump(r)}}}var yA={QX:rP(),Surge:AA(),Loon:nP(),Clash:iP()},sP=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function aP(){return{name:"Universal Rule Parser",test:()=>!0,parse:e=>{let t=e.split(` +`),r=[];for(let n of t)if(n=n.trim(),n.length!==0&&!/\s*#/.test(n))try{let i=n.split(",").map(u=>u.trim()),s=i[0],o=!1;for(let u of sP)if(u[0].test(s)){o=!0;let A={type:u[1],content:i[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(A.type)&&(A.options=i.slice(2)),r.push(A)}if(!o)throw new Error("Invalid rule type: "+s)}catch(i){console.log(`Failed to parse line: ${n} + Reason: ${i}`)}return r}}}var SA=[aP()],wo=function(){function e(n){for(let i of wA)try{if(i.test(n))return I.info(`Pre-processor [${i.name}] activated`),i.parse(n)}catch(s){I.error(`Parser [${i.name}] failed + Reason: ${s}`)}return n}function t(n){n=e(n);for(let i of SA){let s;try{s=i.test(n)}catch{s=!1}if(s)return I.info(`Rule parser [${i.name}] is activated!`),i.parse(n)}}function r(n,i){let s=yA[i];if(!s)throw new Error(`Target platform: ${i} is not supported!`);if(typeof s.type>"u"||s.type==="SINGLE")return n.map(o=>{try{return s.func(o)}catch(u){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(o)} +Reason: ${u}`),""}}).filter(o=>o.length>0).join(` +`);if(s.type==="ALL")return s.func(n)}return{parse:t,produce:r}}();function J0(e){I.read(ht)||I.write({},ht),e.get("/api/artifacts/restore",oP),e.route("/api/artifacts").get(uP).post(fP).put(cP),e.route("/api/artifact/:name").get(lP).patch(hP).delete(pP)}async function oP(e,t){I.info("\u5F00\u59CB\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E...");try{let{gistToken:r,syncPlatform:n}=I.read(Ft);if(!r)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=new di({token:r,key:Ya,syncPlatform:n});try{let s=await i.locate();if(!s?.files)throw new Error("\u627E\u4E0D\u5230 Sub-Store Gist \u6587\u4EF6\u5217\u8868");let o=I.read(ht),u=[];Object.keys(s.files).map(A=>{let p=s.files[A]?.filename;if(p)if(encodeURIComponent(p)!==p)I.error(`\u6587\u4EF6\u540D ${p} \u672A\u7F16\u7801 \u4E0D\u4FDD\u5B58`),u.push(p);else{let f=tt(o,p);f?yi(o,p,{...f,url:s.files[A]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")}):o.push({name:`${p}`,url:s.files[A]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")})}}),I.write(o,ht)}catch(s){throw I.error(`\u67E5\u627E Sub-Store Gist \u65F6\u53D1\u751F\u9519\u8BEF: ${s.message??s}`),s}xe(t)}catch(r){I.error(`\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),Pe(t,new Mt("FAILED_TO_RESTORE_ARTIFACTS","Failed to restore artifacts",`Reason: ${r.message??r}`))}}function uP(e,t){let r=I.read(ht);xe(t,r)}function cP(e,t){let r=e.body;I.write(r,ht),xe(t)}async function lP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=I.read(ht),i=tt(n,r);i?xe(t,i):Pe(t,new Vt("RESOURCE_NOT_FOUND",`Artifact ${r} does not exist!`),404)}function fP(e,t){let r=e.body;if(!bA(r.name)){Pe(t,new wt("INVALID_ARTIFACT_NAME",`Artifact name ${r.name} is invalid.`));return}I.info(`\u6B63\u5728\u521B\u5EFA\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r.name}`);let n=I.read(ht);tt(n,r.name)?Pe(t,new wt("DUPLICATE_KEY",`Artifact ${r.name} already exists.`)):(n.push(r),I.write(n,ht),xe(t,r,201))}function hP(e,t){let r=I.read(ht),n=e.params.name;n=decodeURIComponent(n);let i=tt(r,n);if(i){I.info(`\u6B63\u5728\u66F4\u65B0\u8FDC\u7A0B\u914D\u7F6E\uFF1A${i.name}`);let s={...i,...e.body};if(!bA(s.name)){Pe(t,new wt("INVALID_ARTIFACT_NAME",`Artifact name ${s.name} is invalid.`));return}yi(r,n,s),I.write(r,ht),xe(t,s)}else Pe(t,new wt("DUPLICATE_KEY",`Artifact ${n} already exists.`))}async function pP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}`);let n=I.read(ht);try{let i=tt(n,r);if(!i)throw new Error(`\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\u4E0D\u5B58\u5728\uFF01`);if(i.updated){let s={};s[encodeURIComponent(i.name)]={content:""},encodeURIComponent(i.name)!==i.name&&(s[i.name]={content:""});try{await Fh(s)}catch(o){I.error(`Function syncToGist: ${r} : ${o}`)}}oi(n,r),I.write(n,ht),xe(t)}catch(i){I.error(`\u65E0\u6CD5\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\uFF0C\u539F\u56E0\uFF1A${i}`),Pe(t,new Mt("FAILED_TO_DELETE_ARTIFACT",`Failed to delete artifact ${r}`,`Reason: ${i}`))}}function bA(e){return/^[a-zA-Z0-9._-]*$/.test(e)}async function Fh(e){let{gistToken:t,syncPlatform:r}=I.read(Ft);if(!t)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let n=await new di({token:t,key:Ya,syncPlatform:r}).upload(e),i={};try{i=JSON.parse(n.body)}catch{}let s=i?.html_url??i?.web_url,o=I.read(Ft);return s?(I.log(`\u540C\u6B65 Gist \u540E, \u627E\u5230 Sub-Store Gist: ${s}`),o.artifactStore=s,o.artifactStoreStatus="VALID"):(I.error("\u540C\u6B65 Gist \u540E, \u627E\u4E0D\u5230 Sub-Store Gist"),o.artifactStoreStatus="NOT FOUND"),I.write(o,Ft),n}function Z0(e){I.read(ht)||I.write({},ht),e.get("/api/sync/artifacts",dP),e.get("/api/sync/artifact/:name",gP)}async function Qr({type:e,name:t,platform:r,url:n,ua:i,content:s,mergeSources:o,ignoreFailedRemoteSub:u,ignoreFailedRemoteFile:A,produceType:p,produceOpts:f={},subscription:c,awaitCustomCache:m,$options:w,proxy:C,noCache:F,all:P}){if(r=r||"JSON",["subscription","sub"].includes(e)){let j;if(t){let oe=I.read(Dt);if(j=tt(oe,t),!j)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(c)j=c;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let re;if(s&&!["localFirst","remoteFirst"].includes(o))re=s;else if(n){let oe={};re=await Promise.all(n.split(/[\r\n]+/).map(fe=>fe.trim()).filter(fe=>fe.length).map(async fe=>{try{return await wr(fe,i||j.ua,void 0,C||j.proxy,void 0,m,F||j.noCache,!0)}catch(Ie){return oe[fe]=Ie,I.error(`\u8BA2\u9605 ${j.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${fe} \u53D1\u751F\u9519\u8BEF: ${Ie}`),""}}));let be=j.ignoreFailedRemoteSub;if(u!=null&&u!==""&&(be=u),Object.keys(oe).length>0)if(be)be==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${j.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(oe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${j.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(oe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);o==="localFirst"?re.unshift(s):o==="remoteFirst"&&re.push(s)}else if(j.source==="local"&&!["localFirst","remoteFirst"].includes(j.mergeSources))re=j.content;else{let oe={};re=await Promise.all(j.url.split(/[\r\n]+/).map(fe=>fe.trim()).filter(fe=>fe.length).map(async fe=>{try{return await wr(fe,i||j.ua,void 0,C||j.proxy,void 0,m,F||j.noCache,!0)}catch(Ie){return oe[fe]=Ie,I.error(`\u8BA2\u9605 ${j.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${fe} \u53D1\u751F\u9519\u8BEF: ${Ie}`),""}}));let be=j.ignoreFailedRemoteSub;if(u!=null&&u!==""&&(be=u),Object.keys(oe).length>0)if(be)be==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${j.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(oe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${j.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(oe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);j.mergeSources==="localFirst"?re.unshift(j.content):j.mergeSources==="remoteFirst"&&re.push(j.content)}if(p==="raw")return JSON.stringify((Array.isArray(re)?re:[re]).flat());let se=(Array.isArray(re)?re:[re]).map(oe=>At.parse(oe)).flat();if(se.forEach(oe=>{oe._subName=j.name,oe._subDisplayName=j.displayName}),se=await At.process(se,j.process||[],r,{[j.name]:j},w),se.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let ge={};for(let oe of se){if(ge[oe.name]){I.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${oe.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}ge[oe.name]=!0}return At.produce(se,r,p,f)}else if(["collection","col"].includes(e)){let j=I.read(Dt),re=I.read(Bt),se=tt(re,t);if(!se)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let ge=[...se.subscriptions],oe=se.subscriptionTags;Array.isArray(oe)&&oe.length>0&&j.forEach(Ue=>{Array.isArray(Ue.tag)&&Ue.tag.length>0&&!ge.includes(Ue.name)&&Ue.tag.some(Oe=>oe.includes(Oe))&&ge.push(Ue.name)});let be={},fe={},Ie=0;await Promise.all(ge.map(async Ue=>{let Oe=tt(j,Ue),ct=Oe.passThroughUA,Re=Oe.ua;ct&&(I.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${i}`),Re=i);try{I.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${Oe.name}...`);let Qe;if(Oe.source==="local"&&!["localFirst","remoteFirst"].includes(Oe.mergeSources))Qe=Oe.content;else{let kt={};if(Qe=await await Promise.all(Oe.url.split(/[\r\n]+/).map(st=>st.trim()).filter(st=>st.length).map(async st=>{try{return await wr(st,Re,void 0,C||Oe.proxy||se.proxy,void 0,void 0,F||Oe.noCache,!0)}catch(We){return kt[st]=We,I.error(`\u8BA2\u9605 ${Oe.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${st} \u53D1\u751F\u9519\u8BEF: ${We}`),""}})),Object.keys(kt).length>0)if(Oe.ignoreFailedRemoteSub)Oe.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${Oe.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(kt).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${Oe.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(kt).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);Oe.mergeSources==="localFirst"?Qe.unshift(Oe.content):Oe.mergeSources==="remoteFirst"&&Qe.push(Oe.content)}let ze=(Array.isArray(Qe)?Qe:[Qe]).map(kt=>At.parse(kt)).flat();ze.forEach(kt=>{kt._subName=Oe.name,kt._subDisplayName=Oe.displayName,kt._collectionName=se.name,kt._collectionDisplayName=se.displayName}),ze=await At.process(ze,Oe.process||[],r,{[Oe.name]:Oe,_collection:se,$options:w}),be[Ue]=ze,Ie++,I.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${Oe.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(Ie/ge.length).toFixed(1)}% `)}catch(Qe){Ie++,fe[Ue]=Qe,I.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${Oe.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${Qe}\uFF01\u8FDB\u5EA6--${100*(Ie/ge.length).toFixed(1)}%`)}}));let $e=se.ignoreFailedRemoteSub;if(u!=null&&u!==""&&($e=u),Object.keys(fe).length>0)if($e)$e==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${se.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(fe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${se.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(fe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let Ve=Array.prototype.concat.apply([],ge.map(Ue=>be[Ue]||[]));if(Ve.forEach(Ue=>{Ue._collectionName=se.name,Ue._collectionDisplayName=se.displayName}),Ve=await At.process(Ve,se.process||[],r,{_collection:se},w),Ve.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let Ae={};for(let Ue of Ve){if(Ae[Ue.name]){I.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${Ue.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}Ae[Ue.name]=!0}return At.produce(Ve,r,p,f)}else if(e==="rule"){let j=I.read(Pc),re=tt(j,t);if(!re)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let se=[];for(let ge=0;ge$e.trim()).filter($e=>$e.length).map(async $e=>{try{return await wr($e,i||re.ua,void 0,re.proxy||C,void 0,void 0,F)}catch(Ve){return fe[$e]=Ve,I.error(`\u6587\u4EF6 ${re.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${$e} \u53D1\u751F\u9519\u8BEF: ${Ve}`),""}}));let Ie=re.ignoreFailedRemoteFile;if(A!=null&&A!==""&&(Ie=A),!Ie&&Object.keys(fe).length>0)throw new Error(`\u6587\u4EF6 ${re.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(fe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);o==="localFirst"?se.unshift(s):o==="remoteFirst"&&se.push(s)}else if(re.source==="local"&&!["localFirst","remoteFirst"].includes(re.mergeSources))se=re.content;else{let fe={};se=await Promise.all(re.url.split(/[\r\n]+/).map($e=>$e.trim()).filter($e=>$e.length).map(async $e=>{try{return await wr($e,i||re.ua,void 0,re.proxy||C,void 0,void 0,F)}catch(Ve){return fe[$e]=Ve,I.error(`\u6587\u4EF6 ${re.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${$e} \u53D1\u751F\u9519\u8BEF: ${Ve}`),""}}));let Ie=re.ignoreFailedRemoteFile;if(A!=null&&A!==""&&(Ie=A),Object.keys(fe).length>0)if(Ie)Ie==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${re.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(fe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${re.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(fe).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);re.mergeSources==="localFirst"?se.unshift(re.content):re.mergeSources==="remoteFirst"&&se.push(re.content)}if(p==="raw")return JSON.stringify((Array.isArray(se)?se:[se]).flat());let ge=(Array.isArray(se)?se:[se]).flat(),oe=ge.filter(fe=>fe!=null&&fe!=="").join(` +`),be=Array.isArray(re.process)&&re.process.length>0?await At.process({$files:ge,$content:oe,$options:w,$file:re},re.process):{$content:oe,$files:ge,$options:w};return(P?be:be?.$content)??""}}async function Q0(){I.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");let e=I.read(ht),t={};try{let r=[],n=[],i=I.read(Dt),s=I.read(Bt),o=[],u=0;if(e.map(f=>{if(f.sync&&f.source){if(u++,f.type==="subscription"){let c=f.source,m=tt(i,c);m&&m.url&&!o.includes(c)&&o.push(c)}else if(f.type==="collection"){let c=tt(s,f.source);c&&Array.isArray(c.subscriptions)&&c.subscriptions.map(m=>{let w=tt(i,m);w&&w.url&&!o.includes(m)&&o.push(m)})}}}),u===0){I.info(`\u9700\u540C\u6B65\u7684\u914D\u7F6E: ${u}, \u603B\u6570: ${e.length}`);return}if(o.length>0&&await Promise.all(o.map(async f=>{try{await Qr({type:"subscription",name:f,awaitCustomCache:!0})}catch{}})),await Promise.all(e.map(async f=>{try{if(f.sync&&f.source){I.info(`\u6B63\u5728\u540C\u6B65\u4E91\u914D\u7F6E\uFF1A${f.name}...`);let c=f.platform==="SurgeMac";c&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let m=await Qr({type:f.type,name:f.source,platform:f.platform,produceOpts:{"include-unsupported-proxy":f.includeUnsupportedProxy,useMihomoExternal:c}});t[encodeURIComponent(f.name)]={content:m},r.push(f.name)}}catch(c){I.error(`\u751F\u6210\u540C\u6B65\u914D\u7F6E ${f.name} \u53D1\u751F\u9519\u8BEF: ${c.message??c}`),n.push(f.name)}})),I.info(`${r.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u6210\u529F: ${r.join(", ")}`),I.info(`${n.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u5931\u8D25: ${n.join(", ")}`),r.length===0)throw new Error(`\u540C\u6B65\u914D\u7F6E ${n.join(", ")} \u751F\u6210\u5931\u8D25 \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);let A=await Fh(t),p=JSON.parse(A.body);delete p.history,delete p.forks,delete p.owner,Object.values(p.files).forEach(f=>{delete f.content}),I.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),I.info(JSON.stringify(p,null,2));for(let f of e)if(f.sync&&f.source&&r.includes(f.name)){f.updated=new Date().getTime();let c=p.files,m;Array.isArray(c)&&(m=!0,c=Object.fromEntries(c.map(F=>[F.path,F])));let w=c[encodeURIComponent(f.name)]?.raw_url,C=m?w:w?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");I.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(c).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(f.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${w} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${C}`),f.url=C}if(I.write(e,ht),I.info("\u4E0A\u4F20\u914D\u7F6E\u6210\u529F"),n.length>0)throw new Error(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A, \u5931\u8D25 ${n.length} \u4E2A, \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);I.info(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A`)}catch(r){throw I.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),r}}async function dP(e,t){I.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");try{await Q0(),xe(t)}catch(r){I.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),Pe(t,new Mt("FAILED_TO_SYNC_ARTIFACTS","Failed to sync all artifacts",`Reason: ${r.message??r}`))}}async function gP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u5F00\u59CB\u540C\u6B65\u8FDC\u7A0B\u914D\u7F6E ${r}...`);let n=I.read(ht),i=tt(n,r);if(!i){I.error(`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),404);return}if(!i.source){I.error(`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),Pe(t,new Vt("RESOURCE_HAS_NO_SOURCE",`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),404);return}try{let s=i.platform==="SurgeMac";s&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let o=await Qr({type:i.type,name:i.source,platform:i.platform,produceOpts:{"include-unsupported-proxy":i.includeUnsupportedProxy,useMihomoExternal:s}});I.info(`\u6B63\u5728\u4E0A\u4F20\u914D\u7F6E\uFF1A${i.name} +>>>${JSON.stringify(i,null,2)}`);let u=await Fh({[encodeURIComponent(i.name)]:{content:o}});i.updated=new Date().getTime();let A=JSON.parse(u.body);delete A.history,delete A.forks,delete A.owner,Object.values(A.files).forEach(w=>{delete w.content}),I.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),I.info(JSON.stringify(A,null,2));let p=A.files,f;Array.isArray(p)&&(f=!0,p=Object.fromEntries(p.map(w=>[w.path,w])));let c=p[encodeURIComponent(i.name)]?.raw_url,m=f?c:c?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");I.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(p).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(i.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${c} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${m}`),i.url=m,I.write(n,ht),xe(t,i)}catch(s){I.error(`\u8FDC\u7A0B\u914D\u7F6E ${i.name} \u53D1\u751F\u9519\u8BEF: ${s.message??s}`),Pe(t,new Mt("FAILED_TO_SYNC_ARTIFACT",`Failed to sync artifact ${r}`,`Reason: ${s}`))}}function e1(e){I.read(Ft)||I.write({},Ft),e.route("/api/settings").get(mP).patch(vP)}async function mP(e,t){try{let r=I.read(Ft);r||(r={},I.write(r,Ft)),r.avatarUrl||await Ih(),r.artifactStore||await $h(),xe(t,r)}catch(r){I.error(`Failed to get settings: ${r.message??r}`),Pe(t,new Mt("FAILED_TO_GET_SETTINGS","Failed to get settings",`Reason: ${r.message??r}`))}}async function vP(e,t){try{let r={...I.read(Ft),...e.body};I.write(r,Ft),await Ih(),await $h(),xe(t,r)}catch(r){I.error(`Failed to update settings: ${r.message??r}`),Pe(t,new Mt("FAILED_TO_UPDATE_SETTINGS","Failed to update settings",`Reason: ${r.message??r}`))}}async function Ih(){let e=I.read(Ft),{githubUser:t,syncPlatform:r}=e;if(t)if(r==="gitlab")try{let n=await I.http.get({url:`https://gitlab.com/api/v4/users?username=${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n[0].avatar_url.replace(/(\?|&)s=\d+(&|$)/,"$1s=160$2"),I.write(e,Ft)}catch(n){I.error(`Failed to fetch GitLab avatar for User: ${t}. Reason: ${n.message??n}`)}else try{let n=await I.http.get({url:`https://api.github.com/users/${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n.avatar_url,I.write(e,Ft)}catch(n){I.error(`Failed to fetch GitHub avatar for User: ${t}. Reason: ${n.message??n}`)}}async function $h(){I.log("Updating artifact store");let e=I.read(Ft),{gistToken:t,syncPlatform:r}=e;if(t){let n=new di({token:t,key:Ya,syncPlatform:r});try{let i=await n.locate(),s=i?.html_url??i?.web_url;s?(I.log(`\u627E\u5230 Sub-Store Gist: ${s}`),e.artifactStore=s,e.artifactStoreStatus="VALID"):(I.error(`\u627E\u4E0D\u5230 Sub-Store Gist (${Ya})`),e.artifactStoreStatus="NOT FOUND")}catch(i){I.error(`\u67E5\u627E Sub-Store Gist (${Ya}) \u65F6\u53D1\u751F\u9519\u8BEF: ${i.message??i}`),e.artifactStoreStatus="ERROR"}I.write(e,Ft)}}function t1(e){e.get("/api/utils/env",CA),e.get("/api/utils/backup",wP),e.get("/api/utils/refresh",EP),e.route("/api/storage").get((t,r)=>{r.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_data_${ca(new Date)}.json`)}"`).send(I.env.isNode?JSON.stringify(I.cache):I.read("#sub-store"))}).post((t,r)=>{let{content:n}=t.body;I.write(n,"#sub-store"),I.env.isNode&&(I.cache=JSON.parse(n),I.persistCache()),aa(),xe(r)}),Ir().isNode?e.get("/",CA):e.get("/",async(t,r)=>{r.set("location","https://sub-store.vercel.app/").status(302).end()}),Ir().isQX&&e.options("/",async(t,r)=>{r.status(200).end()}),e.all("/",(t,r)=>{r.send("Hello from sub-store, made with \u2764\uFE0F by Peng-YM")})}function CA(e,t){e.query.share&&(Qi.feature.share=!0),t.set("Content-Type","application/json;charset=UTF-8").send(JSON.stringify({status:"success",data:{guide:"\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F \u60A8\u5F53\u524D\u770B\u5230\u7684\u662F\u540E\u7AEF\u7684\u54CD\u5E94. \u82E5\u60F3\u914D\u5408\u524D\u7AEF\u4F7F\u7528, \u53EF\u8BBF\u95EE\u5B98\u65B9\u524D\u7AEF https://sub-store.vercel.app \u540E\u81EA\u884C\u914D\u7F6E\u540E\u7AEF\u5730\u5740, \u6216\u4E00\u952E\u914D\u7F6E\u540E\u7AEF https://sub-store.vercel.app?api=https://a.com/xxx (\u5047\u8BBE https://a.com \u662F\u4F60\u540E\u7AEF\u7684\u57DF\u540D, /xxx \u662F\u81EA\u5B9A\u4E49\u8DEF\u5F84). \u9700\u6CE8\u610F HTTPS \u524D\u7AEF\u65E0\u6CD5\u8BF7\u6C42\u975E\u672C\u5730\u7684 HTTP \u540E\u7AEF(\u90E8\u5206\u6D4F\u89C8\u5668\u4E0A\u4E5F\u65E0\u6CD5\u8BBF\u95EE\u672C\u5730 HTTP \u540E\u7AEF). \u8BF7\u914D\u7F6E\u53CD\u4EE3\u6216\u5728\u5C40\u57DF\u7F51\u81EA\u5EFA HTTP \u524D\u7AEF. \u5982\u679C\u8FD8\u6709\u95EE\u9898, \u53EF\u67E5\u770B\u6B64\u6392\u67E5\u8BF4\u660E: https://t.me/zhetengsha/1068",...Qi}},null,2))}async function EP(e,t){await Ih(),await $h(),pr.revokeAll(),Qc.revokeAll(),eo.revokeAll(),xe(t)}async function Dh(e){let{gistToken:t,syncPlatform:r}=I.read(Ft);if(!t)throw new Error("GitHub Token is required for backup!");let n=new di({token:t,key:lm,syncPlatform:r}),i,s=I.read(Ft),o=s.syncTime;switch(e){case"upload":try{if(i=I.read("#sub-store"),I.env.isNode&&(i=JSON.stringify(I.cache,null," ")),I.info("\u4E0B\u8F7D\u5907\u4EFD, \u4E0E\u672C\u5730\u5185\u5BB9\u5BF9\u6BD4..."),await n.download(lf)===i){I.info("\u5185\u5BB9\u4E00\u81F4, \u65E0\u9700\u4E0A\u4F20\u5907\u4EFD");return}}catch(u){I.error(`${u.message??u}`)}s.syncTime=new Date().getTime(),I.write(s,Ft),i=I.read("#sub-store"),I.env.isNode&&(i=JSON.stringify(I.cache,null," ")),I.info("\u4E0A\u4F20\u5907\u4EFD\u4E2D...");try{await n.upload({[lf]:{content:i}}),I.info("\u4E0A\u4F20\u5907\u4EFD\u5B8C\u6210")}catch(u){throw s.syncTime=o,I.write(s,Ft),u}break;case"download":I.info("\u8FD8\u539F\u5907\u4EFD\u4E2D..."),i=await n.download(lf);try{if(Object.keys(JSON.parse(i).settings).length===0)throw new Error("\u5907\u4EFD\u6587\u4EF6\u5E94\u8BE5\u81F3\u5C11\u5305\u542B settings \u5B57\u6BB5")}catch(u){throw I.error(`Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F +Reason: ${u.message??u}`),new Error("Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F")}I.write(i,"#sub-store"),I.env.isNode&&(i=JSON.parse(i),I.cache=i,I.persistCache()),I.info("perform migration after restoring from gist..."),aa(),I.info("migration completed"),I.info("\u8FD8\u539F\u5907\u4EFD\u5B8C\u6210");break}}async function wP(e,t){let{action:r}=e.query,{gistToken:n}=I.read(Ft);if(!n)Pe(t,new wt("GIST_TOKEN_NOT_FOUND","GitHub Token is required for backup!"));else try{await Dh(r),xe(t)}catch(i){I.error(`Failed to ${r} gist data. +Reason: ${i.message??i}`),Pe(t,new Mt("BACKUP_FAILED",`Failed to ${r} gist data!`,`Reason: ${i.message??i}`))}}I.read(Dt)||I.write({},Dt);function r1(e){e.get("/api/sub/flow/:name",AP),e.route("/api/sub/:name").get(SP).patch(bP).delete(CP),e.route("/api/subs").get(_P).post(yP).put(FP)}async function AP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let{url:n}=e.query;n&&(n=decodeURIComponent(n),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${n}`));let i=I.read(Dt),s=tt(i,r);if(!s){Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404);return}if(s.source==="local"&&!["localFirst","remoteFirst"].includes(s.mergeSources)){if(s.subUserinfo){let o;if(/^https?:\/\//.test(s.subUserinfo))try{o=await Xr(void 0,void 0,void 0,s.proxy,s.subUserinfo)}catch(u){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${s.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(u)}`)}else o=s.subUserinfo;try{xe(t,{...to(o)})}catch(u){I.error(`Failed to parse flow info for local subscription ${r}: ${u.message??u}`),Pe(t,new wt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}else Pe(t,new wt("NO_FLOW_INFO","N/A",`Local subscription ${r} has no flow information!`));return}try{n=`${n||s.url}`.split(/[\r\n]+/).map(p=>p.trim()).filter(p=>p.length)?.[0]||"";let o={},u=n.split("#");if(n=n.split("#")[0],u.length>1)try{o=JSON.parse(decodeURIComponent(u[1]))}catch{for(let p of u[1].split("&")){let f=p.split("=")[0],c=p.split("=")[1];o[f]=c==null||c===""?!0:decodeURIComponent(c)}}if(o.noFlow){Pe(t,new wt("NO_FLOW_INFO","N/A",`Subscription ${r}: noFlow`));return}let A=await Xr(o?.insecure?`${n}#insecure`:n,o.flowUserAgent,void 0,s.proxy,o.flowUrl);if(!A&&!s.subUserinfo){Pe(t,new Mt("NO_FLOW_INFO","No flow info","Failed to fetch flow headers"));return}try{let p=_f({resetDay:o.resetDay,startDate:o.startDate,cycleDays:o.cycleDays}),f;if(/^https?:\/\//.test(s.subUserinfo))try{f=await Xr(void 0,void 0,void 0,s.proxy,s.subUserinfo)}catch(m){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${s.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(m)}`)}else f=s.subUserinfo;let c={...to([f,A].filter(m=>m).join("; "))};p!=null&&(c.remainingDays=p),xe(t,c)}catch(p){I.error(`Failed to parse flow info for local subscription ${r}: ${p.message??p}`),Pe(t,new wt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}catch{Pe(t,new wu("URL_NOT_ACCESSIBLE",`The URL for subscription ${r} is inaccessible.`))}}function yP(e,t){let r=e.body;if(I.info(`\u6B63\u5728\u521B\u5EFA\u8BA2\u9605\uFF1A ${r.name}`),/\//.test(r.name)){Pe(t,new wt("INVALID_NAME",`Subscription ${r.name} is invalid`));return}let n=I.read(Dt);if(tt(n,r.name)){Pe(t,new wt("DUPLICATE_KEY",`Subscription ${r.name} already exists.`));return}n.push(r),I.write(n,Dt),xe(t,r,201)}function SP(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(Dt),s=tt(i,r);s?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_subscription_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(s)):xe(t,s):Pe(t,new Vt("SUBSCRIPTION_NOT_FOUND",`Subscription ${r} does not exist`,404))}function bP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Dt),s=tt(i,r);if(s){let o={...s,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u8BA2\u9605\uFF1A ${r}`),r!==n.name){let u=I.read(Bt)||[];for(let f of u){let c=f.subscriptions.indexOf(r);c!==-1&&(f.subscriptions[c]=n.name)}let A=I.read(ht)||[];for(let f of A)f.type==="subscription"&&f.source==r&&(f.source=n.name);let p=I.read(yt)||[];for(let f of p)f.sourceType==="subscription"&&f.sourceName==r&&(f.sourceName=n.name);I.write(u,Bt),I.write(A,ht),I.write(p,yt)}yi(i,r,o),I.write(i,Dt),xe(t,o)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}function CP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u5220\u9664\u8BA2\u9605\uFF1A${r}...`);let n=I.read(Dt);oi(n,r),I.write(n,Dt);let i=I.read(Bt);for(let s of i)s.subscriptions=s.subscriptions.filter(o=>o!==r);I.write(i,Bt),xe(t)}function _P(e,t){let r=I.read(Dt);xe(t,r)}function FP(e,t){let r=e.body;I.write(r,Dt),xe(t)}function n1(e){I.read(Bt)||I.write({},Bt),e.route("/api/collection/:name").get($P).patch(DP).delete(BP),e.route("/api/collections").get(RP).post(IP).put(PP)}function IP(e,t){let r=e.body;if(I.info(`\u6B63\u5728\u521B\u5EFA\u7EC4\u5408\u8BA2\u9605\uFF1A${r.name}`),/\//.test(r.name)){Pe(t,new wt("INVALID_NAME",`Collection ${r.name} is invalid`));return}let n=I.read(Bt);if(tt(n,r.name)){Pe(t,new wt("DUPLICATE_KEY",`Collection ${r.name} already exists.`));return}n.push(r),I.write(n,Bt),xe(t,r,201)}function $P(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(Bt),s=tt(i,r);s?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_collection_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(s)):xe(t,s):Pe(t,new Vt("SUBSCRIPTION_NOT_FOUND",`Collection ${r} does not exist`,404))}function DP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Bt),s=tt(i,r);if(s){let o={...s,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u7EC4\u5408\u8BA2\u9605\uFF1A${r}...`),r!==o.name){let u=I.read(ht)||[];for(let p of u)p.type==="collection"&&p.source===s.name&&(p.source=o.name);let A=I.read(yt)||[];for(let p of A)p.sourceType==="collection"&&p.sourceName===s.name&&(p.sourceName=o.name);I.write(u,ht),I.write(A,yt)}yi(i,r,o),I.write(i,Bt),xe(t,o)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}function BP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u7EC4\u5408\u8BA2\u9605\uFF1A${r}`);let n=I.read(Bt);oi(n,r),I.write(n,Bt),xe(t)}function RP(e,t){let r=I.read(Bt);xe(t,r)}function PP(e,t){let r=e.body;I.write(r,Bt),xe(t)}function i1(e){I.read(yt)||I.write([],yt),e.get("/share/file/:name",_A),e.route("/api/file/:name").get(_A).patch(NP).delete(xP),e.route("/api/wholeFile/:name").get(OP),e.route("/api/files").get(kP).post(TP).put(UP),e.route("/api/wholeFiles").get(LP)}function TP(e,t){let r=e.body;r.name=`${r.name??Date.now()}`,I.info(`\u6B63\u5728\u521B\u5EFA\u6587\u4EF6\uFF1A${r.name}`);let n=I.read(yt);if(tt(n,r.name))return Pe(t,new wt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6587\u4EF6`:"\u65E0\u6CD5\u540C\u65F6\u521B\u5EFA\u76F8\u540C\u7684\u6587\u4EF6 \u53EF\u7A0D\u540E\u91CD\u8BD5"));n.push(r),I.write(n,yt),xe(t,r,201)}async function _A(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${n}`);let{url:i,subInfoUrl:s,subInfoUserAgent:o,ua:u,content:A,mergeSources:p,ignoreFailedRemoteFile:f,proxy:c,noCache:m,produceType:w}=e.query,C={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{C=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let j of e.query.$options.split("&")){let re=j.split("=")[0],se=j.split("=")[1];C[re]=se==null||se===""?!0:decodeURIComponent(se)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(C)}`)}i&&(i=decodeURIComponent(i),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 URL: ${i}`)),c&&(c=decodeURIComponent(c),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${c}`)),u&&(u=decodeURIComponent(u),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 User-Agent: ${u}`)),s&&(s=decodeURIComponent(s),I.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUrl: ${s}`)),o&&(o=decodeURIComponent(o),I.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUserAgent: ${o}`)),A&&(A=decodeURIComponent(A),I.info(`\u6307\u5B9A\u672C\u5730\u6587\u4EF6: ${A}`)),p&&(p=decodeURIComponent(p),I.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${p}`)),f!=null&&f!==""&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u6587\u4EF6: ${f}`)),m&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${m}`),w&&(w=decodeURIComponent(w),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${w}`));let F=I.read(yt),P=tt(F,r);if(P)try{let j=await Qr({type:"file",name:r,url:i,ua:u,content:A,mergeSources:p,ignoreFailedRemoteFile:f,$options:C,proxy:c,noCache:m,produceType:w,all:!0});try{if(s=s||P.subInfoUrl,s){let re=await Xr(s,o||P.subInfoUserAgent,void 0,c||P.proxy);re&&t.set("subscription-userinfo",la(re))}}catch(re){I.error(`\u6587\u4EF6 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(re)}`)}P.download&&t.set("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(P.displayName||P.name)}`),t.set("Content-Type","text/plain; charset=utf-8"),j?.$options?._res?.headers&&Object.entries(j.$options._res.headers).forEach(([re,se])=>{t.set(re,se)}),t.send(j?.$content??"")}catch(j){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${j.message??j}`),I.error(j.message??j),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download file: ${r}`,`Reason: ${j.message??j}`))}else I.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25 +\u274C \u672A\u627E\u5230\u6587\u4EF6\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function OP(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(yt),s=tt(i,r);s?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_file_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(s)):xe(t,s):Pe(t,new Vt("FILE_NOT_FOUND",`File ${r} does not exist`,404))}function NP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(yt),s=tt(i,r);if(s){let o={...s,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u6587\u4EF6\uFF1A${r}...`),r!==o.name){let u=I.read(ht)||[];for(let A of u)A.type==="file"&&A.source===s.name&&(A.source=o.name);I.write(u,ht)}yi(i,r,o),I.write(i,yt),xe(t,o)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function xP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u6587\u4EF6\uFF1A${r}`);let n=I.read(yt);oi(n,r),I.write(n,yt),xe(t)}function kP(e,t){let r=I.read(yt);xe(t,r.map(({content:n,...i})=>i))}function LP(e,t){let r=I.read(yt);xe(t,r)}function UP(e,t){let r=e.body;I.write(r,yt),xe(t)}function s1(e){I.read(cn)||I.write([],cn),e.post("/api/token",MP),e.route("/api/token/:token").delete(HP),e.route("/api/tokens").get(jP)}function HP(e,t){let{token:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\uFF1A${r}`);let n=I.read(cn);oi(n,r,"token"),I.write(n,cn),xe(t)}function jP(e,t){let{type:r,name:n}=e.query,i=I.read(cn)||[];xe(t,r||n?i.filter(s=>(r?s.type===r:!0)&&(n?s.name===n:!0)):i)}async function MP(e,t){if(!Ir().isNode)return Pe(t,new wt("INVALID_ENV","This endpoint is only available in Node.js environment"));try{let{payload:r,options:n}=e.body,i=DI(),s=r?.token;if(s!=null){if(typeof s!="string"||s.length<1)return Pe(t,new wt("INVALID_CUSTOM_TOKEN",`Invalid custom token: ${s}`));if((I.read(cn)||[]).find(c=>c.token===s))return Pe(t,new wt("DUPLICATE_TOKEN",`Token ${s} already exists`))}let o=r?.type,u=r?.name;if(!o||!u)return Pe(t,new wt("INVALID_PAYLOAD","payload type and name are required"));if(o==="col"){if(!(I.read(Bt)||[]).find(c=>c.name===u))return Pe(t,new wt("INVALID_COLLECTION",`collection ${u} not found`))}else if(o==="file"){if(!(I.read(yt)||[]).find(c=>c.name===u))return Pe(t,new wt("INVALID_FILE",`file ${u} not found`))}else if(o==="sub"){if(!(I.read(Dt)||[]).find(c=>c.name===u))return Pe(t,new wt("INVALID_SUB",`sub ${u} not found`))}else return Pe(t,new wt("INVALID_TYPE",`type ${u} not supported`));let A=n?.expiresIn;if(n?.expiresIn!=null&&(A=i(n.expiresIn),A==null||isNaN(A)||A<=0))return Pe(t,new wt("INVALID_EXPIRES_IN",`Invalid expiresIn option: ${n.expiresIn}`));let p=EJ(),f=I.read(cn)||[];if(!s)do s=p.customAlphabet(p.urlAlphabet)();while(f.find(c=>c.token===s));return f.push({...r,token:s,createdAt:Date.now(),expiresIn:A>0?n?.expiresIn:void 0,exp:A>0?Date.now()+A:void 0}),I.write(f,cn),xe(t,{token:s})}catch(r){return Pe(t,new Mt("TOKEN_SIGN_FAILED","Failed to sign token",`Reason: ${r.message??r}`))}}function a1(e){I.read(Cn)||I.write([],Cn),e.route("/api/module/:name").get(KP).patch(VP).delete(GP),e.route("/api/modules").get(zP).post(qP).put(YP)}function qP(e,t){let r=e.body;r.name=`${r.name??Mn(JSON.stringify(r))}`,I.info(`\u6B63\u5728\u521B\u5EFA\u6A21\u5757\uFF1A${r.name}`);let n=I.read(Cn);if(tt(n,r.name))return Pe(t,new wt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6A21\u5757`:"\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u6A21\u5757 \u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0"));n.push(r),I.write(n,Cn),xe(t,r,201)}function KP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=I.read(Cn),i=tt(n,r);i?t.set("Content-Type","text/plain; charset=utf-8").send(i.content):Pe(t,new Vt("MODULE_NOT_FOUND",`Module ${r} does not exist`,404))}function VP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Cn),s=tt(i,r);if(s){let o={...s,...n};I.info(`\u6B63\u5728\u66F4\u65B0\u6A21\u5757\uFF1A${r}...`),yi(i,r,o),I.write(i,Cn),xe(t,o)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Module ${r} does not exist!`),404)}function GP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u6A21\u5757\uFF1A${r}`);let n=I.read(Cn);oi(n,r),I.write(n,Cn),xe(t)}function zP(e,t){let r=I.read(Cn);xe(t,r.map(({content:n,...i})=>i))}function YP(e,t){let r=e.body;I.write(r,Cn),xe(t)}var eU=bn(qA()),rU=bn(YA());function y7(e){let t=Object.keys(e),r="",n="",i="";for(let s of t){let o=s.toLowerCase();o==="user-agent"?(r=e[s],n=r.toLowerCase()):o==="accept"&&(i=e[s])}return{UA:r,ua:n,accept:i}}function S7({ua:e,UA:t,accept:r}){return t.indexOf("Quantumult%20X")!==-1?"QX":e.indexOf("egern")!==-1?"Egern":t.indexOf("Surfboard")!==-1?"Surfboard":t.indexOf("Surge Mac")!==-1?"SurgeMac":t.indexOf("Surge")!==-1?"Surge":t.indexOf("Decar")!==-1||t.indexOf("Loon")!==-1?"Loon":t.indexOf("Shadowrocket")!==-1?"Shadowrocket":t.indexOf("Stash")!==-1?"Stash":e==="meta"||e.indexOf("clash")!==-1&&e.indexOf("meta")!==-1||e.indexOf("clash-verge")!==-1||e.indexOf("flclash")!==-1?"ClashMeta":e.indexOf("clash")!==-1?"Clash":e.indexOf("v2ray")!==-1?"V2Ray":e.indexOf("sing-box")!==-1||e.indexOf("singbox")!==-1?"sing-box":r.indexOf("application/json")===0?"JSON":"V2Ray"}function p1(e){let{UA:t,ua:r,accept:n}=y7(e);return S7({ua:r,UA:t,accept:n})}function d1(e,t){return!1}function g1(e){e.get("/share/col/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await ju(t,r)}),e.get("/share/col/:name",ju),e.get("/share/sub/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Hu(t,r)}),e.get("/share/sub/:name",Hu),e.get("/download/collection/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await ju(t,r)}),e.get("/download/collection/:name",ju),e.get("/download/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Hu(t,r)}),e.get("/download/:name",Hu),e.get("/download/collection/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await ju(t,r)}),e.get("/download/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await Hu(t,r)}),e.get("/download/collection/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await ju(t,r)}),e.get("/download/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await Hu(t,r)})}async function Hu(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",s=e.query.target||p1(e.headers)||"JSON",o=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${o} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${s}`);let{url:u,ua:A,content:p,mergeSources:f,ignoreFailedRemoteSub:c,produceType:m,includeUnsupportedProxy:w,resultFormat:C,proxy:F,noCache:P}=e.query,j={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{j=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let ge of e.query.$options.split("&")){let oe=ge.split("=")[0],be=ge.split("=")[1];j[oe]=be==null||be===""?!0:decodeURIComponent(be)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(j)}`)}u&&(u=decodeURIComponent(u),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${u}`),/^https?:\/\//.test(u)||(p=u,I.info("URL \u4E0D\u662F\u94FE\u63A5\uFF0C\u89C6\u4E3A\u672C\u5730\u8BA2\u9605"))),p&&(p=decodeURIComponent(p),I.info(`\u6307\u5B9A\u672C\u5730\u8BA2\u9605: ${p}`)),F&&(F=decodeURIComponent(F),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${F}`)),A&&(A=decodeURIComponent(A),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 User-Agent: ${A}`)),f&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${f}`)),c!=null&&c!==""&&(c=decodeURIComponent(c),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${c}`)),m&&(m=decodeURIComponent(m),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${m}`)),w&&(w=decodeURIComponent(w),I.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${w}`)),!w&&d1(s,o)&&(w=!0,I.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${w}`)),i&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),P&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${P}`);let re=I.read(Dt),se=tt(re,r);if(se)try{se.passThroughUA&&(I.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${o}`),A=o);let ge=await Qr({type:"subscription",name:r,platform:s,url:u,ua:A,content:p,mergeSources:f,ignoreFailedRemoteSub:c,produceType:m,produceOpts:{"include-unsupported-proxy":w,useMihomoExternal:i},$options:j,proxy:F,noCache:P}),oe;if(se.source!=="local"||["localFirst","remoteFirst"].includes(se.mergeSources))try{u=`${u||se.url}`.split(/[\r\n]+/).map(Ie=>Ie.trim()).filter(Ie=>Ie.length)?.[0]||"";let be={},fe=u.split("#");if(u=u.split("#")[0],fe.length>1)try{be=JSON.parse(decodeURIComponent(fe[1]))}catch{for(let Ie of fe[1].split("&")){let $e=Ie.split("=")[0],Ve=Ie.split("=")[1];be[$e]=Ve==null||Ve===""?!0:decodeURIComponent(Ve)}}be.noFlow||(oe=await Xr(be?.insecure?`${u}#insecure`:u,be.flowUserAgent,void 0,F||se.proxy,be.flowUrl),oe&&t.set("subscription-userinfo",la(oe)))}catch(be){I.error(`\u8BA2\u9605 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(be)}`)}if(se.subUserinfo){let be;if(/^https?:\/\//.test(se.subUserinfo))try{be=await Xr(void 0,void 0,void 0,F||se.proxy,se.subUserinfo)}catch(fe){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${se.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(fe)}`)}else be=se.subUserinfo;t.set("subscription-userinfo",la([be,oe].filter(fe=>fe).join(";")))}s==="JSON"?(C==="nezha"?ge=XA(ge):C==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):ge.findIndex(be=>be.name===n),ge=await WA(ge[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(ge)):t.send(ge)}catch(ge){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${ge.message??ge}`),I.error(ge.message??ge),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download subscription: ${r}`,`Reason: ${ge.message??ge}`))}else I.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25 +\u274C \u672A\u627E\u5230\u8BA2\u9605\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}async function ju(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",s=e.query.target||p1(e.headers)||"JSON",o=I.read(Bt),u=tt(o,r),A=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${A} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${s}`);let{ignoreFailedRemoteSub:p,produceType:f,includeUnsupportedProxy:c,resultFormat:m,proxy:w,noCache:C}=e.query,F={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{F=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let P of e.query.$options.split("&")){let j=P.split("=")[0],re=P.split("=")[1];F[j]=re==null||re===""?!0:decodeURIComponent(re)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(F)}`)}if(w&&(w=decodeURIComponent(w),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${w}`)),p!=null&&p!==""&&(p=decodeURIComponent(p),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${p}`)),f&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${f}`)),c&&(c=decodeURIComponent(c),I.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${c}`)),!c&&d1(s,A)&&(c=!0,I.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${c}`)),i&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),C&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${C}`),u)try{let P=await Qr({type:"collection",name:r,platform:s,ignoreFailedRemoteSub:p,produceType:f,produceOpts:{"include-unsupported-proxy":c,useMihomoExternal:i},$options:F,proxy:w,noCache:C,ua:A}),j,re=I.read(Dt),se=u.subscriptions;if(se.length>0){let be=tt(re,se[0]);if(be.source!=="local"||["localFirst","remoteFirst"].includes(be.mergeSources))try{let fe=`${be.url}`.split(/[\r\n]+/).map(Ve=>Ve.trim()).filter(Ve=>Ve.length)?.[0]||"",Ie={},$e=fe.split("#");if(fe=fe.split("#")[0],$e.length>1)try{Ie=JSON.parse(decodeURIComponent($e[1]))}catch{for(let Ve of $e[1].split("&")){let Ae=Ve.split("=")[0],Ue=Ve.split("=")[1];Ie[Ae]=Ue==null||Ue===""?!0:decodeURIComponent(Ue)}}Ie.noFlow||(j=await Xr(Ie?.insecure?`${fe}#insecure`:fe,Ie.flowUserAgent,void 0,w||be.proxy||u.proxy,Ie.flowUrl))}catch(fe){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4E2D\u7684\u5B50\u8BA2\u9605 ${be.name} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${fe.message??fe}`)}if(be.subUserinfo){let fe;if(/^https?:\/\//.test(be.subUserinfo))try{fe=await Xr(void 0,void 0,void 0,w||be.proxy,be.subUserinfo)}catch(Ie){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${be.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(Ie)}`)}else fe=be.subUserinfo;j=[fe,j].filter(Ie=>Ie).join("; ")}}I.info(`\u7EC4\u5408\u8BA2\u9605 ${r} \u900F\u4F20\u7684\u7684\u6D41\u91CF\u4FE1\u606F: ${j}`);let ge;if(/^https?:\/\//.test(u.subUserinfo))try{ge=await Xr(void 0,void 0,void 0,w||u.proxy,u.subUserinfo)}catch(be){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${u.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(be)}`)}else ge=u.subUserinfo;let oe=[ge,j].filter(be=>be).join("; ");oe&&t.set("subscription-userinfo",la(oe)),s==="JSON"?(m==="nezha"?P=XA(P):m==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):P.findIndex(be=>be.name===n),P=await WA(P[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(P)):t.send(P)}catch(P){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u9519\u8BEF\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${P}`),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download collection: ${r}`,`Reason: ${P.message??P}`))}else I.error("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u672A\u627E\u5230\u7EC4\u5408\u8BA2\u9605\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}async function WA(e,t,r){let n={code:0,message:"success",result:[]};try{let{isLoon:i,isSurge:s}=I.env;if(!i&&!s)throw new Error("\u4EC5\u652F\u6301 Loon \u548C Surge(ability=http-client-policy)");let o=At.produce([e],i?"Loon":"Surge");if(!o)throw new Error("\u5F53\u524D\u5BA2\u6237\u7AEF\u4E0D\u517C\u5BB9\u6B64\u8282\u70B9");let u=e._monitors||[{name:"Cloudflare",url:"http://cp.cloudflare.com/generate_204",method:"HEAD",number:3,timeout:2e3},{name:"Google",url:"http://www.google.com/generate_204",method:"HEAD",number:3,timeout:2e3}],A=r.number||Math.max(...u.map(p=>p.number))||3;for(let p of u){let f={monitor_id:u.indexOf(p),server_id:t,monitor_name:p.name,server_name:e.name,created_at:[],avg_delay:[]};for(let c=0;c{let i=r._geo?.countryCode||r._geo?.country;if(/^[a-z]{2}$/i.test(i)||(i=sh(r.name)),/^[a-z]{2}$/i.test(i)){let s=Math.round(new Date().getTime()/1e3),o=r._unavailable?0:s,u=parseInt(r._uptime||0,10);t.result.push({id:n,name:r.name,tag:`${r._tag??""}`,last_active:o,valid_ip:r._IP||r.server,ipv4:r._IPv4||r.server,ipv6:r._IPv6||(ur(r.server)?r.server:""),host:{Platform:"Sub-Store",PlatformVersion:Qi.version,CPU:[],MemTotal:1024,DiskTotal:1024,SwapTotal:1024,Arch:"",Virtualization:"",BootTime:s-u,CountryCode:i,Version:"0.0.1"},status:{CPU:0,MemUsed:0,SwapUsed:0,DiskUsed:0,NetInTransfer:0,NetOutTransfer:0,NetInSpeed:0,NetOutSpeed:0,Uptime:u,Load1:0,Load5:0,Load15:0,TcpConnCount:0,UdpConnCount:0,ProcessCount:0}})}}),JSON.stringify(t,null,2)}function m1(e){e.post("/api/preview/sub",C7),e.post("/api/preview/collection",_7),e.post("/api/preview/file",b7)}async function b7(e,t){try{let r=e.body,n="";if(r.type!=="mihomoProfile")if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))n=r.content;else{let u={};if(n=await Promise.all(r.url.split(/[\r\n]+/).map(A=>A.trim()).filter(A=>A.length).map(async A=>{try{return await wr(A,r.ua,void 0,r.proxy)}catch(p){return u[A]=p,I.error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${A} \u53D1\u751F\u9519\u8BEF: ${p}`),""}})),Object.keys(u).length>0)if(r.ignoreFailedRemoteFile)r.ignoreFailedRemoteFile==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u6587\u4EF6\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?n.unshift(r.content):r.mergeSources==="remoteFirst"&&n.push(r.content)}let i=(Array.isArray(n)?n:[n]).flat(),s=i.filter(u=>u!=null&&u!=="").join(` +`),o=Array.isArray(r.process)&&r.process.length>0?await At.process({$files:i,$content:s,$file:r},r.process):{$content:s,$files:i};xe(t,{original:s,processed:o?.$content??""})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview file",`Reason: ${r.message??r}`))}}async function C7(e,t){try{let r=e.body,n=e.query.target||"JSON",i;if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))i=r.content;else{let u={};if(i=await Promise.all(r.url.split(/[\r\n]+/).map(A=>A.trim()).filter(A=>A.length).map(async A=>{try{return await wr(A,r.ua,void 0,r.proxy,void 0,void 0,void 0,!0)}catch(p){return u[A]=p,I.error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${A} \u53D1\u751F\u9519\u8BEF: ${p}`),""}})),Object.keys(u).length>0)if(r.ignoreFailedRemoteSub)r.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?i.unshift(r.content):r.mergeSources==="remoteFirst"&&i.push(r.content)}let s=(Array.isArray(i)?i:[i]).map(u=>At.parse(u)).flat();s.forEach((u,A)=>{u.id=A,u._subName=r.name,u._subDisplayName=r.displayName});let o=await At.process(s,r.process||[],n,{[r.name]:r});xe(t,{original:s,processed:o})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview subscription",`Reason: ${r.message??r}`))}}async function _7(e,t){try{let r=I.read(Dt),n=e.body,i=[...n.subscriptions],s=n.subscriptionTags;Array.isArray(s)&&s.length>0&&r.forEach(f=>{Array.isArray(f.tag)&&f.tag.length>0&&!i.includes(f.name)&&f.tag.some(c=>s.includes(c))&&i.push(f.name)});let o={},u={};if(await Promise.all(i.map(async f=>{let c=tt(r,f);try{let m;if(c.source==="local"&&!["localFirst","remoteFirst"].includes(c.mergeSources))m=c.content;else{let C={};if(m=await Promise.all(c.url.split(/[\r\n]+/).map(F=>F.trim()).filter(F=>F.length).map(async F=>{try{return await wr(F,c.ua,void 0,c.proxy,void 0,void 0,void 0,!0)}catch(P){return C[F]=P,I.error(`\u8BA2\u9605 ${c.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${F} \u53D1\u751F\u9519\u8BEF: ${P}`),""}})),Object.keys(C).length>0)if(c.ignoreFailedRemoteSub)c.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${c.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(C).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${c.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(C).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);c.mergeSources==="localFirst"?m.unshift(c.content):c.mergeSources==="remoteFirst"&&m.push(c.content)}let w=(Array.isArray(m)?m:[m]).map(C=>At.parse(C)).flat();w.forEach(C=>{C._subName=c.name,C._subDisplayName=c.displayName,C._collectionName=n.name,C._collectionDisplayName=n.displayName}),w=await At.process(w,c.process||[],"JSON",{[c.name]:c,_collection:n}),o[f]=w}catch(m){u[f]=m,I.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605 ${n.name} \u4E2D\u7684\u5B50\u8BA2\u9605: ${c.name} \u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${m}\uFF01`)}})),Object.keys(u).length>0)if(n.ignoreFailedRemoteSub)n.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${n.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${n.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let A=Array.prototype.concat.apply([],i.map(f=>o[f]||[]));A.forEach((f,c)=>{f.id=c,f._collectionName=n.name,f._collectionDisplayName=n.displayName});let p=await At.process(A,n.process||[],"JSON",{_collection:n});xe(t,{original:A,processed:p})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview collection",`Reason: ${r.message??r}`))}}function v1(e){e.post("/api/sort/subs",F7),e.post("/api/sort/collections",I7),e.post("/api/sort/artifacts",$7),e.post("/api/sort/files",D7)}function F7(e,t){let r=e.body,n=I.read(Dt);n.sort((i,s)=>r.indexOf(i.name)-r.indexOf(s.name)),I.write(n,Dt),xe(t,n)}function I7(e,t){let r=e.body,n=I.read(Bt);n.sort((i,s)=>r.indexOf(i.name)-r.indexOf(s.name)),I.write(n,Bt),xe(t,n)}function $7(e,t){let r=e.body,n=I.read(ht);n.sort((i,s)=>r.indexOf(i.name)-r.indexOf(s.name)),I.write(n,ht),xe(t,n)}function D7(e,t){let r=e.body,n=I.read(yt);n.sort((i,s)=>r.indexOf(i.name)-r.indexOf(s.name)),I.write(n,yt),xe(t,n)}function E1(e){e.post("/api/utils/node-info",B7)}async function B7(e,t){let r=e.body,n=e.query.lang||"zh-CN",i;try{i=mh.URI.produce(r)}catch{}try{let s=await wi().get({url:`http://ip-api.com/json/${encodeURIComponent(`${r.server}`.trim().replace(/^\[/,"").replace(/\]$/,""))}?lang=${n}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"}}).then(o=>{let u=JSON.parse(o.body);if(u.status!=="success")throw new Error(u.message);return delete u.status,u});xe(t,{shareUrl:i,info:s})}catch(s){Pe(t,new wu("FAILED_TO_GET_NODE_INFO","Failed to get node info",`Reason: ${s}`))}}function w1(e){e.route("/api/proxy/parse").post(R7),e.route("/api/rule/parse").post(P7)}function R7(e,t){let{data:r,client:n,content:i,platform:s}=e.body;var o={};try{var u=At.parse(r??i),A=At.produce(u,n??s);o.par_res=A}catch(p){Pe(t,p);return}xe(t,o)}function P7(e,t){let{data:r,client:n,content:i,platform:s}=e.body;var o={};try{let A=wo.parse(r??i);var u=wo.produce(A,n??s);o.par_res=u}catch(A){Pe(t,A);return}xe(t,o)}function A1(){let port,host;I.env.isNode&&(port=eval("process.env.SUB_STORE_BACKEND_API_PORT")||3e3,host=eval("process.env.SUB_STORE_BACKEND_API_HOST")||"::");let $app=Qp({substore:I,port,host});if(I.env.isNode){let be_merge=eval("process.env.SUB_STORE_BACKEND_MERGE"),be_prefix=eval("process.env.SUB_STORE_BACKEND_PREFIX"),fe_be_path=eval("process.env.SUB_STORE_FRONTEND_BACKEND_PATH"),fe_path=eval("process.env.SUB_STORE_FRONTEND_PATH");if(be_prefix||be_merge){if(!fe_be_path.startsWith("/"))throw new Error("SUB_STORE_FRONTEND_BACKEND_PATH should start with /");be_merge&&(I.info("[BACKEND] MERGE mode is [ON]."),I.info(`[BACKEND && FRONTEND] ${host}:${port}`)),I.info(`[BACKEND PREFIX] ${host}:${port}${fe_be_path}`),$app.use((e,t,r)=>{if(e.path.startsWith(fe_be_path)){e.url=e.url.replace(fe_be_path,"")||"/",be_merge&&e.url.startsWith("/api/")&&(e.query.share="true"),r();return}let n=decodeURIComponent(e._parsedUrl.pathname)||"/";if(be_merge&&e.path.startsWith("/share/")&&e.query.token){if(e.method.toLowerCase()!=="get"){t.status(405).send("Method not allowed");return}if((I.read(cn)||[]).find(i=>i.token===e.query.token&&`/share/${i.type}/${i.name}`===n&&(i.exp==null||i.exp>Date.now()))){r();return}}if(be_merge&&fe_path&&e.path.indexOf("/",1)==-1){e.path.indexOf(".")==-1&&(e.url="/index.html");let i=HI(),s=rI(),o=require("path");i.static(fe_path,{setHeaders:(A,p)=>{let f=s.contentType(o.extname(p));f&&A.set("Content-Type",f)}})(e,t,r);return}t.status(403).end("Forbbiden")})}}if(n1($app),r1($app),g1($app),m1($app),v1($app),e1($app),J0($app),i1($app),s1($app),a1($app),Z0($app),E1($app),t1($app),w1($app),$app.start(),I.env.isNode){let backend_sync_cron=eval("process.env.SUB_STORE_BACKEND_SYNC_CRON")||eval("process.env.SUB_STORE_BACKEND_CRON");if(backend_sync_cron){I.info(`[SYNC CRON] ${backend_sync_cron} enabled`);let{CronJob:e}=$g();new e(backend_sync_cron,async function(){try{I.info(`[SYNC CRON] ${backend_sync_cron} started`),await Q0(),I.info(`[SYNC CRON] ${backend_sync_cron} finished`)}catch(t){I.error(`[SYNC CRON] ${backend_sync_cron} error: ${t.message??t}`)}},null,!0)}let produce_cron=eval("process.env.SUB_STORE_PRODUCE_CRON");if(produce_cron){I.info(`[PRODUCE CRON] ${produce_cron} enabled`);let{CronJob:e}=$g();produce_cron.split(/\s*;\s*/).map(t=>{let[r,n,i]=t.split(/\s*,\s*/);new e(r.trim(),async function(){try{I.info(`[PRODUCE CRON] ${n} ${i} ${r} started`),await Qr({type:n,name:i}),I.info(`[PRODUCE CRON] ${n} ${i} ${r} finished`)}catch(s){I.error(`[PRODUCE CRON] ${n} ${i} ${r} error: ${s.message??s}`)}},null,!0)})}let backend_download_cron=eval("process.env.SUB_STORE_BACKEND_DOWNLOAD_CRON");if(backend_download_cron){I.info(`[DOWNLOAD CRON] ${backend_download_cron} enabled`);let{CronJob:e}=$g();new e(backend_download_cron,async function(){try{I.info(`[DOWNLOAD CRON] ${backend_download_cron} started`),await Dh("download"),I.info(`[DOWNLOAD CRON] ${backend_download_cron} finished`)}catch(t){I.error(`[DOWNLOAD CRON] ${backend_download_cron} error: ${t.message??t}`)}},null,!0)}let backend_upload_cron=eval("process.env.SUB_STORE_BACKEND_UPLOAD_CRON");if(backend_upload_cron){I.info(`[UPLOAD CRON] ${backend_upload_cron} enabled`);let{CronJob:e}=$g();new e(backend_upload_cron,async function(){try{I.info(`[UPLOAD CRON] ${backend_upload_cron} started`),await Dh("upload"),I.info(`[UPLOAD CRON] ${backend_upload_cron} finished`)}catch(t){I.error(`[UPLOAD CRON] ${backend_upload_cron} error: ${t.message??t}`)}},null,!0)}let mmdb_cron=eval("process.env.SUB_STORE_MMDB_CRON"),countryFile=eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),countryUrl=eval("process.env.SUB_STORE_MMDB_COUNTRY_URL"),asnFile=eval("process.env.SUB_STORE_MMDB_ASN_PATH"),asnUrl=eval("process.env.SUB_STORE_MMDB_ASN_URL");if(mmdb_cron&&(countryFile&&countryUrl||asnFile&&asnUrl)){I.info(`[MMDB CRON] ${mmdb_cron} enabled`);let{CronJob:e}=$g();new e(mmdb_cron,async function(){try{if(I.info(`[MMDB CRON] ${mmdb_cron} started`),countryFile&&countryUrl)try{I.info(`[MMDB CRON] downloading ${countryUrl} to ${countryFile}`),await Gc(countryUrl,countryFile)}catch(t){I.error(`[MMDB CRON] ${countryUrl} download failed: ${t.message??t}`)}if(asnFile&&asnUrl)try{I.info(`[MMDB CRON] downloading ${asnUrl} to ${asnFile}`),await Gc(asnUrl,asnFile)}catch(t){I.error(`[MMDB CRON] ${asnUrl} download failed: ${t.message??t}`)}I.info(`[MMDB CRON] ${mmdb_cron} finished`)}catch(t){I.error(`[MMDB CRON] ${mmdb_cron} error: ${t.message??t}`)}},null,!0)}let path=require("path"),fs=require("fs"),data_url=eval("process.env.SUB_STORE_DATA_URL"),fe_be_path=eval("process.env.SUB_STORE_FRONTEND_BACKEND_PATH"),fe_port=eval("process.env.SUB_STORE_FRONTEND_PORT")||3001,fe_host=eval("process.env.SUB_STORE_FRONTEND_HOST")||host||"::",fe_path=eval("process.env.SUB_STORE_FRONTEND_PATH"),fe_abs_path=path.resolve(fe_path||path.join(__dirname,"frontend")),be_merge=eval("process.env.SUB_STORE_BACKEND_MERGE");if(fe_path&&!be_merge){try{fs.accessSync(path.join(fe_abs_path,"index.html"))}catch(e){I.error(`[FRONTEND] index.html file not found in ${fe_abs_path}`)}let express_=HI(),history=ez(),{createProxyMiddleware}=kZ(),app=express_(),staticFileMiddleware=express_.static(fe_path),be_api="/api/",be_download="/download/",be_share="/share/",be_download_rewrite="",be_api_rewrite="",be_share_rewrite=`${be_share}:type/:name`,prefix=eval("process.env.SUB_STORE_BACKEND_PREFIX")?fe_be_path:"";if(fe_be_path){if(!fe_be_path.startsWith("/"))throw new Error("SUB_STORE_FRONTEND_BACKEND_PATH should start with /");be_api_rewrite=`${fe_be_path==="/"?"":fe_be_path}${be_api}`,be_download_rewrite=`${fe_be_path==="/"?"":fe_be_path}${be_download}`,app.use(be_share_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}`,changeOrigin:!0,pathRewrite:async(e,t)=>{if(t.method.toLowerCase()!=="get")throw new Error("Method not allowed");if(!(I.read(cn)||[]).find(r=>r.token===t.query.token&&r.type===t.params.type&&r.name===t.params.name&&(r.exp==null||r.exp>Date.now())))throw new Error("Forbbiden");return t.originalUrl}})),app.use(be_api_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}${be_api}`,pathRewrite:async e=>e.includes("?")?`${e}&share=true`:`${e}?share=true`})),app.use(be_download_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}${be_download}`,changeOrigin:!0}))}app.use(staticFileMiddleware),app.use(history({disableDotRule:!0,verbose:!1})),app.use(staticFileMiddleware);let listener=app.listen(fe_port,fe_host,()=>{let{address:e,port:t}=listener.address();I.info(`[FRONTEND] ${e}:${t}`),fe_be_path&&(I.info(`[FRONTEND -> BACKEND] ${e}:${t}${be_api_rewrite} -> ${host}:${port}${prefix}${be_api}`),I.info(`[FRONTEND -> BACKEND] ${e}:${t}${be_download_rewrite} -> ${host}:${port}${prefix}${be_download}`),I.info(`[SHARE BACKEND] ${e}:${t}${be_share_rewrite}`))})}data_url&&(I.info(`[BACKEND] downloading data from ${data_url}`),wr(data_url).then(e=>{I.write(e,"#sub-store"),I.cache=JSON.parse(e),I.persistCache(),aa(),I.info(`[BACKEND] restored data from ${data_url}`)}).catch(e=>{throw I.error("[BACKEND] restore data failed"),console.error(e),e}))}}console.log(` +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store -- v${uf} +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 +`),aa(),A1()})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ +/*! Bundled license information: + +undici/lib/web/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +undici/lib/web/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik *) + +depd/index.js: + (*! + * depd + * Copyright(c) 2014-2018 Douglas Christopher Wilson + * MIT Licensed + *) + +bytes/index.js: + (*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + *) + +content-type/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +statuses/index.js: + (*! + * statuses + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +toidentifier/index.js: + (*! + * toidentifier + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +http-errors/index.js: + (*! + * http-errors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +destroy/index.js: + (*! + * destroy + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +unpipe/index.js: + (*! + * unpipe + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +raw-body/index.js: + (*! + * raw-body + * Copyright(c) 2013-2014 Jonathan Ong + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +ee-first/index.js: + (*! + * ee-first + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + *) + +on-finished/index.js: + (*! + * on-finished + * Copyright(c) 2013 Jonathan Ong + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/read.js: + (*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +media-typer/index.js: + (*! + * media-typer + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +type-is/index.js: + (*! + * type-is + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/types/json.js: + (*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/types/raw.js: + (*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/types/text.js: + (*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/lib/types/urlencoded.js: + (*! + * body-parser + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +body-parser/index.js: + (*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +merge-descriptors/index.js: + (*! + * merge-descriptors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +encodeurl/index.js: + (*! + * encodeurl + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +escape-html/index.js: + (*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + *) + +parseurl/index.js: + (*! + * parseurl + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +finalhandler/index.js: + (*! + * finalhandler + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/router/layer.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +methods/index.js: + (*! + * methods + * Copyright(c) 2013-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/router/route.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/router/index.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/middleware/init.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/middleware/query.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/view.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +content-disposition/index.js: + (*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +encodeurl/index.js: + (*! + * encodeurl + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + *) + +etag/index.js: + (*! + * etag + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +fresh/index.js: + (*! + * fresh + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2016-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +range-parser/index.js: + (*! + * range-parser + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +send/index.js: + (*! + * send + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +forwarded/index.js: + (*! + * forwarded + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +proxy-addr/index.js: + (*! + * proxy-addr + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/utils.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/application.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +negotiator/index.js: + (*! + * negotiator + * Copyright(c) 2012 Federico Romero + * Copyright(c) 2012-2014 Isaac Z. Schlueter + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +accepts/index.js: + (*! + * accepts + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/request.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +cookie/index.js: + (*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +vary/index.js: + (*! + * vary + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/response.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +serve-static/index.js: + (*! + * serve-static + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + *) + +express/lib/express.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +express/index.js: + (*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + *) + +tiny-lru/dist/tiny-lru.cjs: + (** + * tiny-lru + * + * @copyright 2024 Jason Mulligan + * @license BSD-3-Clause + * @version 11.2.11 + *) + +http-proxy/lib/http-proxy/passes/web-outgoing.js: + (*! + * Array of passes. + * + * A `pass` is just a function that is executed on `req, res, options` + * so that you can easily add new checks while still keeping the base + * flexible. + *) + +http-proxy/lib/http-proxy/passes/web-incoming.js: + (*! + * Array of passes. + * + * A `pass` is just a function that is executed on `req, res, options` + * so that you can easily add new checks while still keeping the base + * flexible. + *) + +http-proxy/lib/http-proxy/passes/ws-incoming.js: + (*! + * Array of passes. + * + * A `pass` is just a function that is executed on `req, socket, options` + * so that you can easily add new checks while still keeping the base + * flexible. + *) + +http-proxy/index.js: + (*! + * Caron dimonio, con occhi di bragia + * loro accennando, tutte le raccoglie; + * batte col remo qualunque s’adagia + * + * Charon the demon, with the eyes of glede, + * Beckoning to them, collects them all together, + * Beats with his oar whoever lags behind + * + * Dante - The Divine Comedy (Canto III) + *) + +is-extglob/index.js: + (*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-glob/index.js: + (*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *) + +is-number/index.js: + (*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + *) + +to-regex-range/index.js: + (*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + *) + +fill-range/index.js: + (*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-plain-object/dist/is-plain-object.js: + (*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *) +*/ diff --git a/sub-store.no-bundle.js b/sub-store.no-bundle.js new file mode 100644 index 0000000..5cdecf4 --- /dev/null +++ b/sub-store.no-bundle.js @@ -0,0 +1,1169 @@ +(()=>{var YC=Object.create;var am=Object.defineProperty;var WC=Object.getOwnPropertyDescriptor;var XC=Object.getOwnPropertyNames;var JC=Object.getPrototypeOf,ZC=Object.prototype.hasOwnProperty;var za=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var QC=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of XC(t))!ZC.call(e,i)&&i!==r&&am(e,i,{get:()=>t[i],enumerable:!(n=WC(t,i))||n.enumerable});return e};var bn=(e,t,r)=>(r=e!=null?YC(JC(e)):{},QC(t||!e||!e.__esModule?am(r,"default",{value:e,enumerable:!0}):r,e));var td=ye(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.isCorrect=nu.isInSubnet=void 0;function m_(e){return this.subnetMask{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.RE_SUBNET_STRING=xi.RE_ADDRESS=xi.GROUPS=xi.BITS=void 0;xi.BITS=32;xi.GROUPS=4;xi.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;xi.RE_SUBNET_STRING=/\/\d{1,2}$/});var gf=ye(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.AddressError=void 0;var nd=class extends Error{constructor(t,r){super(t),this.name="AddressError",r!==null&&(this.parseMessage=r)}};df.AddressError=nd});var sd=ye((mf,hm)=>{(function(){var e,t=0xdeadbeefcafe,r=(t&16777215)==15715070;function n(T,N,H){T!=null&&(typeof T=="number"?this.fromNumber(T,N,H):N==null&&typeof T!="string"?this.fromString(T,256):this.fromString(T,N))}function i(){return new n(null)}function a(T,N,H,Q,de,ve){for(;--ve>=0;){var Fe=N*this[T++]+H[Q]+de;de=Math.floor(Fe/67108864),H[Q++]=Fe&67108863}return de}function s(T,N,H,Q,de,ve){for(var Fe=N&32767,Re=N>>15;--ve>=0;){var Pt=this[T]&32767,Qt=this[T++]>>15,Tr=Re*Pt+Qt*Fe;Pt=Fe*Pt+((Tr&32767)<<15)+H[Q]+(de&1073741823),de=(Pt>>>30)+(Tr>>>15)+Re*Qt+(de>>>30),H[Q++]=Pt&1073741823}return de}function u(T,N,H,Q,de,ve){for(var Fe=N&16383,Re=N>>14;--ve>=0;){var Pt=this[T]&16383,Qt=this[T++]>>14,Tr=Re*Pt+Qt*Fe;Pt=Fe*Pt+((Tr&16383)<<14)+H[Q]+de,de=(Pt>>28)+(Tr>>14)+Re*Qt,H[Q++]=Pt&268435455}return de}var l=typeof navigator<"u";l&&r&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=s,e=30):l&&r&&navigator.appName!="Netscape"?(n.prototype.am=a,e=26):(n.prototype.am=u,e=28),n.prototype.DB=e,n.prototype.DM=(1<=0;--N)T[N]=this[N];T.t=this.t,T.s=this.s}function w(T){this.t=1,this.s=T<0?-1:0,T>0?this[0]=T:T<-1?this[0]=T+this.DV:this.t=0}function y(T){var N=i();return N.fromInt(T),N}function _(T,N){var H;if(N==16)H=4;else if(N==8)H=3;else if(N==256)H=8;else if(N==2)H=1;else if(N==32)H=5;else if(N==4)H=2;else{this.fromRadix(T,N);return}this.t=0,this.s=0;for(var Q=T.length,de=!1,ve=0;--Q>=0;){var Fe=H==8?T[Q]&255:g(T,Q);if(Fe<0){T.charAt(Q)=="-"&&(de=!0);continue}de=!1,ve==0?this[this.t++]=Fe:ve+H>this.DB?(this[this.t-1]|=(Fe&(1<>this.DB-ve):this[this.t-1]|=Fe<=this.DB&&(ve-=this.DB)}H==8&&T[0]&128&&(this.s=-1,ve>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==T;)--this.t}function D(T){if(this.s<0)return"-"+this.negate().toString(T);var N;if(T==16)N=4;else if(T==8)N=3;else if(T==2)N=1;else if(T==32)N=5;else if(T==4)N=2;else return this.toRadix(T);var H=(1<0)for(Re>Re)>0&&(de=!0,ve=A(Q));Fe>=0;)Re>(Re+=this.DB-N)):(Q=this[Fe]>>(Re-=N)&H,Re<=0&&(Re+=this.DB,--Fe)),Q>0&&(de=!0),de&&(ve+=A(Q));return de?ve:"0"}function M(){var T=i();return n.ZERO.subTo(this,T),T}function q(){return this.s<0?this.negate():this}function F(T){var N=this.s-T.s;if(N!=0)return N;var H=this.t;if(N=H-T.t,N!=0)return this.s<0?-N:N;for(;--H>=0;)if((N=this[H]-T[H])!=0)return N;return 0}function P(T){var N=1,H;return(H=T>>>16)!=0&&(T=H,N+=16),(H=T>>8)!=0&&(T=H,N+=8),(H=T>>4)!=0&&(T=H,N+=4),(H=T>>2)!=0&&(T=H,N+=2),(H=T>>1)!=0&&(T=H,N+=1),N}function L(){return this.t<=0?0:this.DB*(this.t-1)+P(this[this.t-1]^this.s&this.DM)}function j(T,N){var H;for(H=this.t-1;H>=0;--H)N[H+T]=this[H];for(H=T-1;H>=0;--H)N[H]=0;N.t=this.t+T,N.s=this.s}function V(T,N){for(var H=T;H=0;--Re)N[Re+ve+1]=this[Re]>>Q|Fe,Fe=(this[Re]&de)<=0;--Re)N[Re]=0;N[ve]=Fe,N.t=this.t+ve+1,N.s=this.s,N.clamp()}function G(T,N){N.s=this.s;var H=Math.floor(T/this.DB);if(H>=this.t){N.t=0;return}var Q=T%this.DB,de=this.DB-Q,ve=(1<>Q;for(var Fe=H+1;Fe>Q;Q>0&&(N[this.t-H-1]|=(this.s&ve)<>=this.DB;if(T.t>=this.DB;Q+=this.s}else{for(Q+=this.s;H>=this.DB;Q-=T.s}N.s=Q<0?-1:0,Q<-1?N[H++]=this.DV+Q:Q>0&&(N[H++]=Q),N.t=H,N.clamp()}function X(T,N){var H=this.abs(),Q=T.abs(),de=H.t;for(N.t=de+Q.t;--de>=0;)N[de]=0;for(de=0;de=0;)T[H]=0;for(H=0;H=N.DV&&(T[H+N.t]-=N.DV,T[H+N.t+1]=1)}T.t>0&&(T[T.t-1]+=N.am(H,N[H],T,2*H,0,1)),T.s=0,T.clamp()}function Se(T,N,H){var Q=T.abs();if(!(Q.t<=0)){var de=this.abs();if(de.t0?(Q.lShiftTo(Pt,ve),de.lShiftTo(Pt,H)):(Q.copyTo(ve),de.copyTo(H));var Qt=ve.t,Tr=ve[Qt-1];if(Tr!=0){var Or=Tr*(1<1?ve[Qt-2]>>this.F2:0),Tn=this.FV/Or,Ws=(1<=0&&(H[H.t++]=1,H.subTo(Qn,H)),n.ONE.dlShiftTo(Qt,Qn),Qn.subTo(ve,ve);ve.t=0;){var xa=H[--Nr]==Tr?this.DM:Math.floor(H[Nr]*Tn+(H[Nr-1]+rn)*Ws);if((H[Nr]+=ve.am(0,xa,H,Xs,0,Qt))0&&H.rShiftTo(Pt,H),Fe<0&&n.ZERO.subTo(H,H)}}}function we(T){var N=i();return this.abs().divRemTo(T,null,N),this.s<0&&N.compareTo(n.ZERO)>0&&T.subTo(N,N),N}function Ie(T){this.m=T}function Ve(T){return T.s<0||T.compareTo(this.m)>=0?T.mod(this.m):T}function ue(T){return T}function _e(T){T.divRemTo(this.m,null,T)}function He(T,N,H){T.multiplyTo(N,H),this.reduce(H)}function Sr(T,N){T.squareTo(N),this.reduce(N)}Ie.prototype.convert=Ve,Ie.prototype.revert=ue,Ie.prototype.reduce=_e,Ie.prototype.mulTo=He,Ie.prototype.sqrTo=Sr;function Ht(){if(this.t<1)return 0;var T=this[0];if(!(T&1))return 0;var N=T&3;return N=N*(2-(T&15)*N)&15,N=N*(2-(T&255)*N)&255,N=N*(2-((T&65535)*N&65535))&65535,N=N*(2-T*N%this.DV)%this.DV,N>0?this.DV-N:-N}function Et(T){this.m=T,this.mp=T.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(N,N),N}function Gt(T){var N=i();return T.copyTo(N),this.reduce(N),N}function at(T){for(;T.t<=this.mt2;)T[T.t++]=0;for(var N=0;N>15)*this.mpl&this.um)<<15)&T.DM;for(H=N+this.m.t,T[H]+=this.m.am(0,Q,T,N,0,this.m.t);T[H]>=T.DV;)T[H]-=T.DV,T[++H]++}T.clamp(),T.drShiftTo(this.m.t,T),T.compareTo(this.m)>=0&&T.subTo(this.m,T)}function kt(T,N){T.squareTo(N),this.reduce(N)}function it(T,N,H){T.multiplyTo(N,H),this.reduce(H)}Et.prototype.convert=ir,Et.prototype.revert=Gt,Et.prototype.reduce=at,Et.prototype.mulTo=it,Et.prototype.sqrTo=kt;function bt(){return(this.t>0?this[0]&1:this.s)==0}function sr(T,N){if(T>4294967295||T<1)return n.ONE;var H=i(),Q=i(),de=N.convert(this),ve=P(T)-1;for(de.copyTo(H);--ve>=0;)if(N.sqrTo(H,Q),(T&1<0)N.mulTo(Q,de,H);else{var Fe=H;H=Q,Q=Fe}return N.revert(H)}function Qe(T,N){var H;return T<256||N.isEven()?H=new Ie(N):H=new Et(N),this.exp(T,H)}n.prototype.copyTo=S,n.prototype.fromInt=w,n.prototype.fromString=_,n.prototype.clamp=B,n.prototype.dlShiftTo=j,n.prototype.drShiftTo=V,n.prototype.lShiftTo=W,n.prototype.rShiftTo=G,n.prototype.subTo=z,n.prototype.multiplyTo=X,n.prototype.squareTo=ie,n.prototype.divRemTo=Se,n.prototype.invDigit=Ht,n.prototype.isEven=bt,n.prototype.exp=sr,n.prototype.toString=D,n.prototype.negate=M,n.prototype.abs=q,n.prototype.compareTo=F,n.prototype.bitLength=L,n.prototype.mod=we,n.prototype.modPowInt=Qe,n.ZERO=y(0),n.ONE=y(1);function Jt(){var T=i();return this.copyTo(T),T}function Zn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function Pr(){return this.t==0?this.s:this[0]<<16>>16}function cr(T){return Math.floor(Math.LN2*this.DB/Math.log(T))}function Hr(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Sa(T){if(T==null&&(T=10),this.signum()==0||T<2||T>36)return"0";var N=this.chunkSize(T),H=Math.pow(T,N),Q=y(H),de=i(),ve=i(),Fe="";for(this.divRemTo(Q,de,ve);de.signum()>0;)Fe=(H+ve.intValue()).toString(T).substr(1)+Fe,de.divRemTo(Q,de,ve);return ve.intValue().toString(T)+Fe}function en(T,N){this.fromInt(0),N==null&&(N=10);for(var H=this.chunkSize(N),Q=Math.pow(N,H),de=!1,ve=0,Fe=0,Re=0;Re=H&&(this.dMultiply(Q),this.dAddOffset(Fe,0),ve=0,Fe=0)}ve>0&&(this.dMultiply(Math.pow(N,ve)),this.dAddOffset(Fe,0)),de&&n.ZERO.subTo(this,this)}function Ct(T,N,H){if(typeof N=="number")if(T<2)this.fromInt(1);else for(this.fromNumber(T,H),this.testBit(T-1)||this.bitwiseTo(n.ONE.shiftLeft(T-1),rs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(N);)this.dAddOffset(2,0),this.bitLength()>T&&this.subTo(n.ONE.shiftLeft(T-1),this);else{var Q=new Array,de=T&7;Q.length=(T>>3)+1,N.nextBytes(Q),de>0?Q[0]&=(1<0)for(H>H)!=(this.s&this.DM)>>H&&(N[de++]=Q|this.s<=0;)H<8?(Q=(this[T]&(1<>(H+=this.DB-8)):(Q=this[T]>>(H-=8)&255,H<=0&&(H+=this.DB,--T)),Q&128&&(Q|=-256),de==0&&(this.s&128)!=(Q&128)&&++de,(de>0||Q!=this.s)&&(N[de++]=Q);return N}function et(T){return this.compareTo(T)==0}function jr(T){return this.compareTo(T)<0?this:T}function ba(T){return this.compareTo(T)>0?this:T}function Ca(T,N,H){var Q,de,ve=Math.min(T.t,this.t);for(Q=0;Q>=16,N+=16),T&255||(T>>=8,N+=8),T&15||(T>>=4,N+=4),T&3||(T>>=2,N+=2),T&1||++N,N}function _o(){for(var T=0;T=this.t?this.s!=0:(this[N]&1<>=this.DB;if(T.t>=this.DB;Q+=this.s}else{for(Q+=this.s;H>=this.DB;Q+=T.s}N.s=Q<0?-1:0,Q>0?N[H++]=Q:Q<-1&&(N[H++]=this.DV+Q),N.t=H,N.clamp()}function $a(T){var N=i();return this.addTo(T,N),N}function zu(T){var N=i();return this.subTo(T,N),N}function Yu(T){var N=i();return this.multiplyTo(T,N),N}function Wu(){var T=i();return this.squareTo(T),T}function Xu(T){var N=i();return this.divRemTo(T,N,null),N}function Ju(T){var N=i();return this.divRemTo(T,null,N),N}function Zu(T){var N=i(),H=i();return this.divRemTo(T,N,H),new Array(N,H)}function Qu(T){this[this.t]=this.am(0,T-1,this,0,0,this.t),++this.t,this.clamp()}function ec(T,N){if(T!=0){for(;this.t<=N;)this[this.t++]=0;for(this[N]+=T;this[N]>=this.DV;)this[N]-=this.DV,++N>=this.t&&(this[this.t++]=0),++this[N]}}function Ii(){}function $o(T){return T}function tc(T,N,H){T.multiplyTo(N,H)}function rc(T,N){T.squareTo(N)}Ii.prototype.convert=$o,Ii.prototype.revert=$o,Ii.prototype.mulTo=tc,Ii.prototype.sqrTo=rc;function nc(T){return this.exp(T,new Ii)}function Do(T,N,H){var Q=Math.min(this.t+T.t,N);for(H.s=0,H.t=Q;Q>0;)H[--Q]=0;var de;for(de=H.t-this.t;Q=0;)H[Q]=0;for(Q=Math.max(N-this.t,0);Q2*this.m.t)return T.mod(this.m);if(T.compareTo(this.m)<0)return T;var N=i();return T.copyTo(N),this.reduce(N),N}function zs(T){return T}function Pn(T){for(T.drShiftTo(this.m.t-1,this.r2),T.t>this.m.t+1&&(T.t=this.m.t+1,T.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);T.compareTo(this.r2)<0;)T.dAddOffset(1,this.m.t+1);for(T.subTo(this.r2,T);T.compareTo(this.m)>=0;)T.subTo(this.m,T)}function sc(T,N){T.squareTo(N),this.reduce(N)}function ac(T,N,H){T.multiplyTo(N,H),this.reduce(H)}dn.prototype.convert=ic,dn.prototype.revert=zs,dn.prototype.reduce=Pn,dn.prototype.mulTo=ac,dn.prototype.sqrTo=sc;function Bo(T,N){var H=T.bitLength(),Q,de=y(1),ve;if(H<=0)return de;H<18?Q=1:H<48?Q=3:H<144?Q=4:H<768?Q=5:Q=6,H<8?ve=new Ie(N):N.isEven()?ve=new dn(N):ve=new Et(N);var Fe=new Array,Re=3,Pt=Q-1,Qt=(1<1){var Tr=i();for(ve.sqrTo(Fe[1],Tr);Re<=Qt;)Fe[Re]=i(),ve.mulTo(Tr,Fe[Re-2],Fe[Re]),Re+=2}var Or=T.t-1,Tn,Ws=!0,rn=i(),Nr;for(H=P(T[Or])-1;Or>=0;){for(H>=Pt?Tn=T[Or]>>H-Pt&Qt:(Tn=(T[Or]&(1<0&&(Tn|=T[Or-1]>>this.DB+H-Pt)),Re=Q;!(Tn&1);)Tn>>=1,--Re;if((H-=Re)<0&&(H+=this.DB,--Or),Ws)Fe[Tn].copyTo(de),Ws=!1;else{for(;Re>1;)ve.sqrTo(de,rn),ve.sqrTo(rn,de),Re-=2;Re>0?ve.sqrTo(de,rn):(Nr=de,de=rn,rn=Nr),ve.mulTo(rn,Fe[Tn],de)}for(;Or>=0&&!(T[Or]&1<0&&(N.rShiftTo(ve,N),H.rShiftTo(ve,H));N.signum()>0;)(de=N.getLowestSetBit())>0&&N.rShiftTo(de,N),(de=H.getLowestSetBit())>0&&H.rShiftTo(de,H),N.compareTo(H)>=0?(N.subTo(H,N),N.rShiftTo(1,N)):(H.subTo(N,H),H.rShiftTo(1,H));return ve>0&&H.lShiftTo(ve,H),H}function Ro(T){if(T<=0)return 0;var N=this.DV%T,H=this.s<0?T-1:0;if(this.t>0)if(N==0)H=this[0]%T;else for(var Q=this.t-1;Q>=0;--Q)H=(N*H+this[Q])%T;return H}function Ys(T){var N=T.isEven();if(this.isEven()&&N||T.signum()==0)return n.ZERO;for(var H=T.clone(),Q=this.clone(),de=y(1),ve=y(0),Fe=y(0),Re=y(1);H.signum()!=0;){for(;H.isEven();)H.rShiftTo(1,H),N?((!de.isEven()||!ve.isEven())&&(de.addTo(this,de),ve.subTo(T,ve)),de.rShiftTo(1,de)):ve.isEven()||ve.subTo(T,ve),ve.rShiftTo(1,ve);for(;Q.isEven();)Q.rShiftTo(1,Q),N?((!Fe.isEven()||!Re.isEven())&&(Fe.addTo(this,Fe),Re.subTo(T,Re)),Fe.rShiftTo(1,Fe)):Re.isEven()||Re.subTo(T,Re),Re.rShiftTo(1,Re);H.compareTo(Q)>=0?(H.subTo(Q,H),N&&de.subTo(Fe,de),ve.subTo(Re,ve)):(Q.subTo(H,Q),N&&Fe.subTo(de,Fe),Re.subTo(ve,Re))}if(Q.compareTo(n.ONE)!=0)return n.ZERO;if(Re.compareTo(T)>=0)return Re.subtract(T);if(Re.signum()<0)Re.addTo(T,Re);else return Re;return Re.signum()<0?Re.add(T):Re}var Zt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],oc=(1<<26)/Zt[Zt.length-1];function uc(T){var N,H=this.abs();if(H.t==1&&H[0]<=Zt[Zt.length-1]){for(N=0;N>1,T>Zt.length&&(T=Zt.length);for(var de=i(),ve=0;ve>8&255,Cr[Kt++]^=T>>16&255,Cr[Kt++]^=T>>24&255,Kt>=tn&&(Kt-=tn)}function Ba(){cc(new Date().getTime())}if(Cr==null){Cr=new Array,Kt=0;var _r;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var Ra=new Uint8Array(32);for(window.crypto.getRandomValues(Ra),_r=0;_r<32;++_r)Cr[Kt++]=Ra[_r]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var To=window.crypto.random(32);for(_r=0;_r>>8,Cr[Kt++]=_r&255;Kt=0,Ba()}function Oo(){if(Di==null){for(Ba(),Di=Na(),Di.init(Cr),Kt=0;Kt{(function(){"use strict";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(s){return n(a(s),arguments)}function r(s,u){return t.apply(null,[s].concat(u||[]))}function n(s,u){var l=1,f=s.length,d,E="",p,h,A,g,S,w,y,_;for(p=0;p=0),A.type){case"b":d=parseInt(d,10).toString(2);break;case"c":d=String.fromCharCode(parseInt(d,10));break;case"d":case"i":d=parseInt(d,10);break;case"j":d=JSON.stringify(d,null,A.width?parseInt(A.width):0);break;case"e":d=A.precision?parseFloat(d).toExponential(A.precision):parseFloat(d).toExponential();break;case"f":d=A.precision?parseFloat(d).toFixed(A.precision):parseFloat(d);break;case"g":d=A.precision?String(Number(d.toPrecision(A.precision))):parseFloat(d);break;case"o":d=(parseInt(d,10)>>>0).toString(8);break;case"s":d=String(d),d=A.precision?d.substring(0,A.precision):d;break;case"t":d=String(!!d),d=A.precision?d.substring(0,A.precision):d;break;case"T":d=Object.prototype.toString.call(d).slice(8,-1).toLowerCase(),d=A.precision?d.substring(0,A.precision):d;break;case"u":d=parseInt(d,10)>>>0;break;case"v":d=d.valueOf(),d=A.precision?d.substring(0,A.precision):d;break;case"x":d=(parseInt(d,10)>>>0).toString(16);break;case"X":d=(parseInt(d,10)>>>0).toString(16).toUpperCase();break}e.json.test(A.type)?E+=d:(e.number.test(A.type)&&(!y||A.sign)?(_=y?"+":"-",d=d.toString().replace(e.sign,"")):_="",S=A.pad_char?A.pad_char==="0"?"0":A.pad_char.charAt(1):" ",w=A.width-(_+d).length,g=A.width&&w>0?S.repeat(w):"",E+=A.align?_+d+g:S==="0"?_+g+d:g+_+d)}return E}var i=Object.create(null);function a(s){if(i[s])return i[s];for(var u=s,l,f=[],d=0;u;){if((l=e.text.exec(u))!==null)f.push(l[0]);else if((l=e.modulo.exec(u))!==null)f.push("%");else if((l=e.placeholder.exec(u))!==null){if(l[2]){d|=1;var E=[],p=l[2],h=[];if((h=e.key.exec(p))!==null)for(E.push(h[1]);(p=p.substring(h[0].length))!=="";)if((h=e.key_access.exec(p))!==null)E.push(h[1]);else if((h=e.index_access.exec(p))!==null)E.push(h[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");l[2]=E}else d|=2;if(d===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");f.push({placeholder:l[0],param_no:l[1],keys:l[2],sign:l[3],pad_char:l[4],align:l[5],width:l[6],precision:l[7],type:l[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");u=u.substring(l[0].length)}return i[s]=f}typeof vf<"u"&&(vf.sprintf=t,vf.vsprintf=r),typeof window<"u"&&(window.sprintf=t,window.vsprintf=r,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:r}}))})()});var od=ye(ki=>{"use strict";var E_=ki&&ki.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),w_=ki&&ki.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),gm=ki&&ki.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&E_(t,e,r);return w_(t,e),t};Object.defineProperty(ki,"__esModule",{value:!0});ki.Address4=void 0;var pm=gm(td()),Ai=gm(rd()),dm=gf(),Oc=sd(),iu=Tc(),ad=class e{constructor(t){this.groups=Ai.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=pm.isCorrect(Ai.BITS),this.isInSubnet=pm.isInSubnet,this.address=t;let r=Ai.RE_SUBNET_STRING.exec(t);if(r){if(this.parsedSubnet=r[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>Ai.BITS)throw new dm.AddressError("Invalid subnet mask.");t=t.replace(Ai.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(t){let r=t.split(".");if(!t.match(Ai.RE_ADDRESS))throw new dm.AddressError("Invalid IPv4 address.");return r}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let r=t.replace(/:/g,"").padStart(8,"0"),n=[],i;for(i=0;i<8;i+=2){let a=r.slice(i,i+2);n.push(parseInt(a,16))}return new e(n.join("."))}static fromInteger(t){return e.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new e(n)}toHex(){return this.parsedAddress.map(t=>(0,iu.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],r;for(r=0;r(0,iu.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new Oc.BigInteger(this.mask()+"0".repeat(Ai.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Oc.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Oc.BigInteger(this.mask()+"1".repeat(Ai.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Oc.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return e.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}reverseForm(t){t||(t={});let r=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?r:(0,iu.sprintf)("%s.in-addr.arpa.",r)}isMulticast(){return this.isInSubnet(new e("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(Ai.BITS,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(Ai.RE_ADDRESS,(0,iu.sprintf)('%s.%s',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};ki.Address4=ad});var ud=ye(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.RE_URL_WITH_PORT=rr.RE_URL=rr.RE_ZONE_STRING=rr.RE_SUBNET_STRING=rr.RE_BAD_ADDRESS=rr.RE_BAD_CHARACTERS=rr.TYPES=rr.SCOPES=rr.GROUPS=rr.BITS=void 0;rr.BITS=128;rr.GROUPS=8;rr.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"};rr.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"};rr.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi;rr.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;rr.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/;rr.RE_ZONE_STRING=/%.*$/;rr.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);rr.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)});var cd=ye(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.simpleGroup=Li.spanLeadingZeroes=Li.spanAll=Li.spanAllZeroes=void 0;var mm=Tc();function vm(e){return e.replace(/(0+)/g,'$1')}Li.spanAllZeroes=vm;function A_(e,t=0){return e.split("").map((n,i)=>(0,mm.sprintf)('%s',n,i+t,vm(n))).join("")}Li.spanAll=A_;function Em(e){return e.replace(/^(0+)/,'$1')}function y_(e){return e.split(":").map(r=>Em(r)).join(":")}Li.spanLeadingZeroes=y_;function S_(e,t=0){return e.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,mm.sprintf)('%s',i+t,Em(n)))}Li.simpleGroup=S_});var wm=ye($r=>{"use strict";var b_=$r&&$r.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),C_=$r&&$r.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__=$r&&$r.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&b_(t,e,r);return C_(t,e),t};Object.defineProperty($r,"__esModule",{value:!0});$r.possibleElisions=$r.simpleRegularExpression=$r.ADDRESS_BOUNDARY=$r.padGroup=$r.groupPossibilities=void 0;var F_=__(ud()),su=Tc();function wf(e){return(0,su.sprintf)("(%s)",e.join("|"))}$r.groupPossibilities=wf;function Ef(e){return e.length<4?(0,su.sprintf)("0{0,%d}%s",4-e.length,e):e}$r.padGroup=Ef;$r.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]";function I_(e){let t=[];e.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let r=t.map(n=>e.map((i,a)=>{if(a===n){let s=a===0||a===F_.GROUPS-1?":":"";return wf([Ef(i),s])}return Ef(i)}).join(":"));return r.push(e.map(Ef).join(":")),wf(r)}$r.simpleRegularExpression=I_;function $_(e,t,r){let n=t?"":":",i=r?"":":",a=[];!t&&!r&&a.push("::"),t&&r&&a.push(""),(r&&!t||!r&&t)&&a.push(":"),a.push((0,su.sprintf)("%s(:0{1,4}){1,%d}",n,e-1)),a.push((0,su.sprintf)("(0{1,4}:){1,%d}%s",e-1,i)),a.push((0,su.sprintf)("(0{1,4}:){%d}0{1,4}",e-1));for(let s=1;s{"use strict";var D_=Ui&&Ui.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),B_=Ui&&Ui.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),yf=Ui&&Ui.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&D_(t,e,r);return B_(t,e),t};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.Address6=void 0;var Am=yf(td()),ld=yf(rd()),jt=yf(ud()),fd=yf(cd()),Za=od(),Qa=wm(),bs=gf(),ln=sd(),fn=Tc();function Af(e){if(!e)throw new Error("Assertion failed.")}function R_(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,"$1,$2");return e}function P_(e){return e=e.replace(/^(0{1,})([1-9]+)$/,'$1$2'),e=e.replace(/^(0{1,})(0)$/,'$1$2'),e}function T_(e,t){let r=[],n=[],i;for(i=0;it[1]&&n.push(e[i]);return r.concat(["compact"]).concat(n)}function ym(e){return(0,fn.sprintf)("%04x",parseInt(e,16))}function Sm(e){return e&255}var hd=class e{constructor(t,r){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=Am.isInSubnet,this.isCorrect=Am.isCorrect(jt.BITS),r===void 0?this.groups=jt.GROUPS:this.groups=r,this.address=t;let n=jt.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>jt.BITS)throw new bs.AddressError("Invalid subnet mask.");t=t.replace(jt.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new bs.AddressError("Invalid subnet mask.");let i=jt.RE_ZONE_STRING.exec(t);i&&(this.zone=i[0],t=t.replace(jt.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInteger(t){let r=t.toString(16).padStart(32,"0"),n=[],i;for(i=0;i65536)&&(n=null)):n=null,{address:new e(r),port:n}}static fromAddress4(t){let r=new Za.Address4(t),n=jt.BITS-(ld.BITS-r.subnetMask);return new e(`::ffff:${r.correctForm()}/${n}`)}static fromArpa(t){let r=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(r.length!==63)throw new bs.AddressError("Invalid 'ip6.arpa' form.");let i=r.split(".").reverse();for(let a=n;a>0;a--){let s=a*4;i.splice(s,0,":")}return r=i.join(""),new e(r)}microsoftTranscription(){return(0,fn.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let r=jt.BITS-this.subnetMask,n=Math.abs(t-jt.BITS),i=r-n;return i<0?"0":R_(new ln.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new ln.BigInteger(this.mask()+"0".repeat(jt.BITS-this.subnetMask),2)}startAddress(){return e.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new ln.BigInteger("1");return e.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new ln.BigInteger(this.mask()+"1".repeat(jt.BITS-this.subnetMask),2)}endAddress(){return e.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new ln.BigInteger("1");return e.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=jt.SCOPES[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(jt.TYPES))if(this.isInSubnet(new e(t)))return jt.TYPES[t];return"Global unicast"}getBits(t,r){return new ln.BigInteger(this.getBitsBase2(t,r),2)}getBitsBase2(t,r){return this.binaryZeroPad().slice(t,r)}getBitsBase16(t,r){let n=r-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,r).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,jt.BITS)}reverseForm(t){t||(t={});let r=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,r).reverse().join(".");return r>0?t.omitSuffix?n:(0,fn.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,r=[],n=0,i=[];for(t=0;t0&&(n>1&&i.push([t-n,t-1]),n=0)}n>1&&i.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let a=i.map(u=>u[1]-u[0]+1);if(i.length>0){let u=a.indexOf(Math.max(...a));r=T_(this.parsedAddress,i[u])}else r=this.parsedAddress;for(t=0;t1?"s":"",r.join("")),t.replace(jt.RE_BAD_CHARACTERS,'$1'));let n=t.match(jt.RE_BAD_ADDRESS);if(n)throw new bs.AddressError((0,fn.sprintf)("Address failed regex: %s",n.join("")),t.replace(jt.RE_BAD_ADDRESS,'$1'));let i=[],a=t.split("::");if(a.length===2){let s=a[0].split(":"),u=a[1].split(":");s.length===1&&s[0]===""&&(s=[]),u.length===1&&u[0]===""&&(u=[]);let l=this.groups-(s.length+u.length);if(!l)throw new bs.AddressError("Error parsing groups");this.elidedGroups=l,this.elisionBegin=s.length,this.elisionEnd=s.length+this.elidedGroups,i=i.concat(s);for(let f=0;f(0,fn.sprintf)("%x",parseInt(s,16))),i.length!==this.groups)throw new bs.AddressError("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(ym).join(":")}decimal(){return this.parsedAddress.map(t=>(0,fn.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new ln.BigInteger(this.parsedAddress.map(ym).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return Za.Address4.fromHex(new ln.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),i="";return/:$/.test(n)||(i=":"),n+i+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),r=this.getBits(80,96).xor(new ln.BigInteger("ffff",16)).toString(),n=Za.Address4.fromHex(this.getBitsBase16(32,64)),i=Za.Address4.fromHex(this.getBits(96,128).xor(new ln.BigInteger("ffffffff",16)).toString(16)),a=this.getBits(64,80),s=this.getBitsBase2(64,80),u=a.testBit(15),l=a.testBit(14),f=a.testBit(8),d=a.testBit(9),E=new ln.BigInteger(s.slice(2,6)+s.slice(8,16),2).toString(10);return{prefix:(0,fn.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:s,coneNat:u,microsoft:{reserved:l,universalLocal:d,groupIndividual:f,nonce:E},udpPort:r}}inspect6to4(){let t=this.getBitsBase16(0,16),r=Za.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:(0,fn.sprintf)("%s",t.slice(0,4)),gateway:r.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new e(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(Sm)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(Sm))}static fromUnsignedByteArray(t){let r=new ln.BigInteger("256",10),n=new ln.BigInteger("0",10),i=new ln.BigInteger("1",10);for(let a=t.length-1;a>=0;a--)n=n.add(i.multiply(new ln.BigInteger(t[a].toString(10),10))),i=i.multiply(r);return e.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new e("2001::/32"))}is6to4(){return this.isInSubnet(new e("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,fn.sprintf)(":%s",t),(0,fn.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let r=this.correctForm;return t.v4&&(r=this.to4in6),t.className?(0,fn.sprintf)('%2$s',t.prefix,r.call(this),t.className):(0,fn.sprintf)('%2$s',t.prefix,r.call(this))}group(){if(this.elidedGroups===0)return fd.simpleGroup(this.address).join(":");Af(typeof this.elidedGroups=="number"),Af(typeof this.elisionBegin=="number");let t=[],[r,n]=this.address.split("::");r.length?t.push(...fd.simpleGroup(r)):t.push("");let i=["hover-group"];for(let a=this.elisionBegin;a',i.join(" "))),n.length?t.push(...fd.simpleGroup(n,this.elisionEnd)):t.push(""),this.is4()&&(Af(this.address4 instanceof Za.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let r=[],n=new e(this.correctForm());if(n.elidedGroups===0)r.push((0,Qa.simpleRegularExpression)(n.parsedAddress));else if(n.elidedGroups===jt.GROUPS)r.push((0,Qa.possibleElisions)(jt.GROUPS));else{let i=n.address.split("::");i[0].length&&r.push((0,Qa.simpleRegularExpression)(i[0].split(":"))),Af(typeof n.elidedGroups=="number"),r.push((0,Qa.possibleElisions)(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&r.push((0,Qa.simpleRegularExpression)(i[1].split(":"))),r=[r.join(":")]}return t||(r=["(?=^|",Qa.ADDRESS_BOUNDARY,"|[^\\w\\:])(",...r,")(?=[^\\w\\:]|",Qa.ADDRESS_BOUNDARY,"|$)"]),r.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};Ui.Address6=hd});var Cm=ye(Wr=>{"use strict";var O_=Wr&&Wr.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),N_=Wr&&Wr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),x_=Wr&&Wr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&O_(t,e,r);return N_(t,e),t};Object.defineProperty(Wr,"__esModule",{value:!0});Wr.v6=Wr.AddressError=Wr.Address6=Wr.Address4=void 0;var k_=od();Object.defineProperty(Wr,"Address4",{enumerable:!0,get:function(){return k_.Address4}});var L_=bm();Object.defineProperty(Wr,"Address6",{enumerable:!0,get:function(){return L_.Address6}});var U_=gf();Object.defineProperty(Wr,"AddressError",{enumerable:!0,get:function(){return U_.AddressError}});var H_=x_(cd());Wr.v6={helpers:H_}});var no=ye((mT,ro)=>{"use strict";function Im(e){return typeof e>"u"||e===null}function G_(e){return typeof e=="object"&&e!==null}function z_(e){return Array.isArray(e)?e:Im(e)?[]:[e]}function Y_(e,t){var r,n,i,a;if(t)for(a=Object.keys(t),r=0,n=a.length;r{"use strict";function kc(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}kc.prototype=Object.create(Error.prototype);kc.prototype.constructor=kc;kc.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};$m.exports=kc});var Rm=ye((ET,Bm)=>{"use strict";var Dm=no();function gd(e,t,r,n,i){this.name=e,this.buffer=t,this.position=r,this.line=n,this.column=i}gd.prototype.getSnippet=function(t,r){var n,i,a,s,u;if(!this.buffer)return null;for(t=t||4,r=r||75,n="",i=this.position;i>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>r/2-1){n=" ... ",i+=5;break}for(a="",s=this.position;sr/2-1){a=" ... ",s-=5;break}return u=this.buffer.slice(i,s),Dm.repeat(" ",t)+n+u+a+` +`+Dm.repeat(" ",t+this.position-i+n.length)+"^"};gd.prototype.toString=function(t){var r,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(n+=`: +`+r)),n};Bm.exports=gd});var Er=ye((wT,Tm)=>{"use strict";var Pm=cu(),J_=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Z_=["scalar","sequence","mapping"];function Q_(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function e5(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(J_.indexOf(r)===-1)throw new Pm('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=Q_(t.styleAliases||null),Z_.indexOf(this.kind)===-1)throw new Pm('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}Tm.exports=e5});var io=ye((AT,Nm)=>{"use strict";var Om=no(),Ff=cu(),t5=Er();function md(e,t,r){var n=[];return e.include.forEach(function(i){r=md(i,t,r)}),e[t].forEach(function(i){r.forEach(function(a,s){a.tag===i.tag&&a.kind===i.kind&&n.push(s)}),r.push(i)}),r.filter(function(i,a){return n.indexOf(a)===-1})}function r5(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function n(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,r=arguments.length;t{"use strict";var n5=Er();xm.exports=new n5("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Um=ye((ST,Lm)=>{"use strict";var i5=Er();Lm.exports=new i5("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var jm=ye((bT,Hm)=>{"use strict";var s5=Er();Hm.exports=new s5("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var If=ye((CT,Mm)=>{"use strict";var a5=io();Mm.exports=new a5({explicit:[km(),Um(),jm()]})});var Km=ye((_T,qm)=>{"use strict";var o5=Er();function u5(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function c5(){return null}function l5(e){return e===null}qm.exports=new o5("tag:yaml.org,2002:null",{kind:"scalar",resolve:u5,construct:c5,predicate:l5,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Gm=ye((FT,Vm)=>{"use strict";var f5=Er();function h5(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function p5(e){return e==="true"||e==="True"||e==="TRUE"}function d5(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Vm.exports=new f5("tag:yaml.org,2002:bool",{kind:"scalar",resolve:h5,construct:p5,predicate:d5,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var Ym=ye((IT,zm)=>{"use strict";var g5=no(),m5=Er();function v5(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function E5(e){return 48<=e&&e<=55}function w5(e){return 48<=e&&e<=57}function A5(e){if(e===null)return!1;var t=e.length,r=0,n=!1,i;if(!t)return!1;if(i=e[r],(i==="-"||i==="+")&&(i=e[++r]),i==="0"){if(r+1===t)return!0;if(i=e[++r],i==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Jm=ye(($T,Xm)=>{"use strict";var Wm=no(),b5=Er(),C5=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function _5(e){return!(e===null||!C5.test(e)||e[e.length-1]==="_")}function F5(e){var t,r,n,i;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(a){i.unshift(parseFloat(a,10))}),t=0,n=1,i.forEach(function(a){t+=a*n,n*=60}),r*t):r*parseFloat(t,10)}var I5=/^[-+]?[0-9]+e/;function $5(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Wm.isNegativeZero(e))return"-0.0";return r=e.toString(10),I5.test(r)?r.replace("e",".e"):r}function D5(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||Wm.isNegativeZero(e))}Xm.exports=new b5("tag:yaml.org,2002:float",{kind:"scalar",resolve:_5,construct:F5,predicate:D5,represent:$5,defaultStyle:"lowercase"})});var vd=ye((DT,Zm)=>{"use strict";var B5=io();Zm.exports=new B5({include:[If()],implicit:[Km(),Gm(),Ym(),Jm()]})});var Ed=ye((BT,Qm)=>{"use strict";var R5=io();Qm.exports=new R5({include:[vd()]})});var nv=ye((RT,rv)=>{"use strict";var P5=Er(),ev=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),tv=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function T5(e){return e===null?!1:ev.exec(e)!==null||tv.exec(e)!==null}function O5(e){var t,r,n,i,a,s,u,l=0,f=null,d,E,p;if(t=ev.exec(e),t===null&&(t=tv.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,n,i));if(a=+t[4],s=+t[5],u=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=+t[10],E=+(t[11]||0),f=(d*60+E)*6e4,t[9]==="-"&&(f=-f)),p=new Date(Date.UTC(r,n,i,a,s,u,l)),f&&p.setTime(p.getTime()-f),p}function N5(e){return e.toISOString()}rv.exports=new P5("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:T5,construct:O5,instanceOf:Date,represent:N5})});var sv=ye((PT,iv)=>{"use strict";var x5=Er();function k5(e){return e==="<<"||e===null}iv.exports=new x5("tag:yaml.org,2002:merge",{kind:"scalar",resolve:k5})});var uv=ye((TT,ov)=>{"use strict";var so;try{av=za,so=av("buffer").Buffer}catch{}var av,L5=Er(),wd=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function U5(e){if(e===null)return!1;var t,r,n=0,i=e.length,a=wd;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function H5(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,a=wd,s=0,u=[];for(t=0;t>16&255),u.push(s>>8&255),u.push(s&255)),s=s<<6|a.indexOf(n.charAt(t));return r=i%4*6,r===0?(u.push(s>>16&255),u.push(s>>8&255),u.push(s&255)):r===18?(u.push(s>>10&255),u.push(s>>2&255)):r===12&&u.push(s>>4&255),so?so.from?so.from(u):new so(u):u}function j5(e){var t="",r=0,n,i,a=e.length,s=wd;for(n=0;n>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]),r=(r<<8)+e[n];return i=a%3,i===0?(t+=s[r>>18&63],t+=s[r>>12&63],t+=s[r>>6&63],t+=s[r&63]):i===2?(t+=s[r>>10&63],t+=s[r>>4&63],t+=s[r<<2&63],t+=s[64]):i===1&&(t+=s[r>>2&63],t+=s[r<<4&63],t+=s[64],t+=s[64]),t}function M5(e){return so&&so.isBuffer(e)}ov.exports=new L5("tag:yaml.org,2002:binary",{kind:"scalar",resolve:U5,construct:H5,predicate:M5,represent:j5})});var lv=ye((NT,cv)=>{"use strict";var q5=Er(),K5=Object.prototype.hasOwnProperty,V5=Object.prototype.toString;function G5(e){if(e===null)return!0;var t=[],r,n,i,a,s,u=e;for(r=0,n=u.length;r{"use strict";var Y5=Er(),W5=Object.prototype.toString;function X5(e){if(e===null)return!0;var t,r,n,i,a,s=e;for(a=new Array(s.length),t=0,r=s.length;t{"use strict";var Z5=Er(),Q5=Object.prototype.hasOwnProperty;function e3(e){if(e===null)return!0;var t,r=e;for(t in r)if(Q5.call(r,t)&&r[t]!==null)return!1;return!0}function t3(e){return e!==null?e:{}}pv.exports=new Z5("tag:yaml.org,2002:set",{kind:"mapping",resolve:e3,construct:t3})});var fu=ye((LT,gv)=>{"use strict";var r3=io();gv.exports=new r3({include:[Ed()],implicit:[nv(),sv()],explicit:[uv(),lv(),hv(),dv()]})});var vv=ye((UT,mv)=>{"use strict";var n3=Er();function i3(){return!0}function s3(){}function a3(){return""}function o3(e){return typeof e>"u"}mv.exports=new n3("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:i3,construct:s3,predicate:o3,represent:a3})});var wv=ye((HT,Ev)=>{"use strict";var u3=Er();function c3(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),n="";return!(t[0]==="/"&&(r&&(n=r[1]),n.length>3||t[t.length-n.length-1]!=="/"))}function l3(e){var t=e,r=/\/([gim]*)$/.exec(e),n="";return t[0]==="/"&&(r&&(n=r[1]),t=t.slice(1,t.length-n.length-1)),new RegExp(t,n)}function f3(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function h3(e){return Object.prototype.toString.call(e)==="[object RegExp]"}Ev.exports=new u3("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:c3,construct:l3,predicate:h3,represent:f3})});var Sv=ye((jT,yv)=>{"use strict";var $f;try{Av=za,$f=Av("esprima")}catch{typeof window<"u"&&($f=window.esprima)}var Av,p3=Er();function d3(e){if(e===null)return!1;try{var t="("+e+")",r=$f.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function g3(e){var t="("+e+")",r=$f.parse(t,{range:!0}),n=[],i;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(a){n.push(a.name)}),i=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(n,t.slice(i[0]+1,i[1]-1)):new Function(n,"return "+t.slice(i[0],i[1]))}function m3(e){return e.toString()}function v3(e){return Object.prototype.toString.call(e)==="[object Function]"}yv.exports=new p3("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:d3,construct:g3,predicate:v3,represent:m3})});var Lc=ye((qT,Cv)=>{"use strict";var bv=io();Cv.exports=bv.DEFAULT=new bv({include:[fu()],explicit:[vv(),wv(),Sv()]})});var qv=ye((KT,Uc)=>{"use strict";var _s=no(),Rv=cu(),E3=Rm(),Pv=fu(),w3=Lc(),ha=Object.prototype.hasOwnProperty,Df=1,Tv=2,Ov=3,Bf=4,Ad=1,A3=2,_v=3,y3=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,S3=/[\x85\u2028\u2029]/,b3=/[,\[\]\{\}]/,Nv=/^(?:!|!!|![a-z\-]+!)$/i,xv=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Fv(e){return Object.prototype.toString.call(e)}function ji(e){return e===10||e===13}function oo(e){return e===9||e===32}function _n(e){return e===9||e===32||e===10||e===13}function hu(e){return e===44||e===91||e===93||e===123||e===125}function C3(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function _3(e){return e===120?2:e===117?4:e===85?8:0}function F3(e){return 48<=e&&e<=57?e-48:-1}function Iv(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function I3(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var kv=new Array(256),Lv=new Array(256);for(ao=0;ao<256;ao++)kv[ao]=Iv(ao)?1:0,Lv[ao]=Iv(ao);var ao;function $3(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||w3,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Uv(e,t){return new Rv(t,new E3(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Ke(e,t){throw Uv(e,t)}function Rf(e,t){e.onWarning&&e.onWarning.call(null,Uv(e,t))}var $v={YAML:function(t,r,n){var i,a,s;t.version!==null&&Ke(t,"duplication of %YAML directive"),n.length!==1&&Ke(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Ke(t,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Ke(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&Rf(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var i,a;n.length!==2&&Ke(t,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Nv.test(i)||Ke(t,"ill-formed tag handle (first argument) of the TAG directive"),ha.call(t.tagMap,i)&&Ke(t,'there is a previously declared suffix for "'+i+'" tag handle'),xv.test(a)||Ke(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=a}};function fa(e,t,r,n){var i,a,s,u;if(t1&&(e.result+=_s.repeat(` +`,t-1))}function D3(e,t,r){var n,i,a,s,u,l,f,d,E=e.kind,p=e.result,h;if(h=e.input.charCodeAt(e.position),_n(h)||hu(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(i=e.input.charCodeAt(e.position+1),_n(i)||r&&hu(i)))return!1;for(e.kind="scalar",e.result="",a=s=e.position,u=!1;h!==0;){if(h===58){if(i=e.input.charCodeAt(e.position+1),_n(i)||r&&hu(i))break}else if(h===35){if(n=e.input.charCodeAt(e.position-1),_n(n))break}else{if(e.position===e.lineStart&&Pf(e)||r&&hu(h))break;if(ji(h))if(l=e.line,f=e.lineStart,d=e.lineIndent,dr(e,!1,-1),e.lineIndent>=t){u=!0,h=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=f,e.lineIndent=d;break}}u&&(fa(e,a,s,!1),Sd(e,e.line-l),a=s=e.position,u=!1),oo(h)||(s=e.position+1),h=e.input.charCodeAt(++e.position)}return fa(e,a,s,!1),e.result?!0:(e.kind=E,e.result=p,!1)}function B3(e,t){var r,n,i;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(fa(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,i=e.position;else return!0;else ji(r)?(fa(e,n,i,!0),Sd(e,dr(e,!1,t)),n=i=e.position):e.position===e.lineStart&&Pf(e)?Ke(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Ke(e,"unexpected end of the stream within a single quoted scalar")}function R3(e,t){var r,n,i,a,s,u;if(u=e.input.charCodeAt(e.position),u!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(u=e.input.charCodeAt(e.position))!==0;){if(u===34)return fa(e,r,e.position,!0),e.position++,!0;if(u===92){if(fa(e,r,e.position,!0),u=e.input.charCodeAt(++e.position),ji(u))dr(e,!1,t);else if(u<256&&kv[u])e.result+=Lv[u],e.position++;else if((s=_3(u))>0){for(i=s,a=0;i>0;i--)u=e.input.charCodeAt(++e.position),(s=C3(u))>=0?a=(a<<4)+s:Ke(e,"expected hexadecimal character");e.result+=I3(a),e.position++}else Ke(e,"unknown escape sequence");r=n=e.position}else ji(u)?(fa(e,r,n,!0),Sd(e,dr(e,!1,t)),r=n=e.position):e.position===e.lineStart&&Pf(e)?Ke(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Ke(e,"unexpected end of the stream within a double quoted scalar")}function P3(e,t){var r=!0,n,i=e.tag,a,s=e.anchor,u,l,f,d,E,p={},h,A,g,S;if(S=e.input.charCodeAt(e.position),S===91)l=93,E=!1,a=[];else if(S===123)l=125,E=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),S=e.input.charCodeAt(++e.position);S!==0;){if(dr(e,!0,t),S=e.input.charCodeAt(e.position),S===l)return e.position++,e.tag=i,e.anchor=s,e.kind=E?"mapping":"sequence",e.result=a,!0;r||Ke(e,"missed comma between flow collection entries"),A=h=g=null,f=d=!1,S===63&&(u=e.input.charCodeAt(e.position+1),_n(u)&&(f=d=!0,e.position++,dr(e,!0,t))),n=e.line,du(e,t,Df,!1,!0),A=e.tag,h=e.result,dr(e,!0,t),S=e.input.charCodeAt(e.position),(d||e.line===n)&&S===58&&(f=!0,S=e.input.charCodeAt(++e.position),dr(e,!0,t),du(e,t,Df,!1,!0),g=e.result),E?pu(e,a,p,A,h,g):f?a.push(pu(e,null,p,A,h,g)):a.push(h),dr(e,!0,t),S=e.input.charCodeAt(e.position),S===44?(r=!0,S=e.input.charCodeAt(++e.position)):r=!1}Ke(e,"unexpected end of the stream within a flow collection")}function T3(e,t){var r,n,i=Ad,a=!1,s=!1,u=t,l=0,f=!1,d,E;if(E=e.input.charCodeAt(e.position),E===124)n=!1;else if(E===62)n=!0;else return!1;for(e.kind="scalar",e.result="";E!==0;)if(E=e.input.charCodeAt(++e.position),E===43||E===45)Ad===i?i=E===43?_v:A3:Ke(e,"repeat of a chomping mode identifier");else if((d=F3(E))>=0)d===0?Ke(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Ke(e,"repeat of an indentation width identifier"):(u=t+d-1,s=!0);else break;if(oo(E)){do E=e.input.charCodeAt(++e.position);while(oo(E));if(E===35)do E=e.input.charCodeAt(++e.position);while(!ji(E)&&E!==0)}for(;E!==0;){for(yd(e),e.lineIndent=0,E=e.input.charCodeAt(e.position);(!s||e.lineIndentu&&(u=e.lineIndent),ji(E)){l++;continue}if(e.lineIndentt)&&l!==0)Ke(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(du(e,t,Bf,!0,i)&&(A?p=e.result:h=e.result),A||(pu(e,f,d,E,p,h,a,s),E=p=h=null),dr(e,!0,-1),S=e.input.charCodeAt(e.position)),e.lineIndent>t&&S!==0)Ke(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),E=0,p=e.implicitTypes.length;E tag; it should be "'+h.kind+'", not "'+e.kind+'"'),h.resolve(e.result)?(e.result=h.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Ke(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Ke(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||d}function L3(e){var t=e.position,r,n,i,a=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(s=e.input.charCodeAt(e.position))!==0&&(dr(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(a=!0,s=e.input.charCodeAt(++e.position),r=e.position;s!==0&&!_n(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),i=[],n.length<1&&Ke(e,"directive name must not be less than one character in length");s!==0;){for(;oo(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!ji(s));break}if(ji(s))break;for(r=e.position;s!==0&&!_n(s);)s=e.input.charCodeAt(++e.position);i.push(e.input.slice(r,e.position))}s!==0&&yd(e),ha.call($v,n)?$v[n](e,n,i):Rf(e,'unknown document directive "'+n+'"')}if(dr(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,dr(e,!0,-1)):a&&Ke(e,"directives end mark is expected"),du(e,e.lineIndent-1,Bf,!1,!0),dr(e,!0,-1),e.checkLineBreaks&&S3.test(e.input.slice(t,e.position))&&Rf(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Pf(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,dr(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=Hv(e,r);if(typeof t!="function")return n;for(var i=0,a=n.length;i"u"&&(r=t,t=null),jv(e,t,_s.extend({schema:Pv},r))}function H3(e,t){return Mv(e,_s.extend({schema:Pv},t))}Uc.exports.loadAll=jv;Uc.exports.load=Mv;Uc.exports.safeLoadAll=U3;Uc.exports.safeLoad=H3});var h2=ye((VT,Fd)=>{"use strict";var jc=no(),Mc=cu(),j3=Lc(),M3=fu(),Jv=Object.prototype.toString,Zv=Object.prototype.hasOwnProperty,q3=9,Hc=10,K3=13,V3=32,G3=33,z3=34,Qv=35,Y3=37,W3=38,X3=39,J3=42,e2=44,Z3=45,t2=58,Q3=61,eF=62,tF=63,rF=64,r2=91,n2=93,nF=96,i2=123,iF=124,s2=125,Jr={};Jr[0]="\\0";Jr[7]="\\a";Jr[8]="\\b";Jr[9]="\\t";Jr[10]="\\n";Jr[11]="\\v";Jr[12]="\\f";Jr[13]="\\r";Jr[27]="\\e";Jr[34]='\\"';Jr[92]="\\\\";Jr[133]="\\N";Jr[160]="\\_";Jr[8232]="\\L";Jr[8233]="\\P";var sF=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function aF(e,t){var r,n,i,a,s,u,l;if(t===null)return{};for(r={},n=Object.keys(t),i=0,a=n.length;i0?e.charCodeAt(a-1):null,p=p&&Gv(s,u)}else{for(a=0;an&&e[E+1]!==" ",E=a);else if(!gu(s))return Tf;u=a>0?e.charCodeAt(a-1):null,p=p&&Gv(s,u)}f=f||d&&a-E-1>n&&e[E+1]!==" "}return!l&&!f?p&&!i(e)?o2:u2:r>9&&a2(e)?Tf:f?l2:c2}function hF(e,t,r,n){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&sF.indexOf(t)!==-1)return"'"+t+"'";var i=e.indent*Math.max(1,r),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=n||e.flowLevel>-1&&r>=e.flowLevel;function u(l){return uF(e,l)}switch(fF(t,s,e.indent,a,u)){case o2:return t;case u2:return"'"+t.replace(/'/g,"''")+"'";case c2:return"|"+zv(t,e.indent)+Yv(Vv(t,i));case l2:return">"+zv(t,e.indent)+Yv(Vv(pF(t,a),i));case Tf:return'"'+dF(t,a)+'"';default:throw new Mc("impossible error: invalid scalar style")}}()}function zv(e,t){var r=a2(e)?String(t):"",n=e[e.length-1]===` +`,i=n&&(e[e.length-2]===` +`||e===` +`),a=i?"+":n?"":"-";return r+a+` +`}function Yv(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function pF(e,t){for(var r=/(\n+)([^\n]*)/g,n=function(){var f=e.indexOf(` +`);return f=f!==-1?f:e.length,r.lastIndex=f,Wv(e.slice(0,f),t)}(),i=e[0]===` +`||e[0]===" ",a,s;s=r.exec(e);){var u=s[1],l=s[2];a=l[0]===" ",n+=u+(!i&&!a&&l!==""?` +`:"")+Wv(l,t),i=a}return n}function Wv(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,n,i=0,a,s=0,u=0,l="";n=r.exec(e);)u=n.index,u-i>t&&(a=s>i?s:u,l+=` +`+e.slice(i,a),i=a+1),s=u;return l+=` +`,e.length-i>t&&s>i?l+=e.slice(i,s)+` +`+e.slice(s+1):l+=e.slice(i),l.slice(1)}function dF(e){for(var t="",r,n,i,a=0;a=55296&&r<=56319&&(n=e.charCodeAt(a+1),n>=56320&&n<=57343)){t+=Kv((r-55296)*1024+n-56320+65536),a++;continue}i=Jr[r],t+=!i&&gu(r)?e[a]:i||Kv(r)}return t}function gF(e,t,r){var n="",i=e.tag,a,s;for(a=0,s=r.length;a1024&&(d+="? "),d+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),uo(e,t,f,!1,!1)&&(d+=e.dump,n+=d));e.tag=i,e.dump="{"+n+"}"}function EF(e,t,r,n){var i="",a=e.tag,s=Object.keys(r),u,l,f,d,E,p;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Mc("sortKeys must be a boolean or a function");for(u=0,l=s.length;u1024,E&&(e.dump&&Hc===e.dump.charCodeAt(0)?p+="?":p+="? "),p+=e.dump,E&&(p+=bd(e,t)),uo(e,t+1,d,!0,E)&&(e.dump&&Hc===e.dump.charCodeAt(0)?p+=":":p+=": ",p+=e.dump,i+=p));e.tag=a,e.dump=i||"{}"}function Xv(e,t,r){var n,i,a,s,u,l;for(i=r?e.explicitTypes:e.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+l+'" style');e.dump=n}return!0}return!1}function uo(e,t,r,n,i,a){e.tag=null,e.dump=r,Xv(e,r,!1)||Xv(e,r,!0);var s=Jv.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>t);var u=s==="[object Object]"||s==="[object Array]",l,f;if(u&&(l=e.duplicates.indexOf(r),f=l!==-1),(e.tag!==null&&e.tag!=="?"||f||e.indent!==2&&t>0)&&(i=!1),f&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(u&&f&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),s==="[object Object]")n&&Object.keys(e.dump).length!==0?(EF(e,t,e.dump,i),f&&(e.dump="&ref_"+l+e.dump)):(vF(e,t,e.dump),f&&(e.dump="&ref_"+l+" "+e.dump));else if(s==="[object Array]"){var d=e.noArrayIndent&&t>0?t-1:t;n&&e.dump.length!==0?(mF(e,d,e.dump,i),f&&(e.dump="&ref_"+l+e.dump)):(gF(e,d,e.dump),f&&(e.dump="&ref_"+l+" "+e.dump))}else if(s==="[object String]")e.tag!=="?"&&hF(e,e.dump,t,a);else{if(e.skipInvalid)return!1;throw new Mc("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function wF(e,t){var r=[],n=[],i,a;for(Cd(e,r,n),i=0,a=n.length;i{"use strict";var Of=qv(),p2=h2();function Nf(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}nr.exports.Type=Er();nr.exports.Schema=io();nr.exports.FAILSAFE_SCHEMA=If();nr.exports.JSON_SCHEMA=vd();nr.exports.CORE_SCHEMA=Ed();nr.exports.DEFAULT_SAFE_SCHEMA=fu();nr.exports.DEFAULT_FULL_SCHEMA=Lc();nr.exports.load=Of.load;nr.exports.loadAll=Of.loadAll;nr.exports.safeLoad=Of.safeLoad;nr.exports.safeLoadAll=Of.safeLoadAll;nr.exports.dump=p2.dump;nr.exports.safeDump=p2.safeDump;nr.exports.YAMLException=cu();nr.exports.MINIMAL_SCHEMA=If();nr.exports.SAFE_SCHEMA=fu();nr.exports.DEFAULT_SCHEMA=Lc();nr.exports.scan=Nf("scan");nr.exports.parse=Nf("parse");nr.exports.compose=Nf("compose");nr.exports.addConstructor=Nf("addConstructor")});var m2=ye((zT,g2)=>{"use strict";var yF=d2();g2.exports=yF});var E2=ye((YT,v2)=>{"use strict";var xf=m2();v2.exports={safeLoad:xf.safeLoad,load:xf.load,safeDump:xf.safeDump,dump:xf.dump}});var K2=ye(Hf=>{"use strict";Hf.byteLength=HF;Hf.toByteArray=MF;Hf.fromByteArray=VF;var Mi=[],ui=[],UF=typeof Uint8Array<"u"?Uint8Array:Array,Pd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(lo=0,M2=Pd.length;lo0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function HF(e){var t=q2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function jF(e,t,r){return(t+r)*3/4-r}function MF(e){var t,r=q2(e),n=r[0],i=r[1],a=new UF(jF(e,n,i)),s=0,u=i>0?n-4:n,l;for(l=0;l>16&255,a[s++]=t>>8&255,a[s++]=t&255;return i===2&&(t=ui[e.charCodeAt(l)]<<2|ui[e.charCodeAt(l+1)]>>4,a[s++]=t&255),i===1&&(t=ui[e.charCodeAt(l)]<<10|ui[e.charCodeAt(l+1)]<<4|ui[e.charCodeAt(l+2)]>>2,a[s++]=t>>8&255,a[s++]=t&255),a}function qF(e){return Mi[e>>18&63]+Mi[e>>12&63]+Mi[e>>6&63]+Mi[e&63]}function KF(e,t,r){for(var n,i=[],a=t;au?u:s+a));return n===1?(t=e[r-1],i.push(Mi[t>>2]+Mi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Mi[t>>10]+Mi[t>>4&63]+Mi[t<<2&63]+"=")),i.join("")}});var V2=ye(Td=>{Td.read=function(e,t,r,n,i){var a,s,u=i*8-n-1,l=(1<>1,d=-7,E=r?i-1:0,p=r?-1:1,h=e[t+E];for(E+=p,a=h&(1<<-d)-1,h>>=-d,d+=u;d>0;a=a*256+e[t+E],E+=p,d-=8);for(s=a&(1<<-d)-1,a>>=-d,d+=n;d>0;s=s*256+e[t+E],E+=p,d-=8);if(a===0)a=1-f;else{if(a===l)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,n),a=a-f}return(h?-1:1)*s*Math.pow(2,a-n)};Td.write=function(e,t,r,n,i,a){var s,u,l,f=a*8-i-1,d=(1<>1,p=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:a-1,A=n?1:-1,g=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+E>=1?t+=p/l:t+=p*Math.pow(2,1-E),t*l>=2&&(s++,l/=2),s+E>=d?(u=0,s=d):s+E>=1?(u=(t*l-1)*Math.pow(2,i),s=s+E):(u=t*Math.pow(2,E-1)*Math.pow(2,i),s=0));i>=8;e[r+h]=u&255,h+=A,u/=256,i-=8);for(s=s<0;e[r+h]=s&255,h+=A,s/=256,f-=8);e[r+h-A]|=g*128}});var qf=ye(bu=>{"use strict";var Od=K2(),yu=V2(),G2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;bu.Buffer=fe;bu.SlowBuffer=JF;bu.INSPECT_MAX_BYTES=50;var jf=2147483647;bu.kMaxLength=jf;fe.TYPED_ARRAY_SUPPORT=GF();!fe.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function GF(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(fe.prototype,"parent",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.buffer}});Object.defineProperty(fe.prototype,"offset",{enumerable:!0,get:function(){if(fe.isBuffer(this))return this.byteOffset}});function Fs(e){if(e>jf)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,fe.prototype),t}function fe(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Ld(e)}return X2(e,t,r)}fe.poolSize=8192;function X2(e,t,r){if(typeof e=="string")return YF(e,t);if(ArrayBuffer.isView(e))return WF(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(qi(e,ArrayBuffer)||e&&qi(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(qi(e,SharedArrayBuffer)||e&&qi(e.buffer,SharedArrayBuffer)))return xd(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return fe.from(n,t,r);let i=XF(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return fe.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}fe.from=function(e,t,r){return X2(e,t,r)};Object.setPrototypeOf(fe.prototype,Uint8Array.prototype);Object.setPrototypeOf(fe,Uint8Array);function J2(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function zF(e,t,r){return J2(e),e<=0?Fs(e):t!==void 0?typeof r=="string"?Fs(e).fill(t,r):Fs(e).fill(t):Fs(e)}fe.alloc=function(e,t,r){return zF(e,t,r)};function Ld(e){return J2(e),Fs(e<0?0:Ud(e)|0)}fe.allocUnsafe=function(e){return Ld(e)};fe.allocUnsafeSlow=function(e){return Ld(e)};function YF(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!fe.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=Z2(e,t)|0,n=Fs(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function Nd(e){let t=e.length<0?0:Ud(e.length)|0,r=Fs(t);for(let n=0;n=jf)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+jf.toString(16)+" bytes");return e|0}function JF(e){return+e!=e&&(e=0),fe.alloc(+e)}fe.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==fe.prototype};fe.compare=function(t,r){if(qi(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),qi(r,Uint8Array)&&(r=fe.from(r,r.offset,r.byteLength)),!fe.isBuffer(t)||!fe.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,s=Math.min(n,i);ai.length?(fe.isBuffer(s)||(s=fe.from(s)),s.copy(i,a)):Uint8Array.prototype.set.call(i,s,a);else if(fe.isBuffer(s))s.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=s.length}return i};function Z2(e,t){if(fe.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qi(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return kd(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return oE(e).length;default:if(i)return n?-1:kd(e).length;t=(""+t).toLowerCase(),i=!0}}fe.byteLength=Z2;function ZF(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return u8(this,t,r);case"utf8":case"utf-8":return eE(this,t,r);case"ascii":return a8(this,t,r);case"latin1":case"binary":return o8(this,t,r);case"base64":return i8(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c8(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}fe.prototype._isBuffer=!0;function fo(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}fe.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};G2&&(fe.prototype[G2]=fe.prototype.inspect);fe.prototype.compare=function(t,r,n,i,a){if(qi(t,Uint8Array)&&(t=fe.from(t,t.offset,t.byteLength)),!fe.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let s=a-i,u=n-r,l=Math.min(s,u),f=this.slice(i,a),d=t.slice(r,n);for(let E=0;E2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,jd(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=fe.from(t,n)),fe.isBuffer(t))return t.length===0?-1:z2(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):z2(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function z2(e,t,r,n,i){let a=1,s=e.length,u=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,r/=2}function l(d,E){return a===1?d[E]:d.readUInt16BE(E*a)}let f;if(i){let d=-1;for(f=r;fs&&(r=s-u),f=r;f>=0;f--){let d=!0;for(let E=0;Ei&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let s;for(s=0;s>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return QF(this,t,r,n);case"utf8":case"utf-8":return e8(this,t,r,n);case"ascii":case"latin1":case"binary":return t8(this,t,r,n);case"base64":return r8(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n8(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};fe.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function i8(e,t,r){return t===0&&r===e.length?Od.fromByteArray(e):Od.fromByteArray(e.slice(t,r))}function eE(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+u<=r){let l,f,d,E;switch(u){case 1:a<128&&(s=a);break;case 2:l=e[i+1],(l&192)===128&&(E=(a&31)<<6|l&63,E>127&&(s=E));break;case 3:l=e[i+1],f=e[i+2],(l&192)===128&&(f&192)===128&&(E=(a&15)<<12|(l&63)<<6|f&63,E>2047&&(E<55296||E>57343)&&(s=E));break;case 4:l=e[i+1],f=e[i+2],d=e[i+3],(l&192)===128&&(f&192)===128&&(d&192)===128&&(E=(a&15)<<18|(l&63)<<12|(f&63)<<6|d&63,E>65535&&E<1114112&&(s=E))}}s===null?(s=65533,u=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=u}return s8(n)}var Y2=4096;function s8(e){let t=e.length;if(t<=Y2)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}fe.prototype.readUintLE=fe.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||Dr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s>>0,r=r>>>0,n||Dr(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};fe.prototype.readUint8=fe.prototype.readUInt8=function(t,r){return t=t>>>0,r||Dr(t,1,this.length),this[t]};fe.prototype.readUint16LE=fe.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||Dr(t,2,this.length),this[t]|this[t+1]<<8};fe.prototype.readUint16BE=fe.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||Dr(t,2,this.length),this[t]<<8|this[t+1]};fe.prototype.readUint32LE=fe.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||Dr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};fe.prototype.readUint32BE=fe.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||Dr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};fe.prototype.readBigUInt64LE=pa(function(t){t=t>>>0,Su(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&zc(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,Su(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&zc(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||Dr(t,r,this.length);let i=this[t],a=1,s=0;for(;++s=a&&(i-=Math.pow(2,8*r)),i};fe.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||Dr(t,r,this.length);let i=r,a=1,s=this[t+--i];for(;i>0&&(a*=256);)s+=this[t+--i]*a;return a*=128,s>=a&&(s-=Math.pow(2,8*r)),s};fe.prototype.readInt8=function(t,r){return t=t>>>0,r||Dr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};fe.prototype.readInt16LE=function(t,r){t=t>>>0,r||Dr(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt16BE=function(t,r){t=t>>>0,r||Dr(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};fe.prototype.readInt32LE=function(t,r){return t=t>>>0,r||Dr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};fe.prototype.readInt32BE=function(t,r){return t=t>>>0,r||Dr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};fe.prototype.readBigInt64LE=pa(function(t){t=t>>>0,Su(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&zc(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,Su(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&zc(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||Dr(t,4,this.length),yu.read(this,t,!0,23,4)};fe.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Dr(t,4,this.length),yu.read(this,t,!1,23,4)};fe.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Dr(t,8,this.length),yu.read(this,t,!0,52,8)};fe.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Dr(t,8,this.length),yu.read(this,t,!1,52,8)};function Fn(e,t,r,n,i,a){if(!fe.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}fe.prototype.writeUintLE=fe.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let u=Math.pow(2,8*n)-1;Fn(this,t,r,n,u,0)}let a=1,s=0;for(this[r]=t&255;++s>>0,n=n>>>0,!i){let u=Math.pow(2,8*n)-1;Fn(this,t,r,n,u,0)}let a=n-1,s=1;for(this[r+a]=t&255;--a>=0&&(s*=256);)this[r+a]=t/s&255;return r+n};fe.prototype.writeUint8=fe.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,1,255,0),this[r]=t&255,r+1};fe.prototype.writeUint16LE=fe.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeUint16BE=fe.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeUint32LE=fe.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};fe.prototype.writeUint32BE=fe.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function tE(e,t,r,n,i){aE(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function rE(e,t,r,n,i){aE(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}fe.prototype.writeBigUInt64LE=pa(function(t,r=0){return tE(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeBigUInt64BE=pa(function(t,r=0){return rE(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});fe.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Fn(this,t,r,n,l-1,-l)}let a=0,s=1,u=0;for(this[r]=t&255;++a>0)-u&255;return r+n};fe.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Fn(this,t,r,n,l-1,-l)}let a=n-1,s=1,u=0;for(this[r+a]=t&255;--a>=0&&(s*=256);)t<0&&u===0&&this[r+a+1]!==0&&(u=1),this[r+a]=(t/s>>0)-u&255;return r+n};fe.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};fe.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};fe.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};fe.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};fe.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Fn(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};fe.prototype.writeBigInt64LE=pa(function(t,r=0){return tE(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});fe.prototype.writeBigInt64BE=pa(function(t,r=0){return rE(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function nE(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function iE(e,t,r,n,i){return t=+t,r=r>>>0,i||nE(e,t,r,4,34028234663852886e22,-34028234663852886e22),yu.write(e,t,r,n,23,4),r+4}fe.prototype.writeFloatLE=function(t,r,n){return iE(this,t,r,!0,n)};fe.prototype.writeFloatBE=function(t,r,n){return iE(this,t,r,!1,n)};function sE(e,t,r,n,i){return t=+t,r=r>>>0,i||nE(e,t,r,8,17976931348623157e292,-17976931348623157e292),yu.write(e,t,r,n,52,8),r+8}fe.prototype.writeDoubleLE=function(t,r,n){return sE(this,t,r,!0,n)};fe.prototype.writeDoubleBE=function(t,r,n){return sE(this,t,r,!1,n)};fe.prototype.copy=function(t,r,n,i){if(!fe.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=W2(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=W2(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function W2(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function l8(e,t,r){Su(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&zc(t,e.length-(r+1))}function aE(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?u=`>= 0${s} and < 2${s} ** ${(a+1)*8}${s}`:u=`>= -(2${s} ** ${(a+1)*8-1}${s}) and < 2 ** ${(a+1)*8-1}${s}`:u=`>= ${t}${s} and <= ${r}${s}`,new Au.ERR_OUT_OF_RANGE("value",u,e)}l8(n,i,a)}function Su(e,t){if(typeof e!="number")throw new Au.ERR_INVALID_ARG_TYPE(t,"number",e)}function zc(e,t,r){throw Math.floor(e)!==e?(Su(e,r),new Au.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Au.ERR_BUFFER_OUT_OF_BOUNDS:new Au.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var f8=/[^+/0-9A-Za-z-_]/g;function h8(e){if(e=e.split("=")[0],e=e.trim().replace(f8,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function kd(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function p8(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function oE(e){return Od.toByteArray(h8(e))}function Mf(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qi(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function jd(e){return e!==e}var g8=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function pa(e){return typeof BigInt>"u"?m8:e}function m8(){throw new Error("BigInt not supported")}});var RE=ye(be=>{var Yc={};Yc.userAgent=!1;var Cu={},v8="11.1.0",E8="jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license";var Ce=Ce||function(e,t){var r={},n=r.lib={},i=n.Base=function(){function h(){}return{extend:function(A){h.prototype=this;var g=new h;return A&&g.mixIn(A),g.hasOwnProperty("init")||(g.init=function(){g.$super.init.apply(this,arguments)}),g.init.prototype=g,g.$super=this,g},create:function(){var A=this.extend();return A.init.apply(A,arguments),A},init:function(){},mixIn:function(A){for(var g in A)A.hasOwnProperty(g)&&(this[g]=A[g]);A.hasOwnProperty("toString")&&(this.toString=A.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=i.extend({init:function(h,A){h=this.words=h||[],A!=t?this.sigBytes=A:this.sigBytes=h.length*4},toString:function(h){return(h||u).stringify(this)},concat:function(h){var A=this.words,g=h.words,S=this.sigBytes,w=h.sigBytes;if(this.clamp(),S%4)for(var y=0;y>>2]>>>24-y%4*8&255;A[S+y>>>2]|=_<<24-(S+y)%4*8}else for(var y=0;y>>2]=g[y>>>2];return this.sigBytes+=w,this},clamp:function(){var h=this.words,A=this.sigBytes;h[A>>>2]&=4294967295<<32-A%4*8,h.length=e.ceil(A/4)},clone:function(){var h=i.clone.call(this);return h.words=this.words.slice(0),h},random:function(h){for(var A=[],g=0;g>>2]>>>24-w%4*8&255;S.push((y>>>4).toString(16)),S.push((y&15).toString(16))}return S.join("")},parse:function(h){for(var A=h.length,g=[],S=0;S>>3]|=parseInt(h.substr(S,2),16)<<24-S%8*4;return new a.init(g,A/2)}},l=s.Latin1={stringify:function(h){for(var A=h.words,g=h.sigBytes,S=[],w=0;w>>2]>>>24-w%4*8&255;S.push(String.fromCharCode(y))}return S.join("")},parse:function(h){for(var A=h.length,g=[],S=0;S>>2]|=(h.charCodeAt(S)&255)<<24-S%4*8;return new a.init(g,A)}},f=s.Utf8={stringify:function(h){try{return decodeURIComponent(escape(l.stringify(h)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(h){return l.parse(unescape(encodeURIComponent(h)))}},d=n.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(h){typeof h=="string"&&(h=f.parse(h)),this._data.concat(h),this._nDataBytes+=h.sigBytes},_process:function(h){var A=this._data,g=A.words,S=A.sigBytes,w=this.blockSize,y=w*4,_=S/y;h?_=e.ceil(_):_=e.max((_|0)-this._minBufferSize,0);var B=_*w,D=e.min(B*4,S);if(B){for(var M=0;M>>2]&255}},t.BlockCipher=u.extend({cfg:u.cfg.extend({mode:E,padding:f}),reset:function(){u.reset.call(this);var S=this.cfg,g=S.iv,S=S.mode;if(this._xformMode==this._ENC_XFORM_MODE)var w=S.createEncryptor;else w=S.createDecryptor,this._minBufferSize=1;this._mode=w.call(S,this,g&&g.words)},_doProcessBlock:function(g,S){this._mode.processBlock(g,S)},_doFinalize:function(){var g=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){g.pad(this._data,this.blockSize);var S=this._process(!0)}else S=this._process(!0),g.unpad(S);return S},blockSize:4});var d=t.CipherParams=r.extend({init:function(g){this.mixIn(g)},toString:function(g){return(g||this.formatter).stringify(this)}}),E=(h.format={}).OpenSSL={stringify:function(g){var S=g.ciphertext;return g=g.salt,(g?n.create([1398893684,1701076831]).concat(g).concat(S):S).toString(a)},parse:function(g){g=a.parse(g);var S=g.words;if(S[0]==1398893684&&S[1]==1701076831){var w=n.create(S.slice(2,4));S.splice(0,4),g.sigBytes-=16}return d.create({ciphertext:g,salt:w})}},p=t.SerializableCipher=r.extend({cfg:r.extend({format:E}),encrypt:function(g,S,w,y){y=this.cfg.extend(y);var _=g.createEncryptor(w,y);return S=_.finalize(S),_=_.cfg,d.create({ciphertext:S,key:w,iv:_.iv,algorithm:g,mode:_.mode,padding:_.padding,blockSize:g.blockSize,formatter:y.format})},decrypt:function(g,S,w,y){return y=this.cfg.extend(y),S=this._parse(S,y.format),g.createDecryptor(w,y).finalize(S.ciphertext)},_parse:function(g,S){return typeof g=="string"?S.parse(g,this):g}}),h=(h.kdf={}).OpenSSL={execute:function(g,S,w,y){return y||(y=n.random(8)),g=s.create({keySize:S+w}).compute(g,y),w=n.create(g.words.slice(S),4*w),g.sigBytes=4*S,d.create({key:g,iv:w,salt:y})}},A=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:h}),encrypt:function(g,S,w,y){return y=this.cfg.extend(y),w=y.kdf.execute(w,g.keySize,g.ivSize),y.iv=w.iv,g=p.encrypt.call(this,g,S,w.key,y),g.mixIn(w),g},decrypt:function(g,S,w,y){return y=this.cfg.extend(y),S=this._parse(S,y.format),w=y.kdf.execute(w,g.keySize,g.ivSize,S.salt),y.iv=w.iv,p.decrypt.call(this,g,S,w.key,y)}})}();(function(){for(var e=Ce,t=e.lib.BlockCipher,M=e.algo,r=[],n=[],i=[],a=[],s=[],u=[],l=[],f=[],d=[],E=[],p=[],h=0;256>h;h++)p[h]=128>h?h<<1:h<<1^283;for(var A=0,g=0,h=0;256>h;h++){var S=g^g<<1^g<<2^g<<3^g<<4,S=S>>>8^S&255^99;r[A]=S,n[S]=A;var w=p[A],y=p[w],_=p[y],B=257*p[S]^16843008*S;i[A]=B<<24|B>>>8,a[A]=B<<16|B>>>16,s[A]=B<<8|B>>>24,u[A]=B,B=16843009*_^65537*y^257*w^16843008*A,l[S]=B<<24|B>>>8,f[S]=B<<16|B>>>16,d[S]=B<<8|B>>>24,E[S]=B,A?(A=w^p[p[p[_^w]]],g^=p[p[g]]):A=g=1}var D=[0,1,2,4,8,16,32,64,128,27,54],M=M.AES=t.extend({_doReset:function(){for(var P=this._key,q=P.words,F=P.sigBytes/4,P=4*((this._nRounds=F+6)+1),L=this._keySchedule=[],j=0;j>>24]<<24|r[V>>>16&255]<<16|r[V>>>8&255]<<8|r[V&255]):(V=V<<8|V>>>24,V=r[V>>>24]<<24|r[V>>>16&255]<<16|r[V>>>8&255]<<8|r[V&255],V^=D[j/F|0]<<24),L[j]=L[j-F]^V}for(q=this._invKeySchedule=[],F=0;FF||4>=j?V:l[r[V>>>24]]^f[r[V>>>16&255]]^d[r[V>>>8&255]]^E[r[V&255]]},encryptBlock:function(q,F){this._doCryptBlock(q,F,this._keySchedule,i,a,s,u,r)},decryptBlock:function(q,F){var P=q[F+1];q[F+1]=q[F+3],q[F+3]=P,this._doCryptBlock(q,F,this._invKeySchedule,l,f,d,E,n),P=q[F+1],q[F+1]=q[F+3],q[F+3]=P},_doCryptBlock:function(q,F,P,L,j,V,W,G){for(var z=this._nRounds,ue=q[F]^P[0],_e=q[F+1]^P[1],He=q[F+2]^P[2],Ve=q[F+3]^P[3],X=4,ie=1;ie>>24]^j[_e>>>16&255]^V[He>>>8&255]^W[Ve&255]^P[X++],we=L[_e>>>24]^j[He>>>16&255]^V[Ve>>>8&255]^W[ue&255]^P[X++],Ie=L[He>>>24]^j[Ve>>>16&255]^V[ue>>>8&255]^W[_e&255]^P[X++],Ve=L[Ve>>>24]^j[ue>>>16&255]^V[_e>>>8&255]^W[He&255]^P[X++],ue=Se,_e=we,He=Ie;Se=(G[ue>>>24]<<24|G[_e>>>16&255]<<16|G[He>>>8&255]<<8|G[Ve&255])^P[X++],we=(G[_e>>>24]<<24|G[He>>>16&255]<<16|G[Ve>>>8&255]<<8|G[ue&255])^P[X++],Ie=(G[He>>>24]<<24|G[Ve>>>16&255]<<16|G[ue>>>8&255]<<8|G[_e&255])^P[X++],Ve=(G[Ve>>>24]<<24|G[ue>>>16&255]<<16|G[_e>>>8&255]<<8|G[He&255])^P[X++],q[F]=Se,q[F+1]=we,q[F+2]=Ie,q[F+3]=Ve},keySize:8});e.AES=t._createHelper(M)})();(function(){function e(p,h){var A=(this._lBlock>>>p^this._rBlock)&h;this._rBlock^=A,this._lBlock^=A<>>p^this._lBlock)&h;this._lBlock^=A,this._rBlock^=A<A;A++){var g=s[A]-1;h[A]=p[g>>>5]>>>31-g%32&1}for(p=this._subKeys=[],g=0;16>g;g++){for(var S=p[g]=[],w=l[g],A=0;24>A;A++)S[A/6|0]|=h[(u[A]-1+w)%28]<<31-A%6,S[4+(A/6|0)]|=h[28+(u[A+24]-1+w)%28]<<31-A%6;for(S[0]=S[0]<<1|S[0]>>>31,A=1;7>A;A++)S[A]>>>=4*(A-1)+3;S[7]=S[7]<<5|S[7]>>>27}for(h=this._invSubKeys=[],A=0;16>A;A++)h[A]=p[15-A]},encryptBlock:function(p,h){this._doCryptBlock(p,h,this._subKeys)},decryptBlock:function(p,h){this._doCryptBlock(p,h,this._invSubKeys)},_doCryptBlock:function(p,h,A){this._lBlock=p[h],this._rBlock=p[h+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var g=0;16>g;g++){for(var S=A[g],w=this._lBlock,y=this._rBlock,_=0,B=0;8>B;B++)_|=f[B][((y^S[B])&d[B])>>>0];this._lBlock=y,this._rBlock=w^_}A=this._lBlock,this._lBlock=this._rBlock,this._rBlock=A,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),p[h]=this._lBlock,p[h+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});r.DES=i._createHelper(E),a=a.TripleDES=i.extend({_doReset:function(){var p=this._key.words;this._des1=E.createEncryptor(n.create(p.slice(0,2))),this._des2=E.createEncryptor(n.create(p.slice(2,4))),this._des3=E.createEncryptor(n.create(p.slice(4,6)))},encryptBlock:function(p,h){this._des1.encryptBlock(p,h),this._des2.decryptBlock(p,h),this._des3.encryptBlock(p,h)},decryptBlock:function(p,h){this._des3.decryptBlock(p,h),this._des2.encryptBlock(p,h),this._des1.decryptBlock(p,h)},keySize:6,ivSize:2,blockSize:2}),r.TripleDES=i._createHelper(a)})();(function(){var e=Ce,t=e.lib.WordArray;e.enc.Base64={stringify:function(r){var n=r.words,i=r.sigBytes,a=this._map;r.clamp(),r=[];for(var s=0;s>>2]>>>24-8*(s%4)&255)<<16|(n[s+1>>>2]>>>24-8*((s+1)%4)&255)<<8|n[s+2>>>2]>>>24-8*((s+2)%4)&255,l=0;4>l&&s+.75*l>>6*(3-l)&63));if(n=a.charAt(64))for(;r.length%4;)r.push(n);return r.join("")},parse:function(r){var n=r.length,i=this._map,a=i.charAt(64);a&&(a=r.indexOf(a),a!=-1&&(n=a));for(var a=[],s=0,u=0;u>>6-2*(u%4);a[s>>>2]|=(l|f)<<24-8*(s%4),s++}return t.create(a,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();(function(e){function t(E,p,h,A,g,S,w){return E=E+(p&h|~p&A)+g+w,(E<>>32-S)+p}function r(E,p,h,A,g,S,w){return E=E+(p&A|h&~A)+g+w,(E<>>32-S)+p}function n(E,p,h,A,g,S,w){return E=E+(p^h^A)+g+w,(E<>>32-S)+p}function i(E,p,h,A,g,S,w){return E=E+(h^(p|~A))+g+w,(E<>>32-S)+p}for(var a=Ce,l=a.lib,s=l.WordArray,u=l.Hasher,l=a.algo,f=[],d=0;64>d;d++)f[d]=4294967296*e.abs(e.sin(d+1))|0;l=l.MD5=u.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(E,p){for(var h=0;16>h;h++){var A=p+h,g=E[A];E[A]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360}var h=this._hash.words,A=E[p+0],g=E[p+1],S=E[p+2],w=E[p+3],y=E[p+4],_=E[p+5],B=E[p+6],D=E[p+7],M=E[p+8],q=E[p+9],F=E[p+10],P=E[p+11],L=E[p+12],j=E[p+13],V=E[p+14],W=E[p+15],G=h[0],ie=h[1],X=h[2],z=h[3],G=t(G,ie,X,z,A,7,f[0]),z=t(z,G,ie,X,g,12,f[1]),X=t(X,z,G,ie,S,17,f[2]),ie=t(ie,X,z,G,w,22,f[3]),G=t(G,ie,X,z,y,7,f[4]),z=t(z,G,ie,X,_,12,f[5]),X=t(X,z,G,ie,B,17,f[6]),ie=t(ie,X,z,G,D,22,f[7]),G=t(G,ie,X,z,M,7,f[8]),z=t(z,G,ie,X,q,12,f[9]),X=t(X,z,G,ie,F,17,f[10]),ie=t(ie,X,z,G,P,22,f[11]),G=t(G,ie,X,z,L,7,f[12]),z=t(z,G,ie,X,j,12,f[13]),X=t(X,z,G,ie,V,17,f[14]),ie=t(ie,X,z,G,W,22,f[15]),G=r(G,ie,X,z,g,5,f[16]),z=r(z,G,ie,X,B,9,f[17]),X=r(X,z,G,ie,P,14,f[18]),ie=r(ie,X,z,G,A,20,f[19]),G=r(G,ie,X,z,_,5,f[20]),z=r(z,G,ie,X,F,9,f[21]),X=r(X,z,G,ie,W,14,f[22]),ie=r(ie,X,z,G,y,20,f[23]),G=r(G,ie,X,z,q,5,f[24]),z=r(z,G,ie,X,V,9,f[25]),X=r(X,z,G,ie,w,14,f[26]),ie=r(ie,X,z,G,M,20,f[27]),G=r(G,ie,X,z,j,5,f[28]),z=r(z,G,ie,X,S,9,f[29]),X=r(X,z,G,ie,D,14,f[30]),ie=r(ie,X,z,G,L,20,f[31]),G=n(G,ie,X,z,_,4,f[32]),z=n(z,G,ie,X,M,11,f[33]),X=n(X,z,G,ie,P,16,f[34]),ie=n(ie,X,z,G,V,23,f[35]),G=n(G,ie,X,z,g,4,f[36]),z=n(z,G,ie,X,y,11,f[37]),X=n(X,z,G,ie,D,16,f[38]),ie=n(ie,X,z,G,F,23,f[39]),G=n(G,ie,X,z,j,4,f[40]),z=n(z,G,ie,X,A,11,f[41]),X=n(X,z,G,ie,w,16,f[42]),ie=n(ie,X,z,G,B,23,f[43]),G=n(G,ie,X,z,q,4,f[44]),z=n(z,G,ie,X,L,11,f[45]),X=n(X,z,G,ie,W,16,f[46]),ie=n(ie,X,z,G,S,23,f[47]),G=i(G,ie,X,z,A,6,f[48]),z=i(z,G,ie,X,D,10,f[49]),X=i(X,z,G,ie,V,15,f[50]),ie=i(ie,X,z,G,_,21,f[51]),G=i(G,ie,X,z,L,6,f[52]),z=i(z,G,ie,X,w,10,f[53]),X=i(X,z,G,ie,F,15,f[54]),ie=i(ie,X,z,G,g,21,f[55]),G=i(G,ie,X,z,M,6,f[56]),z=i(z,G,ie,X,W,10,f[57]),X=i(X,z,G,ie,B,15,f[58]),ie=i(ie,X,z,G,j,21,f[59]),G=i(G,ie,X,z,y,6,f[60]),z=i(z,G,ie,X,P,10,f[61]),X=i(X,z,G,ie,S,15,f[62]),ie=i(ie,X,z,G,q,21,f[63]);h[0]=h[0]+G|0,h[1]=h[1]+ie|0,h[2]=h[2]+X|0,h[3]=h[3]+z|0},_doFinalize:function(){var E=this._data,p=E.words,h=8*this._nDataBytes,A=8*E.sigBytes;p[A>>>5]|=128<<24-A%32;var g=e.floor(h/4294967296);for(p[(A+64>>>9<<4)+15]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,p[(A+64>>>9<<4)+14]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360,E.sigBytes=4*(p.length+1),this._process(),E=this._hash,p=E.words,h=0;4>h;h++)A=p[h],p[h]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360;return E},clone:function(){var E=u.clone.call(this);return E._hash=this._hash.clone(),E}}),a.MD5=u._createHelper(l),a.HmacMD5=u._createHmacHelper(l)})(Math);(function(){var e=Ce,i=e.lib,t=i.WordArray,r=i.Hasher,n=[],i=e.algo.SHA1=r.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,s){for(var u=this._hash.words,l=u[0],f=u[1],d=u[2],E=u[3],p=u[4],h=0;80>h;h++){if(16>h)n[h]=a[s+h]|0;else{var A=n[h-3]^n[h-8]^n[h-14]^n[h-16];n[h]=A<<1|A>>>31}A=(l<<5|l>>>27)+p+n[h],A=20>h?A+((f&d|~f&E)+1518500249):40>h?A+((f^d^E)+1859775393):60>h?A+((f&d|f&E|d&E)-1894007588):A+((f^d^E)-899497514),p=E,E=d,d=f<<30|f>>>2,f=l,l=A}u[0]=u[0]+l|0,u[1]=u[1]+f|0,u[2]=u[2]+d|0,u[3]=u[3]+E|0,u[4]=u[4]+p|0},_doFinalize:function(){var a=this._data,s=a.words,u=8*this._nDataBytes,l=8*a.sigBytes;return s[l>>>5]|=128<<24-l%32,s[(l+64>>>9<<4)+14]=Math.floor(u/4294967296),s[(l+64>>>9<<4)+15]=u,a.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var a=r.clone.call(this);return a._hash=this._hash.clone(),a}});e.SHA1=r._createHelper(i),e.HmacSHA1=r._createHmacHelper(i)})();(function(e){for(var t=Ce,h=t.lib,r=h.WordArray,n=h.Hasher,h=t.algo,i=[],a=[],s=function(g){return 4294967296*(g-(g|0))|0},u=2,l=0;64>l;){var f;e:{f=u;for(var d=e.sqrt(f),E=2;E<=d;E++)if(!(f%E)){f=!1;break e}f=!0}f&&(8>l&&(i[l]=s(e.pow(u,.5))),a[l]=s(e.pow(u,1/3)),l++),u++}var p=[],h=h.SHA256=n.extend({_doReset:function(){this._hash=new r.init(i.slice(0))},_doProcessBlock:function(A,g){for(var S=this._hash.words,w=S[0],y=S[1],_=S[2],B=S[3],D=S[4],M=S[5],q=S[6],F=S[7],P=0;64>P;P++){if(16>P)p[P]=A[g+P]|0;else{var L=p[P-15],j=p[P-2];p[P]=((L<<25|L>>>7)^(L<<14|L>>>18)^L>>>3)+p[P-7]+((j<<15|j>>>17)^(j<<13|j>>>19)^j>>>10)+p[P-16]}L=F+((D<<26|D>>>6)^(D<<21|D>>>11)^(D<<7|D>>>25))+(D&M^~D&q)+a[P]+p[P],j=((w<<30|w>>>2)^(w<<19|w>>>13)^(w<<10|w>>>22))+(w&y^w&_^y&_),F=q,q=M,M=D,D=B+L|0,B=_,_=y,y=w,w=L+j|0}S[0]=S[0]+w|0,S[1]=S[1]+y|0,S[2]=S[2]+_|0,S[3]=S[3]+B|0,S[4]=S[4]+D|0,S[5]=S[5]+M|0,S[6]=S[6]+q|0,S[7]=S[7]+F|0},_doFinalize:function(){var A=this._data,g=A.words,S=8*this._nDataBytes,w=8*A.sigBytes;return g[w>>>5]|=128<<24-w%32,g[(w+64>>>9<<4)+14]=e.floor(S/4294967296),g[(w+64>>>9<<4)+15]=S,A.sigBytes=4*g.length,this._process(),this._hash},clone:function(){var A=n.clone.call(this);return A._hash=this._hash.clone(),A}});t.SHA256=n._createHelper(h),t.HmacSHA256=n._createHmacHelper(h)})(Math);(function(){var e=Ce,t=e.lib.WordArray,n=e.algo,r=n.SHA256,n=n.SHA224=r.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=r._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=r._createHelper(n),e.HmacSHA224=r._createHmacHelper(n)})();(function(){function e(){return n.create.apply(n,arguments)}for(var t=Ce,r=t.lib.Hasher,a=t.x64,n=a.Word,i=a.WordArray,a=t.algo,s=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],u=[],l=0;80>l;l++)u[l]=e();a=a.SHA512=r.extend({_doReset:function(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(f,d){for(var y=this._hash.words,E=y[0],p=y[1],h=y[2],A=y[3],g=y[4],S=y[5],w=y[6],y=y[7],_=E.high,B=E.low,D=p.high,M=p.low,q=h.high,F=h.low,P=A.high,L=A.low,j=g.high,V=g.low,W=S.high,G=S.low,z=w.high,X=w.low,ie=y.high,Se=y.low,we=_,Ie=B,Ve=D,ue=M,_e=q,He=F,Sr=P,Ht=L,Et=j,ir=V,Gt=W,at=G,kt=z,it=X,bt=ie,sr=Se,Qe=0;80>Qe;Qe++){var jr=u[Qe];if(16>Qe)var Jt=jr.high=f[d+2*Qe]|0,et=jr.low=f[d+2*Qe+1]|0;else{var Jt=u[Qe-15],et=Jt.high,cr=Jt.low,Jt=(et>>>1|cr<<31)^(et>>>8|cr<<24)^et>>>7,cr=(cr>>>1|et<<31)^(cr>>>8|et<<24)^(cr>>>7|et<<25),Hr=u[Qe-2],et=Hr.high,Ct=Hr.low,Hr=(et>>>19|Ct<<13)^(et<<3|Ct>>>29)^et>>>6,Ct=(Ct>>>19|et<<13)^(Ct<<3|et>>>29)^(Ct>>>6|et<<26),et=u[Qe-7],Zn=et.high,br=u[Qe-16],lr=br.high,br=br.low,et=cr+et.low,Jt=Jt+Zn+(et>>>0>>0?1:0),et=et+Ct,Jt=Jt+Hr+(et>>>0>>0?1:0),et=et+br,Jt=Jt+lr+(et>>>0
>>0?1:0);jr.high=Jt,jr.low=et}var Zn=Et&Gt^~Et&kt,br=ir&at^~ir&it,jr=we&Ve^we&_e^Ve&_e,Pr=Ie&ue^Ie&He^ue&He,cr=(we>>>28|Ie<<4)^(we<<30|Ie>>>2)^(we<<25|Ie>>>7),Hr=(Ie>>>28|we<<4)^(Ie<<30|we>>>2)^(Ie<<25|we>>>7),Ct=s[Qe],Sa=Ct.high,en=Ct.low,Ct=sr+((ir>>>14|Et<<18)^(ir>>>18|Et<<14)^(ir<<23|Et>>>9)),lr=bt+((Et>>>14|ir<<18)^(Et>>>18|ir<<14)^(Et<<23|ir>>>9))+(Ct>>>0>>0?1:0),Ct=Ct+br,lr=lr+Zn+(Ct>>>0
>>0?1:0),Ct=Ct+en,lr=lr+Sa+(Ct>>>0>>0?1:0),Ct=Ct+et,lr=lr+Jt+(Ct>>>0>>0?1:0),et=Hr+Pr,jr=cr+jr+(et>>>0
>>0?1:0),bt=kt,sr=it,kt=Gt,it=at,Gt=Et,at=ir,ir=Ht+Ct|0,Et=Sr+lr+(ir>>>0>>0?1:0)|0,Sr=_e,Ht=He,_e=Ve,He=ue,Ve=we,ue=Ie,Ie=Ct+et|0,we=lr+jr+(Ie>>>0>>0?1:0)|0}B=E.low=B+Ie,E.high=_+we+(B>>>0>>0?1:0),M=p.low=M+ue,p.high=D+Ve+(M>>>0>>0?1:0),F=h.low=F+He,h.high=q+_e+(F>>>0>>0?1:0),L=A.low=L+Ht,A.high=P+Sr+(L>>>0>>0?1:0),V=g.low=V+ir,g.high=j+Et+(V>>>0>>0?1:0),G=S.low=G+at,S.high=W+Gt+(G>>>0>>0?1:0),X=w.low=X+it,w.high=z+kt+(X>>>0>>0?1:0),Se=y.low=Se+sr,y.high=ie+bt+(Se>>>0>>0?1:0)},_doFinalize:function(){var f=this._data,d=f.words,E=8*this._nDataBytes,p=8*f.sigBytes;return d[p>>>5]|=128<<24-p%32,d[(p+128>>>10<<5)+30]=Math.floor(E/4294967296),d[(p+128>>>10<<5)+31]=E,f.sigBytes=4*d.length,this._process(),this._hash.toX32()},clone:function(){var f=r.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:32}),t.SHA512=r._createHelper(a),t.HmacSHA512=r._createHmacHelper(a)})();(function(){var e=Ce,i=e.x64,t=i.Word,r=i.WordArray,i=e.algo,n=i.SHA512,i=i.SHA384=n.extend({_doReset:function(){this._hash=new r.init([new t.init(3418070365,3238371032),new t.init(1654270250,914150663),new t.init(2438529370,812702999),new t.init(355462360,4144912697),new t.init(1731405415,4290775857),new t.init(2394180231,1750603025),new t.init(3675008525,1694076839),new t.init(1203062813,3204075428)])},_doFinalize:function(){var a=n._doFinalize.call(this);return a.sigBytes-=16,a}});e.SHA384=n._createHelper(i),e.HmacSHA384=n._createHmacHelper(i)})();(function(){var e=Ce,f=e.lib,t=f.WordArray,r=f.Hasher,f=e.algo,n=t.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),i=t.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),a=t.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),s=t.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=t.create([0,1518500249,1859775393,2400959708,2840853838]),l=t.create([1352829926,1548603684,1836072691,2053994217,0]),f=f.RIPEMD160=r.extend({_doReset:function(){this._hash=t.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(d,E){for(var p=0;16>p;p++){var h=E+p,A=d[h];d[h]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}var h=this._hash.words,A=u.words,g=l.words,S=n.words,w=i.words,y=a.words,_=s.words,B,D,M,q,F,P,L,j,V,W;P=B=h[0],L=D=h[1],j=M=h[2],V=q=h[3],W=F=h[4];for(var G,p=0;80>p;p+=1)G=B+d[E+S[p]]|0,G=16>p?G+((D^M^q)+A[0]):32>p?G+((D&M|~D&q)+A[1]):48>p?G+(((D|~M)^q)+A[2]):64>p?G+((D&q|M&~q)+A[3]):G+((D^(M|~q))+A[4]),G|=0,G=G<>>32-y[p],G=G+F|0,B=F,F=q,q=M<<10|M>>>22,M=D,D=G,G=P+d[E+w[p]]|0,G=16>p?G+((L^(j|~V))+g[0]):32>p?G+((L&V|j&~V)+g[1]):48>p?G+(((L|~j)^V)+g[2]):64>p?G+((L&j|~L&V)+g[3]):G+((L^j^V)+g[4]),G|=0,G=G<<_[p]|G>>>32-_[p],G=G+W|0,P=W,W=V,V=j<<10|j>>>22,j=L,L=G;G=h[1]+M+V|0,h[1]=h[2]+q+W|0,h[2]=h[3]+F+P|0,h[3]=h[4]+B+L|0,h[4]=h[0]+D+j|0,h[0]=G},_doFinalize:function(){var d=this._data,E=d.words,p=8*this._nDataBytes,h=8*d.sigBytes;for(E[h>>>5]|=128<<24-h%32,E[(h+64>>>9<<4)+14]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,d.sigBytes=4*(E.length+1),this._process(),d=this._hash,E=d.words,p=0;5>p;p++)h=E[p],E[p]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360;return d},clone:function(){var d=r.clone.call(this);return d._hash=this._hash.clone(),d}});e.RIPEMD160=r._createHelper(f),e.HmacRIPEMD160=r._createHmacHelper(f)})(Math);(function(){var e=Ce,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(r,n){r=this._hasher=new r.init,typeof n=="string"&&(n=t.parse(n));var i=r.blockSize,a=4*i;n.sigBytes>a&&(n=r.finalize(n)),n.clamp();for(var s=this._oKey=n.clone(),u=this._iKey=n.clone(),l=s.words,f=u.words,d=0;d>6)+_u.charAt(r&63);if(t+1==e.length?(r=parseInt(e.substring(t,t+1),16),n+=_u.charAt(r<<2)):t+2==e.length&&(r=parseInt(e.substring(t,t+2),16),n+=_u.charAt(r>>2)+_u.charAt((r&3)<<4)),Vd)for(;(n.length&3)>0;)n+=Vd;return n}function Iu(e){var t="",r,n=0,i,a;for(r=0;r>2),i=a&3,n=1):n==1?(t+=Is(i<<2|a>>4),i=a&15,n=2):n==2?(t+=Is(i),t+=Is(a>>2),i=a&3,n=3):(t+=Is(i<<2|a>>4),t+=Is(a&15),n=0));return n==1&&(t+=Is(i<<2)),t}function fE(e){var t=Iu(e),r,n=new Array;for(r=0;2*r=0;){var s=t*this[e++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=s&67108863}return i}function y8(e,t,r,n,i,a){for(var s=t&32767,u=t>>15;--a>=0;){var l=this[e]&32767,f=this[e++]>>15,d=u*l+f*s;l=s*l+((d&32767)<<15)+r[n]+(i&1073741823),i=(l>>>30)+(d>>>15)+u*f+(i>>>30),r[n++]=l&1073741823}return i}function S8(e,t,r,n,i,a){for(var s=t&16383,u=t>>14;--a>=0;){var l=this[e]&16383,f=this[e++]>>14,d=u*l+f*s;l=s*l+((d&16383)<<14)+r[n]+i,i=(l>>28)+(d>>14)+u*f,r[n++]=l&268435455}return i}uE&&Yc.appName=="Microsoft Internet Explorer"?(ee.prototype.am=y8,ga=30):uE&&Yc.appName!="Netscape"?(ee.prototype.am=A8,ga=26):(ee.prototype.am=S8,ga=28);ee.prototype.DB=ga;ee.prototype.DM=(1<=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function _8(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function da(e){var t=gt();return t.fromInt(e),t}function F8(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,a=0;--n>=0;){var s=r==8?e[n]&255:hE(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,a==0?this[this.t++]=s:a+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-a):this[this.t-1]|=s<=this.DB&&(a-=this.DB)}r==8&&e[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function $8(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<0)for(u>u)>0&&(i=!0,a=Is(n));s>=0;)u>(u+=this.DB-t)):(n=this[s]>>(u-=t)&r,u<=0&&(u+=this.DB,--s)),n>0&&(i=!0),i&&(a+=Is(n));return i?a:"0"}function D8(){var e=gt();return ee.ZERO.subTo(this,e),e}function B8(){return this.s<0?this.negate():this}function R8(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this[r]-e[r])!=0)return t;return 0}function Wf(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function P8(){return this.t<=0?0:this.DB*(this.t-1)+Wf(this[this.t-1]^this.s&this.DM)}function T8(e,t){var r;for(r=this.t-1;r>=0;--r)t[r+e]=this[r];for(r=e-1;r>=0;--r)t[r]=0;t.t=this.t+e,t.s=this.s}function O8(e,t){for(var r=e;r=0;--u)t[u+a+1]=this[u]>>n|s,s=(this[u]&i)<=0;--u)t[u]=0;t[a]=s,t.t=this.t+a+1,t.s=this.s,t.clamp()}function x8(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,a=(1<>n;for(var s=r+1;s>n;n>0&&(t[this.t-r-1]|=(this.s&a)<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:n>0&&(t[r++]=n),t.t=r,t.clamp()}function L8(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[r]=0;for(r=0;r=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(r,t[r],e,2*r,0,1)),e.s=0,e.clamp()}function H8(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(l,a),i.lShiftTo(l,r)):(n.copyTo(a),i.copyTo(r));var f=a.t,d=a[f-1];if(d!=0){var E=d*(1<1?a[f-2]>>this.F2:0),p=this.FV/E,h=(1<=0&&(r[r.t++]=1,r.subTo(w,r)),ee.ONE.dlShiftTo(f,w),w.subTo(a,a);a.t=0;){var y=r[--g]==d?this.DM:Math.floor(r[g]*p+(r[g-1]+A)*h);if((r[g]+=a.am(0,y,r,S,0,f))0&&r.rShiftTo(l,r),s<0&&ee.ZERO.subTo(r,r)}}}function j8(e){var t=gt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(ee.ZERO)>0&&e.subTo(t,t),t}function ho(e){this.m=e}function M8(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function q8(e){return e}function K8(e){e.divRemTo(this.m,null,e)}function V8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function G8(e,t){e.squareTo(t),this.reduce(t)}ho.prototype.convert=M8;ho.prototype.revert=q8;ho.prototype.reduce=K8;ho.prototype.mulTo=V8;ho.prototype.sqrTo=G8;function z8(){if(this.t<1)return 0;var e=this[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function po(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function W8(e){var t=gt();return e.copyTo(t),this.reduce(t),t}function X8(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e[r]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function J8(e,t){e.squareTo(t),this.reduce(t)}function Z8(e,t,r){e.multiplyTo(t,r),this.reduce(r)}po.prototype.convert=Y8;po.prototype.revert=W8;po.prototype.reduce=X8;po.prototype.mulTo=Z8;po.prototype.sqrTo=J8;function Q8(){return(this.t>0?this[0]&1:this.s)==0}function eI(e,t){if(e>4294967295||e<1)return ee.ONE;var r=gt(),n=gt(),i=t.convert(this),a=Wf(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function tI(e,t){var r;return e<256||t.isEven()?r=new ho(t):r=new po(t),this.exp(e,r)}ee.prototype.copyTo=C8;ee.prototype.fromInt=_8;ee.prototype.fromString=F8;ee.prototype.clamp=I8;ee.prototype.dlShiftTo=T8;ee.prototype.drShiftTo=O8;ee.prototype.lShiftTo=N8;ee.prototype.rShiftTo=x8;ee.prototype.subTo=k8;ee.prototype.multiplyTo=L8;ee.prototype.squareTo=U8;ee.prototype.divRemTo=H8;ee.prototype.invDigit=z8;ee.prototype.isEven=Q8;ee.prototype.exp=eI;ee.prototype.toString=$8;ee.prototype.negate=D8;ee.prototype.abs=B8;ee.prototype.compareTo=R8;ee.prototype.bitLength=P8;ee.prototype.mod=j8;ee.prototype.modPowInt=tI;ee.ZERO=da(0);ee.ONE=da(1);function rI(){var e=gt();return this.copyTo(e),e}function nI(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function sI(){return this.t==0?this.s:this[0]<<16>>16}function aI(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function oI(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function uI(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=da(r),i=gt(),a=gt(),s="";for(this.divRemTo(n,i,a);i.signum()>0;)s=(r+a.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,a);return a.intValue().toString(e)+s}function cI(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,a=0,s=0,u=0;u=r&&(this.dMultiply(n),this.dAddOffset(s,0),a=0,s=0)}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(s,0)),i&&ee.ZERO.subTo(this,this)}function lI(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(ee.ONE.shiftLeft(e-1),Jd,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(ee.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<=0;)r<8?(n=(this[e]&(1<>(r+=this.DB-8)):(n=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function hI(e){return this.compareTo(e)==0}function pI(e){return this.compareTo(e)<0?this:e}function dI(e){return this.compareTo(e)>0?this:e}function gI(e,t,r){var n,i,a=Math.min(e.t,this.t);for(n=0;n>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function _I(){for(var e=0;e=this.t?this.s!=0:(this[t]&1<>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[r++]=n:n<-1&&(t[r++]=this.DV+n),t.t=r,t.clamp()}function OI(e){var t=gt();return this.addTo(e,t),t}function NI(e){var t=gt();return this.subTo(e,t),t}function xI(e){var t=gt();return this.multiplyTo(e,t),t}function kI(){var e=gt();return this.squareTo(e),e}function LI(e){var t=gt();return this.divRemTo(e,t,null),t}function UI(e){var t=gt();return this.divRemTo(e,null,t),t}function HI(e){var t=gt(),r=gt();return this.divRemTo(e,t,r),new Array(t,r)}function jI(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function MI(e,t){if(e!=0){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function Xc(){}function gE(e){return e}function qI(e,t,r){e.multiplyTo(t,r)}function KI(e,t){e.squareTo(t)}Xc.prototype.convert=gE;Xc.prototype.revert=gE;Xc.prototype.mulTo=qI;Xc.prototype.sqrTo=KI;function VI(e){return this.exp(e,new Xc)}function GI(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r[--n]=0;var i;for(i=r.t-this.t;n=0;)r[n]=0;for(n=Math.max(t-this.t,0);n2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=gt();return e.copyTo(t),this.reduce(t),t}function WI(e){return e}function XI(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function JI(e,t){e.squareTo(t),this.reduce(t)}function ZI(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Du.prototype.convert=YI;Du.prototype.revert=WI;Du.prototype.reduce=XI;Du.prototype.mulTo=ZI;Du.prototype.sqrTo=JI;function QI(e,t){var r=e.bitLength(),n,i=da(1),a;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?a=new ho(t):t.isEven()?a=new Du(t):a=new po(t);var s=new Array,u=3,l=n-1,f=(1<1){var d=gt();for(a.sqrTo(s[1],d);u<=f;)s[u]=gt(),a.mulTo(d,s[u-2],s[u]),u+=2}var E=e.t-1,p,h=!0,A=gt(),g;for(r=Wf(e[E])-1;E>=0;){for(r>=l?p=e[E]>>r-l&f:(p=(e[E]&(1<0&&(p|=e[E-1]>>this.DB+r-l)),u=n;!(p&1);)p>>=1,--u;if((r-=u)<0&&(r+=this.DB,--E),h)s[p].copyTo(i),h=!1;else{for(;u>1;)a.sqrTo(i,A),a.sqrTo(A,i),u-=2;u>0?a.sqrTo(i,A):(g=i,i=A,A=g),a.mulTo(A,s[p],i)}for(;E>=0&&!(e[E]&1<0&&(t.rShiftTo(a,t),r.rShiftTo(a,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return a>0&&r.lShiftTo(a,r),r}function t$(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this[n])%e;return r}function r$(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return ee.ZERO;for(var r=e.clone(),n=this.clone(),i=da(1),a=da(0),s=da(0),u=da(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!a.isEven())&&(i.addTo(this,i),a.subTo(e,a)),i.rShiftTo(1,i)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!u.isEven())&&(s.addTo(this,s),u.subTo(e,u)),s.rShiftTo(1,s)):u.isEven()||u.subTo(e,u),u.rShiftTo(1,u);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),a.subTo(u,a)):(n.subTo(r,n),t&&s.subTo(i,s),u.subTo(a,u))}if(n.compareTo(ee.ONE)!=0)return ee.ZERO;if(u.compareTo(e)>=0)return u.subtract(e);if(u.signum()<0)u.addTo(e,u);else return u;return u.signum()<0?u.add(e):u}var hn=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],n$=(1<<26)/hn[hn.length-1];function i$(e){var t,r=this.abs();if(r.t==1&&r[0]<=hn[hn.length-1]){for(t=0;t>1,e>hn.length&&(e=hn.length);for(var i=gt(),a=0;a>8&255,qn[Br++]^=e>>16&255,qn[Br++]^=e>>24&255,Br>=Gd&&(Br-=Gd)}function Qd(){c$(new Date().getTime())}if(qn==null){if(qn=new Array,Br=0,Cu!==void 0&&(Cu.crypto!==void 0||Cu.msCrypto!==void 0)){if(Md=Cu.crypto||Cu.msCrypto,Md.getRandomValues)for(qd=new Uint8Array(32),Md.getRandomValues(qd),ci=0;ci<32;++ci)qn[Br++]=qd[ci];else if(Yc.appName=="Netscape"&&Yc.appVersion<"5")for(Kd=Cu.crypto.random(32),ci=0;ci>>8,qn[Br++]=ci&255;Br=0,Qd()}var ci,Md,qd,Kd;function l$(){if(Kf==null){for(Qd(),Kf=u$(),Kf.init(qn),Br=0;Br0&&t.length>0)this.n=In(e,16),this.e=parseInt(t,16);else throw"Invalid RSA public key"}function p$(e){return e.modPowInt(this.e,this.n)}We.prototype.doPublic=p$;We.prototype.setPublic=h$;We.prototype.type="RSA";function d$(e,t,r){if(this.isPrivate=!0,typeof e!="string")this.n=e,this.e=t,this.d=r;else if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=In(e,16),this.e=parseInt(t,16),this.d=In(r,16);else throw"Invalid RSA private key"}function g$(e,t,r,n,i,a,s,u){if(this.isPrivate=!0,this.isPublic=!1,e==null)throw"RSASetPrivateEx N == null";if(t==null)throw"RSASetPrivateEx E == null";if(e.length==0)throw"RSASetPrivateEx N.length == 0";if(t.length==0)throw"RSASetPrivateEx E.length == 0";if(e!=null&&t!=null&&e.length>0&&t.length>0)this.n=In(e,16),this.e=parseInt(t,16),this.d=In(r,16),this.p=In(n,16),this.q=In(i,16),this.dmp1=In(a,16),this.dmq1=In(s,16),this.coeff=In(u,16);else throw"Invalid RSA private key in RSASetPrivateEx"}function m$(e,t){var r=new Bu,n=e>>1;this.e=parseInt(t,16);for(var i=new ee(t,16),a=e/2-100,s=ee.ONE.shiftLeft(a);;){for(;this.p=new ee(e-n,1,r),!(this.p.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.p.isProbablePrime(10)););for(;this.q=new ee(n,1,r),!(this.q.subtract(ee.ONE).gcd(i).compareTo(ee.ONE)==0&&this.q.isProbablePrime(10)););if(this.p.compareTo(this.q)<=0){var u=this.p;this.p=this.q,this.q=u}var l=this.q.subtract(this.p).abs();if(!(l.bitLength()0;--f){i=i.twice();var d=r.testBit(f),E=t.testBit(f);d!=E&&(i=i.add(d?this:n))}for(f=s.bitLength()-2;f>0;--f){u=u.twice();var p=s.testBit(f),h=a.testBit(f);p!=h&&(u=u.add(p?u:l))}return i}function O$(e,t,r){var n;e.bitLength()>r.bitLength()?n=e.bitLength()-1:n=r.bitLength()-1;for(var i=this.curve.getInfinity(),a=this.add(t);n>=0;)i=i.twice(),e.testBit(n)?r.testBit(n)?i=i.add(a):i=i.add(this):r.testBit(n)&&(i=i.add(t)),--n;return i}St.prototype.getX=F$;St.prototype.getY=I$;St.prototype.equals=$$;St.prototype.isInfinity=D$;St.prototype.negate=B$;St.prototype.add=R$;St.prototype.twice=P$;St.prototype.multiply=T$;St.prototype.multiplyTwo=O$;function Ds(e,t,r){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(r),this.infinity=new St(this,null,null)}function N$(){return this.q}function x$(){return this.a}function k$(){return this.b}function L$(e){return e==this?!0:this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function U$(){return this.infinity}function H$(e){return new yr(this.q,e)}function j$(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:var t=e.substr(0,2),r=e.substr(2),n=this.fromBigInteger(new ee(f,16)),i=this.getA(),a=this.getB(),s=n.square().add(i).multiply(n).add(a),u=s.sqrt();return t=="03"&&(u=u.negate()),new St(this,n,u);case 4:case 6:case 7:var l=(e.length-2)/2,f=e.substr(2,l),d=e.substr(l+2,l);return new St(this,this.fromBigInteger(new ee(f,16)),this.fromBigInteger(new ee(d,16)));default:return null}}Ds.prototype.getQ=N$;Ds.prototype.getA=x$;Ds.prototype.getB=k$;Ds.prototype.equals=L$;Ds.prototype.getInfinity=U$;Ds.prototype.fromBigInteger=H$;Ds.prototype.decodePointHex=j$;yr.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)};St.prototype.getEncoded=function(e){var t=function(a,s){var u=a.toByteArrayUnsigned();if(su.length;)u.unshift(0);return u},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=t(r,32);return e?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(t(n,32))),i};St.decodeFrom=function(e,t){var r=t[0],n=t.length-1,i=t.slice(1,1+n/2),a=t.slice(1+n/2,1+n);i.unshift(0),a.unshift(0);var s=new ee(i),u=new ee(a);return new St(e,e.fromBigInteger(s),e.fromBigInteger(u))};St.decodeFromHex=function(e,t){var r=t.substr(0,2),n=t.length-2,i=t.substr(2,n/2),a=t.substr(2+n/2,n/2),s=new ee(i,16),u=new ee(a,16);return new St(e,e.fromBigInteger(s),e.fromBigInteger(u))};St.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),r=e.y.subtract(this.y),n=r.divide(t),i=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(i)).subtract(this.y);return new St(this.curve,i,a)};St.prototype.twice2D=function(){if(this.isInfinity())return this;if(this.y.toBigInteger().signum()==0)return this.curve.getInfinity();var e=this.curve.fromBigInteger(ee.valueOf(2)),t=this.curve.fromBigInteger(ee.valueOf(3)),r=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=r.square().subtract(this.x.multiply(e)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new St(this.curve,n,i)};St.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(e.signum()==0)return this.curve.getInfinity();var t=e,r=t.multiply(new ee("3")),n=this.negate(),i=this,a;for(a=r.bitLength()-2;a>0;--a){i=i.twice();var s=r.testBit(a),u=t.testBit(a);s!=u&&(i=i.add2D(s?this:n))}return i};St.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),a=t.multiply(t).mod(i),s=e.multiply(e).multiply(e).add(r.multiply(e)).add(n).mod(i);return a.equals(s)};St.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"};St.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(t.compareTo(ee.ONE)<0||t.compareTo(e.subtract(ee.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(ee.ONE)<0||r.compareTo(e.subtract(ee.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};var mE=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',r='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+r+")","g"),i=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:` +`,r:"\r",t:" "};function s(E,p,h){return p?a[p]:String.fromCharCode(parseInt(h,16))}var u=new String(""),l="\\",f={"{":Object,"[":Array},d=Object.hasOwnProperty;return function(E,p){var h=E.match(n),A,g=h[0],S=!1;g==="{"?A={}:g==="["?A=[]:(A=[],S=!0);for(var w,y=[A],_=1-S,B=h.length;_=0;)delete P[L[W]]}return p.call(q,F,P)};A=M({"":A},"")}return A}}();(typeof m>"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});m.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){return Zc(e)},this.getPEMStringFromHex=function(e,t){return Zr(e,t)},this.newObject=function(e){var t=m,r=t.asn1,n=r.ASN1Object,i=r.DERBoolean,a=r.DERInteger,s=r.DERBitString,u=r.DEROctetString,l=r.DERNull,f=r.DERObjectIdentifier,d=r.DEREnumerated,E=r.DERUTF8String,p=r.DERNumericString,h=r.DERPrintableString,A=r.DERTeletexString,g=r.DERIA5String,S=r.DERUTCTime,w=r.DERGeneralizedTime,y=r.DERVisibleString,_=r.DERBMPString,B=r.DERSequence,D=r.DERSet,M=r.DERTaggedObject,q=r.ASN1Util.newObject;if(e instanceof r.ASN1Object)return e;var F=Object.keys(e);if(F.length!=1)throw new Error("key of param shall be only one.");var P=F[0];if(":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":")==-1)throw new Error("undefined key: "+P);if(P=="bool")return new i(e[P]);if(P=="int")return new a(e[P]);if(P=="bitstr")return new s(e[P]);if(P=="octstr")return new u(e[P]);if(P=="null")return new l(e[P]);if(P=="oid")return new f(e[P]);if(P=="enum")return new d(e[P]);if(P=="utf8str")return new E(e[P]);if(P=="numstr")return new p(e[P]);if(P=="prnstr")return new h(e[P]);if(P=="telstr")return new A(e[P]);if(P=="ia5str")return new g(e[P]);if(P=="utctime")return new S(e[P]);if(P=="gentime")return new w(e[P]);if(P=="visstr")return new y(e[P]);if(P=="bmpstr")return new _(e[P]);if(P=="asn1")return new n(e[P]);if(P=="seq"){for(var L=e[P],j=[],V=0;V"u"||this.hV==null)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+a.length+",v="+this.hV);var s=this.hV.length/2,u=s.toString(16);if(u.length%2==1&&(u="0"+u),s<128)return u;var l=u.length/2;if(l>15)throw new Error("ASN.1 length too long to represent by 8x: n = "+s.toString(16));var f=128+l;return f.toString(16)+u},this.tohex=function(){return(this.hTLV==null||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.getValueHex=function(){return this.tohex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(s){this.params=s},e!=null&&e.tlv!=null&&(this.hTLV=e.tlv,this.isModified=!1)};m.asn1.DERAbstractString=function(e){m.asn1.DERAbstractString.superclass.constructor.call(this);var t=null,r=null;this.getString=function(){return this.s},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.s=n,this.hV=Jf(this.s).toLowerCase()},this.setStringHex=function(n){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.getFreshValueHex=function(){return this.hV},typeof e<"u"&&(typeof e=="string"?this.setString(e):typeof e.str<"u"?this.setString(e.str):typeof e.hex<"u"&&this.setStringHex(e.hex))};he(m.asn1.DERAbstractString,m.asn1.ASN1Object);m.asn1.DERAbstractTime=function(e){m.asn1.DERAbstractTime.superclass.constructor.call(this);var t=null,r=null;this.localDateToUTC=function(n){var i=n.getTime()+n.getTimezoneOffset()*6e4,a=new Date(i);return a},this.formatDate=function(n,i,a){var s=this.zeroPadding,u=this.localDateToUTC(n),l=String(u.getFullYear());i=="utc"&&(l=l.substr(2,2));var f=s(String(u.getMonth()+1),2),d=s(String(u.getDate()),2),E=s(String(u.getHours()),2),p=s(String(u.getMinutes()),2),h=s(String(u.getSeconds()),2),A=l+f+d+E+p+h;if(a===!0){var g=u.getMilliseconds();if(g!=0){var S=s(String(g),3);S=S.replace(/[0]+$/,""),A=A+"."+S}}return A+"Z"},this.zeroPadding=function(n,i){return n.length>=i?n:new Array(i-n.length+1).join("0")+n},this.setByParam=function(n){this.hV=null,this.hTLV=null,this.params=n},this.getString=function(){},this.setString=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.str=n},this.setByDate=function(n){this.hTLV=null,this.isModified=!0,this.params==null&&(this.params={}),this.params.date=n},this.setByDateValue=function(n,i,a,s,u,l){var f=new Date(Date.UTC(n,i-1,a,s,u,l,0));this.setByDate(f)},this.getFreshValueHex=function(){return this.hV}};he(m.asn1.DERAbstractTime,m.asn1.ASN1Object);m.asn1.DERAbstractStructured=function(e){m.asn1.DERAbstractString.superclass.constructor.call(this);var t=null;this.setByASN1ObjectArray=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array=r},this.appendASN1Object=function(r){this.hTLV=null,this.isModified=!0,this.asn1Array.push(r)},this.asn1Array=new Array,typeof e<"u"&&typeof e.array<"u"&&(this.asn1Array=e.array)};he(m.asn1.DERAbstractStructured,m.asn1.ASN1Object);m.asn1.DERBoolean=function(e){m.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",e==!1?this.hTLV="010100":this.hTLV="0101ff"};he(m.asn1.DERBoolean,m.asn1.ASN1Object);m.asn1.DERInteger=function(e){m.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.params=null;var t=Zc;this.setByBigInteger=function(r){this.isModified=!0,this.params={bigint:r}},this.setByInteger=function(r){this.isModified=!0,this.params=r},this.setValueHex=function(r){this.isModified=!0,this.params={hex:r}},this.getFreshValueHex=function(){var r=this.params,n=null;if(r==null)throw new Error("value not set");if(typeof r=="object"&&r.hex!=null)return this.hV=r.hex,this.hV;if(typeof r=="number")n=new ee(String(r),10);else if(r.int!=null)n=new ee(String(r.int),10);else if(r.bigint!=null)n=r.bigint;else throw new Error("wrong parameter");return this.hV=t(n),this.hV},e!=null&&(this.params=e)};he(m.asn1.DERInteger,m.asn1.ASN1Object);m.asn1.DERBitString=function(e){if(e!==void 0&&typeof e.obj<"u"){var t=m.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.tohex()}m.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(r){this.hTLV=null,this.isModified=!0,this.hV=r},this.setUnusedBitsAndHexValue=function(r,n){if(r<0||7=a)break}return n};Ae.getNthChildIdx=function(e,t,r){var n=Ae.getChildIdx(e,t);return n[r]};Ae.getIdxbyList=function(e,t,r,n){var i=Ae,a,s;return r.length==0?n!==void 0&&e.substr(t,2)!==n?-1:t:(a=r.shift(),s=i.getChildIdx(e,t),a>=s.length?-1:i.getIdxbyList(e,s[a],r,n))};Ae.getIdxbyListEx=function(e,t,r,n){var i=Ae,a,s;if(r.length==0)return n!==void 0&&e.substr(t,2)!==n?-1:t;a=r.shift(),s=i.getChildIdx(e,t);for(var u=0,l=0;l=e.length?null:i.getTLV(e,a)};Ae.getTLVbyListEx=function(e,t,r,n){var i=Ae,a=i.getIdxbyListEx(e,t,r,n);return a==-1?null:i.getTLV(e,a)};Ae.getVbyList=function(e,t,r,n,i){var a=Ae,s,u;return s=a.getIdxbyList(e,t,r,n),s==-1||s>=e.length?null:(u=a.getV(e,s),i===!0&&(u=u.substr(2)),u)};Ae.getVbyListEx=function(e,t,r,n,i){var a=Ae,s,u,l;return s=a.getIdxbyListEx(e,t,r,n),s==-1?null:(l=a.getV(e,s),e.substr(s,2)=="03"&&i!==!1&&(l=l.substr(2)),l)};Ae.getInt=function(e,t,r){r==null&&(r=-1);try{var n=e.substr(t,2);if(n!="02"&&n!="03")return r;var i=Ae.getV(e,t);return n=="02"?parseInt(i,16):_E(i)}catch{return r}};Ae.getOID=function(e,t,r){r==null&&(r=null);try{if(e.substr(t,2)!="06")return r;var n=Ae.getV(e,t);return rh(n)}catch{return r}};Ae.getOIDName=function(e,t,r){r==null&&(r=null);try{var n=Ae.getOID(e,t,r);if(n==r)return r;var i=m.asn1.x509.OID.oid2name(n);return i==""?n:i}catch{return r}};Ae.getString=function(e,t,r){r==null&&(r=null);try{var n=Ae.getV(e,t);return Dn(n)}catch{return r}};Ae.hextooidstr=function(e){var t=function(E,p){return E.length>=p?E:new Array(p-E.length+1).join("0")+E},r=[],n=e.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var a=e.substr(2),s=[],u=0;u0&&(d=d+"."+l.join(".")),d};Ae.dump=function(e,t,r,n){var i=Ae,a=i.getV,s=i.dump,u=i.getChildIdx,l=e;e instanceof m.asn1.ASN1Object&&(l=e.tohex());var f=function(q,F){if(q.length<=F*2)return q;var P=q.substr(0,F)+"..(total "+q.length/2+"bytes).."+q.substr(q.length-F,F);return P};t===void 0&&(t={ommit_long_octet:32}),r===void 0&&(r=0),n===void 0&&(n="");var d=t.ommit_long_octet,D=l.substr(r,2);if(D=="01"){var E=a(l,r);return E=="00"?n+`BOOLEAN FALSE +`:n+`BOOLEAN TRUE +`}if(D=="02"){var E=a(l,r);return n+"INTEGER "+f(E,d)+` +`}if(D=="03"){var E=a(l,r);if(i.isASN1HEX(E.substr(2))){var p=n+`BITSTRING, encapsulates +`;return p=p+s(E.substr(2),t,0,n+" "),p}else return n+"BITSTRING "+f(E,d)+` +`}if(D=="04"){var E=a(l,r);if(i.isASN1HEX(E)){var p=n+`OCTETSTRING, encapsulates +`;return p=p+s(E,t,0,n+" "),p}else return n+"OCTETSTRING "+f(E,d)+` +`}if(D=="05")return n+`NULL +`;if(D=="06"){var h=a(l,r),A=m.asn1.ASN1Util.oidHexToInt(h),g=m.asn1.x509.OID.oid2name(A),S=A.replace(/\./g," ");return g!=""?n+"ObjectIdentifier "+g+" ("+S+`) +`:n+"ObjectIdentifier ("+S+`) +`}if(D=="0a")return n+"ENUMERATED "+parseInt(a(l,r))+` +`;if(D=="0c")return n+"UTF8String '"+Rt(a(l,r))+`' +`;if(D=="13")return n+"PrintableString '"+Rt(a(l,r))+`' +`;if(D=="14")return n+"TeletexString '"+Rt(a(l,r))+`' +`;if(D=="16")return n+"IA5String '"+Rt(a(l,r))+`' +`;if(D=="17")return n+"UTCTime "+Rt(a(l,r))+` +`;if(D=="18")return n+"GeneralizedTime "+Rt(a(l,r))+` +`;if(D=="1a")return n+"VisualString '"+Rt(a(l,r))+`' +`;if(D=="1e")return n+"BMPString '"+n0(a(l,r))+`' +`;if(D=="30"){if(l.substr(r,4)=="3000")return n+`SEQUENCE {} +`;var p=n+`SEQUENCE +`,w=u(l,r),y=t;if((w.length==2||w.length==3)&&l.substr(w[0],2)=="06"&&l.substr(w[w.length-1],2)=="04"){var g=i.oidname(a(l,w[0])),_=JSON.parse(JSON.stringify(t));_.x509ExtName=g,y=_}for(var B=0;B4?{enum:{hex:w}}:{enum:parseInt(w,16)};if(g=="30"||g=="31")return S[h[g]]=A(e),S;if(g=="14"){var M=p(w);return S[h[g]]={str:M},S}else if(g=="1e"){var M=E(w);return S[h[g]]={str:M},S}else if(":0c:12:13:16:17:18:1a:".indexOf(g)!=-1){var M=d(w);return S[h[g]]={str:M},S}else if(g.match(/^8[0-9]$/)){var M=d(w);return M==null|M==""?{tag:{tag:g,explicit:!1,hex:w}}:M.match(/[\x00-\x1F\x7F-\x9F]/)!=null||M.match(/[\u0000-\u001F\u0080–\u009F]/)!=null?{tag:{tag:g,explicit:!1,hex:w}}:{tag:{tag:g,explicit:!1,str:M}}}else if(g.match(/^a[0-9]$/))try{if(!n(w))throw new Error("not encap");return{tag:{tag:g,explicit:!0,obj:r(w)}}}catch{return{tag:{tag:g,explicit:!0,hex:w}}}else{var q=new m.asn1.ASN1Object;q.hV=w;var F=q.getLengthHexFromValue();return{asn1:{tlv:g+F+w}}}}}};Ae.isContextTag=function(e,t){e=e.toLowerCase();var r,n;try{r=parseInt(e,16)}catch{return-1}if(t===void 0)return(r&192)==128;try{var i=t.match(/^\[[0-9]+\]$/);return i==null||(n=parseInt(t.substr(1,t.length-1),10),n>31)?!1:(r&192)==128&&(r&31)==n}catch{return!1}};Ae.isASN1HEX=function(e){var t=Ae;if(e.length%2==1)return!1;var r=t.getVblen(e,0),n=e.substr(0,2),i=t.getL(e,0),a=e.length-n.length-i.length;return a==r*2};Ae.checkStrictDER=function(e,t,r,n,i){var a=Ae;if(r===void 0){if(typeof e!="string")throw new Error("not hex string");if(e=e.toLowerCase(),!m.lang.String.isHex(e))throw new Error("not hex string");r=e.length,n=e.length/2,n<128?i=1:i=Math.ceil(n.toString(16))+1}var s=a.getL(e,t);if(s.length>i*2)throw new Error("L of TLV too long: idx="+t);var u=a.getVblen(e,t);if(u>n)throw new Error("value of L too long than hex: idx="+t);var l=a.getTLV(e,t),f=l.length-2-a.getL(e,t).length;if(f!==u*2)throw new Error("V string length and L's value not the same:"+f+"/"+u*2);if(t===0&&e.length!=l.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+l.length);var d=e.substr(t,2);if(d==="02"){var E=a.getVidx(e,t);if(e.substr(E,2)=="00"&&e.charCodeAt(E+2)<56)throw new Error("not least zeros for DER INTEGER")}if(parseInt(d,16)&32){for(var p=a.getVblen(e,t),h=0,A=a.getChildIdx(e,t),g=0;g"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.x509>"u"||!m.asn1.x509)&&(m.asn1.x509={});m.asn1.x509.Certificate=function(e){m.asn1.x509.Certificate.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.x509,s=a.TBSCertificate,u=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(l){this.params=l},this.sign=function(){var l=this.params,f=l.sigalg;l.sigalg.name!=null&&(f=l.sigalg.name);var d=l.tbsobj.tohex(),E=new m.crypto.Signature({alg:f});E.init(l.cakey),E.updateHex(d),l.sighex=E.sign()},this.getPEM=function(){return Zr(this.tohex(),"CERTIFICATE")},this.tohex=function(){var l=this.params;if((l.tbsobj==null||l.tbsobj==null)&&(l.tbsobj=new s(l)),l.sighex==null&&l.cakey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or cakey parameter not defined");var f=[];f.push(l.tbsobj),f.push(new u({name:l.sigalg})),f.push(new n({hex:"00"+l.sighex}));var d=new i({array:f});return d.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&(this.params=e)};he(m.asn1.x509.Certificate,m.asn1.ASN1Object);m.asn1.x509.TBSCertificate=function(e){m.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.x509,i=r.DERTaggedObject,a=r.DERInteger,s=r.DERSequence,u=n.AlgorithmIdentifier,l=n.Time,f=n.X500Name,d=n.Extensions,E=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(p){this.params=p},this.tohex=function(){var p=[],h=this.params;if(h.version!=null||h.version!=1){var A=2;h.version!=null&&(A=h.version-1);var g=new i({obj:new a({int:A})});p.push(g)}p.push(new a(h.serial)),p.push(new u({name:h.sigalg})),p.push(new f(h.issuer)),p.push(new s({array:[new l(h.notbefore),new l(h.notafter)]})),p.push(new f(h.subject)),p.push(new E(ct.getKey(h.sbjpubkey))),h.ext!==void 0&&h.ext.length>0&&p.push(new i({tag:"a3",obj:new d(h.ext)}));var S=new m.asn1.DERSequence({array:p});return S.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.TBSCertificate,m.asn1.ASN1Object);m.asn1.x509.Extensions=function(e){m.asn1.x509.Extensions.superclass.constructor.call(this);var t=m,r=t.asn1,n=r.DERSequence,i=r.x509;this.aParam=[],this.setByParam=function(a){this.aParam=a},this.tohex=function(){for(var a=[],s=0;s-1&&u.push(new n({int:this.pathLen}));var l=new i({array:u});return this.asn1ExtnValue=l,this.asn1ExtnValue.tohex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,e!==void 0&&(e.cA!==void 0&&(this.cA=e.cA),e.pathLen!==void 0&&(this.pathLen=e.pathLen))};he(m.asn1.x509.BasicConstraints,m.asn1.x509.Extension);m.asn1.x509.CRLDistributionPoints=function(e){m.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=m,r=t.asn1,n=r.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.tohex()},this.setByDPArray=function(i){for(var a=[],s=0;s0&&a.push(new r({array:s}))}var l=new r({array:a});return l.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.PolicyInformation,m.asn1.ASN1Object);m.asn1.x509.PolicyQualifierInfo=function(e){m.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=m.asn1,r=t.DERSequence,n=t.DERIA5String,i=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.tohex=function(){if(this.params.cps!==void 0){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return s.tohex()}if(this.params.unotice!=null){var s=new r({array:[new i({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return s.tohex()}},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.PolicyQualifierInfo,m.asn1.ASN1Object);m.asn1.x509.UserNotice=function(e){m.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=m.asn1.DERSequence,r=m.asn1.DERInteger,n=m.asn1.x509.DisplayText,i=m.asn1.x509.NoticeReference;this.params=null,this.tohex=function(){var a=[];this.params.noticeref!==void 0&&a.push(new i(this.params.noticeref)),this.params.exptext!==void 0&&a.push(new n(this.params.exptext));var s=new t({array:a});return s.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(this.params=e)};he(m.asn1.x509.UserNotice,m.asn1.ASN1Object);m.asn1.x509.NoticeReference=function(e){m.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=m.asn1.DERSequence,r=m.asn1.DERInteger,n=m.asn1.x509.DisplayText;this.params=null,this.tohex=function(){var i=[];if(this.params.org!==void 0&&i.push(new n(this.params.org)),this.params.noticenum!==void 0){for(var a=[],s=this.params.noticenum,u=0;u0)for(var s=0;s0;i++){var a=t.shift();if(r===!0){var s=n.pop(),u=(s+","+a).replace(/\\,/g,",");n.push(u),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}return n=n.map(function(l){return l.replace("/","\\/")}),n.reverse(),"/"+n.join("/")};m.asn1.x509.X500Name.ldapToOneline=function(e){return m.asn1.x509.X500Name.ldapToCompat(e)};m.asn1.x509.RDN=function(e){m.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=m.asn1.x509.AttributeTypeAndValue;this.setByParam=function(r){r.rule!==void 0&&(this.sRule=r.rule),r.str!==void 0&&this.addByMultiValuedString(r.str),r.array!==void 0&&(this.paramArray=r.array)},this.addByString=function(r){this.asn1Array.push(new m.asn1.x509.AttributeTypeAndValue({str:r,rule:this.sRule}))},this.addByMultiValuedString=function(r){for(var n=m.asn1.x509.RDN.parseString(r),i=0;i0)for(var r=0;r0;i++){var a=t.shift();if(r===!0){var s=n.pop(),u=(s+"+"+a).replace(/\\\+/g,"+");n.push(u),r=!1}else n.push(a);a.substr(-1,1)==="\\"&&(r=!0)}for(var l=!1,f=[],i=0;n.length>0;i++){var a=n.shift();if(l===!0){var d=f.pop();if(a.match(/"$/)){var u=(d+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");f.push(u),l=!1}else f.push(d+"+"+a)}else f.push(a);a.match(/^[^=]+="/)&&(l=!0)}return f};m.asn1.x509.AttributeTypeAndValue=function(e){m.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=m,r=t.asn1,n=r.DERSequence,i=r.DERUTF8String,a=r.DERPrintableString,s=r.DERTeletexString,u=r.DERIA5String,l=r.DERVisibleString,f=r.DERBMPString,d=t.lang.String.isMail,E=t.lang.String.isPrintable;this.setByParam=function(p){if(p.rule!==void 0&&(this.sRule=p.rule),p.ds!==void 0&&(this.dsType=p.ds),p.value===void 0&&p.str!==void 0){var h=p.str,A=h.match(/^([^=]+)=(.+)$/);if(A)this.sType=A[1],this.sValue=A[2];else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)}else this.sType=p.type,this.sValue=p.value},this.setByString=function(p,h){h!==void 0&&(this.sRule=h);var A=p.match(/^([^=]+)=(.+)$/);if(A)this.setByAttrTypeAndValueStr(A[1],A[2]);else throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr)},this._getDsType=function(){var p=this.sType,h=this.sValue,A=this.sRule;return A==="prn"?p=="CN"&&d(h)?"ia5":E(h)?"prn":"utf8":A==="utf8"?p=="CN"&&d(h)?"ia5":p=="C"?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(p,h,A){A!==void 0&&(this.sRule=A),this.sType=p,this.sValue=h},this.getValueObj=function(p,h){if(p=="utf8")return new i({str:h});if(p=="prn")return new a({str:h});if(p=="tel")return new s({str:h});if(p=="ia5")return new u({str:h});if(p=="vis")return new l({str:h});if(p=="bmp")return new f({str:h});throw new Error("unsupported directory string type: type="+p+" value="+h)},this.tohex=function(){this.dsType==null&&(this.dsType=this._getDsType());var p=m.asn1.x509.OID.atype2obj(this.sType),h=this.getValueObj(this.dsType,this.sValue),A=new n({array:[p,h]});return this.TLV=A.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.AttributeTypeAndValue,m.asn1.ASN1Object);m.asn1.x509.SubjectPublicKeyInfo=function(e){m.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERInteger,s=i.DERBitString,u=i.DERObjectIdentifier,l=i.DERSequence,f=i.ASN1Util.newObject,d=i.x509,E=d.AlgorithmIdentifier,p=n.crypto,h=p.ECDSA,A=p.DSA;this.getASN1Object=function(){if(this.asn1AlgId==null||this.asn1SubjPKey==null)throw"algId and/or subjPubKey not set";var g=new l({array:[this.asn1AlgId,this.asn1SubjPKey]});return g},this.tohex=function(){var g=this.getASN1Object();return this.hTLV=g.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},this.setPubKey=function(g){try{if(g instanceof We){var S=f({seq:[{int:{bigint:g.n}},{int:{int:g.e}}]}),w=S.tohex();this.asn1AlgId=new E({name:"rsaEncryption"}),this.asn1SubjPKey=new s({hex:"00"+w})}}catch{}try{if(g instanceof m.crypto.ECDSA){var y=new u({name:g.curveName});this.asn1AlgId=new E({name:"ecPublicKey",asn1params:y}),this.asn1SubjPKey=new s({hex:"00"+g.pubKeyHex})}}catch{}try{if(g instanceof m.crypto.DSA){var y=new f({seq:[{int:{bigint:g.p}},{int:{bigint:g.q}},{int:{bigint:g.g}}]});this.asn1AlgId=new E({name:"dsa",asn1params:y});var _=new a({bigint:g.y});this.asn1SubjPKey=new s({hex:"00"+_.tohex()})}}catch{}},e!==void 0&&this.setPubKey(e)};he(m.asn1.x509.SubjectPublicKeyInfo,m.asn1.ASN1Object);m.asn1.x509.Time=function(e){m.asn1.x509.Time.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.params=null,this.type=null,this.setTimeParams=function(u){this.timeParams=u},this.setByParam=function(u){this.params=u},this.getType=function(u){return u.match(/^[0-9]{12}Z$/)?"utc":u.match(/^[0-9]{14}Z$/)?"gen":u.match(/^[0-9]{12}\.[0-9]+Z$/)?"utc":u.match(/^[0-9]{14}\.[0-9]+Z$/)?"gen":null},this.tohex=function(){var u=this.params,l=null;if(typeof u=="string"&&(u={str:u}),u!=null&&u.str&&(u.type==null||u.type==null)&&(u.type=this.getType(u.str)),u!=null&&u.str?(u.type=="utc"&&(l=new a(u.str)),u.type=="gen"&&(l=new s(u.str))):this.type=="gen"?l=new s:l=new a,l==null)throw new Error("wrong setting for Time");return this.TLV=l.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};m.asn1.x509.Time_bak=function(e){m.asn1.x509.Time_bak.superclass.constructor.call(this);var t=null,r=null,n=m,i=n.asn1,a=i.DERUTCTime,s=i.DERGeneralizedTime;this.setTimeParams=function(u){this.timeParams=u},this.tohex=function(){var u=null;return this.timeParams!=null?this.type=="utc"?u=new a(this.timeParams):u=new s(this.timeParams):this.type=="utc"?u=new a:u=new s,this.TLV=u.tohex(),this.TLV},this.getEncodedHex=function(){return this.tohex()},this.type="utc",e!==void 0&&(e.type!==void 0?this.type=e.type:e.str!==void 0&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)};he(m.asn1.x509.Time,m.asn1.ASN1Object);m.asn1.x509.AlgorithmIdentifier=function(e){m.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=m,r=t.asn1,n=r.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.tohex=function(){if(this.nameAlg===null&&this.asn1Alg===null)throw new Error("algorithm not specified");if(this.nameAlg!==null){var a=null;for(var s in n)s===this.nameAlg&&(a=n[s]);if(a!==null)return this.hTLV=a,this.hTLV}this.nameAlg!==null&&this.asn1Alg===null&&(this.asn1Alg=r.x509.OID.name2obj(this.nameAlg));var u=[this.asn1Alg];this.asn1Params!==null&&u.push(this.asn1Params);var l=new r.DERSequence({array:u});return this.hTLV=l.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&(e.name!==void 0&&(this.nameAlg=e.name),e.asn1params!==void 0&&(this.asn1Params=e.asn1params),e.paramempty!==void 0&&(this.paramEmpty=e.paramempty)),this.asn1Params===null&&this.paramEmpty===!1&&this.nameAlg!==null){this.nameAlg.name!==void 0&&(this.nameAlg=this.nameAlg.name);var i=this.nameAlg.toLowerCase();i.substr(-7,7)!=="withdsa"&&i.substr(-9,9)!=="withecdsa"&&(this.asn1Params=new r.DERNull)}};he(m.asn1.x509.AlgorithmIdentifier,m.asn1.ASN1Object);m.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"};m.asn1.x509.GeneralName=function(e){m.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87",otherName:"a0"},r=m,n=r.asn1,i=n.x509,a=i.X500Name,s=i.OtherName,u=n.DERIA5String,l=n.DERPrintableString,f=n.DEROctetString,d=n.DERTaggedObject,E=n.ASN1Object,p=Error;this.params=null,this.setByParam=function(h){this.params=h},this.tohex=function(){var h=this.params,A,S,g,S=!1;if(h.other!==void 0)A="a0",g=new s(h.other);else if(h.rfc822!==void 0)A="81",g=new u({str:h.rfc822});else if(h.dns!==void 0)A="82",g=new u({str:h.dns});else if(h.dn!==void 0)A="a4",S=!0,typeof h.dn=="string"?g=new a({str:h.dn}):h.dn instanceof m.asn1.x509.X500Name?g=h.dn:g=new a(h.dn);else if(h.ldapdn!==void 0)A="a4",S=!0,g=new a({ldapstr:h.ldapdn});else if(h.certissuer!==void 0||h.certsubj!==void 0){A="a4",S=!0;var w,y,_=null;if(h.certsubj!==void 0?(w=!1,y=h.certsubj):(w=!0,y=h.certissuer),y.match(/^[0-9A-Fa-f]+$/)&&_==y,y.indexOf("-----BEGIN ")!=-1&&(_=Xt(y)),_==null)throw new Error("certsubj/certissuer not cert");var B=new Me;B.hex=_;var D;w?D=B.getIssuerHex():D=B.getSubjectHex(),g=new E,g.hTLV=D}else if(h.uri!==void 0)A="86",g=new u({str:h.uri});else if(h.ip!==void 0){A="87";var M,q=h.ip;try{if(q.match(/^[0-9a-f]+$/)){var F=q.length;if(F==8||F==16||F==32||F==64)M=q;else throw"err"}else M=r0(q)}catch(L){throw new p("malformed IP address: "+h.ip+":"+L.message)}g=new f({hex:M})}else throw new p("improper params");var P=new d({tag:A,explicit:S,obj:g});return P.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.x509.GeneralName,m.asn1.ASN1Object);m.asn1.x509.GeneralNames=function(e){m.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=null,r=m,n=r.asn1;this.setByParamArray=function(i){for(var a=0;a"u")throw"Name of ObjectIdentifier not defined: "+t;var r=this.name2oidList[t],n=new e({oid:r});return this.objCache[t]=n,n},this.atype2obj=function(t){if(this.objCache[t]!==void 0)return this.objCache[t];var r;if(t.match(/^\d+\.\d+\.[0-9.]+$/))r=t;else if(this.atype2oidList[t]!==void 0)r=this.atype2oidList[t];else if(this.name2oidList[t]!==void 0)r=this.name2oidList[t];else throw new Error("AttributeType name undefined: "+t);var n=new e({oid:r});return this.objCache[t]=n,n},this.registerOIDs=function(t){if(this.checkOIDs(t))for(var r in t)this.name2oidList[r]=t[r]},this.checkOIDs=function(t){try{var r=Object.keys(t);return r.length==0?!1:(r.map(function(n,i,a){var s=this[n];if(!s.match(/^[0-2]\.[0-9.]+$/))throw new Error("value is not OID")},t),!0)}catch{return!1}}};m.asn1.x509.OID.oid2name=function(e){var t=m.asn1.x509.OID.name2oidList;for(var r in t)if(t[r]==e)return r;return""};m.asn1.x509.OID.oid2atype=function(e){var t=m.asn1.x509.OID.atype2oidList;for(var r in t)if(t[r]==e)return r;return e};m.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=m.asn1.x509.OID.name2oidList;return t[e]===void 0?"":t[e]};m.asn1.x509.X509Util={};m.asn1.x509.X509Util.newCertPEM=function(e){var t=m.asn1.x509,r=t.TBSCertificate,n=t.Certificate,i=new n(e);return i.getPEM()};(typeof m>"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.cms>"u"||!m.asn1.cms)&&(m.asn1.cms={});m.asn1.cms.Attribute=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERSet,s=n.DERObjectIdentifier;this.params=null,this.typeOid=null,this.setByParam=function(u){this.params=u},this.getValueArray=function(){throw new t("not yet implemented abstract")},this.tohex=function(){var u=new s({oid:this.typeOid}),l=new a({array:this.getValueArray()}),f=new i({array:[u,l]});return f.tohex()},this.getEncodedHex=function(){return this.tohex()}};he(m.asn1.cms.Attribute,m.asn1.ASN1Object);m.asn1.cms.ContentType=function(e){var t=m,r=t.asn1;r.cms.ContentType.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.3",this.getValueArray=function(){var n=new r.DERObjectIdentifier(this.params.type);return[n]},e!=null&&this.setByParam(e)};he(m.asn1.cms.ContentType,m.asn1.cms.Attribute);m.asn1.cms.MessageDigest=function(e){var t=m,r=t.asn1,n=r.DEROctetString,i=r.cms;i.MessageDigest.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.4",this.getValueArray=function(){var a=new n(this.params);return[a]},e!=null&&this.setByParam(e)};he(m.asn1.cms.MessageDigest,m.asn1.cms.Attribute);m.asn1.cms.SigningTime=function(e){var t=m,r=t.asn1;r.cms.SigningTime.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.5",this.getValueArray=function(){var n=new r.x509.Time(this.params);return[n]},e!=null&&this.setByParam(e)};he(m.asn1.cms.SigningTime,m.asn1.cms.Attribute);m.asn1.cms.SigningCertificate=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.cms,s=a.ESSCertID,u=r.crypto;a.SigningCertificate.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.12",this.getValueArray=function(){if(this.params==null||this.params==null||this.params.array==null)throw new t("parameter 'array' not specified");for(var l=this.params.array,f=[],d=0;d0){for(var A=a(p.valhex,h[0]),g=E(A,0),S=[],w=0;w1){var B=a(p.valhex,h[1]);p.polhex=B}delete p.valhex},this.setSignaturePolicyIdentifier=function(p){var h=E(p.valhex,0);if(h.length>0){var A=n.getOID(p.valhex,h[0]);p.oid=A}if(h.length>1){var g=new t,S=E(p.valhex,h[1]),w=a(p.valhex,S[0]),y=g.getAlgorithmIdentifierName(w);p.alg=y;var _=i(p.valhex,S[1]);p.hash=_}delete p.valhex},this.setSigningCertificateV2=function(p){var h=E(p.valhex,0);if(h.length>0){for(var A=a(p.valhex,h[0]),g=E(A,0),S=[],w=0;w1){var B=a(p.valhex,h[1]);p.polhex=B}delete p.valhex},this.getESSCertID=function(p){var h={},A=E(p,0);if(A.length>0){var g=i(p,A[0]);h.hash=g}if(A.length>1){var S=a(p,A[1]),w=this.getIssuerSerial(S);w.serial!=null&&(h.serial=w.serial),w.issuer!=null&&(h.issuer=w.issuer)}return h},this.getESSCertIDv2=function(p){var h={},A=E(p,0);if(A.length<1||3g+1){var y=a(p,A[g+1]),_=this.getIssuerSerial(y);h.issuer=_.issuer,h.serial=_.serial}return h},this.getIssuerSerial=function(p){var h={},A=E(p,0),g=a(p,A[0]),S=r.getGeneralNames(g),w=S[0].dn;h.issuer=w;var y=i(p,A[1]);return h.serial={hex:y},h},this.getCertificateSet=function(p){for(var h=E(p,0),A=[],g=0;g"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.tsp>"u"||!m.asn1.tsp)&&(m.asn1.tsp={});m.asn1.tsp.TimeStampToken=function(e){var t=m,r=t.asn1,n=r.tsp;n.TimeStampToken.superclass.constructor.call(this),this.params=null,this.getEncodedHexPrepare=function(){var i=new n.TSTInfo(this.params.econtent.content);this.params.econtent.content.hex=i.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampToken,m.asn1.cms.SignedData);m.asn1.tsp.TSTInfo=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERInteger,s=n.DERBoolean,u=n.DERGeneralizedTime,l=n.DERObjectIdentifier,f=n.DERTaggedObject,d=n.tsp,E=d.MessageImprint,p=d.Accuracy,h=n.x509.X500Name,A=n.x509.GeneralName;if(d.TSTInfo.superclass.constructor.call(this),this.dVersion=new a({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerial=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.tohex=function(){var g=[this.dVersion];if(this.dPolicy==null)throw new Error("policy shall be specified.");if(g.push(this.dPolicy),this.dMessageImprint==null)throw new Error("messageImprint shall be specified.");if(g.push(this.dMessageImprint),this.dSerial==null)throw new Error("serialNumber shall be specified.");if(g.push(this.dSerial),this.dGenTime==null)throw new Error("genTime shall be specified.");g.push(this.dGenTime),this.dAccuracy!=null&&g.push(this.dAccuracy),this.dOrdering!=null&&g.push(this.dOrdering),this.dNonce!=null&&g.push(this.dNonce),this.dTsa!=null&&g.push(this.dTsa);var S=new i({array:g});return this.hTLV=S.tohex(),this.hTLV},this.getEncodedHex=function(){return this.tohex()},e!==void 0){if(typeof e.policy=="string"){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new l({oid:e.policy})}e.messageImprint!==void 0&&(this.dMessageImprint=new E(e.messageImprint)),e.serial!==void 0&&(this.dSerial=new a(e.serial)),e.genTime!==void 0&&(this.dGenTime=new u(e.genTime)),e.accuracy!==void 0&&(this.dAccuracy=new p(e.accuracy)),e.ordering!==void 0&&e.ordering==!0&&(this.dOrdering=new s),e.nonce!==void 0&&(this.dNonce=new a(e.nonce)),e.tsa!==void 0&&(this.dTsa=new f({tag:"a0",explicit:!0,obj:new A({dn:e.tsa})}))}};he(m.asn1.tsp.TSTInfo,m.asn1.ASN1Object);m.asn1.tsp.Accuracy=function(e){var t=m,r=t.asn1,n=r.ASN1Util.newObject;r.tsp.Accuracy.superclass.constructor.call(this),this.params=null,this.tohex=function(){var i=this.params,a=[];return i.seconds!=null&&typeof i.seconds=="number"&&a.push({int:i.seconds}),i.millis!=null&&typeof i.millis=="number"&&a.push({tag:{tagi:"80",obj:{int:i.millis}}}),i.micros!=null&&typeof i.micros=="number"&&a.push({tag:{tagi:"81",obj:{int:i.micros}}}),n({seq:a}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.Accuracy,m.asn1.ASN1Object);m.asn1.tsp.MessageImprint=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DEROctetString,a=r.x509,s=a.AlgorithmIdentifier;r.tsp.MessageImprint.superclass.constructor.call(this),this.params=null,this.tohex=function(){var u=this.params,l=new s({name:u.alg}),f=new i({hex:u.hash}),d=new n({array:[l,f]});return d.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.tsp.MessageImprint,m.asn1.ASN1Object);m.asn1.tsp.TimeStampReq=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DERInteger,a=r.DERBoolean,s=r.ASN1Object,u=r.DERObjectIdentifier,l=r.tsp,f=l.MessageImprint;l.TimeStampReq.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params,E=[];E.push(new i({int:1})),d.messageImprint instanceof m.asn1.ASN1Object?E.push(d.messageImprint):E.push(new f(d.messageImprint)),d.policy!=null&&E.push(new u(d.policy)),d.nonce!=null&&E.push(new i(d.nonce)),d.certreq==!0&&E.push(new a);var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampReq,m.asn1.ASN1Object);m.asn1.tsp.TimeStampResp=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.ASN1Object,a=r.tsp,s=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.params=null,this.tohex=function(){var u=this.params,l=[];if(u.econtent!=null||u.tst!=null)if(u.statusinfo!=null?l.push(new s(u.statusinfo)):l.push(new s("granted")),u.econtent!=null)l.push(new a.TimeStampToken(u).getContentInfo());else if(u.tst instanceof r.ASN1Object)l.push(u.tst);else throw new Error("improper member tst value");else if(u.statusinfo!=null)l.push(new s(u.statusinfo));else throw new Error("parameter for token nor statusinfo not specified");var f=new n({array:l});return f.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.TimeStampResp,m.asn1.ASN1Object);m.asn1.tsp.PKIStatusInfo=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.tsp,s=a.PKIStatus,u=a.PKIFreeText,l=a.PKIFailureInfo;a.PKIStatusInfo.superclass.constructor.call(this),this.params=null,this.tohex=function(){var f=this.params,d=[];if(typeof f=="string")d.push(new s(f));else{if(f.status==null)throw new t("property 'status' unspecified");d.push(new s(f.status)),f.statusstr!=null&&d.push(new u(f.statusstr)),f.failinfo!=null&&d.push(new l(f.failinfo))}var E=new i({array:d});return E.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIStatusInfo,m.asn1.ASN1Object);m.asn1.tsp.PKIStatus=function(e){var t=Error,r=m,n=r.asn1,i=n.DERInteger,a=n.tsp;a.PKIStatus.superclass.constructor.call(this);var s={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5};this.params=null,this.tohex=function(){var u=this.params,l,f;if(typeof u=="string")try{f=s[u]}catch{throw new t("undefined name: "+u)}else if(typeof u=="number")f=u;else throw new t("unsupported params");return new i({int:f}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIStatus,m.asn1.ASN1Object);m.asn1.tsp.PKIFreeText=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DERUTF8String,s=n.tsp;s.PKIFreeText.superclass.constructor.call(this),this.params=null,this.tohex=function(){var u=this.params;if(!u instanceof Array)throw new t("wrong params: not array");for(var l=[],f=0;f=0;p--)E+=d[p];return E}else{if(typeof l=="string"&&u[l]!=null)return zf([l],u);if(typeof l=="object"&&l.length!=null)return zf(l,u);throw new t("wrong params")}},this.tohex=function(){var l=this.params,f=this.getBinValue();return new i({bin:f}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.tsp.PKIFailureInfo,m.asn1.ASN1Object);m.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(t,r){throw"not implemented yet"}};m.asn1.tsp.SimpleTSAAdapter=function(e){var t=m,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(a,s){var u=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:u},this.params.econtent.content.serial={int:this.serial++};var l=Math.floor(Math.random()*1e9);this.params.econtent.content.nonce={int:l};var f=new n.TimeStampToken(this.params);return f.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(m.asn1.tsp.SimpleTSAAdapter,m.asn1.tsp.AbstractTSAAdapter);m.asn1.tsp.FixedTSAAdapter=function(e){var t=m,r=t.asn1,n=r.tsp,i=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(a,s){var u=i(a,s);this.params.econtent.content.messageImprint={alg:s,hash:u};var l=new n.TimeStampToken(this.params);return l.getContentInfoEncodedHex()},e!==void 0&&(this.params=e)};he(m.asn1.tsp.FixedTSAAdapter,m.asn1.tsp.AbstractTSAAdapter);m.asn1.tsp.TSPUtil=new function(){};m.asn1.tsp.TSPUtil.newTimeStampToken=function(e){return new m.asn1.tsp.TimeStampToken(e)};m.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=new m.asn1.tsp.TSPParser;return t.getTimeStampReq(e)};m.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=new m.asn1.tsp.TSPParser;return t.getMessageImprint(e)};m.asn1.tsp.TSPParser=function(){var e=Error,t=Me,r=new t,n=Ae,i=n.getV,a=n.getTLV,s=n.getIdxbyList,u=n.getTLVbyListEx,l=n.getChildIdx,f=["granted","grantedWithMods","rejection","waiting","revocationWarning","revocationNotification"],d={0:"badAlg",2:"badRequest",5:"badDataFormat",14:"timeNotAvailable",15:"unacceptedPolicy",16:"unacceptedExtension",17:"addInfoNotAvailable",25:"systemFailure"};this.getResponse=function(E){var p=l(E,0);if(p.length==1)return this.getPKIStatusInfo(a(E,p[0]));if(p.length>1){var h=this.getPKIStatusInfo(a(E,p[0])),A=a(E,p[1]),g=this.getToken(A);return g.statusinfo=h,g}},this.getToken=function(E){var p=new m.asn1.cms.CMSParser,h=p.getCMSSignedData(E);return this.setTSTInfo(h),h},this.setTSTInfo=function(E){var p=E.econtent;if(p.type=="tstinfo"){var h=p.content.hex,A=this.getTSTInfo(h);p.content=A}},this.getTSTInfo=function(E){var p={},h=l(E,0),A=i(E,h[1]);p.policy=rh(A);var g=a(E,h[2]);p.messageImprint=this.getMessageImprint(g);var S=i(E,h[3]);p.serial={hex:S};var w=i(E,h[4]);p.genTime={str:Rt(w)};var y=0;if(h.length>5&&E.substr(h[5],2)=="30"){var _=a(E,h[5]);p.accuracy=this.getAccuracy(_),y++}if(h.length>5+y&&E.substr(h[5+y],2)=="01"){var B=i(E,h[5+y]);B=="ff"&&(p.ordering=!0),y++}if(h.length>5+y&&E.substr(h[5+y],2)=="02"){var D=i(E,h[5+y]);p.nonce={hex:D},y++}if(h.length>5+y&&E.substr(h[5+y],2)=="a0"){var M=a(E,h[5+y]);M="30"+M.substr(2),pGeneralNames=r.getGeneralNames(M);var q=pGeneralNames[0].dn;p.tsa=q,y++}if(h.length>5+y&&E.substr(h[5+y],2)=="a1"){var F=a(E,h[5+y]);F="30"+F.substr(2);var P=r.getExtParamArray(F);p.ext=P,y++}return p},this.getAccuracy=function(E){for(var p={},h=l(E,0),A=0;A1&&E.substr(h[1],2)=="30"){var w=a(E,h[1]);p.statusstr=this.getPKIFreeText(w),A++}if(h.length>A&&E.substr(h[1+A],2)=="03"){var y=a(E,h[1+A]);p.failinfo=this.getPKIFailureInfo(y)}return p},this.getPKIFreeText=function(E){for(var p=[],h=l(E,0),A=0;A"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.cades>"u"||!m.asn1.cades)&&(m.asn1.cades={});m.asn1.cades.SignaturePolicyIdentifier=function(e){var t=m,r=t.asn1,n=r.cades,i=n.SignaturePolicyId;n.SignaturePolicyIdentifier.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.15",this.params=null,this.getValueArray=function(){return[new i(this.params)]},this.setByParam=function(a){this.params=a},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignaturePolicyIdentifier,m.asn1.cms.Attribute);m.asn1.cades.SignaturePolicyId=function(e){var t=m,r=t.asn1,n=r.DERSequence,i=r.DERObjectIdentifier,a=r.x509,s=a.AlgorithmIdentifier,u=r.cades,l=u.SignaturePolicyId,f=u.OtherHashAlgAndValue;l.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params,E=[];E.push(new i(d.oid)),E.push(new f(d));var p=new n({array:E});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},this.setByParam=function(d){this.params=d},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignaturePolicyId,m.asn1.ASN1Object);m.asn1.cades.OtherHashAlgAndValue=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.DEROctetString,s=n.x509,u=s.AlgorithmIdentifier,l=n.cades,f=l.OtherHashAlgAndValue;f.superclass.constructor.call(this),this.params=null,this.tohex=function(){var d=this.params;if(d.alg==null)throw new t("property 'alg' not specified");if(d.hash==null&&d.cert==null)throw new t("property 'hash' nor 'cert' not specified");var E=null;if(d.hash!=null)E=d.hash;else if(d.cert!=null){if(typeof d.cert!="string")throw new t("cert not string");var p=d.cert;d.cert.indexOf("-----BEGIN")!=-1&&(p=Xt(d.cert)),E=m.crypto.Util.hashHex(p,d.alg)}var h=[];h.push(new u({name:d.alg})),h.push(new a({hex:E}));var A=new i({array:h});return A.tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.cades.OtherHashAlgAndValue,m.asn1.ASN1Object);m.asn1.cades.OtherHashValue=function(e){m.asn1.cades.OtherHashValue.superclass.constructor.call(this);var t=Error,r=m,n=r.lang.String.isHex,i=r.asn1,a=i.DEROctetString,s=r.crypto.Util.hashHex;this.params=null,this.tohex=function(){var u=this.params;if(u.hash==null&&u.cert==null)throw new t("hash or cert not specified");var l=null;if(u.hash!=null)l=u.hash;else if(u.cert!=null){if(typeof u.cert!="string")throw new t("cert not string");var f=u.cert;u.cert.indexOf("-----BEGIN")!=-1&&(f=Xt(u.cert)),l=m.crypto.Util.hashHex(f,"sha1")}return new a({hex:l}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!=null&&this.setByParam(e)};he(m.asn1.cades.OtherHashValue,m.asn1.ASN1Object);m.asn1.cades.SignatureTimeStamp=function(e){var t=Error,r=m,n=r.lang.String.isHex,i=r.asn1,a=i.ASN1Object,s=i.x509,u=i.cades;u.SignatureTimeStamp.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.14",this.params=null,this.getValueArray=function(){var l=this.params;if(l.tst!=null)if(n(l.tst)){var f=new a;return f.hTLV=l.tst,[f]}else{if(l.tst instanceof a)return[l.tst];throw new t("params.tst has wrong value")}else if(l.res!=null){var d=l.res;if(d instanceof a&&(d=d.tohex()),typeof d!="string"||!n(d))throw new t("params.res has wrong value");var E=Ae.getTLVbyList(d,0,[1]),f=new a;return f.hTLV=l.tst,[f]}},e!=null&&this.setByParam(e)};he(m.asn1.cades.SignatureTimeStamp,m.asn1.cms.Attribute);m.asn1.cades.CompleteCertificateRefs=function(e){var t=Error,r=m,n=r.asn1,i=n.DERSequence,a=n.cades,s=a.OtherCertID,u=r.lang.String.isHex;a.CompleteCertificateRefs.superclass.constructor.call(this),this.typeOid="1.2.840.113549.1.9.16.2.21",this.params=null,this.getValueArray=function(){for(var l=this.params,f=[],d=0;d"u"||!m.asn1.csr)&&(m.asn1.csr={});m.asn1.csr.CertificationRequest=function(e){var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.csr,s=r.x509,u=a.CertificationRequestInfo;a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(l){this.params=l},this.sign=function(){var l=new u(this.params).tohex(),f=new m.crypto.Signature({alg:this.params.sigalg});f.init(this.params.sbjprvkey),f.updateHex(l);var d=f.sign();this.params.sighex=d},this.getPEM=function(){return Zr(this.tohex(),"CERTIFICATE REQUEST")},this.tohex=function(){var l=this.params,f=new m.asn1.csr.CertificationRequestInfo(this.params),d=new m.asn1.x509.AlgorithmIdentifier({name:l.sigalg});if(l.sighex==null&&l.sbjprvkey!=null&&this.sign(),l.sighex==null)throw new Error("sighex or sbjprvkey parameter not defined");var E=new n({hex:"00"+l.sighex}),p=new i({array:[f,d,E]});return p.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.csr.CertificationRequest,m.asn1.ASN1Object);m.asn1.csr.CertificationRequestInfo=function(e){var t=m,r=t.asn1,n=r.DERBitString,i=r.DERSequence,a=r.DERInteger,s=r.DERUTF8String,u=r.DERTaggedObject,l=r.ASN1Util.newObject,f=r.csr,d=r.x509,E=d.X500Name,p=d.Extensions,h=d.SubjectPublicKeyInfo,A=f.AttributeList;f.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(S){S!=null&&(this.params=S)},this.tohex=function(){var S=this.params,w=[];if(w.push(new a({int:0})),w.push(new E(S.subject)),w.push(new h(ct.getKey(S.sbjpubkey))),S.attrs!=null){var y=g(S.attrs),_=l({tag:{tage:"a0",obj:y}});w.push(_)}else if(S.extreq!=null){var B=new p(S.extreq),_=l({tag:{tage:"a0",obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[B]}]}}});w.push(_)}else w.push(new u({tag:"a0",explicit:!1,obj:new s({str:""})}));var D=new i({array:w});return D.tohex()},this.getEncodedHex=function(){return this.tohex()};function g(S){for(var w=Error,y=m.asn1.x509.Extensions,_=[],B=0;B"u"||!m)&&(m={});(typeof m.asn1>"u"||!m.asn1)&&(m.asn1={});(typeof m.asn1.ocsp>"u"||!m.asn1.ocsp)&&(m.asn1.ocsp={});m.asn1.ocsp.DEFAULT_HASH="sha1";m.asn1.ocsp.OCSPResponse=function(e){m.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);var t=m.asn1.DEREnumerated,r=m.asn1.ASN1Util.newObject,n=m.asn1.ocsp.ResponseBytes,i=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var a=this.params.resstatus;return typeof a=="number"?a:typeof a!="string"?-1:i.indexOf(a)},this.setByParam=function(a){this.params=a},this.tohex=function(){var a=this.params,s=this._getStatusCode();if(s==-1)throw new Error("responseStatus not supported: "+a.resstatus);if(s!=0)return r({seq:[{enum:{int:s}}]}).tohex();var u=new n(a);return r({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:u}}]}).tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.ocsp.OCSPResponse,m.asn1.ASN1Object);m.asn1.ocsp.ResponseBytes=function(e){m.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=m.asn1,r=t.DERSequence,n=t.DERObjectIdentifier,i=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(s){this.params=s},this.tohex=function(){var s=this.params;if(s.restype!="ocspBasic")throw new Error("not supported responseType: "+s.restype);var u=new a(s),l=[];l.push(new n({name:"ocspBasic"})),l.push(new i({hex:u.tohex()}));var f=new r({array:l});return f.tohex()},this.getEncodedHex=function(){return this.tohex()},e!==void 0&&this.setByParam(e)};he(m.asn1.ocsp.ResponseBytes,m.asn1.ASN1Object);m.asn1.ocsp.BasicOCSPResponse=function(e){m.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,r=m.asn1,n=r.ASN1Object,i=r.DERSequence,a=r.DERGeneralizedTime,s=r.DERTaggedObject,u=r.DERBitString,l=r.x509.Extensions,f=r.x509.AlgorithmIdentifier,d=r.ocsp,E=d.ResponderID;_SingleResponseList=d.SingleResponseList,_ResponseData=d.ResponseData,this.params=null,this.setByParam=function(p){this.params=p},this.sign=function(){var p=this.params,h=p.tbsresp.tohex(),A=new m.crypto.Signature({alg:p.sigalg});A.init(p.reskey),A.updateHex(h),p.sighex=A.sign()},this.tohex=function(){var p=this.params;p.tbsresp==null&&(p.tbsresp=new _ResponseData(p)),p.sighex==null&&p.reskey!=null&&this.sign();var h=[];if(h.push(p.tbsresp),h.push(new f({name:p.sigalg})),h.push(new u({hex:"00"+p.sighex})),p.certs!=null&&p.certs.length!=null){for(var A=[],g=0;g"u"||!m)&&(m={});(typeof m.lang>"u"||!m.lang)&&(m.lang={});m.lang.String=function(){};function vE(e){for(var t=new Array,r=0;r>6,l=128|s&63;return Rt(u.toString(16)+l.toString(16))}var u=224|(a&240)>>4,l=128|(a&15)<<2|(s&192)>>6,f=128|s&63;return Rt(u.toString(16)+l.toString(16)+f.toString(16))}var r=e.match(/.{4}/g),n=r.map(t);return n.join("")}function th(e){for(var t=encodeURIComponent(e),r="",n=0;n"7"?"00"+e:e}function sD(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map(function(r,n,i){var a=parseInt(r);if(a<0||255t.length&&(r=t.length);for(var n=0;n0&&(f=f+"."+u.join(".")),f}catch{return null}}function CE(e){var t=new ee(String(e),10);return Zc(t)}function Zc(e){var t=e.toString(16);if(t.substr(0,1)!="-")return t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t),t;var r=t.substr(1),n=r.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var i="",a=0;a=t?e:new Array(t-e.length+1).join(r)+e};function _E(e){if(e.length%2!=0||(e=e.toLowerCase(),e.match(/^[0-9a-f]+$/)==null))return-1;try{var t=e.substr(0,2);if(t=="00")return parseInt(e.substr(2),16);var r=parseInt(t,16);if(r>7)return-1;var n=e.substr(2),i=parseInt(n,16).toString(2);i=="0"&&(i="00000000"),i=i.slice(0,0-r);var a=parseInt(i,2);return a==NaN?-1:a}catch{return-1}}function FE(e){if(typeof e!="number"||e<0)return null;var t=Number(e).toString(2),r=8-t.length%8;r==8&&(r=0),t=t+Gf("",r,"0");var n=parseInt(t,2).toString(16);n.length%2==1&&(n="0"+n);var i="0"+r;return i+n}function IE(e){if(typeof e!="string"||e.length%2!=0||!e.match(/^[0-9a-f]+$/))return null;try{var t=parseInt(e.substr(0,2),16);if(t<0||7=0;n--)a+=i[n];return a}function xt(e,n,r){if(typeof e=="object"){for(var n=String(n).split("."),i=0;i"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:Ce.algo.MD5,sha1:Ce.algo.SHA1,sha224:Ce.algo.SHA224,sha256:Ce.algo.SHA256,sha384:Ce.algo.SHA384,sha512:Ce.algo.SHA512,ripemd160:Ce.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if(typeof this.DIGESTINFOHEAD[t]>"u")throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,r){var n=this.getDigestInfoHex(e,t),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+t;for(var a="0001",s="00"+n,u="",l=i-a.length-s.length,f=0;f"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.ECDSA=function(e){var t="secp256r1",r=null,n=null,i=null,a=Error,s=ee,u=St,l=m.crypto.ECDSA,f=m.crypto.ECParameterDB,d=l.getName,E=Ae,p=E.getVbyListEx,h=E.isASN1HEX,A=new Bu,g=null;this.type="EC",this.isPrivate=!1,this.isPublic=!1;function S(w,y,_,B){for(var D=Math.max(y.bitLength(),B.bitLength()),M=w.add2D(_),q=w.curve.getInfinity(),F=D-1;F>=0;--F)q=q.twice2D(),q.z=s.ONE,y.testBit(F)?B.testBit(F)?q=q.add2D(M):q=q.add2D(w):B.testBit(F)&&(q=q.add2D(_));return q}this.getBigRandom=function(w){return new s(w.bitLength(),A).mod(w.subtract(s.ONE)).add(s.ONE)},this.setNamedCurve=function(w){this.ecparams=f.getByName(w),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=w},this.setPrivateKeyHex=function(w){this.isPrivate=!0,this.prvKeyHex=w},this.setPublicKeyHex=function(w){this.isPublic=!0,this.pubKeyHex=w},this.getPublicKeyXYHex=function(){var w=this.pubKeyHex;if(w.substr(0,2)!=="04")throw"this method supports uncompressed format(04) only";var y=this.ecparams.keycharlen;if(w.length!==2+y*2)throw"malformed public key hex length";var _={};return _.x=w.substr(2,y),_.y=w.substr(2+y),_},this.getShortNISTPCurveName=function(){var w=this.curveName;return w==="secp256r1"||w==="NIST P-256"||w==="P-256"||w==="prime256v1"?"P-256":w==="secp384r1"||w==="NIST P-384"||w==="P-384"?"P-384":w==="secp521r1"||w==="NIST P-521"||w==="P-521"?"P-521":null},this.generateKeyPairHex=function(){var w=this.ecparams.n,y=this.getBigRandom(w),_=this.ecparams.keycharlen,B=("0000000000"+y.toString(16)).slice(-_);this.setPrivateKeyHex(B);var D=this.generatePublicKeyHex();return{ecprvhex:B,ecpubhex:D}},this.generatePublicKeyHex=function(){var w=new s(this.prvKeyHex,16),y=this.ecparams.G.multiply(w),_=y.getX().toBigInteger(),B=y.getY().toBigInteger(),D=this.ecparams.keycharlen,M=("0000000000"+_.toString(16)).slice(-D),q=("0000000000"+B.toString(16)).slice(-D),F="04"+M+q;return this.setPublicKeyHex(F),F},this.signWithMessageHash=function(w){return this.signHex(w,this.prvKeyHex)},this.signHex=function(w,y){var _=new s(y,16),B=this.ecparams.n,D=new s(w.substring(0,this.ecparams.keycharlen),16);do var M=this.getBigRandom(B),q=this.ecparams.G,F=q.multiply(M),P=F.getX().toBigInteger().mod(B);while(P.compareTo(s.ZERO)<=0);var L=M.modInverse(B).multiply(D.add(_.multiply(P))).mod(B);return l.biRSSigToASN1Sig(P,L)},this.sign=function(w,y){var _=y,B=this.ecparams.n,D=s.fromByteArrayUnsigned(w);do var M=this.getBigRandom(B),q=this.ecparams.G,F=q.multiply(M),P=F.getX().toBigInteger().mod(B);while(P.compareTo(ee.ZERO)<=0);var L=M.modInverse(B).multiply(D.add(_.multiply(P))).mod(B);return this.serializeSig(P,L)},this.verifyWithMessageHash=function(w,y){return this.verifyHex(w,y,this.pubKeyHex)},this.verifyHex=function(w,y,_){try{var B,D,M=l.parseSigHex(y);B=M.r,D=M.s;var q=u.decodeFromHex(this.ecparams.curve,_),F=new s(w.substring(0,this.ecparams.keycharlen),16);return this.verifyRaw(F,B,D,q)}catch{return!1}},this.verify=function(w,y,_){var B,D;if(Bitcoin.Util.isArray(y)){var M=this.parseSig(y);B=M.r,D=M.s}else if(typeof y=="object"&&y.r&&y.s)B=y.r,D=y.s;else throw"Invalid value for signature";var q;if(_ instanceof St)q=_;else if(Bitcoin.Util.isArray(_))q=u.decodeFrom(this.ecparams.curve,_);else throw"Invalid format for pubkey value, must be byte array or ECPointFp";var F=s.fromByteArrayUnsigned(w);return this.verifyRaw(F,B,D,q)},this.verifyRaw=function(w,y,_,B){var D=this.ecparams.n,M=this.ecparams.G;if(y.compareTo(s.ONE)<0||y.compareTo(D)>=0||_.compareTo(s.ONE)<0||_.compareTo(D)>=0)return!1;var q=_.modInverse(D),F=w.multiply(q).mod(D),P=y.multiply(q).mod(D),L=M.multiply(F).add(B.multiply(P)),j=L.getX().toBigInteger().mod(D);return j.equals(y)},this.serializeSig=function(w,y){var _=w.toByteArraySigned(),B=y.toByteArraySigned(),D=[];return D.push(2),D.push(_.length),D=D.concat(_),D.push(2),D.push(B.length),D=D.concat(B),D.unshift(D.length),D.unshift(48),D},this.parseSig=function(w){var y;if(w[0]!=48)throw new Error("Signature not a valid DERSequence");if(y=2,w[y]!=2)throw new Error("First element in signature must be a DERInteger");var _=w.slice(y+2,y+2+w[y+1]);if(y+=2+w[y+1],w[y]!=2)throw new Error("Second element in signature must be a DERInteger");var B=w.slice(y+2,y+2+w[y+1]);y+=2+w[y+1];var D=s.fromByteArrayUnsigned(_),M=s.fromByteArrayUnsigned(B);return{r:D,s:M}},this.parseSigCompact=function(w){if(w.length!==65)throw"Signature has the wrong length";var y=w[0]-27;if(y<0||y>7)throw"Invalid signature type";var _=this.ecparams.n,B=s.fromByteArrayUnsigned(w.slice(1,33)).mod(_),D=s.fromByteArrayUnsigned(w.slice(33,65)).mod(_);return{r:B,s:D,i:y}},this.readPKCS5PrvKeyHex=function(w){if(h(w)===!1)throw new Error("not ASN.1 hex string");var y,_,B;try{y=p(w,0,["[0]",0],"06"),_=p(w,0,[1],"04");try{B=p(w,0,["[1]",0],"03")}catch{}}catch{throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=d(y),this.curveName===void 0)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(B),this.setPrivateKeyHex(_),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(w){if(h(w)===!1)throw new a("not ASN.1 hex string");var y,_,B,D;try{y=p(w,0,[1,0],"06"),_=p(w,0,[1,1],"06"),B=p(w,0,[2,0,1],"04");try{D=p(w,0,[2,0,"[1]",0],"03")}catch{}}catch{throw new a("malformed PKCS#8 plain ECC private key")}if(this.curveName=d(_),this.curveName===void 0)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(D),this.setPrivateKeyHex(B),this.isPublic=!1},this.readPKCS8PubKeyHex=function(w){if(h(w)===!1)throw new a("not ASN.1 hex string");var y,_,B;try{y=p(w,0,[0,0],"06"),_=p(w,0,[0,1],"06"),B=p(w,0,[1],"03")}catch{throw new a("malformed PKCS#8 ECC public key")}if(this.curveName=d(_),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(B)},this.readCertPubKeyHex=function(w,y){if(h(w)===!1)throw new a("not ASN.1 hex string");var _,B;try{_=p(w,0,[0,5,0,1],"06"),B=p(w,0,[0,5,1],"03")}catch{throw new a("malformed X.509 certificate ECC public key")}if(this.curveName=d(_),this.curveName===null)throw new a("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(B)},e!==void 0&&e.curve!==void 0&&(this.curveName=e.curve),this.curveName===void 0&&(this.curveName=t),this.setNamedCurve(this.curveName),e!==void 0&&(e.prv!==void 0&&this.setPrivateKeyHex(e.prv),e.pub!==void 0&&this.setPublicKeyHex(e.pub))};m.crypto.ECDSA.parseSigHex=function(e){var t=m.crypto.ECDSA.parseSigHexInHexRS(e),r=new ee(t.r,16),n=new ee(t.s,16);return{r,s:n}};m.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ae,r=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),e.substr(0,2)!="30")throw new Error("signature is not a ASN.1 sequence");var i=r(e,0);if(i.length!=2)throw new Error("signature shall have two elements");var a=i[0],s=i[1];if(e.substr(a,2)!="02")throw new Error("1st item not ASN.1 integer");if(e.substr(s,2)!="02")throw new Error("2nd item not ASN.1 integer");var u=n(e,a),l=n(e,s);return{r:u,s:l}};m.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=m.crypto.ECDSA.parseSigHexInHexRS(e),r=t.r,n=t.s;if(r.length>=130&&r.length<=134){if(r.length%2!=0)throw Error("unknown ECDSA sig r length error");if(n.length%2!=0)throw Error("unknown ECDSA sig s length error");r.substr(0,2)=="00"&&(r=r.substr(2)),n.substr(0,2)=="00"&&(n=n.substr(2));var i=Math.max(r.length,n.length);return r=("000000"+r).slice(-i),n=("000000"+n).slice(-i),r+n}if(r.substr(0,2)=="00"&&r.length%32==2&&(r=r.substr(2)),n.substr(0,2)=="00"&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw Error("unknown ECDSA sig r length error");if(n.length%32!=0)throw Error("unknown ECDSA sig s length error");return r+n};m.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length%4!=0)throw Error("unknown ECDSA concatinated r-s sig length error");var t=e.substr(0,e.length/2),r=e.substr(e.length/2);return m.crypto.ECDSA.hexRSSigToASN1Sig(t,r)};m.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var r=new ee(e,16),n=new ee(t,16);return m.crypto.ECDSA.biRSSigToASN1Sig(r,n)};m.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var r=m.asn1,n=new r.DERInteger({bigint:e}),i=new r.DERInteger({bigint:t}),a=new r.DERSequence({array:[n,i]});return a.tohex()};m.crypto.ECDSA.getName=function(e){return e==="2b8104001f"?"secp192k1":e==="2a8648ce3d030107"?"secp256r1":e==="2b8104000a"?"secp256k1":e==="2b81040021"?"secp224r1":e==="2b81040022"?"secp384r1":e==="2b81040023"?"secp521r1":"|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)!==-1?"secp256r1":"|secp256k1|".indexOf(e)!==-1?"secp256k1":"|secp224r1|NIST P-224|P-224|".indexOf(e)!==-1?"secp224r1":"|secp384r1|NIST P-384|P-384|".indexOf(e)!==-1?"secp384r1":"|secp521r1|NIST P-521|P-521|".indexOf(e)!==-1?"secp521r1":null};(typeof m>"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.ECParameterDB=new function(){var e={},t={};function r(n){return new ee(n,16)}this.getByName=function(n){var i=n;if(typeof t[i]<"u"&&(i=t[n]),typeof e[i]<"u")return e[i];throw"unregistered EC curve name: "+i},this.regist=function(n,i,a,s,u,l,f,d,E,p,h,A){e[n]={};var g=r(a),S=r(s),w=r(u),y=r(l),_=r(f),B=new Ds(g,S,w),D=B.decodePointHex("04"+d+E);e[n].name=n,e[n].keylen=i,e[n].keycharlen=Math.ceil(i/8)*2,e[n].curve=B,e[n].G=D,e[n].n=y,e[n].h=_,e[n].oid=h,e[n].info=A;for(var M=0;M"u"||!m)&&(m={});(typeof m.crypto>"u"||!m.crypto)&&(m.crypto={});m.crypto.DSA=function(){var e=Ae,t=e.getVbyList,r=e.getVbyListEx,n=e.isASN1HEX,i=ee;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(a,s,u,l,f){this.isPrivate=!0,this.p=a,this.q=s,this.g=u,this.y=l,this.x=f},this.setPrivateHex=function(a,s,u,l,f){var d,E,p,h,A;d=new ee(a,16),E=new ee(s,16),p=new ee(u,16),typeof l=="string"&&l.length>1?h=new ee(l,16):h=null,A=new ee(f,16),this.setPrivate(d,E,p,h,A)},this.setPublic=function(a,s,u,l){this.isPublic=!0,this.p=a,this.q=s,this.g=u,this.y=l,this.x=null},this.setPublicHex=function(a,s,u,l){var f,d,E,p;f=new ee(a,16),d=new ee(s,16),E=new ee(u,16),p=new ee(l,16),this.setPublic(f,d,E,p)},this.signWithMessageHash=function(a){var s=this.p,u=this.q,l=this.g,f=this.y,d=this.x,E=m.crypto.Util.getRandomBigIntegerMinToMax(ee.ONE.add(ee.ONE),u.subtract(ee.ONE)),p=a.substr(0,u.bitLength()/4),h=new ee(p,16),A=l.modPow(E,s).mod(u),g=E.modInverse(u).multiply(h.add(d.multiply(A))).mod(u),S=m.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:A}},{int:{bigint:g}}]});return S},this.verifyWithMessageHash=function(a,s){var u=this.p,l=this.q,f=this.g,d=this.y,E=this.parseASN1Signature(s),p=E[0],h=E[1],A=a.substr(0,l.bitLength()/4),g=new ee(A,16);if(ee.ZERO.compareTo(p)>0||p.compareTo(l)>0||ee.ZERO.compareTo(h)>=0||h.compareTo(l)>0)throw"invalid DSA signature";var S=h.modInverse(l),w=g.multiply(S).mod(l),y=p.multiply(S).mod(l),_=f.modPow(w,u).multiply(d.modPow(y,u)).mod(u).mod(l);return _.compareTo(p)==0},this.parseASN1Signature=function(a){try{var s=new i(r(a,0,[0],"02"),16),u=new i(r(a,0,[1],"02"),16);return[s,u]}catch{throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(a){var s,u,l,f,d;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1],"02"),u=r(a,0,[2],"02"),l=r(a,0,[3],"02"),f=r(a,0,[4],"02"),d=r(a,0,[5],"02")}catch{throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(s,u,l,f,d)},this.readPKCS8PrvKeyHex=function(a){var s,u,l,f;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[1,1,0],"02"),u=r(a,0,[1,1,1],"02"),l=r(a,0,[1,1,2],"02"),f=r(a,0,[2,0],"02")}catch{throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(s,u,l,null,f)},this.readPKCS8PubKeyHex=function(a){var s,u,l,f;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{s=r(a,0,[0,1,0],"02"),u=r(a,0,[0,1,1],"02"),l=r(a,0,[0,1,2],"02"),f=r(a,0,[1,0],"02")}catch{throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(s,u,l,f)},this.readCertPubKeyHex=function(a,s){var u,l,f,d;if(n(a)===!1)throw new Error("not ASN.1 hex string");try{u=r(a,0,[0,5,0,1,0],"02"),l=r(a,0,[0,5,0,1,1],"02"),f=r(a,0,[0,5,0,1,2],"02"),d=r(a,0,[0,5,1,0],"02")}catch{throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(u,l,f,d)}};var ct=function(){var e=function(g,S,w){return n(Ce.AES,g,S,w)},t=function(g,S,w){return n(Ce.TripleDES,g,S,w)},r=function(g,S,w){return n(Ce.DES,g,S,w)},n=function(g,S,w,y){var _=Ce.enc.Hex.parse(S),B=Ce.enc.Hex.parse(w),D=Ce.enc.Hex.parse(y),M={};M.key=B,M.iv=D,M.ciphertext=_;var q=g.decrypt(M,B,{iv:D});return Ce.enc.Hex.stringify(q)},i=function(g,S,w){return u(Ce.AES,g,S,w)},a=function(g,S,w){return u(Ce.TripleDES,g,S,w)},s=function(g,S,w){return u(Ce.DES,g,S,w)},u=function(g,S,w,y){var _=Ce.enc.Hex.parse(S),B=Ce.enc.Hex.parse(w),D=Ce.enc.Hex.parse(y),M=g.encrypt(_,B,{iv:D}),q=Ce.enc.Hex.parse(M.toString()),F=Ce.enc.Base64.stringify(q);return F},l={"AES-256-CBC":{proc:e,eproc:i,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:i,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:i,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:a,keylen:24,ivlen:8},"DES-CBC":{proc:r,eproc:s,keylen:8,ivlen:8}},f=function(g){return l[g].proc},d=function(g){var S=Ce.lib.WordArray.random(g),w=Ce.enc.Hex.stringify(S);return w},E=function(g){var S={},w=g.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));w&&(S.cipher=w[1],S.ivsalt=w[2]);var y=g.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));y&&(S.type=y[1]);var _=-1,B=0;g.indexOf(`\r +\r +`)!=-1&&(_=g.indexOf(`\r +\r +`),B=2),g.indexOf(` + +`)!=-1&&(_=g.indexOf(` + +`),B=1);var D=g.indexOf("-----END");if(_!=-1&&D!=-1){var M=g.substring(_+B*2,D-B);M=M.replace(/\s+/g,""),S.data=M}return S},p=function(g,S,w){for(var y=w.substring(0,16),_=Ce.enc.Hex.parse(y),B=Ce.enc.Utf8.parse(S),D=l[g].keylen+l[g].ivlen,M="",q=null;;){var F=Ce.algo.MD5.create();if(q!=null&&F.update(q),F.update(B),F.update(_),q=F.finalize(),M=M+Ce.enc.Hex.stringify(q),M.length>=D*2)break}var P={};return P.keyhex=M.substr(0,l[g].keylen*2),P.ivhex=M.substr(l[g].keylen*2,l[g].ivlen*2),P},h=function(g,S,w,y){var _=Ce.enc.Base64.parse(g),B=Ce.enc.Hex.stringify(_),D=l[S].proc,M=D(B,w,y);return M},A=function(g,S,w,y){var _=l[S].eproc,B=_(g,w,y);return B};return{version:"1.0.0",parsePKCS5PEM:function(g){return E(g)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(g,S,w){return p(g,S,w)},decryptKeyB64:function(g,S,w,y){return h(g,S,w,y)},getDecryptedKeyHex:function(g,S){var w=E(g),y=w.type,_=w.cipher,B=w.ivsalt,D=w.data,M=p(_,S,B),q=M.keyhex,F=h(D,_,q,B);return F},getEncryptedPKCS5PEMFromPrvKeyHex:function(g,S,w,y,_){var L="";if((typeof y>"u"||y==null)&&(y="AES-256-CBC"),typeof l[y]>"u")throw new Error("KEYUTIL unsupported algorithm: "+y);if(typeof _>"u"||_==null){var B=l[y].ivlen,D=d(B);_=D.toUpperCase()}var M=p(y,w,_),q=M.keyhex,F=A(S,y,q,_),P=F.replace(/(.{64})/g,`$1\r +`),L="-----BEGIN "+g+` PRIVATE KEY-----\r +`;return L+=`Proc-Type: 4,ENCRYPTED\r +`,L+="DEK-Info: "+y+","+_+`\r +`,L+=`\r +`,L+=P,L+=`\r +-----END `+g+` PRIVATE KEY-----\r +`,L},getEncryptedPKCS8PEM:function(g,S,w){var y=this.getEncryptedPKCS8Hex(g,S,w);return Zr(y,"ENCRYPTED PRIVATE KEY")},getEncryptedPKCS8Hex:function(g,S,w){var y;w==null||w==null?y={}:y=JSON.parse(JSON.stringify(w)),y.plain=g,this.initPBES2Param(y),this.encryptPBES2Param(y,S);var _=this.generatePBES2ASN1Param(y);return m.asn1.ASN1Util.newObject(_).tohex()},initPBES2Param:function(g){if(xt(g,"encalg")==null&&(g.encalg="aes256-CBC"),xt(g,"iter")==null&&(g.iter=2048),xt(g,"prf")==null&&(g.prf="hmacWithSHA256"),xt(g,"salt")==null&&(g.salt=Ce.enc.Hex.stringify(Ce.lib.WordArray.random(8))),xt(g,"enciv")==null){var S;g.encalg=="des-EDE3-CBC"&&(S=8),g.encalg=="aes128-CBC"&&(S=16),g.encalg=="aes256-CBC"&&(S=16),g.enciv=Ce.enc.Hex.stringify(Ce.lib.WordArray.random(S))}},encryptPBES2Param:function(g,S){var w=ct.getDKFromPBES2Param(g,S);try{var y=m.crypto.Cipher.encrypt(g.plain,w,g.encalg,{iv:g.enciv})}catch{throw new Error("encrypt error: "+g.plain+" "+w+" "+g.encalg+" "+g.enciv)}g.enc=y},generatePBES2ASN1Param:function(g){var S={seq:[{seq:[{oid:"pkcs5PBES2"},{seq:[{seq:[{oid:"pkcs5PBKDF2"},{seq:[{octstr:{hex:g.salt}},{int:{hex:CE(g.iter)}}]}]},{seq:[{oid:g.encalg},{octstr:{hex:g.enciv}}]}]}]},{octstr:{hex:g.enc}}]};return g.prf!="hmacWithSHA1"&&S.seq[0].seq[1].seq[0].seq[1].seq.push({seq:[{oid:g.prf},{null:""}]}),S},parseHexOfEncryptedPKCS8:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,_={},B=w(g,0);if(B.length!=2)throw new Error("malformed format: SEQUENCE(0).items != 2: "+B.length);_.ciphertext=y(g,B[1]);var D=w(g,B[0]);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0.0).items != 2: "+D.length);if(y(g,D[0])!="2a864886f70d01050d")throw new Error("this only supports pkcs5PBES2");var M=w(g,D[1]);if(D.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1).items != 2: "+M.length);var q=w(g,M[1]);if(q.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.1).items != 2: "+q.length);if(y(g,q[0])!="2a864886f70d0307")throw"this only supports TripleDES";_.encryptionSchemeAlg="TripleDES",_.encryptionSchemeIV=y(g,q[1]);var F=w(g,M[0]);if(F.length!=2)throw new Error("malformed format: SEQUENCE(0.0.1.0).items != 2: "+F.length);if(y(g,F[0])!="2a864886f70d01050c")throw new Error("this only supports pkcs5PBKDF2");var P=w(g,F[1]);if(P.length<2)throw new Error("malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+P.length);_.pbkdf2Salt=y(g,P[0]);var L=y(g,P[1]);try{_.pbkdf2Iter=parseInt(L,16)}catch{throw new Error("malformed format pbkdf2Iter: "+L)}return _},getPBKDF2KeyHexFromParam:function(g,S){var w=Ce.enc.Hex.parse(g.pbkdf2Salt),y=g.pbkdf2Iter,_=Ce.PBKDF2(S,w,{keySize:192/32,iterations:y}),B=Ce.enc.Hex.stringify(_);return B},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(g,S){var w=Xt(g,"ENCRYPTED PRIVATE KEY"),y=this.parseHexOfEncryptedPKCS8(w),_=ct.getPBKDF2KeyHexFromParam(y,S),B={};B.ciphertext=Ce.enc.Hex.parse(y.ciphertext);var D=Ce.enc.Hex.parse(_),M=Ce.enc.Hex.parse(y.encryptionSchemeIV),q=Ce.TripleDES.decrypt(B,D,{iv:M}),F=Ce.enc.Hex.stringify(q);return F},parsePBES2:function(g){var S=Ae.parse(g);if(xt(S,"seq.0.seq.0.oid")!="pkcs5PBES2"||xt(S,"seq.0.seq.1.seq.0.seq.0.oid")!="pkcs5PBKDF2")throw new Error("not pkcs5PBES2 and pkcs5PBKDF2 used");var w=xt(S,"seq.0.seq.1.seq.0.seq.1.seq");if(w==null)throw new Error("PBKDF2 parameter not found");var y=xt(w,"0.octstr.hex"),_=xt(w,"1.int.hex"),B=xt(w,"2.seq.0.oid","hmacWithSHA1"),D=-1;try{D=parseInt(_,16)}catch{throw new Error("iter not proper value")}var M=xt(S,"seq.0.seq.1.seq.1.seq.0.oid"),q=xt(S,"seq.0.seq.1.seq.1.seq.1.octstr.hex"),F=xt(S,"seq.1.octstr.hex");if(M==null||q==null||F==null)throw new Error("encalg, enciv or enc is undefined");var P={salt:y,iter:D,prf:B,encalg:M,enciv:q,enc:F};return P},getDKFromPBES2Param:function(g,S){var w={hmacWithSHA1:Ce.algo.SHA1,hmacWithSHA224:Ce.algo.SHA224,hmacWithSHA256:Ce.algo.SHA256,hmacWithSHA384:Ce.algo.SHA384,hmacWithSHA512:Ce.algo.SHA512},y={"des-EDE3-CBC":192/32,"aes128-CBC":128/32,"aes256-CBC":256/32},_=w[g.prf];if(_==null)throw new Error("unsupported prf");var B=y[g.encalg];if(B==null)throw new Error("unsupported encalg");var D=Ce.enc.Hex.parse(g.salt),M=g.iter;try{var q=Ce.PBKDF2(S,D,{keySize:B,iterations:M,hasher:_});return Ce.enc.Hex.stringify(q)}catch(F){throw new Error("PBKDF2 error: "+F+" "+JSON.stringify(g)+" "+S)}},getPlainHexFromEncryptedPKCS8PEM:function(g,S){if(g.indexOf("BEGIN ENCRYPTED PRIVATE KEY")==-1)throw new Error("not Encrypted PKCS#8 PEM string");var w=Xt(g),y;try{y=ct.parsePBES2(w)}catch(B){throw new Error("malformed PBES2 format: "+B.message)}var _=ct.getDKFromPBES2Param(y,S);return m.crypto.Cipher.decrypt(y.enc,_,y.encalg,{iv:y.enciv})},getKeyFromEncryptedPKCS8PEM:function(g,S){var w=this.getPlainHexFromEncryptedPKCS8PEM(g,S),y=this.getKeyFromPlainPrivatePKCS8Hex(w);return y},parsePlainPrivatePKCS8Hex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,_={};if(_.algparam=null,g.substr(0,2)!="30")throw new Error("malformed plain PKCS8 private key(code:001)");var B=w(g,0);if(B.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if(g.substr(B[1],2)!="30")throw new Error("malformed PKCS8 private key(code:003)");var D=w(g,B[1]);if(D.length!=2)throw new Error("malformed PKCS8 private key(code:004)");if(g.substr(D[0],2)!="06")throw new Error("malformed PKCS8 private key(code:005)");if(_.algoid=y(g,D[0]),g.substr(D[1],2)=="06"&&(_.algparam=y(g,D[1])),g.substr(B[2],2)!="04")throw new Error("malformed PKCS8 private key(code:006)");return _.keyidx=S.getVidx(g,B[2]),_},getKeyFromPlainPrivatePKCS8PEM:function(g){var S=Xt(g,"PRIVATE KEY"),w=this.getKeyFromPlainPrivatePKCS8Hex(S);return w},getKeyFromPlainPrivatePKCS8Hex:function(g){var S=this.parsePlainPrivatePKCS8Hex(g),w;if(S.algoid=="2a864886f70d010101")w=new We;else if(S.algoid=="2a8648ce380401")w=new m.crypto.DSA;else if(S.algoid=="2a8648ce3d0201")w=new m.crypto.ECDSA;else throw new Error("unsupported private key algorithm");return w.readPKCS8PrvKeyHex(g),w},_getKeyFromPublicPKCS8Hex:function(g){var S,w=Ae.getVbyList(g,0,[0,0],"06");if(w==="2a864886f70d010101")S=new We;else if(w==="2a8648ce380401")S=new m.crypto.DSA;else if(w==="2a8648ce3d0201")S=new m.crypto.ECDSA;else throw new Error("unsupported PKCS#8 public key hex");return S.readPKCS8PubKeyHex(g),S},parsePublicRawRSAKeyHex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,_={};if(g.substr(0,2)!="30")throw new Error("malformed RSA key(code:001)");var B=w(g,0);if(B.length!=2)throw new Error("malformed RSA key(code:002)");if(g.substr(B[0],2)!="02")throw new Error("malformed RSA key(code:003)");if(_.n=y(g,B[0]),g.substr(B[1],2)!="02")throw new Error("malformed RSA key(code:004)");return _.e=y(g,B[1]),_},parsePublicPKCS8Hex:function(g){var S=Ae,w=S.getChildIdx,y=S.getV,_={};_.algparam=null;var B=w(g,0);if(B.length!=2)throw new Error("outer DERSequence shall have 2 elements: "+B.length);var D=B[0];if(g.substr(D,2)!="30")throw new Error("malformed PKCS8 public key(code:001)");var M=w(g,D);if(M.length!=2)throw new Error("malformed PKCS8 public key(code:002)");if(g.substr(M[0],2)!="06")throw new Error("malformed PKCS8 public key(code:003)");if(_.algoid=y(g,M[0]),g.substr(M[1],2)=="06"?_.algparam=y(g,M[1]):g.substr(M[1],2)=="30"&&(_.algparam={},_.algparam.p=S.getVbyList(g,M[1],[0],"02"),_.algparam.q=S.getVbyList(g,M[1],[1],"02"),_.algparam.g=S.getVbyList(g,M[1],[2],"02")),g.substr(B[1],2)!="03")throw new Error("malformed PKCS8 public key(code:004)");return _.key=y(g,B[1]).substr(2),_}}}();ct.getKey=function(e,t,r){var n=Ae,i=n.getChildIdx,a=n.getV,s=n.getVbyList,u=m.crypto,l=u.ECDSA,f=u.DSA,d=We,E=Xt,p=ct;if(typeof d<"u"&&e instanceof d||typeof l<"u"&&e instanceof l||typeof f<"u"&&e instanceof f)return e;if(e.curve!==void 0&&e.xy!==void 0&&e.d===void 0)return new l({pub:e.xy,curve:e.curve});if(e.curve!==void 0&&e.d!==void 0)return new l({prv:e.d,curve:e.curve});if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var h=new d;return h.setPublic(e.n,e.e),h}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.co!==void 0&&e.qi===void 0){var h=new d;return h.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),h}if(e.kty===void 0&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p===void 0){var h=new d;return h.setPrivate(e.n,e.e,e.d),h}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x===void 0){var h=new f;return h.setPublic(e.p,e.q,e.g,e.y),h}if(e.p!==void 0&&e.q!==void 0&&e.g!==void 0&&e.y!==void 0&&e.x!==void 0){var h=new f;return h.setPrivate(e.p,e.q,e.g,e.y,e.x),h}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d===void 0){var h=new d;return h.setPublic(qt(e.n),qt(e.e)),h}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0&&e.p!==void 0&&e.q!==void 0&&e.dp!==void 0&&e.dq!==void 0&&e.qi!==void 0){var h=new d;return h.setPrivateEx(qt(e.n),qt(e.e),qt(e.d),qt(e.p),qt(e.q),qt(e.dp),qt(e.dq),qt(e.qi)),h}if(e.kty==="RSA"&&e.n!==void 0&&e.e!==void 0&&e.d!==void 0){var h=new d;return h.setPrivate(qt(e.n),qt(e.e),qt(e.d)),h}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d===void 0){var A=new l({curve:e.crv}),g=A.ecparams.keycharlen,S=("0000000000"+qt(e.x)).slice(-g),w=("0000000000"+qt(e.y)).slice(-g),y="04"+S+w;return A.setPublicKeyHex(y),A}if(e.kty==="EC"&&e.crv!==void 0&&e.x!==void 0&&e.y!==void 0&&e.d!==void 0){var A=new l({curve:e.crv}),g=A.ecparams.keycharlen,S=("0000000000"+qt(e.x)).slice(-g),w=("0000000000"+qt(e.y)).slice(-g),y="04"+S+w,_=("0000000000"+qt(e.d)).slice(-g);return A.setPublicKeyHex(y),A.setPrivateKeyHex(_),A}if(r==="pkcs5prv"){var B=e,n=Ae,D,h;if(D=i(B,0),D.length===9)h=new d,h.readPKCS5PrvKeyHex(B);else if(D.length===6)h=new f,h.readPKCS5PrvKeyHex(B);else if(D.length>2&&B.substr(D[1],2)==="04")h=new l,h.readPKCS5PrvKeyHex(B);else throw new Error("unsupported PKCS#1/5 hexadecimal key");return h}if(r==="pkcs8prv"){var h=p.getKeyFromPlainPrivatePKCS8Hex(e);return h}if(r==="pkcs8pub")return p._getKeyFromPublicPKCS8Hex(e);if(r==="x509pub")return Me.getPublicKeyFromCertHex(e);if(e.indexOf("-END CERTIFICATE-",0)!=-1||e.indexOf("-END X509 CERTIFICATE-",0)!=-1||e.indexOf("-END TRUSTED CERTIFICATE-",0)!=-1)return Me.getPublicKeyFromCertPEM(e);if(e.indexOf("-END PUBLIC KEY-")!=-1){var M=Xt(e,"PUBLIC KEY");return p._getKeyFromPublicPKCS8Hex(M)}if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=E(e,"RSA PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var F=E(e,"DSA PRIVATE KEY"),P=s(F,0,[1],"02"),L=s(F,0,[2],"02"),j=s(F,0,[3],"02"),V=s(F,0,[4],"02"),W=s(F,0,[5],"02"),h=new f;return h.setPrivate(new ee(P,16),new ee(L,16),new ee(j,16),new ee(V,16),new ee(W,16)),h}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")==-1){var q=E(e,"EC PRIVATE KEY");return p.getKey(q,null,"pkcs5prv")}if(e.indexOf("-END PRIVATE KEY-")!=-1)return p.getKeyFromPlainPrivatePKCS8PEM(e);if(e.indexOf("-END RSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var G=p.getDecryptedKeyHex(e,t),z=new We;return z.readPKCS5PrvKeyHex(G),z}if(e.indexOf("-END EC PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var F=p.getDecryptedKeyHex(e,t),h=s(F,0,[1],"04"),X=s(F,0,[2,0],"06"),ie=s(F,0,[3,0],"03").substr(2),Se="";if(m.crypto.OID.oidhex2name[X]!==void 0)Se=m.crypto.OID.oidhex2name[X];else throw new Error("undefined OID(hex) in KJUR.crypto.OID: "+X);var A=new l({curve:Se});return A.setPublicKeyHex(ie),A.setPrivateKeyHex(h),A.isPublic=!1,A}if(e.indexOf("-END DSA PRIVATE KEY-")!=-1&&e.indexOf("4,ENCRYPTED")!=-1){var F=p.getDecryptedKeyHex(e,t),P=s(F,0,[1],"02"),L=s(F,0,[2],"02"),j=s(F,0,[3],"02"),V=s(F,0,[4],"02"),W=s(F,0,[5],"02"),h=new f;return h.setPrivate(new ee(P,16),new ee(L,16),new ee(j,16),new ee(V,16),new ee(W,16)),h}if(e.indexOf("-END ENCRYPTED PRIVATE KEY-")!=-1)return p.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")};ct.generateKeypair=function(e,t){if(e=="RSA"){var r=t,n=new We;n.generate(r,"10001"),n.isPrivate=!0,n.isPublic=!0;var i=new We,a=n.n.toString(16),s=n.e.toString(16);i.setPublic(a,s),i.isPrivate=!1,i.isPublic=!0;var u={};return u.prvKeyObj=n,u.pubKeyObj=i,u}else if(e=="EC"){var l=t,f=new m.crypto.ECDSA({curve:l}),d=f.generateKeyPairHex(),n=new m.crypto.ECDSA({curve:l});n.setPublicKeyHex(d.ecpubhex),n.setPrivateKeyHex(d.ecprvhex),n.isPrivate=!0,n.isPublic=!1;var i=new m.crypto.ECDSA({curve:l});i.setPublicKeyHex(d.ecpubhex),i.isPrivate=!1,i.isPublic=!0;var u={};return u.prvKeyObj=n,u.pubKeyObj=i,u}else throw new Error("unknown algorithm: "+e)};ct.getPEM=function(e,t,r,n,i,a){var s=m,u=s.asn1,l=u.DERObjectIdentifier,f=u.DERInteger,d=u.ASN1Util.newObject,E=u.x509,p=E.SubjectPublicKeyInfo,h=s.crypto,A=h.DSA,g=h.ECDSA,S=We;function w(z){var X=d({seq:[{int:0},{int:{bigint:z.n}},{int:z.e},{int:{bigint:z.d}},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.dmp1}},{int:{bigint:z.dmq1}},{int:{bigint:z.coeff}}]});return X}function y(z){var X=d({seq:[{int:1},{octstr:{hex:z.prvKeyHex}},{tag:["a0",!0,{oid:{name:z.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+z.pubKeyHex}}]}]});return X}function _(z){var X=d({seq:[{int:0},{int:{bigint:z.p}},{int:{bigint:z.q}},{int:{bigint:z.g}},{int:{bigint:z.y}},{int:{bigint:z.x}}]});return X}if((S!==void 0&&e instanceof S||A!==void 0&&e instanceof A||g!==void 0&&e instanceof g)&&e.isPublic==!0&&(t===void 0||t=="PKCS8PUB")){var B=new p(e),D=B.tohex();return Zr(D,"PUBLIC KEY")}if(t=="PKCS1PRV"&&S!==void 0&&e instanceof S&&(r===void 0||r==null)&&e.isPrivate==!0){var B=w(e),D=B.tohex();return Zr(D,"RSA PRIVATE KEY")}if(t=="PKCS1PRV"&&g!==void 0&&e instanceof g&&(r===void 0||r==null)&&e.isPrivate==!0){var M=new l({name:e.curveName}),q=M.tohex(),F=y(e),P=F.tohex(),L="";return L+=Zr(q,"EC PARAMETERS"),L+=Zr(P,"EC PRIVATE KEY"),L}if(t=="PKCS1PRV"&&A!==void 0&&e instanceof A&&(r===void 0||r==null)&&e.isPrivate==!0){var B=_(e),D=B.tohex();return Zr(D,"DSA PRIVATE KEY")}if(t=="PKCS5PRV"&&S!==void 0&&e instanceof S&&r!==void 0&&r!=null&&e.isPrivate==!0){var B=w(e),D=B.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",D,r,n,a)}if(t=="PKCS5PRV"&&g!==void 0&&e instanceof g&&r!==void 0&&r!=null&&e.isPrivate==!0){var B=y(e),D=B.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",D,r,n,a)}if(t=="PKCS5PRV"&&A!==void 0&&e instanceof A&&r!==void 0&&r!=null&&e.isPrivate==!0){var B=_(e),D=B.tohex();return n===void 0&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",D,r,n,a)}var j=function(z,X){if(typeof X=="string")return ct.getEncryptedPKCS8PEM(z,X);if(typeof X=="object"&&xt(X,"passcode")!=null){var ie=JSON.parse(JSON.stringify(X)),Se=ie.passcode;return delete ie.passcode,ct.getEncryptedPKCS8PEM(z,Se,ie)}};if(t=="PKCS8PRV"&&S!=null&&e instanceof S&&e.isPrivate==!0){var V=w(e),W=V.tohex(),B=d({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:W}}]}),D=B.tohex();return r===void 0||r==null?Zr(D,"PRIVATE KEY"):j(D,r)}if(t=="PKCS8PRV"&&g!==void 0&&e instanceof g&&e.isPrivate==!0){var G={seq:[{int:1},{octstr:{hex:e.prvKeyHex}}]};typeof e.pubKeyHex=="string"&&G.seq.push({tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]});var V=new d(G),W=V.tohex(),B=d({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:W}}]}),D=B.tohex();return r===void 0||r==null?Zr(D,"PRIVATE KEY"):j(D,r)}if(t=="PKCS8PRV"&&A!==void 0&&e instanceof A&&e.isPrivate==!0){var V=new f({bigint:e.x}),W=V.tohex(),B=d({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:W}}]}),D=B.tohex();return r===void 0||r==null?Zr(D,"PRIVATE KEY"):j(D,r)}throw new Error("unsupported object nor format")};ct.getKeyFromCSRPEM=function(e){var t=Xt(e,"CERTIFICATE REQUEST"),r=ct.getKeyFromCSRHex(t);return r};ct.getKeyFromCSRHex=function(e){var t=ct.parseCSRHex(e),r=ct.getKey(t.p8pubkeyhex,null,"pkcs8pub");return r};ct.parseCSRHex=function(e){var t=Ae,r=t.getChildIdx,n=t.getTLV,i={},a=e;if(a.substr(0,2)!="30")throw new Error("malformed CSR(code:001)");var s=r(a,0);if(s.length<1)throw new Error("malformed CSR(code:002)");if(a.substr(s[0],2)!="30")throw new Error("malformed CSR(code:003)");var u=r(a,s[0]);if(u.length<3)throw new Error("malformed CSR(code:004)");return i.p8pubkeyhex=n(a,u[2]),i};ct.getKeyID=function(e){var t=ct,r=Ae;typeof e=="string"&&e.indexOf("BEGIN ")!=-1&&(e=t.getKey(e));var n=Xt(t.getPEM(e)),i=r.getIdxbyList(n,0,[1]),a=r.getV(n,i).substring(2);return m.crypto.Util.hashHex(a,"sha1")};ct.getJWK=function(e,t,r,n,i){var a,s={},u,l=m.crypto.Util.hashHex;if(typeof e=="string")a=ct.getKey(e),e.indexOf("CERTIFICATE")!=-1&&(u=Xt(e));else if(typeof e=="object")e instanceof Me?(a=e.getPublicKey(),u=e.hex):a=e;else throw new Error("unsupported keyinfo type");if(a instanceof We&&a.isPrivate)s.kty="RSA",s.n=Ar(a.n.toString(16)),s.e=Ar(a.e.toString(16)),s.d=Ar(a.d.toString(16)),s.p=Ar(a.p.toString(16)),s.q=Ar(a.q.toString(16)),s.dp=Ar(a.dmp1.toString(16)),s.dq=Ar(a.dmq1.toString(16)),s.qi=Ar(a.coeff.toString(16));else if(a instanceof We&&a.isPublic)s.kty="RSA",s.n=Ar(a.n.toString(16)),s.e=Ar(a.e.toString(16));else if(a instanceof m.crypto.ECDSA&&a.isPrivate){var f=a.getShortNISTPCurveName();if(f!=="P-256"&&f!=="P-384"&&f!=="P-521")throw new Error("unsupported curve name for JWT: "+f);var d=a.getPublicKeyXYHex();s.kty="EC",s.crv=f,s.x=Ar(d.x),s.y=Ar(d.y),s.d=Ar(a.prvKeyHex)}else if(a instanceof m.crypto.ECDSA&&a.isPublic){var f=a.getShortNISTPCurveName();if(f!=="P-256"&&f!=="P-384"&&f!=="P-521")throw new Error("unsupported curve name for JWT: "+f);var d=a.getPublicKeyXYHex();s.kty="EC",s.crv=f,s.x=Ar(d.x),s.y=Ar(d.y)}if(s.kty==null)throw new Error("unsupported keyinfo");return!a.isPrivate&&t!=!0&&(s.kid=m.jws.JWS.getJWKthumbprint(s)),u!=null&&r!=!0&&(s.x5c=[$s(u)]),u!=null&&n!=!0&&(s.x5t=Fu($s(l(u,"sha1")))),u!=null&&i!=!0&&(s["x5t#S256"]=Fu($s(l(u,"sha256")))),s};ct.getJWKFromKey=function(e){return ct.getJWK(e,!0,!0,!0,!0)};We.getPosArrayOfChildrenFromHex=function(e){return Ae.getChildIdx(e,0)};We.getHexValueArrayOfChildrenFromHex=function(e){var t=Ae,r=t.getV,p=We.getPosArrayOfChildrenFromHex(e),n=r(e,p[0]),i=r(e,p[1]),a=r(e,p[2]),s=r(e,p[3]),u=r(e,p[4]),l=r(e,p[5]),f=r(e,p[6]),d=r(e,p[7]),E=r(e,p[8]),p=new Array;return p.push(n,i,a,s,u,l,f,d,E),p};We.prototype.readPrivateKeyFromPEMString=function(e){var t=Xt(e),r=We.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])};We.prototype.readPKCS5PrvKeyHex=function(e){var t=We.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])};We.prototype.readPKCS8PrvKeyHex=function(e){var t,r,n,i,a,s,u,l,f=Ae,d=f.getVbyListEx;if(f.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");try{t=d(e,0,[2,0,1],"02"),r=d(e,0,[2,0,2],"02"),n=d(e,0,[2,0,3],"02"),i=d(e,0,[2,0,4],"02"),a=d(e,0,[2,0,5],"02"),s=d(e,0,[2,0,6],"02"),u=d(e,0,[2,0,7],"02"),l=d(e,0,[2,0,8],"02")}catch{throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,r,n,i,a,s,u,l)};We.prototype.readPKCS5PubKeyHex=function(e){var t=Ae,r=t.getV;if(t.isASN1HEX(e)===!1)throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(n.length!==2||e.substr(n[0],2)!=="02"||e.substr(n[1],2)!=="02")throw new Error("wrong hex for PKCS#5 public key");var i=r(e,n[0]),a=r(e,n[1]);this.setPublic(i,a)};We.prototype.readPKCS8PubKeyHex=function(e){var t=Ae;if(t.isASN1HEX(e)===!1)throw new Error("not ASN.1 hex string");if(t.getTLVbyListEx(e,0,[0,0])!=="06092a864886f70d010101")throw new Error("not PKCS8 RSA public key");var r=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(r)};We.prototype.readCertPubKeyHex=function(e,t){var r,n;r=new Me,r.readCertHex(e),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var EO=new RegExp("[^0-9a-f]","gi");function $E(e,t){for(var r="",n=t/4-e.length,i=0;i>24,(i&16711680)>>16,(i&65280)>>8,i&255])))),i+=1;return n}We.prototype.signPSS=function(e,t,r){var n=function(a){return m.crypto.Util.hashHex(a,t)},i=n(Ki(e));return r===void 0&&(r=-1),this.signWithMessageHashPSS(i,t,r)};We.prototype.signWithMessageHashPSS=function(e,t,r){var n=Dn(e),i=n.length,a=this.n.bitLength()-1,s=Math.ceil(a/8),u,l=function(S){return m.crypto.Util.hashHex(S,t)};if(r===-1||r===void 0)r=i;else if(r===-2)r=s-i-2;else if(r<-2)throw new Error("invalid salt length");if(s0&&(f=new Array(r),new Bu().nextBytes(f),f=String.fromCharCode.apply(String,f));var d=Dn(l(Ki("\0\0\0\0\0\0\0\0"+n+f))),E=[];for(u=0;u>8*s-a&255;for(A[0]&=~g,u=0;un)return!1;var i=this.doPublic(r),a=i.toString(16);if(a.length+3!=n/4)return!1;var s=a.replace(/^1f+00/,""),u=BE(s);if(u.length==0)return!1;var l=u[0],f=u[1],d=function(p){return m.crypto.Util.hashString(p,l)},E=d(e);return f==E};We.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=In(t,16);if(r.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(r),i=n.toString(16).replace(/^1f+00/,""),a=BE(i);if(a.length==0)return!1;var s=a[0],u=a[1];return u==e};We.prototype.verifyPSS=function(e,t,r,n){var i=function(s){return m.crypto.Util.hashHex(s,r)},a=i(Ki(e));return n===void 0&&(n=-1),this.verifyWithMessageHashPSS(a,t,r,n)};We.prototype.verifyWithMessageHashPSS=function(e,t,r,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=new ee(t,16),a=function(y){return m.crypto.Util.hashHex(y,r)},s=Dn(e),u=s.length,l=this.n.bitLength()-1,f=Math.ceil(l/8),d;if(n===-1||n===void 0)n=u;else if(n===-2)n=f-u-2;else if(n<-2)throw new Error("invalid salt length");if(f>8*f-l&255;if(p.charCodeAt(0)&A)throw new Error("bits beyond keysize not zero");var g=DE(h,p.length,a),S=[];for(d=0;d0?P:void 0}catch{return}},this._asn1ToNoticeRef=function(F){try{for(var P={},L=xt(F,"seq"),j=0;j0?P:void 0}catch{return}},this._asn1ToNoticeNum=function(F){try{for(var P=xt(F,"seq"),L=[],j=0;j1){var W=s(F,V[1]),G=this.getGeneralName(W);G.uri!=null&&(j.uri=G.uri)}if(V.length>2){var z=s(F,V[2]);z=="0101ff"&&(j.reqauth=!0),z=="010100"&&(j.reqauth=!1)}return j},this.getExtSubjectDirectoryAttributes=function(F,P){if(F===void 0&&P===void 0){var L=this.getExtInfo("subjectDirectoryAttributes");if(L===void 0)return;F=s(this.hex,L.vidx),P=L.critical}var j={extname:"subjectDirectoryAttributes"};P&&(j.critical=!0);try{for(var V=a(F),W=[],G=0;G0&&(P.ext=this.getExtParamArray()),P.sighex=this.getSignatureValueHex(),F.tbshex==!0&&(P.tbshex=f(this.hex,0,[0])),F.nodnarray==!0&&(delete P.issuer.array,delete P.subject.array),P},this.getExtParamArray=function(F){if(F==null){var P=p(this.hex,0,[0,"[3]"]);P!=-1&&(F=d(this.hex,0,[0,"[3]",0],"30"))}for(var L=[],j=r(F,0),V=0;V"u"||!m)&&(m={});(typeof m.jws>"u"||!m.jws)&&(m.jws={});m.jws.JWS=function(){var e=m,t=e.jws.JWS,r=t.isSafeJSONString;this.parseJWS=function(n,i){if(!(this.parsedJWS!==void 0&&(i||this.parsedJWS.sigvalH!==void 0))){var a=n.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(a==null)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var s=a[1],u=a[2],l=a[3],f=s+"."+u;if(this.parsedJWS={},this.parsedJWS.headB64U=s,this.parsedJWS.payloadB64U=u,this.parsedJWS.sigvalB64U=l,this.parsedJWS.si=f,!i){var d=qt(l),E=In(d,16);this.parsedJWS.sigvalH=d,this.parsedJWS.sigvalBI=E}var p=Si(s),h=Si(u);if(this.parsedJWS.headS=p,this.parsedJWS.payloadS=h,!r(p,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+p}}};m.jws.JWS.sign=function(e,t,r,n,i){var a=m,s=a.jws,u=s.JWS,l=u.readSafeJSONString,f=u.isSafeJSONString,d=a.crypto,E=d.ECDSA,p=d.Mac,h=d.Signature,A=JSON,g,S,w;if(typeof t!="string"&&typeof t!="object")throw"spHeader must be JSON string or object: "+t;if(typeof t=="object"&&(S=t,g=A.stringify(S)),typeof t=="string"){if(g=t,!f(g))throw"JWS Head is not safe JSON string: "+g;S=l(g)}if(w=r,typeof r=="object"&&(w=A.stringify(r)),(e==""||e==null)&&S.alg!==void 0&&(e=S.alg),e!=""&&e!=null&&S.alg===void 0&&(S.alg=e,g=A.stringify(S)),e!==S.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+S.alg;var y=null;if(u.jwsalg2sigalg[e]===void 0)throw"unsupported alg name: "+e;y=u.jwsalg2sigalg[e];var _=Wc(g),B=Wc(w),D=_+"."+B,M="";if(y.substr(0,4)=="Hmac"){if(n===void 0)throw"mac key shall be specified for HS* alg";var q=new p({alg:y,prov:"cryptojs",pass:n});q.updateString(D),M=q.doFinal()}else if(y.indexOf("withECDSA")!=-1){var F=new h({alg:y});F.init(n,i),F.updateString(D);var P=F.sign();M=m.crypto.ECDSA.asn1SigToConcatSig(P)}else if(y!="none"){var F=new h({alg:y});F.init(n,i),F.updateString(D),M=F.sign()}var L=Ar(M);return D+"."+L};m.jws.JWS.verify=function(e,t,r){var n=m,i=n.jws,a=i.JWS,s=a.readSafeJSONString,u=n.crypto,l=u.ECDSA,f=u.Mac,d=u.Signature,E;if(typeof We!==void 0&&(E=We),!i0(e))return!1;var p=e.split(".");if(p.length!==3)return!1;var h=p[0],A=p[1],g=h+"."+A,S=qt(p[2]),w=s(Si(p[0])),y=null,_=null;if(w.alg===void 0)throw"algorithm not specified in header";if(y=w.alg,_=y.substr(0,2),r!=null&&Object.prototype.toString.call(r)==="[object Array]"&&r.length>0){var B=":"+r.join(":")+":";if(B.indexOf(":"+y+":")==-1)throw"algorithm '"+y+"' not accepted in the list"}if(y!="none"&&t===null)throw"key shall be specified to verify.";if(typeof t=="string"&&t.indexOf("-----BEGIN ")!=-1&&(t=ct.getKey(t)),(_=="RS"||_=="PS")&&!(t instanceof E))throw"key shall be a RSAKey obj for RS* and PS* algs";if(_=="ES"&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";y=="none";var D=null;if(a.jwsalg2sigalg[w.alg]===void 0)throw"unsupported alg name: "+y;if(D=a.jwsalg2sigalg[y],D=="none")throw"not supported";if(D.substr(0,4)=="Hmac"){var M=null;if(t===void 0)throw"hexadecimal key shall be specified for HMAC";var q=new f({alg:D,pass:t});return q.updateString(g),M=q.doFinal(),S==M}else if(D.indexOf("withECDSA")!=-1){var F=null;try{F=l.concatSigToASN1Sig(S)}catch{return!1}var P=new d({alg:D});return P.init(t),P.updateString(g),P.verify(F)}else{var P=new d({alg:D});return P.init(t),P.updateString(g),P.verify(S)}};m.jws.JWS.parse=function(e){var t=e.split("."),r={},n,i,a;if(t.length!=2&&t.length!=3)throw"malformed sJWS: wrong number of '.' splitted elements";return n=t[0],i=t[1],t.length==3&&(a=t[2]),r.headerObj=m.jws.JWS.readSafeJSONString(Si(n)),r.payloadObj=m.jws.JWS.readSafeJSONString(Si(i)),r.headerPP=JSON.stringify(r.headerObj,null," "),r.payloadObj==null?r.payloadPP=Si(i):r.payloadPP=JSON.stringify(r.payloadObj,null," "),a!==void 0&&(r.sigHex=qt(a)),r};m.jws.JWS.verifyJWT=function(e,t,r){var n=m,i=n.jws,a=i.JWS,s=a.readSafeJSONString,u=a.inArray,l=a.includedArray;if(!i0(e))return!1;var f=e.split(".");if(f.length!=3)return!1;var d=f[0],E=f[1],p=d+"."+E,h=qt(f[2]),A=s(Si(d)),g=s(Si(E));if(A.alg===void 0)return!1;if(r.alg===void 0)throw"acceptField.alg shall be specified";if(!u(A.alg,r.alg)||g.iss!==void 0&&typeof r.iss=="object"&&!u(g.iss,r.iss)||g.sub!==void 0&&typeof r.sub=="object"&&!u(g.sub,r.sub))return!1;if(g.aud!==void 0&&typeof r.aud=="object"){if(typeof g.aud=="string"){if(!u(g.aud,r.aud))return!1}else if(typeof g.aud=="object"&&!l(g.aud,r.aud))return!1}var S=i.IntDate.getNow();return r.verifyAt!==void 0&&typeof r.verifyAt=="number"&&(S=r.verifyAt),(r.gracePeriod===void 0||typeof r.gracePeriod!="number")&&(r.gracePeriod=0),!(g.exp!==void 0&&typeof g.exp=="number"&&g.exp+r.gracePeriod"u"||!m)&&(m={});(typeof m.jws>"u"||!m.jws)&&(m.jws={});m.jws.JWSJS=function(){var e=m,t=e.jws,r=t.JWS,n=r.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(i){this.init();var a=i.split(".");if(a.length!=3)throw"malformed input JWS";this.aHeader.push(a[0]),this.sPayload=a[1],this.aSignature.push(a[2])},this.addSignature=function(i,a,s,u){if(this.sPayload===void 0||this.sPayload===null)throw"there's no JSON-JS signature to add.";var l=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var f=m.jws.JWS.sign(i,a,this.sPayload,s,u),d=f.split("."),E=d[0],p=d[2];this.aHeader.push(d[0]),this.aSignature.push(d[2])}catch(h){throw this.aHeader.length>l&&this.aHeader.pop(),this.aSignature.length>l&&this.aSignature.pop(),"addSignature failed: "+h}},this.verifyAll=function(i){if(this.aHeader.length!==i.length||this.aSignature.length!==i.length)return!1;for(var a=0;a0)this.aHeader=i.headers;else throw"malformed header";if(typeof i.payload=="string")this.sPayload=i.payload;else throw"malformed signatures";if(i.signatures.length>0)this.aSignature=i.signatures;else throw"malformed signatures"}catch(s){throw"malformed JWS-JS JSON object: "+s}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return this.aHeader.length==0?1:0}};be.SecureRandom=Bu;be.rng_seed_time=Qd;be.BigInteger=ee;be.RSAKey=We;be.ECDSA=m.crypto.ECDSA;be.DSA=m.crypto.DSA;be.Signature=m.crypto.Signature;be.MessageDigest=m.crypto.MessageDigest;be.Mac=m.crypto.Mac;be.KEYUTIL=ct;be.ASN1HEX=Ae;be.X509=Me;be.X509CRL=uD;be.CryptoJS=Ce;be.b64tohex=Iu;be.b64toBA=fE;be.ECFieldElementFp=yr;be.ECPointFp=St;be.ECCurveFp=Ds;be.stoBA=vE;be.BAtos=EE;be.BAtohex=Xf;be.stohex=$n;be.stob64=M$;be.stob64u=q$;be.b64utos=K$;be.b64tob64u=Fu;be.b64utob64=Jc;be.hex2b64=$s;be.hextob64u=Ar;be.b64utohex=qt;be.utf8tob64u=Wc;be.b64utoutf8=Si;be.utf8tob64=V$;be.b64toutf8=G$;be.utf8tohex=Jf;be.hextoutf8=Rt;be.hextorstr=Dn;be.rstrtohex=Ki;be.hextob64=e0;be.hextob64nl=W$;be.b64nltohex=wE;be.hextopem=Zr;be.pemtohex=Xt;be.hextoArrayBuffer=Z$;be.ArrayBuffertohex=Q$;be.zulutomsec=t0;be.msectozulu=eD;be.zulutosec=AE;be.zulutodate=tD;be.datetozulu=rD;be.uricmptohex=Qf;be.hextouricmp=eh;be.ipv6tohex=zd;be.hextoipv6=Yd;be.hextoip=Vf;be.iptohex=r0;be.ucs2hextoutf8=n0;be.encodeURIComponentAll=th;be.newline_toUnix=nD;be.newline_toDos=iD;be.hextoposhex=Wd;be.intarystrtohex=sD;be.strdiffidx=aD;be.oidtohex=bE;be.hextooid=rh;be.strpad=Gf;be.bitstrtoint=_E;be.inttobitstr=FE;be.bitstrtobinstr=IE;be.binstrtobitstr=oD;be.isBase64URLDot=i0;be.namearraytobinstr=zf;be.extendClass=he;be.foldnl=Zf;be.b64topem=X$;be.pemtob64=J$;be.timeogen=yE;be.aryval=xt;be.inttohex=CE;be.twoscompl=Zc;be.KJUR=m;be.crypto=m.crypto;be.asn1=m.asn1;be.jws=m.jws;be.lang=m.lang;be.VERSION=v8;be.VERSION_FULL=E8});var TE=ye(u0=>{"use strict";u0.toString=function(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e};u0.toType=function(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}});var OE=ye(c0=>{"use strict";c0.toString=function(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e};c0.toRcode=function(e){switch(e.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var NE=ye(l0=>{"use strict";l0.toString=function(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e};l0.toOpcode=function(e){switch(e.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var xE=ye(f0=>{"use strict";f0.toString=function(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e};f0.toClass=function(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var kE=ye(h0=>{"use strict";h0.toString=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:`OPTION_${e}`};h0.toCode=function(e){if(typeof e=="number")return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}});var HE=ye((UE,p0)=>{var LE=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=E,e.encode=d,e.familyOf=f,e.name=void 0,e.sizeOf=l,e.v6=e.v4=void 0;let t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,a={name:"v4",size:r,isFormat:p=>t.test(p),encode(p,h,A){A=~~A,h=h||new Uint8Array(A+r);let g=p.length,S=0;for(let w=0;wp.length>0&&n.test(p),encode(p,h,A){A=~~A;let g=A+i,S=-1,w=0,y=0,_=!0,B=!1;h=h||new Uint8Array(A+i);for(let D=0;D>8),A=97?M-=87:M>=65?M-=55:(M-=48,y=y*10+M),w=(w<<4)+M)}if(_===!1)B===!0?(A>8),A=S+2;D--)h[D]=h[D-2];h[S]=0,h[S+1]=0,S=A}if(S!==A&&S!==-1)for(A>g-2&&(A=g-2);g>S;)h[--g]=AS?h[--A]:0;else for(;A{"use strict";var Ue=qf().Buffer,Us=TE(),fD=OE(),hD=NE(),oh=xE(),d0=kE(),go=HE(),pD=0,jE=32768,g0=32768,dD=~g0,ME=32768,gD=~ME,De=Le.name={};De.encode=function(e,t,r,{mail:n=!1}={}){t||(t=Ue.alloc(De.encodingLength(e))),r||(r=0);let i=r,a=e.replace(/^\.|\.$/gm,"");if(a.length){let s=[];if(n){let u="";a.split(".").forEach(l=>{l.endsWith("\\")?u+=(u.length?".":"")+l.slice(0,-1):s.length===0&&u.length?s.push(u+"."+l):s.push(l)})}else s=a.split(".");for(let u=0;u=e.length)throw new Error("Cannot decode name (buffer overflow)");let l=e[t++];if(s+=u?0:1,l===0)break;if(l&192)if((l&192)===192){if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");let f=e.readUInt16BE(t-1)-49152;if(f>=i)throw new Error("Cannot decode name (bad pointer)");t=f,i=f,s+=u?0:1,u=!0}else throw new Error("Cannot decode name (bad label)");else{if(t+l>e.length)throw new Error("Cannot decode name (buffer overflow)");if(a+=l+1,a>254)throw new Error("Cannot decode name (name too long)");let f=e.toString("utf-8",t,t+l);r&&(f=f.replace(/\./g,"\\.")),n.push(f),t+=l,s+=u?0:l}}return De.decode.bytes=s,n.length===0?".":n.join(".")};De.decode.bytes=0;De.encodingLength=function(e){return e==="."||e===".."?1:Ue.byteLength(e.replace(/^\.|\.$/gm,""))+2};var ut={};ut.encode=function(e,t,r){t||(t=Ue.alloc(ut.encodingLength(e))),r||(r=0);let n=t.write(e,r+1);return t[r]=n,ut.encode.bytes=n+1,t};ut.encode.bytes=0;ut.decode=function(e,t){t||(t=0);let r=e[t],n=e.toString("utf-8",t+1,t+1+r);return ut.decode.bytes=r+1,n};ut.decode.bytes=0;ut.encodingLength=function(e){return Ue.byteLength(e)+1};var _i={};_i.encode=function(e,t,r){t||(t=_i.encodingLength(e)),r||(r=0);let n=(e.flags||0)&32767,i=e.type==="response"?jE:pD;return t.writeUInt16BE(e.id||0,r),t.writeUInt16BE(n|i,r+2),t.writeUInt16BE(e.questions.length,r+4),t.writeUInt16BE(e.answers.length,r+6),t.writeUInt16BE(e.authorities.length,r+8),t.writeUInt16BE(e.additionals.length,r+10),t};_i.encode.bytes=12;_i.decode=function(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");let r=e.readUInt16BE(t+2);return{id:e.readUInt16BE(t),type:r&jE?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:hD.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:fD.toString(r&15),questions:new Array(e.readUInt16BE(t+4)),answers:new Array(e.readUInt16BE(t+6)),authorities:new Array(e.readUInt16BE(t+8)),additionals:new Array(e.readUInt16BE(t+10))}};_i.decode.bytes=12;_i.encodingLength=function(){return 12};var Bs=Le.unknown={};Bs.encode=function(e,t,r){return t||(t=Ue.alloc(Bs.encodingLength(e))),r||(r=0),t.writeUInt16BE(e.length,r),e.copy(t,r+2),Bs.encode.bytes=e.length+2,t};Bs.encode.bytes=0;Bs.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=e.slice(t+2,t+2+r);return Bs.decode.bytes=r+2,n};Bs.decode.bytes=0;Bs.encodingLength=function(e){return e.length+2};var Rs=Le.ns={};Rs.encode=function(e,t,r){return t||(t=Ue.alloc(Rs.encodingLength(e))),r||(r=0),De.encode(e,t,r+2),t.writeUInt16BE(De.encode.bytes,r),Rs.encode.bytes=De.encode.bytes+2,t};Rs.encode.bytes=0;Rs.decode=function(e,t){t||(t=0);let r=e.readUInt16BE(t),n=De.decode(e,t+2);return Rs.decode.bytes=r+2,n};Rs.decode.bytes=0;Rs.encodingLength=function(e){return De.encodingLength(e)+2};var Ps=Le.soa={};Ps.encode=function(e,t,r){t||(t=Ue.alloc(Ps.encodingLength(e))),r||(r=0);let n=r;return r+=2,De.encode(e.mname,t,r),r+=De.encode.bytes,De.encode(e.rname,t,r,{mail:!0}),r+=De.encode.bytes,t.writeUInt32BE(e.serial||0,r),r+=4,t.writeUInt32BE(e.refresh||0,r),r+=4,t.writeUInt32BE(e.retry||0,r),r+=4,t.writeUInt32BE(e.expire||0,r),r+=4,t.writeUInt32BE(e.minimum||0,r),r+=4,t.writeUInt16BE(r-n-2,n),Ps.encode.bytes=r-n,t};Ps.encode.bytes=0;Ps.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mname=De.decode(e,t),t+=De.decode.bytes,n.rname=De.decode(e,t,{mail:!0}),t+=De.decode.bytes,n.serial=e.readUInt32BE(t),t+=4,n.refresh=e.readUInt32BE(t),t+=4,n.retry=e.readUInt32BE(t),t+=4,n.expire=e.readUInt32BE(t),t+=4,n.minimum=e.readUInt32BE(t),t+=4,Ps.decode.bytes=t-r,n};Ps.decode.bytes=0;Ps.encodingLength=function(e){return 22+De.encodingLength(e.mname)+De.encodingLength(e.rname)};var Ts=Le.txt={};Ts.encode=function(e,t,r){Array.isArray(e)||(e=[e]);for(let i=0;i0;){let a=e[t++];if(--n,n0&&(r.timeout=e.readUInt16BE(t),t+=2);break;case 14:r.tags=[];for(let a=0;a0;)n[a++]=Bn.decode(e,t),t+=Bn.decode.bytes,i-=Bn.decode.bytes;return Gn.decode.bytes=t-r,n};Gn.decode.bytes=0;Gn.encodingLength=function(e){return 2+Pu(e||[],Bn)};var pn=Le.dnskey={};pn.PROTOCOL_DNSSEC=3;pn.ZONE_KEY=128;pn.SECURE_ENTRYPOINT=32768;pn.encode=function(e,t,r){t||(t=Ue.alloc(pn.encodingLength(e))),r||(r=0);let n=r,i=e.key;if(!Ue.isBuffer(i))throw new Error("Key must be a Buffer");return r+=2,t.writeUInt16BE(e.flags,r),r+=2,t.writeUInt8(pn.PROTOCOL_DNSSEC,r),r+=1,t.writeUInt8(e.algorithm,r),r+=1,i.copy(t,r,0,i.length),r+=i.length,pn.encode.bytes=r-n,t.writeUInt16BE(pn.encode.bytes-2,n),t};pn.encode.bytes=0;pn.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);if(t+=2,n.flags=e.readUInt16BE(t),t+=2,e.readUInt8(t)!==pn.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e.readUInt8(t),t+=1,n.key=e.slice(t,r+i+2),t+=n.key.length,pn.decode.bytes=t-r,n};pn.decode.bytes=0;pn.encodingLength=function(e){return 6+Ue.byteLength(e.key)};var Vi=Le.rrsig={};Vi.encode=function(e,t,r){t||(t=Ue.alloc(Vi.encodingLength(e))),r||(r=0);let n=r,i=e.signature;if(!Ue.isBuffer(i))throw new Error("Signature must be a Buffer");return r+=2,t.writeUInt16BE(Us.toType(e.typeCovered),r),r+=2,t.writeUInt8(e.algorithm,r),r+=1,t.writeUInt8(e.labels,r),r+=1,t.writeUInt32BE(e.originalTTL,r),r+=4,t.writeUInt32BE(e.expiration,r),r+=4,t.writeUInt32BE(e.inception,r),r+=4,t.writeUInt16BE(e.keyTag,r),r+=2,De.encode(e.signersName,t,r),r+=De.encode.bytes,i.copy(t,r,0,i.length),r+=i.length,Vi.encode.bytes=r-n,t.writeUInt16BE(Vi.encode.bytes-2,n),t};Vi.encode.bytes=0;Vi.decode=function(e,t){t||(t=0);let r=t;var n={},i=e.readUInt16BE(t);return t+=2,n.typeCovered=Us.toString(e.readUInt16BE(t)),t+=2,n.algorithm=e.readUInt8(t),t+=1,n.labels=e.readUInt8(t),t+=1,n.originalTTL=e.readUInt32BE(t),t+=4,n.expiration=e.readUInt32BE(t),t+=4,n.inception=e.readUInt32BE(t),t+=4,n.keyTag=e.readUInt16BE(t),t+=2,n.signersName=De.decode(e,t),t+=De.decode.bytes,n.signature=e.slice(t,r+i+2),t+=n.signature.length,Vi.decode.bytes=t-r,n};Vi.decode.bytes=0;Vi.encodingLength=function(e){return 20+De.encodingLength(e.signersName)+Ue.byteLength(e.signature)};var Gi=Le.rp={};Gi.encode=function(e,t,r){t||(t=Ue.alloc(Gi.encodingLength(e))),r||(r=0);let n=r;return r+=2,De.encode(e.mbox||".",t,r,{mail:!0}),r+=De.encode.bytes,De.encode(e.txt||".",t,r),r+=De.encode.bytes,Gi.encode.bytes=r-n,t.writeUInt16BE(Gi.encode.bytes-2,n),t};Gi.encode.bytes=0;Gi.decode=function(e,t){t||(t=0);let r=t,n={};return t+=2,n.mbox=De.decode(e,t,{mail:!0})||".",t+=De.decode.bytes,n.txt=De.decode(e,t)||".",t+=De.decode.bytes,Gi.decode.bytes=t-r,n};Gi.decode.bytes=0;Gi.encodingLength=function(e){return 2+De.encodingLength(e.mbox||".")+De.encodingLength(e.txt||".")};var Rr={};Rr.encode=function(e,t,r){t||(t=Ue.alloc(Rr.encodingLength(e))),r||(r=0);let n=r;for(var i=[],a=0;a>8]===void 0&&(i[s>>8]=[]),i[s>>8][s>>3&31]|=1<<7-(s&7)}for(a=0;a>8]=Math.max(t[n>>8]||0,n&255)}var i=0;for(r=0;r>15&1)===1,r.options=Gn.decode(e,t+8),t+=8+Gn.decode.bytes;else{let i=e.readUInt16BE(t+2);r.ttl=e.readUInt32BE(t+4),r.class=oh.toString(i&dD),r.flush=!!(i&g0);let a=m0(r.type);r.data=a.decode(e,t+8),t+=8+a.decode.bytes}return Ur.decode.bytes=t-n,r};Ur.decode.bytes=0;Ur.encodingLength=function(e){let t=e.data!==null&&e.data!==void 0?e.data:e.options;return De.encodingLength(e.name)+8+m0(e.type).encodingLength(t)};var Ci=Le.question={};Ci.encode=function(e,t,r){t||(t=Ue.alloc(Ci.encodingLength(e))),r||(r=0);let n=r;return De.encode(e.name,t,r),r+=De.encode.bytes,t.writeUInt16BE(Us.toType(e.type),r),r+=2,t.writeUInt16BE(oh.toClass(e.class===void 0?"IN":e.class),r),r+=2,Ci.encode.bytes=r-n,e};Ci.encode.bytes=0;Ci.decode=function(e,t){t||(t=0);let r=t,n={};return n.name=De.decode(e,t),t+=De.decode.bytes,n.type=Us.toString(e.readUInt16BE(t)),t+=2,n.class=oh.toString(e.readUInt16BE(t)),t+=2,!!(n.class&ME)&&(n.class&=gD),Ci.decode.bytes=t-r,n};Ci.decode.bytes=0;Ci.encodingLength=function(e){return De.encodingLength(e.name)+4};Le.AUTHORITATIVE_ANSWER=1024;Le.TRUNCATED_RESPONSE=512;Le.RECURSION_DESIRED=256;Le.RECURSION_AVAILABLE=128;Le.AUTHENTIC_DATA=32;Le.CHECKING_DISABLED=16;Le.DNSSEC_OK=32768;Le.encode=function(e,t,r){let n=!t;n&&(t=Ue.alloc(Le.encodingLength(e))),r||(r=0);let i=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),_i.encode(e,t,r),r+=_i.encode.bytes,r=tl(e.questions,Ci,t,r),r=tl(e.answers,Ur,t,r),r=tl(e.authorities,Ur,t,r),r=tl(e.additionals,Ur,t,r),Le.encode.bytes=r-i,n&&Le.encode.bytes!==t.length?t.slice(0,Le.encode.bytes):t};Le.encode.bytes=0;Le.decode=function(e,t){t||(t=0);let r=t,n=_i.decode(e,t);return t+=_i.decode.bytes,t=ah(n.questions,Ci,e,t),t=ah(n.answers,Ur,e,t),t=ah(n.authorities,Ur,e,t),t=ah(n.additionals,Ur,e,t),Le.decode.bytes=t-r,n};Le.decode.bytes=0;Le.encodingLength=function(e){return _i.encodingLength(e)+Pu(e.questions||[],Ci)+Pu(e.answers||[],Ur)+Pu(e.authorities||[],Ur)+Pu(e.additionals||[],Ur)};Le.streamEncode=function(e){let t=Le.encode(e),r=Ue.alloc(2);r.writeUInt16BE(t.byteLength);let n=Ue.concat([r,t]);return Le.streamEncode.bytes=n.byteLength,n};Le.streamEncode.bytes=0;Le.streamDecode=function(e){let t=e.readUInt16BE(0);if(e.byteLength{(function(){var e,t="4.17.21",r=200,n="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",a="Invalid `variable` option passed into `_.template`",s="__lodash_hash_undefined__",u=500,l="__lodash_placeholder__",f=1,d=2,E=4,p=1,h=2,A=1,g=2,S=4,w=8,y=16,_=32,B=64,D=128,M=256,q=512,F=30,P="...",L=800,j=16,V=1,W=2,G=3,z=1/0,X=9007199254740991,ie=17976931348623157e292,Se=NaN,we=4294967295,Ie=we-1,Ve=we>>>1,ue=[["ary",D],["bind",A],["bindKey",g],["curry",w],["curryRight",y],["flip",q],["partial",_],["partialRight",B],["rearg",M]],_e="[object Arguments]",He="[object Array]",Sr="[object AsyncFunction]",Ht="[object Boolean]",Et="[object Date]",ir="[object DOMException]",Gt="[object Error]",at="[object Function]",kt="[object GeneratorFunction]",it="[object Map]",bt="[object Number]",sr="[object Null]",Qe="[object Object]",Jt="[object Promise]",Zn="[object Proxy]",br="[object RegExp]",Pr="[object Set]",cr="[object String]",Hr="[object Symbol]",Sa="[object Undefined]",en="[object WeakMap]",Ct="[object WeakSet]",lr="[object ArrayBuffer]",et="[object DataView]",jr="[object Float32Array]",ba="[object Float64Array]",Ca="[object Int8Array]",_a="[object Int16Array]",Fa="[object Int32Array]",rs="[object Uint8Array]",Ia="[object Uint8ClampedArray]",Vs="[object Uint16Array]",Fi="[object Uint32Array]",ns=/\b__p \+= '';/g,Ao=/\b(__p \+=) '' \+/g,yo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,So=/&(?:amp|lt|gt|quot|#39);/g,bo=/[&<>"']/g,Co=RegExp(So.source),_o=RegExp(bo.source),Fo=/<%-([\s\S]+?)%>/g,Mu=/<%([\s\S]+?)%>/g,Io=/<%=([\s\S]+?)%>/g,qu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ku=/^\w*$/,Vu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Gs=/[\\^$.*+?()[\]{}|]/g,Gu=RegExp(Gs.source),$a=/^\s+/,zu=/\s/,Yu=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Wu=/\{\n\/\* \[wrapped with (.+)\] \*/,Xu=/,? & /,Ju=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Zu=/[()=,{}\[\]\/\s]/,Qu=/\\(\\)?/g,ec=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ii=/\w*$/,$o=/^[-+]0x[0-9a-f]+$/i,tc=/^0b[01]+$/i,rc=/^\[object .+?Constructor\]$/,nc=/^0o[0-7]+$/i,Do=/^(?:0|[1-9]\d*)$/,$i=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,dn=/($^)/,ic=/['\n\r\u2028\u2029\\]/g,zs="\\ud800-\\udfff",Pn="\\u0300-\\u036f",sc="\\ufe20-\\ufe2f",ac="\\u20d0-\\u20ff",Bo=Pn+sc+ac,Da="\\u2700-\\u27bf",Ro="a-z\\xdf-\\xf6\\xf8-\\xff",Ys="\\xac\\xb1\\xd7\\xf7",Zt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",oc="\\u2000-\\u206f",uc=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Po="A-Z\\xc0-\\xd6\\xd8-\\xde",Di="\\ufe0e\\ufe0f",Cr=Ys+Zt+oc+uc,Kt="['\u2019]",cc="["+zs+"]",Ba="["+Cr+"]",_r="["+Bo+"]",Ra="\\d+",To="["+Da+"]",Oo="["+Ro+"]",Pa="[^"+zs+Cr+Ra+Da+Ro+Po+"]",Bi="\\ud83c[\\udffb-\\udfff]",Ta="(?:"+_r+"|"+Bi+")",No="[^"+zs+"]",Oa="(?:\\ud83c[\\udde6-\\uddff]){2}",Na="[\\ud800-\\udbff][\\udc00-\\udfff]",tn="["+Po+"]",T="\\u200d",N="(?:"+Oo+"|"+Pa+")",H="(?:"+tn+"|"+Pa+")",Q="(?:"+Kt+"(?:d|ll|m|re|s|t|ve))?",de="(?:"+Kt+"(?:D|LL|M|RE|S|T|VE))?",ve=Ta+"?",Fe="["+Di+"]?",Re="(?:"+T+"(?:"+[No,Oa,Na].join("|")+")"+Fe+ve+")*",Pt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Qt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Tr=Fe+ve+Re,Or="(?:"+[To,Oa,Na].join("|")+")"+Tr,Tn="(?:"+[No+_r+"?",_r,Oa,Na,cc].join("|")+")",Ws=RegExp(Kt,"g"),rn=RegExp(_r,"g"),Nr=RegExp(Bi+"(?="+Bi+")|"+Tn+Tr,"g"),Xs=RegExp([tn+"?"+Oo+"+"+Q+"(?="+[Ba,tn,"$"].join("|")+")",H+"+"+de+"(?="+[Ba,tn+N,"$"].join("|")+")",tn+"?"+N+"+"+Q,tn+"+"+de,Qt,Pt,Ra,Or].join("|"),"g"),Qn=RegExp("["+T+zs+Bo+Di+"]"),xa=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Nh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xh=-1,Lt={};Lt[jr]=Lt[ba]=Lt[Ca]=Lt[_a]=Lt[Fa]=Lt[rs]=Lt[Ia]=Lt[Vs]=Lt[Fi]=!0,Lt[_e]=Lt[He]=Lt[lr]=Lt[Ht]=Lt[et]=Lt[Et]=Lt[Gt]=Lt[at]=Lt[it]=Lt[bt]=Lt[Qe]=Lt[br]=Lt[Pr]=Lt[cr]=Lt[en]=!1;var Nt={};Nt[_e]=Nt[He]=Nt[lr]=Nt[et]=Nt[Ht]=Nt[Et]=Nt[jr]=Nt[ba]=Nt[Ca]=Nt[_a]=Nt[Fa]=Nt[it]=Nt[bt]=Nt[Qe]=Nt[br]=Nt[Pr]=Nt[cr]=Nt[Hr]=Nt[rs]=Nt[Ia]=Nt[Vs]=Nt[Fi]=!0,Nt[Gt]=Nt[at]=Nt[en]=!1;var kh={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Lh={"&":"&","<":"<",">":">",'"':""","'":"'"},Uh={"&":"&","<":"<",">":">",""":'"',"'":"'"},Hh={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},jh=parseFloat,Mh=parseInt,dl=typeof global=="object"&&global&&global.Object===Object&&global,qh=typeof self=="object"&&self&&self.Object===Object&&self,fr=dl||qh||Function("return this")(),lc=typeof Ou=="object"&&Ou&&!Ou.nodeType&&Ou,is=lc&&typeof rl=="object"&&rl&&!rl.nodeType&&rl,gl=is&&is.exports===lc,fc=gl&&dl.process,gn=function(){try{var re=is&&is.require&&is.require("util").types;return re||fc&&fc.binding&&fc.binding("util")}catch{}}(),ml=gn&&gn.isArrayBuffer,vl=gn&&gn.isDate,El=gn&&gn.isMap,wl=gn&&gn.isRegExp,Al=gn&&gn.isSet,yl=gn&&gn.isTypedArray;function nn(re,le,oe){switch(oe.length){case 0:return re.call(le);case 1:return re.call(le,oe[0]);case 2:return re.call(le,oe[0],oe[1]);case 3:return re.call(le,oe[0],oe[1],oe[2])}return re.apply(le,oe)}function Kh(re,le,oe,Te){for(var Ye=-1,pt=re==null?0:re.length;++Ye-1}function ka(re,le,oe){for(var Te=-1,Ye=re==null?0:re.length;++Te-1;);return oe}function _l(re,le){for(var oe=re.length;oe--&&Js(le,re[oe],0)>-1;);return oe}function Fl(re,le){for(var oe=re.length,Te=0;oe--;)re[oe]===le&&++Te;return Te}var vc=pe(kh),zh=pe(Lh);function Il(re){return"\\"+Hh[re]}function Yh(re,le){return re==null?e:re[le]}function as(re){return Qn.test(re)}function Wh(re){return xa.test(re)}function Xh(re){for(var le,oe=[];!(le=re.next()).done;)oe.push(le.value);return oe}function Ec(re){var le=-1,oe=Array(re.size);return re.forEach(function(Te,Ye){oe[++le]=[Ye,Te]}),oe}function xr(re,le){return function(oe){return re(le(oe))}}function xn(re,le){for(var oe=-1,Te=re.length,Ye=0,pt=[];++oe-1}function wy(o,c){var v=this.__data__,C=Ul(v,o);return C<0?(++this.size,v.push([o,c])):v[C][1]=c,this}hs.prototype.clear=gy,hs.prototype.delete=my,hs.prototype.get=vy,hs.prototype.has=Ey,hs.prototype.set=wy;function ps(o){var c=-1,v=o==null?0:o.length;for(this.clear();++c=c?o:c)),o}function ni(o,c,v,C,O,U){var Y,Z=c&f,ne=c&d,ge=c&E;if(v&&(Y=O?v(o,C,O,U):v(o)),Y!==e)return Y;if(!Wt(o))return o;var me=Je(o);if(me){if(Y=bS(o),!Z)return wn(o,Y)}else{var Ee=Kr(o),$e=Ee==at||Ee==kt;if(ra(o))return J1(o,Z);if(Ee==Qe||Ee==_e||$e&&!O){if(Y=ne||$e?{}:mg(o),!Z)return ne?hS(o,Ny(Y,o)):fS(o,I1(Y,o))}else{if(!Nt[Ee])return O?o:{};Y=CS(o,Ee,Z)}}U||(U=new mi);var ke=U.get(o);if(ke)return ke;U.set(o,Y),Vg(o)?o.forEach(function(ze){Y.add(ni(ze,c,v,ze,o,U))}):qg(o)&&o.forEach(function(ze,lt){Y.set(lt,ni(ze,c,v,lt,o,U))});var Ge=ge?ne?Dp:$p:ne?yn:Fr,st=me?e:Ge(o);return mn(st||o,function(ze,lt){st&&(lt=ze,ze=o[lt]),bc(Y,lt,ni(ze,c,v,lt,o,U))}),Y}function xy(o){var c=Fr(o);return function(v){return $1(v,o,c)}}function $1(o,c,v){var C=v.length;if(o==null)return!C;for(o=Tt(o);C--;){var O=v[C],U=c[O],Y=o[O];if(Y===e&&!(O in o)||!U(Y))return!1}return!0}function D1(o,c,v){if(typeof o!="function")throw new En(i);return Bc(function(){o.apply(e,v)},c)}function Cc(o,c,v,C){var O=-1,U=sn,Y=!0,Z=o.length,ne=[],ge=c.length;if(!Z)return ne;v&&(c=te(c,Mr(v))),C?(U=ka,Y=!1):c.length>=r&&(U=Ua,Y=!1,c=new ja(c));e:for(;++OO?0:O+v),C=C===e||C>O?O:nt(C),C<0&&(C+=O),C=v>C?0:zg(C);v0&&v(Z)?c>1?kr(Z,c-1,v,C,O):Nn(O,Z):C||(O[O.length]=Z)}return O}var lp=ng(),P1=ng(!0);function Pi(o,c){return o&&lp(o,c,Fr)}function fp(o,c){return o&&P1(o,c,Fr)}function jl(o,c){return On(c,function(v){return ws(o[v])})}function qa(o,c){c=ea(c,o);for(var v=0,C=c.length;o!=null&&vc}function Uy(o,c){return o!=null&&mt.call(o,c)}function Hy(o,c){return o!=null&&c in Tt(o)}function jy(o,c,v){return o>=qr(c,v)&&o=120&&me.length>=120)?new ja(Y&&me):e}me=o[0];var Ee=-1,$e=Z[0];e:for(;++Ee-1;)Z!==o&&_t.call(Z,ne,1),_t.call(o,ne,1);return o}function q1(o,c){for(var v=o?c.length:0,C=v-1;v--;){var O=c[v];if(v==C||O!==U){var U=O;Es(O)?_t.call(o,O,1):yp(o,O)}}return o}function Ep(o,c){return o+se(b1()*(c-o+1))}function eS(o,c,v,C){for(var O=-1,U=mr(K((c-o)/(v||1)),0),Y=oe(U);U--;)Y[C?U:++O]=o,o+=v;return Y}function wp(o,c){var v="";if(!o||c<1||c>X)return v;do c%2&&(v+=o),c=se(c/2),c&&(o+=o);while(c);return v}function ot(o,c){return xp(wg(o,c,Sn),o+"")}function tS(o){return F1(ru(o))}function rS(o,c){var v=ru(o);return Zl(v,Ma(c,0,v.length))}function Ic(o,c,v,C){if(!Wt(o))return o;c=ea(c,o);for(var O=-1,U=c.length,Y=U-1,Z=o;Z!=null&&++OO?0:O+c),v=v>O?O:v,v<0&&(v+=O),O=c>v?0:v-c>>>0,c>>>=0;for(var U=oe(O);++C>>1,Y=o[U];Y!==null&&!Un(Y)&&(v?Y<=c:Y=r){var ge=c?null:mS(o);if(ge)return kn(ge);Y=!1,O=Ua,ne=new ja}else ne=c?[]:Z;e:for(;++C=C?o:ii(o,c,v)}var X1=b||function(o){return fr.clearTimeout(o)};function J1(o,c){if(c)return o.slice();var v=o.length,C=Pl?Pl(v):new o.constructor(v);return o.copy(C),C}function _p(o){var c=new o.constructor(o.byteLength);return new Go(c).set(new Go(o)),c}function oS(o,c){var v=c?_p(o.buffer):o.buffer;return new o.constructor(v,o.byteOffset,o.byteLength)}function uS(o){var c=new o.constructor(o.source,Ii.exec(o));return c.lastIndex=o.lastIndex,c}function cS(o){return Sc?Tt(Sc.call(o)):{}}function Z1(o,c){var v=c?_p(o.buffer):o.buffer;return new o.constructor(v,o.byteOffset,o.length)}function Q1(o,c){if(o!==c){var v=o!==e,C=o===null,O=o===o,U=Un(o),Y=c!==e,Z=c===null,ne=c===c,ge=Un(c);if(!Z&&!ge&&!U&&o>c||U&&Y&&ne&&!Z&&!ge||C&&Y&&ne||!v&&ne||!O)return 1;if(!C&&!U&&!ge&&o=Z)return ne;var ge=v[C];return ne*(ge=="desc"?-1:1)}}return o.index-c.index}function eg(o,c,v,C){for(var O=-1,U=o.length,Y=v.length,Z=-1,ne=c.length,ge=mr(U-Y,0),me=oe(ne+ge),Ee=!C;++Z1?v[O-1]:e,Y=O>2?v[2]:e;for(U=o.length>3&&typeof U=="function"?(O--,U):e,Y&&on(v[0],v[1],Y)&&(U=O<3?e:U,O=1),c=Tt(c);++C-1?O[U?c[Y]:Y]:e}}function ag(o){return vs(function(c){var v=c.length,C=v,O=ri.prototype.thru;for(o&&c.reverse();C--;){var U=c[C];if(typeof U!="function")throw new En(i);if(O&&!Y&&Xl(U)=="wrapper")var Y=new ri([],!0)}for(C=Y?C:v;++C1&&dt.reverse(),me&&neZ))return!1;var ge=U.get(o),me=U.get(c);if(ge&&me)return ge==c&&me==o;var Ee=-1,$e=!0,ke=v&h?new ja:e;for(U.set(o,c),U.set(c,o);++Ee1?"& ":"")+c[C],c=c.join(v>2?", ":" "),o.replace(Yu,`{ +/* [wrapped with `+c+`] */ +`)}function FS(o){return Je(o)||Ga(o)||!!(Nl&&o&&o[Nl])}function Es(o,c){var v=typeof o;return c=c??X,!!c&&(v=="number"||v!="symbol"&&Do.test(o))&&o>-1&&o%1==0&&o0){if(++c>=L)return arguments[0]}else c=0;return o.apply(e,arguments)}}function Zl(o,c){var v=-1,C=o.length,O=C-1;for(c=c===e?C:c;++v1?o[c-1]:e;return v=typeof v=="function"?(o.pop(),v):e,Rg(o,v)});function Pg(o){var c=k(o);return c.__chain__=!0,c}function k4(o,c){return c(o),o}function Ql(o,c){return c(o)}var L4=vs(function(o){var c=o.length,v=c?o[0]:0,C=this.__wrapped__,O=function(U){return cp(U,o)};return c>1||this.__actions__.length||!(C instanceof ft)||!Es(v)?this.thru(O):(C=C.slice(v,+v+(c?1:0)),C.__actions__.push({func:Ql,args:[O],thisArg:e}),new ri(C,this.__chain__).thru(function(U){return c&&!U.length&&U.push(e),U}))});function U4(){return Pg(this)}function H4(){return new ri(this.value(),this.__chain__)}function j4(){this.__values__===e&&(this.__values__=Gg(this.value()));var o=this.__index__>=this.__values__.length,c=o?e:this.__values__[this.__index__++];return{done:o,value:c}}function M4(){return this}function q4(o){for(var c,v=this;v instanceof Ll;){var C=_g(v);C.__index__=0,C.__values__=e,c?O.__wrapped__=C:c=C;var O=C;v=v.__wrapped__}return O.__wrapped__=o,c}function K4(){var o=this.__wrapped__;if(o instanceof ft){var c=o;return this.__actions__.length&&(c=new ft(this)),c=c.reverse(),c.__actions__.push({func:Ql,args:[kp],thisArg:e}),new ri(c,this.__chain__)}return this.thru(kp)}function V4(){return Y1(this.__wrapped__,this.__actions__)}var G4=Vl(function(o,c,v){mt.call(o,v)?++o[v]:ds(o,v,1)});function z4(o,c,v){var C=Je(o)?Xe:ky;return v&&on(o,c,v)&&(c=e),C(o,qe(c,3))}function Y4(o,c){var v=Je(o)?On:R1;return v(o,qe(c,3))}var W4=sg(Fg),X4=sg(Ig);function J4(o,c){return kr(ef(o,c),1)}function Z4(o,c){return kr(ef(o,c),z)}function Q4(o,c,v){return v=v===e?1:nt(v),kr(ef(o,c),v)}function Tg(o,c){var v=Je(o)?mn:Zs;return v(o,qe(c,3))}function Og(o,c){var v=Je(o)?R:B1;return v(o,qe(c,3))}var eb=Vl(function(o,c,v){mt.call(o,v)?o[v].push(c):ds(o,v,[c])});function tb(o,c,v,C){o=An(o)?o:ru(o),v=v&&!C?nt(v):0;var O=o.length;return v<0&&(v=mr(O+v,0)),af(o)?v<=O&&o.indexOf(c,v)>-1:!!O&&Js(o,c,v)>-1}var rb=ot(function(o,c,v){var C=-1,O=typeof c=="function",U=An(o)?oe(o.length):[];return Zs(o,function(Y){U[++C]=O?nn(c,Y,v):_c(Y,c,v)}),U}),nb=Vl(function(o,c,v){ds(o,v,c)});function ef(o,c){var v=Je(o)?te:k1;return v(o,qe(c,3))}function ib(o,c,v,C){return o==null?[]:(Je(c)||(c=c==null?[]:[c]),v=C?e:v,Je(v)||(v=v==null?[]:[v]),j1(o,c,v))}var sb=Vl(function(o,c,v){o[v?0:1].push(c)},function(){return[[],[]]});function ab(o,c,v){var C=Je(o)?hc:bl,O=arguments.length<3;return C(o,qe(c,4),v,O,Zs)}function ob(o,c,v){var C=Je(o)?y1:bl,O=arguments.length<3;return C(o,qe(c,4),v,O,B1)}function ub(o,c){var v=Je(o)?On:R1;return v(o,nf(qe(c,3)))}function cb(o){var c=Je(o)?F1:tS;return c(o)}function lb(o,c,v){(v?on(o,c,v):c===e)?c=1:c=nt(c);var C=Je(o)?Py:rS;return C(o,c)}function fb(o){var c=Je(o)?Ty:iS;return c(o)}function hb(o){if(o==null)return 0;if(An(o))return af(o)?os(o):o.length;var c=Kr(o);return c==it||c==Pr?o.size:gp(o).length}function pb(o,c,v){var C=Je(o)?Sl:sS;return v&&on(o,c,v)&&(c=e),C(o,qe(c,3))}var db=ot(function(o,c){if(o==null)return[];var v=c.length;return v>1&&on(o,c[0],c[1])?c=[]:v>2&&on(c[0],c[1],c[2])&&(c=[c[0]]),j1(o,kr(c,1),[])}),tf=x||function(){return fr.Date.now()};function gb(o,c){if(typeof c!="function")throw new En(i);return o=nt(o),function(){if(--o<1)return c.apply(this,arguments)}}function Ng(o,c,v){return c=v?e:c,c=o&&c==null?o.length:c,gs(o,D,e,e,e,e,c)}function xg(o,c){var v;if(typeof c!="function")throw new En(i);return o=nt(o),function(){return--o>0&&(v=c.apply(this,arguments)),o<=1&&(c=e),v}}var Up=ot(function(o,c,v){var C=A;if(v.length){var O=xn(v,eu(Up));C|=_}return gs(o,C,c,v,O)}),kg=ot(function(o,c,v){var C=A|g;if(v.length){var O=xn(v,eu(kg));C|=_}return gs(c,C,o,v,O)});function Lg(o,c,v){c=v?e:c;var C=gs(o,w,e,e,e,e,e,c);return C.placeholder=Lg.placeholder,C}function Ug(o,c,v){c=v?e:c;var C=gs(o,y,e,e,e,e,e,c);return C.placeholder=Ug.placeholder,C}function Hg(o,c,v){var C,O,U,Y,Z,ne,ge=0,me=!1,Ee=!1,$e=!0;if(typeof o!="function")throw new En(i);c=ai(c)||0,Wt(v)&&(me=!!v.leading,Ee="maxWait"in v,U=Ee?mr(ai(v.maxWait)||0,c):U,$e="trailing"in v?!!v.trailing:$e);function ke(or){var Ei=C,ys=O;return C=O=e,ge=or,Y=o.apply(ys,Ei),Y}function Ge(or){return ge=or,Z=Bc(lt,c),me?ke(or):Y}function st(or){var Ei=or-ne,ys=or-ge,sm=c-Ei;return Ee?qr(sm,U-ys):sm}function ze(or){var Ei=or-ne,ys=or-ge;return ne===e||Ei>=c||Ei<0||Ee&&ys>=U}function lt(){var or=tf();if(ze(or))return dt(or);Z=Bc(lt,st(or))}function dt(or){return Z=e,$e&&C?ke(or):(C=O=e,Y)}function Hn(){Z!==e&&X1(Z),ge=0,C=ne=O=Z=e}function un(){return Z===e?Y:dt(tf())}function jn(){var or=tf(),Ei=ze(or);if(C=arguments,O=this,ne=or,Ei){if(Z===e)return Ge(ne);if(Ee)return X1(Z),Z=Bc(lt,c),ke(ne)}return Z===e&&(Z=Bc(lt,c)),Y}return jn.cancel=Hn,jn.flush=un,jn}var mb=ot(function(o,c){return D1(o,1,c)}),vb=ot(function(o,c,v){return D1(o,ai(c)||0,v)});function Eb(o){return gs(o,q)}function rf(o,c){if(typeof o!="function"||c!=null&&typeof c!="function")throw new En(i);var v=function(){var C=arguments,O=c?c.apply(this,C):C[0],U=v.cache;if(U.has(O))return U.get(O);var Y=o.apply(this,C);return v.cache=U.set(O,Y)||U,Y};return v.cache=new(rf.Cache||ps),v}rf.Cache=ps;function nf(o){if(typeof o!="function")throw new En(i);return function(){var c=arguments;switch(c.length){case 0:return!o.call(this);case 1:return!o.call(this,c[0]);case 2:return!o.call(this,c[0],c[1]);case 3:return!o.call(this,c[0],c[1],c[2])}return!o.apply(this,c)}}function wb(o){return xg(2,o)}var Ab=aS(function(o,c){c=c.length==1&&Je(c[0])?te(c[0],Mr(qe())):te(kr(c,1),Mr(qe()));var v=c.length;return ot(function(C){for(var O=-1,U=qr(C.length,v);++O=c}),Ga=O1(function(){return arguments}())?O1:function(o){return tr(o)&&mt.call(o,"callee")&&!Ol.call(o,"callee")},Je=oe.isArray,Nb=ml?Mr(ml):qy;function An(o){return o!=null&&sf(o.length)&&!ws(o)}function ar(o){return tr(o)&&An(o)}function xb(o){return o===!0||o===!1||tr(o)&&an(o)==Ht}var ra=Ot||Jp,kb=vl?Mr(vl):Ky;function Lb(o){return tr(o)&&o.nodeType===1&&!Rc(o)}function Ub(o){if(o==null)return!0;if(An(o)&&(Je(o)||typeof o=="string"||typeof o.splice=="function"||ra(o)||tu(o)||Ga(o)))return!o.length;var c=Kr(o);if(c==it||c==Pr)return!o.size;if(Dc(o))return!gp(o).length;for(var v in o)if(mt.call(o,v))return!1;return!0}function Hb(o,c){return Fc(o,c)}function jb(o,c,v){v=typeof v=="function"?v:e;var C=v?v(o,c):e;return C===e?Fc(o,c,e,v):!!C}function jp(o){if(!tr(o))return!1;var c=an(o);return c==Gt||c==ir||typeof o.message=="string"&&typeof o.name=="string"&&!Rc(o)}function Mb(o){return typeof o=="number"&&er(o)}function ws(o){if(!Wt(o))return!1;var c=an(o);return c==at||c==kt||c==Sr||c==Zn}function Mg(o){return typeof o=="number"&&o==nt(o)}function sf(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=X}function Wt(o){var c=typeof o;return o!=null&&(c=="object"||c=="function")}function tr(o){return o!=null&&typeof o=="object"}var qg=El?Mr(El):Gy;function qb(o,c){return o===c||dp(o,c,Rp(c))}function Kb(o,c,v){return v=typeof v=="function"?v:e,dp(o,c,Rp(c),v)}function Vb(o){return Kg(o)&&o!=+o}function Gb(o){if(DS(o))throw new Ye(n);return N1(o)}function zb(o){return o===null}function Yb(o){return o==null}function Kg(o){return typeof o=="number"||tr(o)&&an(o)==bt}function Rc(o){if(!tr(o)||an(o)!=Qe)return!1;var c=zo(o);if(c===null)return!0;var v=mt.call(c,"constructor")&&c.constructor;return typeof v=="function"&&v instanceof v&&Mo.call(v)==np}var Mp=wl?Mr(wl):zy;function Wb(o){return Mg(o)&&o>=-X&&o<=X}var Vg=Al?Mr(Al):Yy;function af(o){return typeof o=="string"||!Je(o)&&tr(o)&&an(o)==cr}function Un(o){return typeof o=="symbol"||tr(o)&&an(o)==Hr}var tu=yl?Mr(yl):Wy;function Xb(o){return o===e}function Jb(o){return tr(o)&&Kr(o)==en}function Zb(o){return tr(o)&&an(o)==Ct}var Qb=Wl(mp),e6=Wl(function(o,c){return o<=c});function Gg(o){if(!o)return[];if(An(o))return af(o)?vn(o):wn(o);if(cs&&o[cs])return Xh(o[cs]());var c=Kr(o),v=c==it?Ec:c==Pr?kn:ru;return v(o)}function As(o){if(!o)return o===0?o:0;if(o=ai(o),o===z||o===-z){var c=o<0?-1:1;return c*ie}return o===o?o:0}function nt(o){var c=As(o),v=c%1;return c===c?v?c-v:c:0}function zg(o){return o?Ma(nt(o),0,we):0}function ai(o){if(typeof o=="number")return o;if(Un(o))return Se;if(Wt(o)){var c=typeof o.valueOf=="function"?o.valueOf():o;o=Wt(c)?c+"":c}if(typeof o!="string")return o===0?o:+o;o=mc(o);var v=tc.test(o);return v||nc.test(o)?Mh(o.slice(2),v?2:8):$o.test(o)?Se:+o}function Yg(o){return Ti(o,yn(o))}function t6(o){return o?Ma(nt(o),-X,X):o===0?o:0}function $t(o){return o==null?"":Ln(o)}var r6=Zo(function(o,c){if(Dc(c)||An(c)){Ti(c,Fr(c),o);return}for(var v in c)mt.call(c,v)&&bc(o,v,c[v])}),Wg=Zo(function(o,c){Ti(c,yn(c),o)}),of=Zo(function(o,c,v,C){Ti(c,yn(c),o,C)}),n6=Zo(function(o,c,v,C){Ti(c,Fr(c),o,C)}),i6=vs(cp);function s6(o,c){var v=Jo(o);return c==null?v:I1(v,c)}var a6=ot(function(o,c){o=Tt(o);var v=-1,C=c.length,O=C>2?c[2]:e;for(O&&on(c[0],c[1],O)&&(C=1);++v1),U}),Ti(o,Dp(o),v),C&&(v=ni(v,f|d|E,vS));for(var O=c.length;O--;)yp(v,c[O]);return v});function C6(o,c){return Jg(o,nf(qe(c)))}var _6=vs(function(o,c){return o==null?{}:Zy(o,c)});function Jg(o,c){if(o==null)return{};var v=te(Dp(o),function(C){return[C]});return c=qe(c),M1(o,v,function(C,O){return c(C,O[0])})}function F6(o,c,v){c=ea(c,o);var C=-1,O=c.length;for(O||(O=1,o=e);++Cc){var C=o;o=c,c=C}if(v||o%1||c%1){var O=b1();return qr(o+O*(c-o+jh("1e-"+((O+"").length-1))),c)}return Ep(o,c)}var k6=Qo(function(o,c,v){return c=c.toLowerCase(),o+(v?em(c):c)});function em(o){return Vp($t(o).toLowerCase())}function tm(o){return o=$t(o),o&&o.replace($i,vc).replace(rn,"")}function L6(o,c,v){o=$t(o),c=Ln(c);var C=o.length;v=v===e?C:Ma(nt(v),0,C);var O=v;return v-=c.length,v>=0&&o.slice(v,O)==c}function U6(o){return o=$t(o),o&&_o.test(o)?o.replace(bo,zh):o}function H6(o){return o=$t(o),o&&Gu.test(o)?o.replace(Gs,"\\$&"):o}var j6=Qo(function(o,c,v){return o+(v?"-":"")+c.toLowerCase()}),M6=Qo(function(o,c,v){return o+(v?" ":"")+c.toLowerCase()}),q6=ig("toLowerCase");function K6(o,c,v){o=$t(o),c=nt(c);var C=c?os(o):0;if(!c||C>=c)return o;var O=(c-C)/2;return Yl(se(O),v)+o+Yl(K(O),v)}function V6(o,c,v){o=$t(o),c=nt(c);var C=c?os(o):0;return c&&C>>0,v?(o=$t(o),o&&(typeof c=="string"||c!=null&&!Mp(c))&&(c=Ln(c),!c&&as(o))?ta(vn(o),0,v):o.split(c,v)):[]}var Z6=Qo(function(o,c,v){return o+(v?" ":"")+Vp(c)});function Q6(o,c,v){return o=$t(o),v=v==null?0:Ma(nt(v),0,o.length),c=Ln(c),o.slice(v,v+c.length)==c}function eC(o,c,v){var C=k.templateSettings;v&&on(o,c,v)&&(c=e),o=$t(o),c=of({},c,C,fg);var O=of({},c.imports,C.imports,fg),U=Fr(O),Y=La(O,U),Z,ne,ge=0,me=c.interpolate||dn,Ee="__p += '",$e=Ho((c.escape||dn).source+"|"+me.source+"|"+(me===Io?ec:dn).source+"|"+(c.evaluate||dn).source+"|$","g"),ke="//# sourceURL="+(mt.call(c,"sourceURL")?(c.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++xh+"]")+` +`;o.replace($e,function(ze,lt,dt,Hn,un,jn){return dt||(dt=Hn),Ee+=o.slice(ge,jn).replace(ic,Il),lt&&(Z=!0,Ee+=`' + +__e(`+lt+`) + +'`),un&&(ne=!0,Ee+=`'; +`+un+`; +__p += '`),dt&&(Ee+=`' + +((__t = (`+dt+`)) == null ? '' : __t) + +'`),ge=jn+ze.length,ze}),Ee+=`'; +`;var Ge=mt.call(c,"variable")&&c.variable;if(!Ge)Ee=`with (obj) { +`+Ee+` +} +`;else if(Zu.test(Ge))throw new Ye(a);Ee=(ne?Ee.replace(ns,""):Ee).replace(Ao,"$1").replace(yo,"$1;"),Ee="function("+(Ge||"obj")+`) { +`+(Ge?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(Z?", __e = _.escape":"")+(ne?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Ee+`return __p +}`;var st=nm(function(){return pt(U,ke+"return "+Ee).apply(e,Y)});if(st.source=Ee,jp(st))throw st;return st}function tC(o){return $t(o).toLowerCase()}function rC(o){return $t(o).toUpperCase()}function nC(o,c,v){if(o=$t(o),o&&(v||c===e))return mc(o);if(!o||!(c=Ln(c)))return o;var C=vn(o),O=vn(c),U=ko(C,O),Y=_l(C,O)+1;return ta(C,U,Y).join("")}function iC(o,c,v){if(o=$t(o),o&&(v||c===e))return o.slice(0,Uo(o)+1);if(!o||!(c=Ln(c)))return o;var C=vn(o),O=_l(C,vn(c))+1;return ta(C,0,O).join("")}function sC(o,c,v){if(o=$t(o),o&&(v||c===e))return o.replace($a,"");if(!o||!(c=Ln(c)))return o;var C=vn(o),O=ko(C,vn(c));return ta(C,O).join("")}function aC(o,c){var v=F,C=P;if(Wt(c)){var O="separator"in c?c.separator:O;v="length"in c?nt(c.length):v,C="omission"in c?Ln(c.omission):C}o=$t(o);var U=o.length;if(as(o)){var Y=vn(o);U=Y.length}if(v>=U)return o;var Z=v-os(C);if(Z<1)return C;var ne=Y?ta(Y,0,Z).join(""):o.slice(0,Z);if(O===e)return ne+C;if(Y&&(Z+=ne.length-Z),Mp(O)){if(o.slice(Z).search(O)){var ge,me=ne;for(O.global||(O=Ho(O.source,$t(Ii.exec(O))+"g")),O.lastIndex=0;ge=O.exec(me);)var Ee=ge.index;ne=ne.slice(0,Ee===e?Z:Ee)}}else if(o.indexOf(Ln(O),Z)!=Z){var $e=ne.lastIndexOf(O);$e>-1&&(ne=ne.slice(0,$e))}return ne+C}function oC(o){return o=$t(o),o&&Co.test(o)?o.replace(So,Dl):o}var uC=Qo(function(o,c,v){return o+(v?" ":"")+c.toUpperCase()}),Vp=ig("toUpperCase");function rm(o,c,v){return o=$t(o),c=v?e:c,c===e?Wh(o)?Qh(o):pc(o):o.match(c)||[]}var nm=ot(function(o,c){try{return nn(o,e,c)}catch(v){return jp(v)?v:new Ye(v)}}),cC=vs(function(o,c){return mn(c,function(v){v=Oi(v),ds(o,v,Up(o[v],o))}),o});function lC(o){var c=o==null?0:o.length,v=qe();return o=c?te(o,function(C){if(typeof C[1]!="function")throw new En(i);return[v(C[0]),C[1]]}):[],ot(function(C){for(var O=-1;++OX)return[];var v=we,C=qr(o,we);c=qe(c),o-=we;for(var O=gc(C,c);++v0||c<0)?new ft(v):(o<0?v=v.takeRight(-o):o&&(v=v.drop(o)),c!==e&&(c=nt(c),v=c<0?v.dropRight(-c):v.take(c-o)),v)},ft.prototype.takeRightWhile=function(o){return this.reverse().takeWhile(o).reverse()},ft.prototype.toArray=function(){return this.take(we)},Pi(ft.prototype,function(o,c){var v=/^(?:filter|find|map|reject)|While$/.test(c),C=/^(?:head|last)$/.test(c),O=k[C?"take"+(c=="last"?"Right":""):c],U=C||/^find/.test(c);O&&(k.prototype[c]=function(){var Y=this.__wrapped__,Z=C?[1]:arguments,ne=Y instanceof ft,ge=Z[0],me=ne||Je(Y),Ee=function(lt){var dt=O.apply(k,Nn([lt],Z));return C&&$e?dt[0]:dt};me&&v&&typeof ge=="function"&&ge.length!=1&&(ne=me=!1);var $e=this.__chain__,ke=!!this.__actions__.length,Ge=U&&!$e,st=ne&&!ke;if(!U&&me){Y=st?Y:new ft(this);var ze=o.apply(Y,Z);return ze.__actions__.push({func:Ql,args:[Ee],thisArg:e}),new ri(ze,$e)}return Ge&&st?o.apply(this,Z):(ze=this.thru(Ee),Ge?C?ze.value()[0]:ze.value():ze)})}),mn(["pop","push","shift","sort","splice","unshift"],function(o){var c=jo[o],v=/^(?:push|sort|unshift)$/.test(o)?"tap":"thru",C=/^(?:pop|shift)$/.test(o);k.prototype[o]=function(){var O=arguments;if(C&&!this.__chain__){var U=this.value();return c.apply(Je(U)?U:[],O)}return this[v](function(Y){return c.apply(Je(Y)?Y:[],O)})}}),Pi(ft.prototype,function(o,c){var v=k[c];if(v){var C=v.name+"";mt.call(Xo,C)||(Xo[C]=[]),Xo[C].push({name:c,func:v})}}),Xo[Gl(e,g).name]=[{name:"wrapper",func:e}],ft.prototype.clone=oy,ft.prototype.reverse=uy,ft.prototype.value=cy,k.prototype.at=L4,k.prototype.chain=U4,k.prototype.commit=H4,k.prototype.next=j4,k.prototype.plant=q4,k.prototype.reverse=K4,k.prototype.toJSON=k.prototype.valueOf=k.prototype.value=V4,k.prototype.first=k.prototype.head,cs&&(k.prototype[cs]=M4),k},ti=ep();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(fr._=ti,define(function(){return ti})):is?((is.exports=ti)._=ti,lc._=ti):fr._=ti}).call(Ou)});var vh=ye((ax,sw)=>{"use strict";var W9=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},F0=class e extends Error{constructor(t,r,n){super(t),W9(this,e.prototype),this.name="GrammarError",this.location=r,n===void 0&&(n=[]),this.diagnostics=n,this.stage=null,this.problems=[["error",t,r,n]]}toString(){let t=super.toString();this.location&&(t+=` + at `,this.location.source!==void 0&&this.location.source!==null&&(t+=`${this.location.source}:`),t+=`${this.location.start.line}:${this.location.start.column}`);for(let r of this.diagnostics)t+=` + from `,r.location.source!==void 0&&r.location.source!==null&&(t+=`${r.location.source}:`),t+=`${r.location.start.line}:${r.location.start.column}: ${r.message}`;return t}format(t){let r=t.map(({source:a,text:s})=>({source:a,text:s.split(/\r\n|\n|\r/g)}));function n(a,s,u=""){let l="",f=r.find(({source:E})=>E===a.source),d=a.start;if(f){let E=a.end,p=f.text[d.line-1],A=(d.line===E.line?E.column:p.length+1)-d.column||1;u&&(l+=` +note: ${u}`),l+=` + --> ${a.source}:${d.line}:${d.column} +${"".padEnd(s)} | +${d.line.toString().padStart(s)} | ${p} +${"".padEnd(s)} | ${"".padEnd(d.column-1)}${"".padEnd(A,"^")}`}else l+=` + at ${a.source}:${d.line}:${d.column}`,u&&(l+=`: ${u}`);return l}function i(a,s,u,l=[]){let f;u?f=l.reduce((E,{location:p})=>Math.max(E,p.start.line),u.start.line):f=Math.max.apply(null,l.map(E=>E.location.start.line)),f=f.toString().length;let d=`${a}: ${s}`;u&&(d+=n(u,f));for(let E of l)d+=n(E.location,f,E.message);return d}return this.problems.filter(a=>a[0]!=="info").map(a=>i(...a)).join(` + +`)}};sw.exports=F0});var hi=ye((ox,aw)=>{"use strict";var X9={build(e){function t(s,...u){return e[s.type](s,...u)}function r(){}function n(s,...u){return t(s.expression,...u)}function i(s){return function(u,...l){u[s].forEach(f=>t(f,...l))}}let a={grammar(s,...u){s.topLevelInitializer&&t(s.topLevelInitializer,...u),s.initializer&&t(s.initializer,...u),s.rules.forEach(l=>t(l,...u))},top_level_initializer:r,initializer:r,rule:n,named:n,choice:i("alternatives"),action:n,sequence:i("elements"),labeled:n,text:n,simple_and:n,simple_not:n,optional:n,zero_or_more:n,one_or_more:n,group:n,semantic_and:r,semantic_not:r,rule_ref:r,literal:r,class:r,any:r};return Object.keys(a).forEach(s=>{Object.prototype.hasOwnProperty.call(e,s)||(e[s]=a[s])}),t}};aw.exports=X9});var Ea=ye((ux,uw)=>{"use strict";var J9=hi(),ow={findRule(e,t){for(let r=0;r{"use strict";var Z9={PUSH:0,PUSH_EMPTY_STRING:35,PUSH_UNDEFINED:1,PUSH_NULL:2,PUSH_FAILED:3,PUSH_EMPTY_ARRAY:4,PUSH_CURR_POS:5,POP:6,POP_CURR_POS:7,POP_N:8,NIP:9,APPEND:10,WRAP:11,TEXT:12,PLUCK:36,IF:13,IF_ERROR:14,IF_NOT_ERROR:15,WHILE_NOT_ERROR:16,MATCH_ANY:17,MATCH_STRING:18,MATCH_STRING_IC:19,MATCH_CHAR_CLASS:20,MATCH_REGEXP:20,ACCEPT_N:21,ACCEPT_STRING:22,FAIL:23,LOAD_SAVED_POS:24,UPDATE_SAVED_POS:25,CALL:26,RULE:27,SILENT_FAILS_ON:28,SILENT_FAILS_OFF:29};cw.exports=Z9});var $0=ye((lx,lw)=>{"use strict";var Q9=hi(),eB=Ea(),tB=vh(),ol=1,Eo=0,ul=-1;function Eh(e){function t(s){return s.match=Eo}function r(s){return a(s.expression),s.match=ol}function n(s){return s.match=a(s.expression)}function i(s,u){let l=s.length,f=0,d=0;for(let E=0;E0?ul:Eo}let a=Q9.build({rule(s){let u,l=0;if(typeof s.match>"u"){s.match=Eo;do if(u=s.match,s.match=a(s.expression),++l>6)throw new tB("Infinity cycle detected when trying to evaluate node match result",s.location);while(u!==s.match)}return s.match},named:n,choice(s){return s.match=i(s.alternatives,!0)},action:n,sequence(s){return s.match=i(s.elements,!1)},labeled:n,text:n,simple_and:n,simple_not(s){return s.match=-a(s.expression)},optional:r,zero_or_more:r,one_or_more:n,group:n,semantic_and:t,semantic_not:t,rule_ref(s){let u=eB.findRule(e,s.name);return s.match=a(u)},literal(s){let u=s.value.length===0?ol:Eo;return s.match=u},class(s){let u=s.parts.length===0?ul:Eo;return s.match=u},any:t});a(e)}Eh.ALWAYS_MATCH=ol;Eh.SOMETIMES_MATCH=Eo;Eh.NEVER_MATCH=ul;lw.exports=Eh});var hw=ye((fx,fw)=>{"use strict";var rB=Ea(),Be=I0(),nB=hi(),{ALWAYS_MATCH:ku,SOMETIMES_MATCH:D0,NEVER_MATCH:B0}=$0();function iB(e){let t=[],r=[],n=[],i=[];function a(y){let _=t.indexOf(y);return _===-1?t.push(y)-1:_}function s(y){let _={value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase},B=JSON.stringify(_),D=r.findIndex(M=>JSON.stringify(M)===B);return D===-1?r.push(_)-1:D}function u(y){let _=JSON.stringify(y),B=n.findIndex(D=>JSON.stringify(D)===_);return B===-1?n.push(y)-1:B}function l(y,_,B){let D={predicate:y,params:_,body:B.code,location:B.codeLocation},M=JSON.stringify(D),q=i.findIndex(F=>JSON.stringify(F)===M);return q===-1?i.push(D)-1:q}function f(y){let _={};return Object.keys(y).forEach(B=>{_[B]=y[B]}),_}function d(y,..._){return y.concat(..._)}function E(y,_,B,D){return y===ku?B:y===B0?D:_.concat([B.length,D.length],B,D)}function p(y,_){return y.concat([_.length],_)}function h(y,_,B,D){let M=Object.keys(B).map(q=>D-B[q]);return[Be.CALL,y,_,M.length].concat(M)}function A(y,_,B){let D=y.match|0;return d([Be.PUSH_CURR_POS],[Be.SILENT_FAILS_ON],w(y,{sp:B.sp+1,env:f(B.env),action:null}),[Be.SILENT_FAILS_OFF],E(_?-D:D,[_?Be.IF_ERROR:Be.IF_NOT_ERROR],d([Be.POP],[_?Be.POP:Be.POP_CURR_POS],[Be.PUSH_UNDEFINED]),d([Be.POP],[_?Be.POP_CURR_POS:Be.POP],[Be.PUSH_FAILED])))}function g(y,_,B){let D=l(!0,Object.keys(B.env),y);return d([Be.UPDATE_SAVED_POS],h(D,0,B.env,B.sp),E(y.match|0,[Be.IF],d([Be.POP],_?[Be.PUSH_FAILED]:[Be.PUSH_UNDEFINED]),d([Be.POP],_?[Be.PUSH_UNDEFINED]:[Be.PUSH_FAILED])))}function S(y){return p([Be.WHILE_NOT_ERROR],d([Be.APPEND],y))}let w=nB.build({grammar(y){y.rules.forEach(w),y.literals=t,y.classes=r,y.expectations=n,y.functions=i},rule(y){y.bytecode=w(y.expression,{sp:-1,env:{},pluck:[],action:null})},named(y,_){let B=y.match|0,D=B===B0?null:u({type:"rule",value:y.name});return d([Be.SILENT_FAILS_ON],w(y.expression,_),[Be.SILENT_FAILS_OFF],E(B,[Be.IF_ERROR],[Be.FAIL,D],[]))},choice(y,_){function B(D,M){let q=D[0].match|0,F=w(D[0],{sp:M.sp,env:f(M.env),action:null});return q===ku?F:d(F,D.length>1?E(D0,[Be.IF_ERROR],d([Be.POP],B(D.slice(1),M)),[]):[])}return B(y.alternatives,_)},action(y,_){let B=f(_.env),D=y.expression.type!=="sequence"||y.expression.elements.length===0,M=w(y.expression,{sp:_.sp+(D?1:0),env:B,action:y}),q=y.expression.match|0,F=D&&q!==B0?l(!1,Object.keys(B),y):null;return D?d([Be.PUSH_CURR_POS],M,E(q,[Be.IF_NOT_ERROR],d([Be.LOAD_SAVED_POS,1],h(F,1,B,_.sp+2)),[]),[Be.NIP]):M},sequence(y,_){function B(D,M){if(D.length>0){let q=y.elements.length-D.length+1;return d(w(D[0],{sp:M.sp,env:M.env,pluck:M.pluck,action:null}),E(D[0].match|0,[Be.IF_NOT_ERROR],B(D.slice(1),{sp:M.sp+1,env:M.env,pluck:M.pluck,action:M.action}),d(q>1?[Be.POP_N,q]:[Be.POP],[Be.POP_CURR_POS],[Be.PUSH_FAILED])))}else{if(M.pluck.length>0)return d([Be.PLUCK,y.elements.length+1,M.pluck.length],M.pluck.map(q=>M.sp-q));if(M.action){let q=l(!1,Object.keys(M.env),M.action);return d([Be.LOAD_SAVED_POS,y.elements.length],h(q,y.elements.length+1,M.env,M.sp))}else return d([Be.WRAP,y.elements.length],[Be.NIP])}}return d([Be.PUSH_CURR_POS],B(y.elements,{sp:_.sp+1,env:_.env,pluck:[],action:_.action}))},labeled(y,_){let B=_.env,D=y.label,M=_.sp+1;return D&&(B=f(_.env),_.env[y.label]=M),y.pick&&_.pluck.push(M),w(y.expression,{sp:_.sp,env:B,action:null})},text(y,_){return d([Be.PUSH_CURR_POS],w(y.expression,{sp:_.sp+1,env:f(_.env),action:null}),E(y.match|0,[Be.IF_NOT_ERROR],d([Be.POP],[Be.TEXT]),[Be.NIP]))},simple_and(y,_){return A(y.expression,!1,_)},simple_not(y,_){return A(y.expression,!0,_)},optional(y,_){return d(w(y.expression,{sp:_.sp,env:f(_.env),action:null}),E(-(y.expression.match|0),[Be.IF_ERROR],d([Be.POP],[Be.PUSH_NULL]),[]))},zero_or_more(y,_){let B=w(y.expression,{sp:_.sp+1,env:f(_.env),action:null});return d([Be.PUSH_EMPTY_ARRAY],B,S(B),[Be.POP])},one_or_more(y,_){let B=w(y.expression,{sp:_.sp+1,env:f(_.env),action:null});return d([Be.PUSH_EMPTY_ARRAY],B,E(y.expression.match|0,[Be.IF_NOT_ERROR],d(S(B),[Be.POP]),d([Be.POP],[Be.POP],[Be.PUSH_FAILED])))},group(y,_){return w(y.expression,{sp:_.sp,env:f(_.env),action:null})},semantic_and(y,_){return g(y,!1,_)},semantic_not(y,_){return g(y,!0,_)},rule_ref(y){return[Be.RULE,rB.indexOfRule(e,y.name)]},literal(y){if(y.value.length>0){let _=y.match|0,D=_===D0||_===ku&&!y.ignoreCase?a(y.ignoreCase?y.value.toLowerCase():y.value):null,M=_!==ku?u({type:"literal",value:y.value,ignoreCase:y.ignoreCase}):null;return E(_,y.ignoreCase?[Be.MATCH_STRING_IC,D]:[Be.MATCH_STRING,D],y.ignoreCase?[Be.ACCEPT_N,y.value.length]:[Be.ACCEPT_STRING,D],[Be.FAIL,M])}return[Be.PUSH_EMPTY_STRING]},class(y){let _=y.match|0,B=_===D0?s(y):null,D=_!==ku?u({type:"class",value:y.parts,inverted:y.inverted,ignoreCase:y.ignoreCase}):null;return E(_,[Be.MATCH_CHAR_CLASS,B],[Be.ACCEPT_N,1],[Be.FAIL,D])},any(y){let _=y.match|0,B=_!==ku?u({type:"any"}):null;return E(_,[Be.MATCH_ANY],[Be.ACCEPT_N,1],[Be.FAIL,B])}});w(e)}fw.exports=iB});var dw=ye((hx,pw)=>{"use strict";var R0=class{constructor(t,r,n){this.sp=-1,this.maxSp=-1,this.varName=r,this.ruleName=t,this.type=n}name(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack underflow: attempt to use a variable '${this.varName}' at an index ${t}`);return this.varName+t}push(t){let r=this.name(++this.sp)+" = "+t+";";return this.sp>this.maxSp&&(this.maxSp=this.sp),r}pop(t){return t!==void 0?(this.sp-=t,Array.from({length:t},(r,n)=>this.name(this.sp+1+n))):this.name(this.sp--)}top(){return this.name(this.sp)}index(t){if(t<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack overflow: attempt to get a variable at a negative index ${t}`);return this.name(this.sp-t)}result(){if(this.maxSp<0)throw new RangeError(`Rule '${this.ruleName}': The variable stack is empty, can't get the result'`);return this.name(0)}defines(){return this.maxSp<0?"":this.type+" "+Array.from({length:this.maxSp+1},(t,r)=>this.name(r)).join(", ")+";"}checkedIf(t,r,n){let i=this.sp;if(r(),n){let a=this.sp;if(this.sp=i,n(),a!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Branches of a condition can't move the stack pointer differently (before: "+i+", after then: "+a+", after else: "+this.sp+").")}}checkedLoop(t,r){let n=this.sp;if(r(),n!==this.sp)throw new Error("Rule '"+this.ruleName+"', position "+t+": Body of a loop can't move the stack pointer (before: "+n+", after: "+this.sp+").")}};pw.exports=R0});var P0=ye((px,gw)=>{"use strict";gw.exports="2.0.1"});var mw=ye(wh=>{"use strict";function Ms(e){return e.charCodeAt(0).toString(16).toUpperCase()}wh.hex=Ms;function sB(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ms(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ms(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ms(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ms(t))}wh.stringEscape=sB;function aB(e){return e.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\v/g,"\\v").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+Ms(t)).replace(/[\x10-\x1F\x7F-\xFF]/g,t=>"\\x"+Ms(t)).replace(/[\u0100-\u0FFF]/g,t=>"\\u0"+Ms(t)).replace(/[\u1000-\uFFFF]/g,t=>"\\u"+Ms(t))}wh.regexpClassEscape=aB});var ww=ye(Ew=>{var vw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Ew.encode=function(e){if(0<=e&&e{var oB=ww(),Aw=5,yw=1<>>=Aw,i>0&&(n|=cB),r+=oB.encode(n);while(i>0);return r}});var yh=ye(Aa=>{function fB(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Aa.getArg=fB;var _w=function(){return!("__proto__"in Object.create(null))}();function Fw(e){return e}function hB(e){return Iw(e)?"$"+e:e}Aa.toSetString=_w?Fw:hB;function pB(e){return Iw(e)?e.slice(1):e}Aa.fromSetString=_w?Fw:pB;function Iw(e){if(!e)return!1;let t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(let r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Cw(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function dB(e,t){let r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Cw(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Cw(e.name,t.name)}Aa.compareByGeneratedPositionsInflated=dB;var T0="http:",cl=`${T0}//host`;function $w(e){return t=>{let r=ll(t),n=O0(t),i=new URL(t,n);e(i);let a=i.toString();return r==="absolute"?a:r==="scheme-relative"?a.slice(T0.length):r==="path-absolute"?a.slice(cl.length):N0(n,a)}}function wa(e,t){return new URL(e,t).toString()}function gB(e,t){let r=0;do{let n=e+r++;if(t.indexOf(n)===-1)return n}while(!0)}function O0(e){let t=e.split("..").length-1,r=gB("p",e),n=`${cl}/`;for(let i=0;i0&&!n[n.length-1]&&n.pop();r.length>0&&n.length>0&&r[0]===n[0];)r.shift(),n.shift();return n.map(()=>"..").concat(r).join("/")+t.search+t.hash}var vB=$w(e=>{e.pathname=e.pathname.replace(/\/?$/,"/")}),Ah=$w(e=>{});Aa.normalize=Ah;function EB(e,t){let r=ll(t),n=ll(e);if(e=vB(e),r==="absolute")return wa(t,void 0);if(n==="absolute")return wa(t,e);if(r==="scheme-relative")return Ah(t);if(n==="scheme-relative")return wa(t,wa(e,cl)).slice(T0.length);if(r==="path-absolute")return Ah(t);if(n==="path-absolute")return wa(t,wa(e,cl)).slice(cl.length);let i=O0(t+e),a=wa(t,wa(e,i));return N0(i,a)}Aa.join=EB;function wB(e,t){let r=AB(e,t);return typeof r=="string"?r:Ah(t)}Aa.relative=wB;function AB(e,t){if(ll(e)!==ll(t))return null;let n=O0(e+t),i=new URL(e,n),a=new URL(t,n);try{new URL("",a.toString())}catch{return null}return a.protocol!==i.protocol||a.user!==i.user||a.password!==i.password||a.hostname!==i.hostname||a.port!==i.port?null:N0(i,a)}});var Bw=ye(Dw=>{var x0=class e{constructor(){this._array=[],this._set=new Map}static fromArray(t,r){let n=new e;for(let i=0,a=t.length;i=0)return r;throw new Error('"'+t+'" is not in the set.')}at(t){if(t>=0&&t{var Rw=yh();function yB(e,t){let r=e.generatedLine,n=t.generatedLine,i=e.generatedColumn,a=t.generatedColumn;return n>r||n==r&&a>=i||Rw.compareByGeneratedPositionsInflated(e,t)<=0}var k0=class{constructor(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}unsortedForEach(t,r){this._array.forEach(t,r)}add(t){yB(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))}toArray(){return this._sorted||(this._array.sort(Rw.compareByGeneratedPositionsInflated),this._sorted=!0),this._array}};Pw.MappingList=k0});var L0=ye(Ow=>{var fl=bw(),gr=yh(),Sh=Bw().ArraySet,SB=Tw().MappingList,bh=class e{constructor(t){t||(t={}),this._file=gr.getArg(t,"file",null),this._sourceRoot=gr.getArg(t,"sourceRoot",null),this._skipValidation=gr.getArg(t,"skipValidation",!1),this._sources=new Sh,this._names=new Sh,this._mappings=new SB,this._sourcesContents=null}static fromSourceMap(t){let r=t.sourceRoot,n=new e({file:t.file,sourceRoot:r});return t.eachMapping(function(i){let a={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(a.source=i.source,r!=null&&(a.source=gr.relative(r,a.source)),a.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(a.name=i.name)),n.addMapping(a)}),t.sources.forEach(function(i){let a=i;r!=null&&(a=gr.relative(r,i)),n._sources.has(a)||n._sources.add(a);let s=t.sourceContentFor(i);s!=null&&n.setSourceContent(i,s)}),n}addMapping(t){let r=gr.getArg(t,"generated"),n=gr.getArg(t,"original",null),i=gr.getArg(t,"source",null),a=gr.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,i,a),i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n&&n.line,originalColumn:n&&n.column,source:i,name:a})}setSourceContent(t,r){let n=t;this._sourceRoot!=null&&(n=gr.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[gr.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[gr.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))}applySourceMap(t,r,n){let i=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);i=t.file}let a=this._sourceRoot;a!=null&&(i=gr.relative(a,i));let s=this._mappings.toArray().length>0?new Sh:this._sources,u=new Sh;this._mappings.unsortedForEach(function(l){if(l.source===i&&l.originalLine!=null){let E=t.originalPositionFor({line:l.originalLine,column:l.originalColumn});E.source!=null&&(l.source=E.source,n!=null&&(l.source=gr.join(n,l.source)),a!=null&&(l.source=gr.relative(a,l.source)),l.originalLine=E.line,l.originalColumn=E.column,E.name!=null&&(l.name=E.name))}let f=l.source;f!=null&&!s.has(f)&&s.add(f);let d=l.name;d!=null&&!u.has(d)&&u.add(d)},this),this._sources=s,this._names=u,t.sources.forEach(function(l){let f=t.sourceContentFor(l);f!=null&&(n!=null&&(l=gr.join(n,l)),a!=null&&(l=gr.relative(a,l)),this.setSourceContent(l,f))},this)}_validateMapping(t,r,n,i){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!i)){if(!(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:i}))}}_serializeMappings(){let t=0,r=1,n=0,i=0,a=0,s=0,u="",l,f,d,E,p=this._mappings.toArray();for(let h=0,A=p.length;h0){if(!gr.compareByGeneratedPositionsInflated(f,p[h-1]))continue;l+=","}l+=fl.encode(f.generatedColumn-t),t=f.generatedColumn,f.source!=null&&(E=this._sources.indexOf(f.source),l+=fl.encode(E-s),s=E,l+=fl.encode(f.originalLine-1-i),i=f.originalLine-1,l+=fl.encode(f.originalColumn-n),n=f.originalColumn,f.name!=null&&(d=this._names.indexOf(f.name),l+=fl.encode(d-a),a=d)),u+=l}return u}_generateSourcesContent(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=gr.relative(r,n));let i=gr.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)}toJSON(){let t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t}toString(){return JSON.stringify(this.toJSON())}};bh.prototype._version=3;Ow.SourceMapGenerator=bh});var xw=ye(Nw=>{var bB=L0().SourceMapGenerator,Ch=yh(),CB=/(\r?\n)/,_B=10,Lu="$$$isSourceNode$$$",U0=class e{constructor(t,r,n,i,a){this.children=[],this.sourceContents={},this.line=t??null,this.column=r??null,this.source=n??null,this.name=a??null,this[Lu]=!0,i!=null&&this.add(i)}static fromStringWithSourceMap(t,r,n){let i=new e,a=t.split(CB),s=0,u=function(){let h=g(),A=g()||"";return h+A;function g(){return s=0;r--)this.prepend(t[r]);else if(t[Lu]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this}walk(t){let r;for(let n=0,i=this.children.length;n0){for(r=[],n=0;n{H0.SourceMapGenerator=L0().SourceMapGenerator;H0.SourceNode=xw().SourceNode});var jw=ye((bx,Hw)=>{"use strict";var FB=Ea(),It=I0(),IB=dw(),$B=P0(),{stringEscape:Xn,regexpClassEscape:j0}=mw(),{SourceNode:pi}=kw();function Uw(e,t,r){let n=t.start.line,i=t.start.column-1,a=e.split(` +`);return a.length===1?new pi(n,i,t.source,e,r):new pi(null,null,t.source,a.map((s,u)=>new pi(n+u,u===0?i:0,t.source,u===a.length-1?s:[s,` +`],r)))}function Lw(e,t,r,n,i){return r?new pi(null,null,r.source,[e,Uw(t,r,i),new pi(r.end.line,r.end.column-1,r.source,n)]):new pi(null,null,null,[e,t,n])}function DB(e,t){function r(g){return g instanceof pi?g:g.replace(/^(.+)$/gm," $1")}function n(g){return"peg$c"+g}function i(g){return"peg$r"+g}function a(g){return"peg$e"+g}function s(g){return"peg$f"+g}function u(g){return"peg$parse"+g}function l(){function g(_){return'"'+Xn(_)+'"'}function S(_){return"/^["+(_.inverted?"^":"")+_.value.map(B=>Array.isArray(B)?j0(B[0])+"-"+j0(B[1]):j0(B)).join("")+"]/"+(_.ignoreCase?"i":"")}function w(_){switch(_.type){case"rule":return'peg$otherExpectation("'+Xn(_.value)+'")';case"literal":return'peg$literalExpectation("'+Xn(_.value)+'", '+_.ignoreCase+")";case"class":return"peg$classExpectation(["+_.value.map(D=>Array.isArray(D)?'["'+Xn(D[0])+'", "'+Xn(D[1])+'"]':'"'+Xn(D)+'"').join(", ")+"], "+_.inverted+", "+_.ignoreCase+")";case"any":return"peg$anyExpectation()";default:throw new Error("Unknown expectation type ("+JSON.stringify(_)+")")}}function y(_,B){return Lw(` + var ${s(B)} = function(${_.params.join(", ")}) {`,_.body,_.location,"};")}return new pi(null,null,t.grammarSource,[e.literals.map((_,B)=>" var "+n(B)+" = "+g(_)+";").concat("",e.classes.map((_,B)=>" var "+i(B)+" = "+S(_)+";")).concat("",e.expectations.map((_,B)=>" var "+a(B)+" = "+w(_)+";")).concat("").join(` +`),e.functions.map(y)])}function f(g,S){let w=[];return w.push(""),t.trace&&w.push("peg$tracer.trace({",' type: "rule.enter",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)","});",""),t.cache&&(w.push("var key = peg$currPos * "+e.rules.length+" + "+S+";","var cached = peg$resultsCache[key];","","if (cached) {"," peg$currPos = cached.nextPos;",""),t.trace&&w.push("if (cached.result !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+g+","," result: cached.result,"," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)"," });","}",""),w.push(" return cached.result;","}","")),w}function d(g,S){let w=[];return t.cache&&w.push("","peg$resultsCache[key] = { nextPos: peg$currPos, result: "+S+" };"),t.trace&&w.push("","if ("+S+" !== peg$FAILED) {"," peg$tracer.trace({",' type: "rule.match",'," rule: "+g+","," result: "+S+","," location: peg$computeLocation(startPos, peg$currPos)"," });","} else {"," peg$tracer.trace({",' type: "rule.fail",'," rule: "+g+","," location: peg$computeLocation(startPos, startPos)"," });","}"),w.push("","return "+S+";"),w}function E(g){let S=[],w=new IB(g.name,"s","var");function y(B){let D=0,M=B.length,q=[],F;function P(V,W){let G=W+3,z=B[D+G-2],X=B[D+G-1],ie,Se;w.checkedIf(D,()=>{D+=G,ie=y(B.slice(D,D+z)),D+=z},X>0?()=>{Se=y(B.slice(D,D+X)),D+=X}:null),q.push("if ("+V+") {"),q.push(...ie.map(r)),X>0&&(q.push("} else {"),q.push(...Se.map(r))),q.push("}")}function L(V){let G=B[D+2-1],z;w.checkedLoop(D,()=>{D+=2,z=y(B.slice(D,D+G)),D+=G}),q.push("while ("+V+") {"),q.push(...z.map(r)),q.push("}")}function j(){let W=B[D+4-1],G=s(B[D+1])+"("+B.slice(D+4,D+4+W).map(z=>w.index(z)).join(", ")+")";w.pop(B[D+2]),q.push(w.push(G)),D+=4+W}for(;Dw.index(z)).join(", ")} ]`,w.pop(B[D+1]),q.push(w.push(F)),D+=G;break}case It.IF:P(w.top(),0);break;case It.IF_ERROR:P(w.top()+" === peg$FAILED",0);break;case It.IF_NOT_ERROR:P(w.top()+" !== peg$FAILED",0);break;case It.WHILE_NOT_ERROR:L(w.top()+" !== peg$FAILED");break;case It.MATCH_ANY:P("input.length > peg$currPos",0);break;case It.MATCH_STRING:P(e.literals[B[D+1]].length>1?"input.substr(peg$currPos, "+e.literals[B[D+1]].length+") === "+n(B[D+1]):"input.charCodeAt(peg$currPos) === "+e.literals[B[D+1]].charCodeAt(0),1);break;case It.MATCH_STRING_IC:P("input.substr(peg$currPos, "+e.literals[B[D+1]].length+").toLowerCase() === "+n(B[D+1]),1);break;case It.MATCH_CHAR_CLASS:P(i(B[D+1])+".test(input.charAt(peg$currPos))",1);break;case It.ACCEPT_N:q.push(w.push(B[D+1]>1?"input.substr(peg$currPos, "+B[D+1]+")":"input.charAt(peg$currPos)")),q.push(B[D+1]>1?"peg$currPos += "+B[D+1]+";":"peg$currPos++;"),D+=2;break;case It.ACCEPT_STRING:q.push(w.push(n(B[D+1]))),q.push(e.literals[B[D+1]].length>1?"peg$currPos += "+e.literals[B[D+1]].length+";":"peg$currPos++;"),D+=2;break;case It.FAIL:q.push(w.push("peg$FAILED")),q.push("if (peg$silentFails === 0) { peg$fail("+a(B[D+1])+"); }"),D+=2;break;case It.LOAD_SAVED_POS:q.push("peg$savedPos = "+w.index(B[D+1])+";"),D+=2;break;case It.UPDATE_SAVED_POS:q.push("peg$savedPos = peg$currPos;"),D++;break;case It.CALL:j();break;case It.RULE:q.push(w.push(u(e.rules[B[D+1]].name)+"()")),D+=2;break;case It.SILENT_FAILS_ON:q.push("peg$silentFails++;"),D++;break;case It.SILENT_FAILS_OFF:q.push("peg$silentFails--;"),D++;break;default:throw new Error("Invalid opcode: "+B[D]+".")}return q}let _=y(g.bytecode);return S.push(Lw(" function ",u(g.name),g.nameLocation,`() { +`,g.name)),t.trace&&S.push(" var startPos = peg$currPos;"),S.push(r(w.defines())),S.push(...f('"'+Xn(g.name)+'"',FB.indexOfRule(e,g.name)).map(r)),S.push(..._.map(r)),S.push(...d('"'+Xn(g.name)+'"',w.result()).map(r)),S.push("}"),S}function p(g){return g.codeLocation?Uw(g.code,g.codeLocation,"$"+g.type):g.code}function h(){let g=[];e.topLevelInitializer&&(g.push(p(e.topLevelInitializer)),g.push("")),g.push("function peg$subclass(child, parent) {"," function C() { this.constructor = child; }"," C.prototype = parent.prototype;"," child.prototype = new C();","}","","function peg$SyntaxError(message, expected, found, location) {"," var self = Error.call(this, message);"," // istanbul ignore next Check is a necessary evil to support older environments"," if (Object.setPrototypeOf) {"," Object.setPrototypeOf(self, peg$SyntaxError.prototype);"," }"," self.expected = expected;"," self.found = found;"," self.location = location;",' self.name = "SyntaxError";'," return self;","}","","peg$subclass(peg$SyntaxError, Error);","","function peg$padEnd(str, targetLength, padString) {",' padString = padString || " ";'," if (str.length > targetLength) { return str; }"," targetLength -= str.length;"," padString += padString.repeat(targetLength);"," return str + padString.slice(0, targetLength);","}","","peg$SyntaxError.prototype.format = function(sources) {",' var str = "Error: " + this.message;'," if (this.location) {"," var src = null;"," var k;"," for (k = 0; k < sources.length; k++) {"," if (sources[k].source === this.location.source) {"," src = sources[k].text.split(/\\r\\n|\\n|\\r/g);"," break;"," }"," }"," var s = this.location.start;",' var loc = this.location.source + ":" + s.line + ":" + s.column;'," if (src) {"," var e = this.location.end;",` var filler = peg$padEnd("", s.line.toString().length, ' ');`," var line = src[s.line - 1];"," var last = s.line === e.line ? e.column : line.length + 1;"," var hatLen = (last - s.column) || 1;",' str += "\\n --> " + loc + "\\n"',' + filler + " |\\n"',' + s.line + " | " + line + "\\n"',` + filler + " | " + peg$padEnd("", s.column - 1, ' ')`,' + peg$padEnd("", hatLen, "^");'," } else {",' str += "\\n at " + loc;'," }"," }"," return str;","};","","peg$SyntaxError.buildMessage = function(expected, found) {"," var DESCRIBE_EXPECTATION_FNS = {"," literal: function(expectation) {",' return "\\"" + literalEscape(expectation.text) + "\\"";'," },",""," class: function(expectation) {"," var escapedParts = expectation.parts.map(function(part) {"," return Array.isArray(part)",' ? classEscape(part[0]) + "-" + classEscape(part[1])'," : classEscape(part);"," });","",' return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]";'," },",""," any: function() {",' return "any character";'," },",""," end: function() {",' return "end of input";'," },",""," other: function(expectation) {"," return expectation.description;"," }"," };",""," function hex(ch) {"," return ch.charCodeAt(0).toString(16).toUpperCase();"," }",""," function literalEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/"/g, "\\\\\\"")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function classEscape(s) {"," return s",' .replace(/\\\\/g, "\\\\\\\\")',' .replace(/\\]/g, "\\\\]")',' .replace(/\\^/g, "\\\\^")',' .replace(/-/g, "\\\\-")',' .replace(/\\0/g, "\\\\0")',' .replace(/\\t/g, "\\\\t")',' .replace(/\\n/g, "\\\\n")',' .replace(/\\r/g, "\\\\r")',' .replace(/[\\x00-\\x0F]/g, function(ch) { return "\\\\x0" + hex(ch); })',' .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return "\\\\x" + hex(ch); });'," }",""," function describeExpectation(expectation) {"," return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);"," }",""," function describeExpected(expected) {"," var descriptions = expected.map(describeExpectation);"," var i, j;",""," descriptions.sort();",""," if (descriptions.length > 0) {"," for (i = 1, j = 1; i < descriptions.length; i++) {"," if (descriptions[i - 1] !== descriptions[i]) {"," descriptions[j] = descriptions[i];"," j++;"," }"," }"," descriptions.length = j;"," }",""," switch (descriptions.length) {"," case 1:"," return descriptions[0];",""," case 2:",' return descriptions[0] + " or " + descriptions[1];',""," default:",' return descriptions.slice(0, -1).join(", ")',' + ", or "'," + descriptions[descriptions.length - 1];"," }"," }",""," function describeFound(found) {",' return found ? "\\"" + literalEscape(found) + "\\"" : "end of input";'," }","",' return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";',"};",""),t.trace&&g.push("function peg$DefaultTracer() {"," this.indentLevel = 0;","}","","peg$DefaultTracer.prototype.trace = function(event) {"," var that = this;",""," function log(event) {"," function repeat(string, n) {",' var result = "", i;',""," for (i = 0; i < n; i++) {"," result += string;"," }",""," return result;"," }",""," function pad(string, length) {",' return string + repeat(" ", length - string.length);'," }","",' if (typeof console === "object") {'," console.log(",' event.location.start.line + ":" + event.location.start.column + "-"',' + event.location.end.line + ":" + event.location.end.column + " "',' + pad(event.type, 10) + " "',' + repeat(" ", that.indentLevel) + event.rule'," );"," }"," }",""," switch (event.type) {",' case "rule.enter":'," log(event);"," this.indentLevel++;"," break;","",' case "rule.match":'," this.indentLevel--;"," log(event);"," break;","",' case "rule.fail":'," this.indentLevel--;"," log(event);"," break;",""," default:",' throw new Error("Invalid event type: " + event.type + ".");'," }","};","");let S="{ "+t.allowedStartRules.map(y=>y+": "+u(y)).join(", ")+" }",w=u(t.allowedStartRules[0]);return g.push("function peg$parse(input, options) {"," options = options !== undefined ? options : {};",""," var peg$FAILED = {};"," var peg$source = options.grammarSource;",""," var peg$startRuleFunctions = "+S+";"," var peg$startRuleFunction = "+w+";","",l(),""," var peg$currPos = 0;"," var peg$savedPos = 0;"," var peg$posDetailsCache = [{ line: 1, column: 1 }];"," var peg$maxFailPos = 0;"," var peg$maxFailExpected = [];"," var peg$silentFails = 0;",""),t.cache&&g.push(" var peg$resultsCache = {};",""),t.trace&&g.push(' var peg$tracer = "tracer" in options ? options.tracer : new peg$DefaultTracer();',""),g.push(" var peg$result;","",' if ("startRule" in options) {'," if (!(options.startRule in peg$startRuleFunctions)) {",` throw new Error("Can't start parsing from rule \\"" + options.startRule + "\\".");`," }",""," peg$startRuleFunction = peg$startRuleFunctions[options.startRule];"," }",""," function text() {"," return input.substring(peg$savedPos, peg$currPos);"," }",""," function offset() {"," return peg$savedPos;"," }",""," function range() {"," return {"," source: peg$source,"," start: peg$savedPos,"," end: peg$currPos"," };"," }",""," function location() {"," return peg$computeLocation(peg$savedPos, peg$currPos);"," }",""," function expected(description, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildStructuredError("," [peg$otherExpectation(description)],"," input.substring(peg$savedPos, peg$currPos),"," location"," );"," }",""," function error(message, location) {"," location = location !== undefined"," ? location"," : peg$computeLocation(peg$savedPos, peg$currPos);",""," throw peg$buildSimpleError(message, location);"," }",""," function peg$literalExpectation(text, ignoreCase) {",' return { type: "literal", text: text, ignoreCase: ignoreCase };'," }",""," function peg$classExpectation(parts, inverted, ignoreCase) {",' return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };'," }",""," function peg$anyExpectation() {",' return { type: "any" };'," }",""," function peg$endExpectation() {",' return { type: "end" };'," }",""," function peg$otherExpectation(description) {",' return { type: "other", description: description };'," }",""," function peg$computePosDetails(pos) {"," var details = peg$posDetailsCache[pos];"," var p;",""," if (details) {"," return details;"," } else {"," p = pos - 1;"," while (!peg$posDetailsCache[p]) {"," p--;"," }",""," details = peg$posDetailsCache[p];"," details = {"," line: details.line,"," column: details.column"," };",""," while (p < pos) {"," if (input.charCodeAt(p) === 10) {"," details.line++;"," details.column = 1;"," } else {"," details.column++;"," }",""," p++;"," }",""," peg$posDetailsCache[pos] = details;",""," return details;"," }"," }",""," function peg$computeLocation(startPos, endPos) {"," var startPosDetails = peg$computePosDetails(startPos);"," var endPosDetails = peg$computePosDetails(endPos);",""," return {"," source: peg$source,"," start: {"," offset: startPos,"," line: startPosDetails.line,"," column: startPosDetails.column"," },"," end: {"," offset: endPos,"," line: endPosDetails.line,"," column: endPosDetails.column"," }"," };"," }",""," function peg$fail(expected) {"," if (peg$currPos < peg$maxFailPos) { return; }",""," if (peg$currPos > peg$maxFailPos) {"," peg$maxFailPos = peg$currPos;"," peg$maxFailExpected = [];"," }",""," peg$maxFailExpected.push(expected);"," }",""," function peg$buildSimpleError(message, location) {"," return new peg$SyntaxError(message, null, null, location);"," }",""," function peg$buildStructuredError(expected, found, location) {"," return new peg$SyntaxError("," peg$SyntaxError.buildMessage(expected, found),"," expected,"," found,"," location"," );"," }",""),e.rules.forEach(y=>{g.push(...E(y).map(r)),g.push("")}),e.initializer&&(g.push(p(e.initializer)),g.push("")),g.push(" peg$result = peg$startRuleFunction();",""," if (peg$result !== peg$FAILED && peg$currPos === input.length) {"," return peg$result;"," } else {"," if (peg$result !== peg$FAILED && peg$currPos < input.length) {"," peg$fail(peg$endExpectation());"," }",""," throw peg$buildStructuredError("," peg$maxFailExpected,"," peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,"," peg$maxFailPos < input.length"," ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)"," : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)"," );"," }","}"),new pi(null,null,t.grammarSource,g.map(y=>y instanceof pi?y:y+` +`))}function A(g){function S(){return[`// Generated by Peggy ${$B}.`,"//","// https://peggyjs.org/"]}function w(){return t.trace?["{"," SyntaxError: peg$SyntaxError,"," DefaultTracer: peg$DefaultTracer,"," parse: peg$parse","}"].join(` +`):["{"," SyntaxError: peg$SyntaxError,"," parse: peg$parse","}"].join(` +`)}let _={bare(){return[...S(),"(function() {",' "use strict";',"",g,"",r("return "+w()+";"),"})()"]},commonjs(){let B=Object.keys(t.dependencies),D=S();return D.push("",'"use strict";',""),B.length>0&&(B.forEach(M=>{D.push("var "+M+' = require("'+Xn(t.dependencies[M])+'");')}),D.push("")),D.push(g,"","module.exports = "+w()+";"),D},es(){let B=Object.keys(t.dependencies),D=S();return D.push(""),B.length>0&&(B.forEach(M=>{D.push("import "+M+' from "'+Xn(t.dependencies[M])+'";')}),D.push("")),D.push(g,"","export {"," peg$SyntaxError as SyntaxError,",t.trace?" peg$DefaultTracer as DefaultTracer,":""," peg$parse as parse","};"),D},amd(){let B=Object.keys(t.dependencies),M="["+B.map(F=>t.dependencies[F]).map(F=>'"'+Xn(F)+'"').join(", ")+"]",q=B.join(", ");return[...S(),"define("+M+", function("+q+") {",' "use strict";',"",g,"",r("return "+w()+";"),"});"]},globals(){return[...S(),"(function(root) {",' "use strict";',"",g,"",r("root."+t.exportVar+" = "+w()+";"),"})(this);"]},umd(){let B=Object.keys(t.dependencies),D=B.map(L=>t.dependencies[L]),M="["+D.map(L=>'"'+Xn(L)+'"').join(", ")+"]",q=D.map(L=>'require("'+Xn(L)+'")').join(", "),F=B.join(", "),P=S();return P.push("(function(root, factory) {",' if (typeof define === "function" && define.amd) {'," define("+M+", factory);",' } else if (typeof module === "object" && module.exports) {'," module.exports = factory("+q+");"),t.exportVar!==null&&P.push(" } else {"," root."+t.exportVar+" = factory();"),P.push(" }","})(this, function("+F+") {",' "use strict";',"",g,"",r("return "+w()+";"),"});"),P}}[t.format]();return new pi(null,null,t.grammarSource,_.map(B=>B instanceof pi?B:B+` +`))}e.code=A(h())}Hw.exports=DB});var qw=ye((Cx,Mw)=>{"use strict";var BB=Ea(),RB=hi();function PB(e,t,r){function n(s){return s.type==="rule"&&s.expression.type==="rule_ref"}function i(s,u,l){RB.build({rule_ref(d){d.name===u&&(d.name=l,r.info(`Proxy rule "${u}" replaced by the rule "${l}"`,d.location,[{message:"This rule will be used",location:BB.findRule(s,l).nameLocation}]))}})(s)}let a=[];e.rules.forEach((s,u)=>{n(s)&&(i(e,s.name,s.expression.name),t.allowedStartRules.indexOf(s.name)===-1&&a.push(u))}),a.reverse(),a.forEach(s=>{e.rules.splice(s,1)})}Mw.exports=PB});var Vw=ye((_x,Kw)=>{"use strict";var TB=hi();function OB(e,t,r){function n(s){let u={};return Object.keys(s).forEach(l=>{u[l]=s[l]}),u}function i(s,u){a(s.expression,n(u))}let a=TB.build({rule(s){a(s.expression,{})},choice(s,u){s.alternatives.forEach(l=>{a(l,n(u))})},action:i,labeled(s,u){let l=s.label;l&&Object.prototype.hasOwnProperty.call(u,l)&&r.error(`Label "${s.label}" is already defined`,s.labelLocation,[{message:"Original label location",location:u[l]}]),a(s.expression,u),u[s.label]=s.labelLocation},text:i,simple_and:i,simple_not:i,optional:i,zero_or_more:i,one_or_more:i,group:i});a(e)}Kw.exports=OB});var zw=ye((Fx,Gw)=>{"use strict";var NB=hi();function xB(e,t,r){let n={};NB.build({rule(a){if(Object.prototype.hasOwnProperty.call(n,a.name)){r.error(`Rule "${a.name}" is already defined`,a.nameLocation,[{message:"Original rule location",location:n[a.name]}]);return}n[a.name]=a.nameLocation}})(e)}Gw.exports=xB});var Xw=ye((Ix,Ww)=>{"use strict";var Yw=Ea(),kB=hi();function LB(e,t,r){let n=[],i=[],a=kB.build({rule(s){n.push(s.name),a(s.expression),n.pop()},sequence(s){s.elements.every(u=>(a(u),!Yw.alwaysConsumesOnSuccess(e,u)))},rule_ref(s){i.push(s);let u=Yw.findRule(e,s.name);if(n.indexOf(s.name)!==-1){n.push(s.name),r.error("Possible infinite loop when parsing (left recursion: "+n.join(" -> ")+")",u.nameLocation,i.map((l,f,d)=>({message:f+1!==d.length?`Step ${f+1}: call of the rule "${l.name}" without input consumption`:`Step ${f+1}: call itself without input consumption - left recursion`,location:l.location})));return}u&&a(u),i.pop()}});a(e)}Ww.exports=LB});var Qw=ye(($x,Zw)=>{"use strict";var Jw=Ea(),UB=hi();function HB(e,t,r){UB.build({zero_or_more(i){Jw.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)},one_or_more(i){Jw.alwaysConsumesOnSuccess(e,i.expression)||r.error("Possible infinite loop when parsing (repetition used with an expression that may not consume any input)",i.location)}})(e)}Zw.exports=HB});var tA=ye((Dx,eA)=>{"use strict";var jB=Ea(),MB=hi();function qB(e,t,r){MB.build({rule_ref(i){jB.findRule(e,i.name)||r.error(`Rule "${i.name}" is not defined`,i.location)}})(e)}eA.exports=qB});var nA=ye((Bx,rA)=>{"use strict";var KB=hi();function VB(e,t,r){let n=KB.build({action(i){n(i.expression,i)},labeled(i,a){i.pick&&a&&r.error('"@" cannot be used with an action block',i.labelLocation,[{message:"Action block location",location:a.codeLocation}]),n(i.expression)}});n(e)}rA.exports=VB});var sA=ye((Rx,iA)=>{"use strict";var GB=vh(),M0=class{constructor(t){t=typeof t<"u"?t:{},typeof t.error=="function"&&(this.error=t.error),typeof t.warning=="function"&&(this.warning=t.warning),typeof t.info=="function"&&(this.info=t.info)}error(){}warning(){}info(){}},q0=class{constructor(t){this._callbacks=new M0(t),this._firstError=null,this.errors=0,this.problems=[],this.stage=null}error(...t){++this.errors,this._firstError===null&&(this._firstError=new GB(...t),this._firstError.stage=this.stage,this._firstError.problems=this.problems),this.problems.push(["error",...t]),this._callbacks.error(this.stage,...t)}warning(...t){this.problems.push(["warning",...t]),this._callbacks.warning(this.stage,...t)}info(...t){this.problems.push(["info",...t]),this._callbacks.info(this.stage,...t)}checkErrors(){if(this.errors!==0)throw this._firstError}};iA.exports=q0});var aA=ye((exports,module)=>{"use strict";var generateBytecode=hw(),generateJS=jw(),inferenceMatchResult=$0(),removeProxyRules=qw(),reportDuplicateLabels=Vw(),reportDuplicateRules=zw(),reportInfiniteRecursion=Xw(),reportInfiniteRepetition=Qw(),reportUndefinedRules=tA(),reportIncorrectPlucking=nA(),Session=sA(),visitor=hi();function processOptions(e,t){let r={};return Object.keys(e).forEach(n=>{r[n]=e[n]}),Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(r,n)||(r[n]=t[n])}),r}var compiler={visitor,passes:{check:[reportUndefinedRules,reportDuplicateRules,reportDuplicateLabels,reportInfiniteRecursion,reportInfiniteRepetition,reportIncorrectPlucking],transform:[removeProxyRules,inferenceMatchResult],generate:[generateBytecode,generateJS]},compile(ast,passes,options){if(options=options!==void 0?options:{},options=processOptions(options,{allowedStartRules:[ast.rules[0].name],cache:!1,dependencies:{},exportVar:null,format:"bare",output:"parser",trace:!1}),!Array.isArray(options.allowedStartRules))throw new Error("allowedStartRules must be an array");if(options.allowedStartRules.length===0)throw new Error("Must have at least one start rule");let allRules=ast.rules.map(e=>e.name);for(let e of options.allowedStartRules)if(allRules.indexOf(e)===-1)throw new Error(`Unknown start rule "${e}"`);let session=new Session(options);switch(Object.keys(passes).forEach(e=>{session.stage=e,session.info(`Process stage ${e}`),passes[e].forEach(t=>{session.info(`Process pass ${e}.${t.name}`),t(ast,options,session)}),session.checkErrors()}),options.output){case"parser":return eval(ast.code.toString());case"source":return ast.code.toString();case"source-and-map":return ast.code;default:throw new Error("Invalid output format: "+options.output+".")}}};module.exports=compiler});var uA=ye((Px,oA)=>{"use strict";var zB={$:"text","&":"simple_and","!":"simple_not"},YB={"?":"optional","*":"zero_or_more","+":"one_or_more"},WB={"&":"semantic_and","!":"semantic_not"};function XB(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function ya(e,t,r,n){var i=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(i,ya.prototype),i.expected=t,i.found=r,i.location=n,i.name="SyntaxError",i}XB(ya,Error);function K0(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,r+=r.repeat(t),e+r.slice(0,t))}ya.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r=null,n;for(n=0;n `+a+` +`+u+` | +`+i.line+" | "+l+` +`+u+" | "+K0("",i.column-1," ")+K0("",d,"^")}else t+=` + at `+a}return t};ya.buildMessage=function(e,t){var r={literal:function(f){return'"'+i(f.text)+'"'},class:function(f){var d=f.parts.map(function(E){return Array.isArray(E)?a(E[0])+"-"+a(E[1]):a(E)});return"["+(f.inverted?"^":"")+d.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(f){return f.description}};function n(f){return f.charCodeAt(0).toString(16).toUpperCase()}function i(f){return f.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+n(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+n(d)})}function a(f){return f.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+n(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+n(d)})}function s(f){return r[f.type](f)}function u(f){var d=f.map(s),E,p;if(d.sort(),d.length>0){for(E=1,p=1;E0?{type:"choice",alternatives:[b].concat(x),location:zt()}:b},Qn=function(b,x){return x!==null?{type:"action",expression:b,code:x[0],codeLocation:x[1],location:zt()}:b},xa=function(b,x){return x.length>0||b.type==="labeled"&&b.pick?{type:"sequence",elements:[b].concat(x),location:zt()}:b},Nh=function(b,x,J){return J.type.startsWith("semantic_")&&pc('"@" cannot be used on a semantic predicate',b),{type:"labeled",label:x!==null?x[0]:null,labelLocation:x!==null?x[1]:b,pick:!0,expression:J,location:zt()}},xh=function(b,x){return{type:"labeled",label:b[0],labelLocation:b[1],expression:x,location:zt()}},Lt=function(){return zt()},Nt=function(b){return Yo.indexOf(b[0])>=0&&pc(`Label can't be a reserved word "${b[0]}"`,b[1]),b},kh=function(b,x){return{type:zB[b],expression:x,location:zt()}},Lh=function(b,x){return{type:YB[x],expression:b,location:zt()}},Uh=function(b){return b.type==="labeled"||b.type==="sequence"?{type:"group",expression:b,location:zt()}:b},Hh=function(b){return{type:"rule_ref",name:b[0],location:zt()}},jh=function(b,x){return{type:WB[b],code:x[0],codeLocation:x[1],location:zt()}},Mh=function(b,x){return[b+x.join(""),zt()]},dl=function(b,x){return{type:"literal",value:b,ignoreCase:x!==null,location:zt()}},qh=function(b){return b.join("")},fr=function(b){return b.join("")},lc=function(b,x,J){return{type:"class",parts:x.filter(K=>K!==""),inverted:b!==null,ignoreCase:J!==null,location:zt()}},is=function(b,x){return b.charCodeAt(0)>x.charCodeAt(0)&&pc("Invalid character range: "+hc()+"."),[b,x]},gl=function(){return""},fc=function(){return"\0"},gn=function(){return"\b"},ml=function(){return"\f"},vl=function(){return` +`},El=function(){return"\r"},wl=function(){return" "},Al=function(){return"\v"},yl=function(b){return String.fromCharCode(parseInt(b,16))},nn=function(b){return String.fromCharCode(parseInt(b,16))},Kh=function(){return{type:"any",location:zt()}},mn=function(b){return[b,zt()]},R=0,Xe=0,On=[{line:1,column:1}],sn=0,ka=[],te=0,Nn;if("startRule"in t){if(!(t.startRule in i))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=i[t.startRule]}function hc(){return e.substring(Xe,R)}function y1(){return Xe}function Sl(){return{source:n,start:Xe,end:R}}function zt(){return ss(Xe,R)}function S1(b,x){throw x=x!==void 0?x:ss(Xe,R),Cl([ei(b)],e.substring(Xe,R),x)}function pc(b,x){throw x=x!==void 0?x:ss(Xe,R),bl(b,x)}function je(b,x){return{type:"literal",text:b,ignoreCase:x}}function hr(b,x,J){return{type:"class",parts:b,inverted:x,ignoreCase:J}}function Js(){return{type:"any"}}function Vh(){return{type:"end"}}function ei(b){return{type:"other",description:b}}function dc(b){var x=On[b],J;if(x)return x;for(J=b-1;!On[J];)J--;for(x=On[J],x={line:x.line,column:x.column};Jsn&&(sn=R,ka=[]),ka.push(b))}function bl(b,x){return new ya(b,null,null,x)}function Cl(b,x,J){return new ya(ya.buildMessage(b,x),b,x,J)}function xo(){var b,x,J,K,se,ce,Ot,er;if(b=R,x=_t(),J=R,K=gc(),K!==r?(se=_t(),J=K):(R=J,J=r),J===r&&(J=null),K=R,se=Gh(),se!==r?(ce=_t(),K=se):(R=K,K=r),K===r&&(K=null),se=[],ce=R,Ot=mc(),Ot!==r?(er=_t(),ce=Ot):(R=ce,ce=r),ce!==r)for(;ce!==r;)se.push(ce),ce=R,Ot=mc(),Ot!==r?(er=_t(),ce=Ot):(R=ce,ce=r);else se=r;return se!==r?(Xe=b,b=Tn(J,K,se)):(R=b,b=r),b}function gc(){var b,x,J,K,se;return b=R,e.charCodeAt(R)===123?(x=s,R++):(x=r,te===0&&pe(Fi)),x!==r?(J=mt(),J!==r?(e.charCodeAt(R)===125?(K=u,R++):(K=r,te===0&&pe(ns)),K!==r?(se=cs(),se!==r?(Xe=b,b=Ws(J)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r),b}function Gh(){var b,x,J;return b=R,x=mt(),x!==r?(J=cs(),J!==r?(Xe=b,b=rn(x)):(R=b,b=r)):(R=b,b=r),b}function mc(){var b,x,J,K,se,ce,Ot,er;return b=R,x=Uo(),x!==r?(J=_t(),K=R,se=ti(),se!==r?(ce=_t(),K=se):(R=K,K=r),K===r&&(K=null),e.charCodeAt(R)===61?(se=l,R++):(se=r,te===0&&pe(Ao)),se!==r?(ce=_t(),Ot=Mr(),Ot!==r?(er=cs(),er!==r?(Xe=b,b=Nr(x,K,Ot)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r),b}function Mr(){var b,x,J,K,se,ce,Ot,er;if(b=R,x=La(),x!==r){for(J=[],K=R,se=_t(),e.charCodeAt(R)===47?(ce=f,R++):(ce=r,te===0&&pe(yo)),ce!==r?(Ot=_t(),er=La(),er!==r?K=er:(R=K,K=r)):(R=K,K=r);K!==r;)J.push(K),K=R,se=_t(),e.charCodeAt(R)===47?(ce=f,R++):(ce=r,te===0&&pe(yo)),ce!==r?(Ot=_t(),er=La(),er!==r?K=er:(R=K,K=r)):(R=K,K=r);Xe=b,b=Xs(x,J)}else R=b,b=r;return b}function La(){var b,x,J,K,se;return b=R,x=Ua(),x!==r?(J=R,K=_t(),se=mt(),se!==r?J=se:(R=J,J=r),J===r&&(J=null),Xe=b,b=Qn(x,J)):(R=b,b=r),b}function Ua(){var b,x,J,K,se,ce;if(b=R,x=ko(),x!==r){for(J=[],K=R,se=_t(),ce=ko(),ce!==r?K=ce:(R=K,K=r);K!==r;)J.push(K),K=R,se=_t(),ce=ko(),ce!==r?K=ce:(R=K,K=r);Xe=b,b=xa(x,J)}else R=b,b=r;return b}function ko(){var b,x,J,K;return b=R,x=_l(),x!==r?(J=Fl(),J===r&&(J=null),K=vc(),K!==r?(Xe=b,b=Nh(x,J,K)):(R=b,b=r)):(R=b,b=r),b===r&&(b=R,x=Fl(),x!==r?(J=_t(),K=vc(),K!==r?(Xe=b,b=xh(x,K)):(R=b,b=r)):(R=b,b=r),b===r&&(b=vc())),b}function _l(){var b,x;return b=R,e.charCodeAt(R)===64?(x=d,R++):(x=r,te===0&&pe(So)),x!==r&&(Xe=b,x=Lt()),b=x,b}function Fl(){var b,x,J,K;return b=R,x=Uo(),x!==r?(J=_t(),e.charCodeAt(R)===58?(K=E,R++):(K=r,te===0&&pe(bo)),K!==r?(Xe=b,b=Nt(x)):(R=b,b=r)):(R=b,b=r),b}function vc(){var b,x,J,K;return b=R,x=zh(),x!==r?(J=_t(),K=Il(),K!==r?(Xe=b,b=kh(x,K)):(R=b,b=r)):(R=b,b=r),b===r&&(b=Il()),b}function zh(){var b;return e.charCodeAt(R)===36?(b=p,R++):(b=r,te===0&&pe(Co)),b===r&&(e.charCodeAt(R)===38?(b=h,R++):(b=r,te===0&&pe(_o)),b===r&&(e.charCodeAt(R)===33?(b=A,R++):(b=r,te===0&&pe(Fo)))),b}function Il(){var b,x,J,K;return b=R,x=as(),x!==r?(J=_t(),K=Yh(),K!==r?(Xe=b,b=Lh(x,K)):(R=b,b=r)):(R=b,b=r),b===r&&(b=as()),b}function Yh(){var b;return e.charCodeAt(R)===63?(b=g,R++):(b=r,te===0&&pe(Mu)),b===r&&(e.charCodeAt(R)===42?(b=S,R++):(b=r,te===0&&pe(Io)),b===r&&(e.charCodeAt(R)===43?(b=w,R++):(b=r,te===0&&pe(qu)))),b}function as(){var b,x,J,K,se,ce;return b=ep(),b===r&&(b=oe(),b===r&&(b=Mo(),b===r&&(b=Wh(),b===r&&(b=Xh(),b===r&&(b=R,e.charCodeAt(R)===40?(x=y,R++):(x=r,te===0&&pe(Ku)),x!==r?(J=_t(),K=Mr(),K!==r?(se=_t(),e.charCodeAt(R)===41?(ce=_,R++):(ce=r,te===0&&pe(Vu)),ce!==r?(Xe=b,b=Uh(K)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r)))))),b}function Wh(){var b,x,J,K,se,ce,Ot,er;return b=R,x=Uo(),x!==r?(J=R,te++,K=R,se=_t(),ce=R,Ot=ti(),Ot!==r?(er=_t(),Ot=[Ot,er],ce=Ot):(R=ce,ce=r),ce===r&&(ce=null),e.charCodeAt(R)===61?(Ot=l,R++):(Ot=r,te===0&&pe(Ao)),Ot!==r?(se=[se,ce,Ot],K=se):(R=K,K=r),te--,K===r?J=void 0:(R=J,J=r),J!==r?(Xe=b,b=Hh(x)):(R=b,b=r)):(R=b,b=r),b}function Xh(){var b,x,J,K;return b=R,x=Ec(),x!==r?(J=_t(),K=mt(),K!==r?(Xe=b,b=jh(x,K)):(R=b,b=r)):(R=b,b=r),b}function Ec(){var b;return e.charCodeAt(R)===38?(b=h,R++):(b=r,te===0&&pe(_o)),b===r&&(e.charCodeAt(R)===33?(b=A,R++):(b=r,te===0&&pe(Fo))),b}function xr(){var b;return e.length>R?(b=e.charAt(R),R++):(b=r,te===0&&pe(Gs)),b}function xn(){var b,x;return te++,e.charCodeAt(R)===9?(b=B,R++):(b=r,te===0&&pe($a)),b===r&&(e.charCodeAt(R)===11?(b=D,R++):(b=r,te===0&&pe(zu)),b===r&&(e.charCodeAt(R)===12?(b=M,R++):(b=r,te===0&&pe(Yu)),b===r&&(e.charCodeAt(R)===32?(b=q,R++):(b=r,te===0&&pe(Wu)),b===r&&(e.charCodeAt(R)===160?(b=F,R++):(b=r,te===0&&pe(Xu)),b===r&&(e.charCodeAt(R)===65279?(b=P,R++):(b=r,te===0&&pe(Ju)),b===r&&(b=Ol())))))),te--,b===r&&(x=r,te===0&&pe(Gu)),b}function kn(){var b;return cr.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Zu)),b}function Lo(){var b,x;return te++,e.charCodeAt(R)===10?(b=L,R++):(b=r,te===0&&pe(ec)),b===r&&(e.substr(R,2)===j?(b=j,R+=2):(b=r,te===0&&pe(Ii)),b===r&&(e.charCodeAt(R)===13?(b=V,R++):(b=r,te===0&&pe($o)),b===r&&(e.charCodeAt(R)===8232?(b=W,R++):(b=r,te===0&&pe(tc)),b===r&&(e.charCodeAt(R)===8233?(b=G,R++):(b=r,te===0&&pe(rc)))))),te--,b===r&&(x=r,te===0&&pe(Qu)),b}function $l(){var b,x;return te++,b=Jh(),b===r&&(b=vn()),te--,b===r&&(x=r,te===0&&pe(nc)),b}function Jh(){var b,x,J,K,se,ce;if(b=R,e.substr(R,2)===z?(x=z,R+=2):(x=r,te===0&&pe(Do)),x!==r){for(J=[],K=R,se=R,te++,e.substr(R,2)===X?(ce=X,R+=2):(ce=r,te===0&&pe($i)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);K!==r;)J.push(K),K=R,se=R,te++,e.substr(R,2)===X?(ce=X,R+=2):(ce=r,te===0&&pe($i)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);e.substr(R,2)===X?(K=X,R+=2):(K=r,te===0&&pe($i)),K!==r?(x=[x,J,K],b=x):(R=b,b=r)}else R=b,b=r;return b}function os(){var b,x,J,K,se,ce;if(b=R,e.substr(R,2)===z?(x=z,R+=2):(x=r,te===0&&pe(Do)),x!==r){for(J=[],K=R,se=R,te++,e.substr(R,2)===X?(ce=X,R+=2):(ce=r,te===0&&pe($i)),ce===r&&(ce=kn()),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);K!==r;)J.push(K),K=R,se=R,te++,e.substr(R,2)===X?(ce=X,R+=2):(ce=r,te===0&&pe($i)),ce===r&&(ce=kn()),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);e.substr(R,2)===X?(K=X,R+=2):(K=r,te===0&&pe($i)),K!==r?(x=[x,J,K],b=x):(R=b,b=r)}else R=b,b=r;return b}function vn(){var b,x,J,K,se,ce;if(b=R,e.substr(R,2)===ie?(x=ie,R+=2):(x=r,te===0&&pe(dn)),x!==r){for(J=[],K=R,se=R,te++,ce=kn(),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);K!==r;)J.push(K),K=R,se=R,te++,ce=kn(),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);x=[x,J],b=x}else R=b,b=r;return b}function Uo(){var b,x,J,K;if(te++,b=R,x=Dl(),x!==r){for(J=[],K=Bl();K!==r;)J.push(K),K=Bl();Xe=b,b=Mh(x,J)}else R=b,b=r;return te--,b===r&&(x=r,te===0&&pe(ic)),b}function Dl(){var b,x,J;return b=Zh(),b===r&&(e.charCodeAt(R)===36?(b=p,R++):(b=r,te===0&&pe(Co)),b===r&&(e.charCodeAt(R)===95?(b=Se,R++):(b=r,te===0&&pe(zs)),b===r&&(b=R,e.charCodeAt(R)===92?(x=we,R++):(x=r,te===0&&pe(Pn)),x!==r?(J=Rl(),J!==r?b=J:(R=b,b=r)):(R=b,b=r)))),b}function Bl(){var b;return b=Dl(),b===r&&(b=Qh(),b===r&&(b=Pl(),b===r&&(b=Tl(),b===r&&(e.charCodeAt(R)===8204?(b=Ie,R++):(b=r,te===0&&pe(sc)),b===r&&(e.charCodeAt(R)===8205?(b=Ve,R++):(b=r,te===0&&pe(ac))))))),b}function Zh(){var b;return b=Vo(),b===r&&(b=Ko(),b===r&&(b=sp(),b===r&&(b=np(),b===r&&(b=ip(),b===r&&(b=zo()))))),b}function Qh(){var b;return b=Go(),b===r&&(b=Ri()),b}function ep(){var b,x,J;return te++,b=R,x=ti(),x!==r?(e.charCodeAt(R)===105?(J=ue,R++):(J=r,te===0&&pe(Da)),J===r&&(J=null),Xe=b,b=dl(x,J)):(R=b,b=r),te--,b===r&&(x=r,te===0&&pe(Bo)),b}function ti(){var b,x,J,K;if(te++,b=R,e.charCodeAt(R)===34?(x=_e,R++):(x=r,te===0&&pe(Ys)),x!==r){for(J=[],K=re();K!==r;)J.push(K),K=re();e.charCodeAt(R)===34?(K=_e,R++):(K=r,te===0&&pe(Ys)),K!==r?(Xe=b,b=qh(J)):(R=b,b=r)}else R=b,b=r;if(b===r)if(b=R,e.charCodeAt(R)===39?(x=He,R++):(x=r,te===0&&pe(Zt)),x!==r){for(J=[],K=le();K!==r;)J.push(K),K=le();e.charCodeAt(R)===39?(K=He,R++):(K=r,te===0&&pe(Zt)),K!==r?(Xe=b,b=fr(J)):(R=b,b=r)}else R=b,b=r;return te--,b===r&&(x=r,te===0&&pe(Ro)),b}function re(){var b,x,J,K;return b=R,x=R,J=R,te++,e.charCodeAt(R)===34?(K=_e,R++):(K=r,te===0&&pe(Ys)),K===r&&(e.charCodeAt(R)===92?(K=we,R++):(K=r,te===0&&pe(Pn)),K===r&&(K=kn())),te--,K===r?J=void 0:(R=J,J=r),J!==r?(K=xr(),K!==r?(J=[J,K],x=J):(R=x,x=r)):(R=x,x=r),x!==r?b=e.substring(b,R):b=x,b===r&&(b=R,e.charCodeAt(R)===92?(x=we,R++):(x=r,te===0&&pe(Pn)),x!==r?(J=Yt(),J!==r?b=J:(R=b,b=r)):(R=b,b=r),b===r&&(b=pt())),b}function le(){var b,x,J,K;return b=R,x=R,J=R,te++,e.charCodeAt(R)===39?(K=He,R++):(K=r,te===0&&pe(Zt)),K===r&&(e.charCodeAt(R)===92?(K=we,R++):(K=r,te===0&&pe(Pn)),K===r&&(K=kn())),te--,K===r?J=void 0:(R=J,J=r),J!==r?(K=xr(),K!==r?(J=[J,K],x=J):(R=x,x=r)):(R=x,x=r),x!==r?b=e.substring(b,R):b=x,b===r&&(b=R,e.charCodeAt(R)===92?(x=we,R++):(x=r,te===0&&pe(Pn)),x!==r?(J=Yt(),J!==r?b=J:(R=b,b=r)):(R=b,b=r),b===r&&(b=pt())),b}function oe(){var b,x,J,K,se,ce;if(te++,b=R,e.charCodeAt(R)===91?(x=Sr,R++):(x=r,te===0&&pe(uc)),x!==r){for(e.charCodeAt(R)===94?(J=Ht,R++):(J=r,te===0&&pe(Po)),J===r&&(J=null),K=[],se=Te(),se===r&&(se=Ye());se!==r;)K.push(se),se=Te(),se===r&&(se=Ye());e.charCodeAt(R)===93?(se=Et,R++):(se=r,te===0&&pe(Di)),se!==r?(e.charCodeAt(R)===105?(ce=ue,R++):(ce=r,te===0&&pe(Da)),ce===r&&(ce=null),Xe=b,b=lc(J,K,ce)):(R=b,b=r)}else R=b,b=r;return te--,b===r&&(x=r,te===0&&pe(oc)),b}function Te(){var b,x,J,K;return b=R,x=Ye(),x!==r?(e.charCodeAt(R)===45?(J=ir,R++):(J=r,te===0&&pe(Cr)),J!==r?(K=Ye(),K!==r?(Xe=b,b=is(x,K)):(R=b,b=r)):(R=b,b=r)):(R=b,b=r),b}function Ye(){var b,x,J,K;return b=R,x=R,J=R,te++,e.charCodeAt(R)===93?(K=Et,R++):(K=r,te===0&&pe(Di)),K===r&&(e.charCodeAt(R)===92?(K=we,R++):(K=r,te===0&&pe(Pn)),K===r&&(K=kn())),te--,K===r?J=void 0:(R=J,J=r),J!==r?(K=xr(),K!==r?(J=[J,K],x=J):(R=x,x=r)):(R=x,x=r),x!==r?b=e.substring(b,R):b=x,b===r&&(b=R,e.charCodeAt(R)===92?(x=we,R++):(x=r,te===0&&pe(Pn)),x!==r?(J=Yt(),J!==r?b=J:(R=b,b=r)):(R=b,b=r),b===r&&(b=pt())),b}function pt(){var b,x,J;return b=R,e.charCodeAt(R)===92?(x=we,R++):(x=r,te===0&&pe(Pn)),x!==r?(J=Lo(),J!==r?(Xe=b,b=gl()):(R=b,b=r)):(R=b,b=r),b}function Yt(){var b,x,J,K;return b=Tt(),b===r&&(b=R,e.charCodeAt(R)===48?(x=Gt,R++):(x=r,te===0&&pe(Kt)),x!==r?(J=R,te++,K=us(),te--,K===r?J=void 0:(R=J,J=r),J!==r?(Xe=b,b=fc()):(R=b,b=r)):(R=b,b=r),b===r&&(b=jo(),b===r&&(b=Rl()))),b}function Tt(){var b;return b=Ho(),b===r&&(b=tp()),b}function Ho(){var b,x;return e.charCodeAt(R)===39?(b=He,R++):(b=r,te===0&&pe(Zt)),b===r&&(e.charCodeAt(R)===34?(b=_e,R++):(b=r,te===0&&pe(Ys)),b===r&&(e.charCodeAt(R)===92?(b=we,R++):(b=r,te===0&&pe(Pn)),b===r&&(b=R,e.charCodeAt(R)===98?(x=at,R++):(x=r,te===0&&pe(cc)),x!==r&&(Xe=b,x=gn()),b=x,b===r&&(b=R,e.charCodeAt(R)===102?(x=kt,R++):(x=r,te===0&&pe(Ba)),x!==r&&(Xe=b,x=ml()),b=x,b===r&&(b=R,e.charCodeAt(R)===110?(x=it,R++):(x=r,te===0&&pe(_r)),x!==r&&(Xe=b,x=vl()),b=x,b===r&&(b=R,e.charCodeAt(R)===114?(x=bt,R++):(x=r,te===0&&pe(Ra)),x!==r&&(Xe=b,x=El()),b=x,b===r&&(b=R,e.charCodeAt(R)===116?(x=sr,R++):(x=r,te===0&&pe(To)),x!==r&&(Xe=b,x=wl()),b=x,b===r&&(b=R,e.charCodeAt(R)===118?(x=Qe,R++):(x=r,te===0&&pe(Oo)),x!==r&&(Xe=b,x=Al()),b=x)))))))),b}function tp(){var b,x,J,K;return b=R,x=R,J=R,te++,K=En(),K===r&&(K=kn()),te--,K===r?J=void 0:(R=J,J=r),J!==r?(K=xr(),K!==r?(J=[J,K],x=J):(R=x,x=r)):(R=x,x=r),x!==r?b=e.substring(b,R):b=x,b}function En(){var b;return b=Ho(),b===r&&(b=us(),b===r&&(e.charCodeAt(R)===120?(b=Jt,R++):(b=r,te===0&&pe(Pa)),b===r&&(e.charCodeAt(R)===117?(b=Zn,R++):(b=r,te===0&&pe(Bi))))),b}function jo(){var b,x,J,K,se,ce;return b=R,e.charCodeAt(R)===120?(x=Jt,R++):(x=r,te===0&&pe(Pa)),x!==r?(J=R,K=R,se=gi(),se!==r?(ce=gi(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r),K!==r?J=e.substring(J,R):J=K,J!==r?(Xe=b,b=yl(J)):(R=b,b=r)):(R=b,b=r),b}function Rl(){var b,x,J,K,se,ce,Ot,er;return b=R,e.charCodeAt(R)===117?(x=Zn,R++):(x=r,te===0&&pe(Bi)),x!==r?(J=R,K=R,se=gi(),se!==r?(ce=gi(),ce!==r?(Ot=gi(),Ot!==r?(er=gi(),er!==r?(se=[se,ce,Ot,er],K=se):(R=K,K=r)):(R=K,K=r)):(R=K,K=r)):(R=K,K=r),K!==r?J=e.substring(J,R):J=K,J!==r?(Xe=b,b=nn(J)):(R=b,b=r)):(R=b,b=r),b}function us(){var b;return Hr.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Ta)),b}function gi(){var b;return Sa.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(No)),b}function Mo(){var b,x;return b=R,e.charCodeAt(R)===46?(x=br,R++):(x=r,te===0&&pe(Oa)),x!==r&&(Xe=b,x=Kh()),b=x,b}function mt(){var b,x,J,K;return te++,b=R,e.charCodeAt(R)===123?(x=s,R++):(x=r,te===0&&pe(Fi)),x!==r?(J=rp(),e.charCodeAt(R)===125?(K=u,R++):(K=r,te===0&&pe(ns)),K!==r?b=J:(R=b,b=r)):(R=b,b=r),te--,b===r&&(x=r,te===0&&pe(Na)),b}function rp(){var b,x;return b=R,x=qo(),Xe=b,x=mn(x),b=x,b}function qo(){var b,x,J,K,se,ce;if(b=R,x=[],J=[],K=R,se=R,te++,en.test(e.charAt(R))?(ce=e.charAt(R),R++):(ce=r,te===0&&pe(tn)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r),K!==r)for(;K!==r;)J.push(K),K=R,se=R,te++,en.test(e.charAt(R))?(ce=e.charAt(R),R++):(ce=r,te===0&&pe(tn)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);else J=r;for(J===r&&(J=R,e.charCodeAt(R)===123?(K=s,R++):(K=r,te===0&&pe(Fi)),K!==r?(se=qo(),e.charCodeAt(R)===125?(ce=u,R++):(ce=r,te===0&&pe(ns)),ce!==r?(K=[K,se,ce],J=K):(R=J,J=r)):(R=J,J=r));J!==r;){if(x.push(J),J=[],K=R,se=R,te++,en.test(e.charAt(R))?(ce=e.charAt(R),R++):(ce=r,te===0&&pe(tn)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r),K!==r)for(;K!==r;)J.push(K),K=R,se=R,te++,en.test(e.charAt(R))?(ce=e.charAt(R),R++):(ce=r,te===0&&pe(tn)),te--,ce===r?se=void 0:(R=se,se=r),se!==r?(ce=xr(),ce!==r?(se=[se,ce],K=se):(R=K,K=r)):(R=K,K=r);else J=r;J===r&&(J=R,e.charCodeAt(R)===123?(K=s,R++):(K=r,te===0&&pe(Fi)),K!==r?(se=qo(),e.charCodeAt(R)===125?(ce=u,R++):(ce=r,te===0&&pe(ns)),ce!==r?(K=[K,se,ce],J=K):(R=J,J=r)):(R=J,J=r))}return b=e.substring(b,R),b}function Ko(){var b;return Ct.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(T)),b}function np(){var b;return lr.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(N)),b}function ip(){var b;return et.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(H)),b}function sp(){var b;return jr.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Q)),b}function Vo(){var b;return ba.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(de)),b}function Ri(){var b;return Ca.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(ve)),b}function Go(){var b;return _a.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Fe)),b}function Pl(){var b;return Fa.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Re)),b}function zo(){var b;return rs.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Pt)),b}function Tl(){var b;return Ia.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Qt)),b}function Ol(){var b;return Vs.test(e.charAt(R))?(b=e.charAt(R),R++):(b=r,te===0&&pe(Tr)),b}function _t(){var b,x;for(b=[],x=xn(),x===r&&(x=Lo(),x===r&&(x=$l()));x!==r;)b.push(x),x=xn(),x===r&&(x=Lo(),x===r&&(x=$l()));return b}function Nl(){var b,x;for(b=[],x=xn(),x===r&&(x=os());x!==r;)b.push(x),x=xn(),x===r&&(x=os());return b}function cs(){var b,x,J,K;return b=R,x=_t(),e.charCodeAt(R)===59?(J=Pr,R++):(J=r,te===0&&pe(Or)),J!==r?(x=[x,J],b=x):(R=b,b=r),b===r&&(b=R,x=Nl(),J=vn(),J===r&&(J=null),K=Lo(),K!==r?(x=[x,J,K],b=x):(R=b,b=r),b===r&&(b=R,x=_t(),J=ls(),J!==r?(x=[x,J],b=x):(R=b,b=r))),b}function ls(){var b,x;return b=R,te++,e.length>R?(x=e.charAt(R),R++):(x=r,te===0&&pe(Gs)),te--,x===r?b=void 0:(R=b,b=r),b}let Yo=t.reservedWords||[];if(Nn=a(),Nn!==r&&R===e.length)return Nn;throw Nn!==r&&R{"use strict";var ZB=vh(),QB=aA(),eR=uA(),tR=P0(),rR=["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","new","return","super","switch","this","throw","try","typeof","var","void","while","with","null","true","false","enum","implements","interface","let","package","private","protected","public","static","yield","await"],hl={VERSION:tR,RESERVED_WORDS:rR,GrammarError:ZB,parser:eR,compiler:QB,generate(e,t){t=t!==void 0?t:{};function r(a){let s={};return Object.keys(a).forEach(u=>{s[u]=a[u].slice()}),s}let n="plugins"in t?t.plugins:[],i={parser:hl.parser,passes:r(hl.compiler.passes),reservedWords:hl.RESERVED_WORDS.slice()};return n.forEach(a=>{a.use(i,t)}),hl.compiler.compile(i.parser.parse(e,{grammarSource:t.grammarSource,reservedWords:i.reservedWords}),i.passes,t)}};cA.exports=hl});var o1=ye((VL,FA)=>{var WP=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};FA.exports=WP});var u1=ye((GL,IA)=>{var XP="2.0.0",JP=Number.MAX_SAFE_INTEGER||9007199254740991,ZP=16,QP=250,e7=["major","premajor","minor","preminor","patch","prepatch","prerelease"];IA.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:ZP,MAX_SAFE_BUILD_LENGTH:QP,MAX_SAFE_INTEGER:JP,RELEASE_TYPES:e7,SEMVER_SPEC_VERSION:XP,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var f1=ye((Ks,$A)=>{var{MAX_SAFE_COMPONENT_LENGTH:c1,MAX_SAFE_BUILD_LENGTH:t7,MAX_LENGTH:r7}=u1(),n7=o1();Ks=$A.exports={};var i7=Ks.re=[],s7=Ks.safeRe=[],Oe=Ks.src=[],Ne=Ks.t={},a7=0,l1="[a-zA-Z0-9-]",o7=[["\\s",1],["\\d",r7],[l1,t7]],u7=e=>{for(let[t,r]of o7)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Ze=(e,t,r)=>{let n=u7(t),i=a7++;n7(e,i,t),Ne[e]=i,Oe[i]=t,i7[i]=new RegExp(t,r?"g":void 0),s7[i]=new RegExp(n,r?"g":void 0)};Ze("NUMERICIDENTIFIER","0|[1-9]\\d*");Ze("NUMERICIDENTIFIERLOOSE","\\d+");Ze("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${l1}*`);Ze("MAINVERSION",`(${Oe[Ne.NUMERICIDENTIFIER]})\\.(${Oe[Ne.NUMERICIDENTIFIER]})\\.(${Oe[Ne.NUMERICIDENTIFIER]})`);Ze("MAINVERSIONLOOSE",`(${Oe[Ne.NUMERICIDENTIFIERLOOSE]})\\.(${Oe[Ne.NUMERICIDENTIFIERLOOSE]})\\.(${Oe[Ne.NUMERICIDENTIFIERLOOSE]})`);Ze("PRERELEASEIDENTIFIER",`(?:${Oe[Ne.NUMERICIDENTIFIER]}|${Oe[Ne.NONNUMERICIDENTIFIER]})`);Ze("PRERELEASEIDENTIFIERLOOSE",`(?:${Oe[Ne.NUMERICIDENTIFIERLOOSE]}|${Oe[Ne.NONNUMERICIDENTIFIER]})`);Ze("PRERELEASE",`(?:-(${Oe[Ne.PRERELEASEIDENTIFIER]}(?:\\.${Oe[Ne.PRERELEASEIDENTIFIER]})*))`);Ze("PRERELEASELOOSE",`(?:-?(${Oe[Ne.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Oe[Ne.PRERELEASEIDENTIFIERLOOSE]})*))`);Ze("BUILDIDENTIFIER",`${l1}+`);Ze("BUILD",`(?:\\+(${Oe[Ne.BUILDIDENTIFIER]}(?:\\.${Oe[Ne.BUILDIDENTIFIER]})*))`);Ze("FULLPLAIN",`v?${Oe[Ne.MAINVERSION]}${Oe[Ne.PRERELEASE]}?${Oe[Ne.BUILD]}?`);Ze("FULL",`^${Oe[Ne.FULLPLAIN]}$`);Ze("LOOSEPLAIN",`[v=\\s]*${Oe[Ne.MAINVERSIONLOOSE]}${Oe[Ne.PRERELEASELOOSE]}?${Oe[Ne.BUILD]}?`);Ze("LOOSE",`^${Oe[Ne.LOOSEPLAIN]}$`);Ze("GTLT","((?:<|>)?=?)");Ze("XRANGEIDENTIFIERLOOSE",`${Oe[Ne.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Ze("XRANGEIDENTIFIER",`${Oe[Ne.NUMERICIDENTIFIER]}|x|X|\\*`);Ze("XRANGEPLAIN",`[v=\\s]*(${Oe[Ne.XRANGEIDENTIFIER]})(?:\\.(${Oe[Ne.XRANGEIDENTIFIER]})(?:\\.(${Oe[Ne.XRANGEIDENTIFIER]})(?:${Oe[Ne.PRERELEASE]})?${Oe[Ne.BUILD]}?)?)?`);Ze("XRANGEPLAINLOOSE",`[v=\\s]*(${Oe[Ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Oe[Ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Oe[Ne.XRANGEIDENTIFIERLOOSE]})(?:${Oe[Ne.PRERELEASELOOSE]})?${Oe[Ne.BUILD]}?)?)?`);Ze("XRANGE",`^${Oe[Ne.GTLT]}\\s*${Oe[Ne.XRANGEPLAIN]}$`);Ze("XRANGELOOSE",`^${Oe[Ne.GTLT]}\\s*${Oe[Ne.XRANGEPLAINLOOSE]}$`);Ze("COERCEPLAIN",`(^|[^\\d])(\\d{1,${c1}})(?:\\.(\\d{1,${c1}}))?(?:\\.(\\d{1,${c1}}))?`);Ze("COERCE",`${Oe[Ne.COERCEPLAIN]}(?:$|[^\\d])`);Ze("COERCEFULL",Oe[Ne.COERCEPLAIN]+`(?:${Oe[Ne.PRERELEASE]})?(?:${Oe[Ne.BUILD]})?(?:$|[^\\d])`);Ze("COERCERTL",Oe[Ne.COERCE],!0);Ze("COERCERTLFULL",Oe[Ne.COERCEFULL],!0);Ze("LONETILDE","(?:~>?)");Ze("TILDETRIM",`(\\s*)${Oe[Ne.LONETILDE]}\\s+`,!0);Ks.tildeTrimReplace="$1~";Ze("TILDE",`^${Oe[Ne.LONETILDE]}${Oe[Ne.XRANGEPLAIN]}$`);Ze("TILDELOOSE",`^${Oe[Ne.LONETILDE]}${Oe[Ne.XRANGEPLAINLOOSE]}$`);Ze("LONECARET","(?:\\^)");Ze("CARETTRIM",`(\\s*)${Oe[Ne.LONECARET]}\\s+`,!0);Ks.caretTrimReplace="$1^";Ze("CARET",`^${Oe[Ne.LONECARET]}${Oe[Ne.XRANGEPLAIN]}$`);Ze("CARETLOOSE",`^${Oe[Ne.LONECARET]}${Oe[Ne.XRANGEPLAINLOOSE]}$`);Ze("COMPARATORLOOSE",`^${Oe[Ne.GTLT]}\\s*(${Oe[Ne.LOOSEPLAIN]})$|^$`);Ze("COMPARATOR",`^${Oe[Ne.GTLT]}\\s*(${Oe[Ne.FULLPLAIN]})$|^$`);Ze("COMPARATORTRIM",`(\\s*)${Oe[Ne.GTLT]}\\s*(${Oe[Ne.LOOSEPLAIN]}|${Oe[Ne.XRANGEPLAIN]})`,!0);Ks.comparatorTrimReplace="$1$2$3";Ze("HYPHENRANGE",`^\\s*(${Oe[Ne.XRANGEPLAIN]})\\s+-\\s+(${Oe[Ne.XRANGEPLAIN]})\\s*$`);Ze("HYPHENRANGELOOSE",`^\\s*(${Oe[Ne.XRANGEPLAINLOOSE]})\\s+-\\s+(${Oe[Ne.XRANGEPLAINLOOSE]})\\s*$`);Ze("STAR","(<|>)?=?\\s*\\*");Ze("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Ze("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var BA=ye((zL,DA)=>{var c7=Object.freeze({loose:!0}),l7=Object.freeze({}),f7=e=>e?typeof e!="object"?c7:e:l7;DA.exports=f7});var OA=ye((YL,TA)=>{var RA=/^[0-9]+$/,PA=(e,t)=>{let r=RA.test(e),n=RA.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:ePA(t,e);TA.exports={compareIdentifiers:PA,rcompareIdentifiers:h7}});var Ph=ye((WL,LA)=>{var Bh=o1(),{MAX_LENGTH:NA,MAX_SAFE_INTEGER:Rh}=u1(),{safeRe:xA,t:kA}=f1(),p7=BA(),{compareIdentifiers:Uu}=OA(),h1=class e{constructor(t,r){if(r=p7(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>NA)throw new TypeError(`version is longer than ${NA} characters`);Bh("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?xA[kA.LOOSE]:xA[kA.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Rh||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Rh||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Rh||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let a=+i;if(a>=0&&a=0;)typeof this.prerelease[a]=="number"&&(this.prerelease[a]++,a=-2);if(a===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(r){let a=[r,i];n===!1&&(a=[r]),Uu(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};LA.exports=h1});var jA=ye((XL,HA)=>{var UA=Ph(),d7=(e,t,r)=>new UA(e,r).compare(new UA(t,r));HA.exports=d7});var qA=ye((JL,MA)=>{var g7=jA(),m7=(e,t,r)=>g7(e,t,r)>=0;MA.exports=m7});var GA=ye((ZL,VA)=>{var KA=Ph(),v7=(e,t,r=!1)=>{if(e instanceof KA)return e;try{return new KA(e,t)}catch(n){if(!r)return null;throw n}};VA.exports=v7});var YA=ye((QL,zA)=>{var E7=Ph(),w7=GA(),{safeRe:Th,t:Oh}=f1(),A7=(e,t)=>{if(e instanceof E7)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?Th[Oh.COERCEFULL]:Th[Oh.COERCE]);else{let l=t.includePrerelease?Th[Oh.COERCERTLFULL]:Th[Oh.COERCERTL],f;for(;(f=l.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||f.index+f[0].length!==r.index+r[0].length)&&(r=f),l.lastIndex=f.index+f[1].length+f[2].length;l.lastIndex=-1}if(r===null)return null;let n=r[2],i=r[3]||"0",a=r[4]||"0",s=t.includePrerelease&&r[5]?`-${r[5]}`:"",u=t.includePrerelease&&r[6]?`+${r[6]}`:"";return w7(`${n}.${i}.${a}${s}${u}`,t)};zA.exports=A7});var uf="2.19.56";var na=typeof $task<"u",Ss=typeof $loon<"u",ia=typeof $httpClient<"u"&&!Ss,Ni=eval('typeof process !== "undefined"'),um=typeof $environment<"u"&&$environment["stash-version"],cm=typeof $rocket<"u",t_=typeof egern=="object",r_=typeof $native<"u",sa=typeof $Plugins<"u";function om(e){return e!==null&&typeof e=="object"&&[null,Object.prototype].includes(Object.getPrototypeOf(e))}var cf=class{constructor(name="untitled",debug=!1){if(this.name=name,this.debug=debug,this.http=wi(),this.env=Ir(),Ni){let dotenv=require("dotenv");dotenv.config()}this.node=(()=>{if(Ni){let fs=require('fs');return{fs}}else return null})(),this.initCache();let delay=(e,t)=>new Promise(function(r){setTimeout(r.bind(null,t),e)});Promise.prototype.delay=async function(e){let t=await this;return await delay(e,t)}}initCache(){if(na&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(Ss||ia)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),sa&&(this.cache=JSON.parse($Plugins.SubStoreCache.get(this.name)||"{}")),Ni){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".",rootPath=`${basePath}/root.json`,backupRootPath=`${basePath}/root_${Date.now()}.json`;if(this.log(`Root path: ${rootPath}`),this.node.fs.existsSync(rootPath))try{this.root=JSON.parse(this.node.fs.readFileSync(`${rootPath}`))}catch(e){this.node.fs.copyFileSync(rootPath,backupRootPath),this.error(`Failed to parse ${rootPath}: ${e.message}. Backup created at ${backupRootPath}`)}om(this.root)||(this.node.fs.writeFileSync(rootPath,JSON.stringify({}),{flag:"w"}),this.root={});let fpath=`${basePath}/${this.name}.json`,backupPath=`${basePath}/${this.name}_${Date.now()}.json`;if(this.log(`Data path: ${fpath}`),this.node.fs.existsSync(fpath))try{this.cache=JSON.parse(this.node.fs.readFileSync(`${fpath}`))}catch(e){this.node.fs.copyFileSync(fpath,backupPath),this.error(`Failed to parse ${fpath}: ${e.message}. Backup created at ${backupPath}`)}om(this.cache)||(this.node.fs.writeFileSync(fpath,JSON.stringify({}),{flag:"w"}),this.cache={})}}persistCache(){let data=JSON.stringify(this.cache,null,2);if(na&&$prefs.setValueForKey(data,this.name),(Ss||ia)&&$persistentStore.write(data,this.name),sa&&$Plugins.SubStoreCache.set(this.name,data),Ni){let basePath=eval("process.env.SUB_STORE_DATA_BASE_PATH")||".";this.node.fs.writeFileSync(`${basePath}/${this.name}.json`,data,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync(`${basePath}/root.json`,JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e))}}write(e,t){if(this.log(`SET ${t}`),t.indexOf("#")!==-1){if(t=t.substr(1),ia||Ss)return $persistentStore.write(e,t);if(na)return $prefs.setValueForKey(e,t);if(Ni&&(this.root[t]=e),sa)return $Plugins.SubStoreCache.set(t,e)}else this.cache[t]=e;this.persistCache()}read(e){if(this.log(`READ ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ia||Ss)return $persistentStore.read(e);if(na)return $prefs.valueForKey(e);if(Ni)return this.root[e];if(sa)return $Plugins.SubStoreCache.get(e)}else return this.cache[e]}delete(e){if(this.log(`DELETE ${e}`),e.indexOf("#")!==-1){if(e=e.substr(1),ia||Ss)return $persistentStore.write(null,e);if(na)return $prefs.removeValueForKey(e);if(Ni&&delete this.root[e],sa)return $Plugins.SubStoreCache.remove(e)}else delete this.cache[e];this.persistCache()}notify(title,subtitle="",content="",options={}){let openURL=options["open-url"],mediaURL=options["media-url"];if(na&&$notify(title,subtitle,content,options),ia&&$notification.post(title,subtitle,content+`${mediaURL?` +\u591A\u5A92\u4F53:`+mediaURL:""}`,{url:openURL}),Ss){let e={};openURL&&(e.openUrl=openURL),mediaURL&&(e.mediaUrl=mediaURL),JSON.stringify(e)==="{}"?$notification.post(title,subtitle,content):$notification.post(title,subtitle,content,e)}if(Ni){let content_=content+(openURL?` +\u70B9\u51FB\u8DF3\u8F6C: ${openURL}`:"")+(mediaURL?` +\u591A\u5A92\u4F53: ${mediaURL}`:"");console.log(`${title} +${subtitle} +${content_} + +`);let push=eval("process.env.SUB_STORE_PUSH_SERVICE");if(push){let e=push.replace("[\u63A8\u9001\u6807\u9898]",encodeURIComponent(title||"Sub-Store")).replace("[\u63A8\u9001\u5185\u5BB9]",encodeURIComponent([subtitle,content_].map(r=>r).join(` +`)));wi().get({url:e}).then(r=>{console.log(`[Push Service] URL: ${e} +RES: ${r.statusCode} ${r.body}`)}).catch(r=>{console.log(`[Push Service] URL: ${e} +ERROR: ${r}`)})}}sa&&$Plugins.Notify(title,subtitle+` +`+content)}log(e){this.debug&&console.log(`[${this.name}] LOG: ${e}`)}info(e){console.log(`[${this.name}] INFO: ${e}`)}error(e){console.log(`[${this.name}] ERROR: ${e}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){na||Ss||ia||sa?$done(e):Ni&&typeof $context<"u"&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}};function Ir(){return{isQX:na,isLoon:Ss,isSurge:ia,isNode:Ni,isStash:um,isShadowRocket:cm,isEgern:t_,isLanceX:r_,isGUIforCores:sa}}function wi(defaultOptions={baseURL:""}){let{isQX,isLoon,isSurge,isNode,isGUIforCores}=Ir(),methods=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],URL_REGEX=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;function send(method,options){options=typeof options=="string"?{url:options}:options;let baseURL=defaultOptions.baseURL;baseURL&&!URL_REGEX.test(options.url||"")&&(options.url=baseURL?baseURL+options.url:options.url),options={...defaultOptions,...options};let timeout=options.timeout,events={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...options.events};if(events.onRequest(method,options),options.node&&isSurge){let e=$environment["surge-build"];e&&parseInt(e)>=2407&&(options["policy-descriptor"]=options.node,delete options.node)}let worker;isQX?worker=$task.fetch({method,url:options.url,headers:options.headers,body:options.body,opts:options.opts}):isLoon||isSurge||isNode?worker=new Promise(async(resolve,reject)=>{let body=options.body,opts=JSON.parse(JSON.stringify(options));if(opts.body=body,opts.timeout=opts.timeout||8e3,opts.timeout&&(opts.timeout++,isNaN(opts.timeout)&&(opts.timeout=8e3),!isNode)){let e="ms";(isSurge||um||cm)&&(opts.timeout=Math.ceil(opts.timeout/1e3),e="s")}if(isNode){let undici=require('undici'),{ProxyAgent,EnvHttpProxyAgent,request,interceptors}=undici,agentOpts={connect:{rejectUnauthorized:!(opts.strictSSL===!1||opts.insecure===!0)},bodyTimeout:opts.timeout,headersTimeout:opts.timeout};try{let e=new URL(opts.url);(e.username||e.password)&&(opts.headers={...opts.headers||{},Authorization:`Basic ${Buffer.from(`${e.username||""}:${e.password||""}`).toString("base64")}`});let t=await request(opts.url,{...opts,method:method.toUpperCase(),dispatcher:(opts.proxy?new ProxyAgent({...agentOpts,uri:opts.proxy}):new EnvHttpProxyAgent(agentOpts)).compose(interceptors.redirect({maxRedirections:3,throwOnMaxRedirects:!0}))});resolve({statusCode:t.statusCode,headers:t.headers,body:opts.encoding===null?await t.body.arrayBuffer():await t.body.text()})}catch(e){reject(e)}}else $httpClient[method.toLowerCase()](opts,(e,t,r)=>{e?reject(e):resolve({statusCode:t.status||t.statusCode,headers:t.headers,body:r})})}):isGUIforCores&&(worker=new Promise(async(e,t)=>{try{let r=await $Plugins.Requests({method,url:options.url,headers:options.headers,body:options.body,options:{Proxy:options.proxy,Timeout:options.timeout?options.timeout/1e3:15}});e({statusCode:r.status,headers:r.headers,body:r.body})}catch(r){t(r)}}));let timeoutid,timer=timeout?new Promise((e,t)=>{timeoutid=setTimeout(()=>(events.onTimeout(),t(`${method} URL: ${options.url} exceeds the timeout ${timeout} ms`)),timeout)}):null;return(timer?Promise.race([timer,worker]).then(e=>(typeof clearTimeout<"u"&&clearTimeout(timeoutid),e)):worker).then(e=>events.onResponse(e))}let http={};return methods.forEach(e=>http[e.toLowerCase()]=t=>send(e,t)),http}var n_=new cf("sub-store"),I=n_;var Zp="schemaVersion",Ft="settings",Dt="subs",Bt="collections",yt="files",Cn="modules",ht="artifacts",Pc="rules",cn="tokens",lm="Auto Generated Sub-Store Backup",lf="Sub-Store",Ya="Sub-Store Artifacts Repository",Wa="#sub-store-cached-resource",Xa="#sub-store-cached-headers-resource",ff="#sub-store-chr-expiration-time";var Ja="#sub-store-cached-script-resource",hf="#sub-store-csr-expiration-time";function aa(){i_()}function i_(){let e=I.read(Zp);e||s_(),e!=="2.0"&&I.write("2.0",Zp)}function s_(){I.info("Start migrating...");let e=I.read(Dt)||{},t=Object.values(e).map(A=>(A.source=A.source||"remote",p(A),h(A),A));I.write(t,Dt);let r=I.read(Bt)||{},n=Object.values(r).map(A=>(delete A.ua,p(A),h(A),A));I.write(n,Bt);let i=I.read(ht)||{},a=Object.values(i);I.write(a,ht);let s=I.read(Pc)||{},u=Object.values(s);I.write(u,Pc);let l=I.read(yt)||{},f=Object.values(l);I.write(f,yt);let d=I.read(cn)||{},E=Object.values(d);I.write(E,cn),delete I.cache.builtin,I.info("Migration complete!");function p(A){let g=A["display-name"];g&&(A.displayName=g,delete A["display-name"])}function h(A){let g=A.process;if(!g||g.length===0)return;let S=[],w={type:"Quick Setting Operator",args:{udp:"DEFAULT",tfo:"DEFAULT",scert:"DEFAULT","vmess aead":"DEFAULT",useless:"DEFAULT"}};for(let y of g)if(y.type){if(y.type==="Useless Filter")w.args.useless="ENABLED";else if(y.type==="Set Property Operator"){let{key:_,value:B}=y.args;switch(_){case"udp":w.args.udp=B?"ENABLED":"DISABLED";break;case"tfo":w.args.tfo=B?"ENABLED":"DISABLED";break;case"skip-cert-verify":w.args.scert=B?"ENABLED":"DISABLED";break;case"aead":w.args["vmess aead"]=B?"ENABLED":"DISABLED";break}}else if(y.type.indexOf("Keyword")===-1)if(y.type==="Flag Operator"){let _=typeof y.args>"u"?!0:y.args;y.args={mode:_?"add":"remove"},S.push(y)}else S.push(y)}S.unshift(w),A.process=S}}function Qp({substore:$,port,host}){let{isNode}=Ir(),DEFAULT_HEADERS={"Content-Type":"text/plain;charset=UTF-8","Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST,GET,OPTIONS,PATCH,PUT,DELETE","Access-Control-Allow-Headers":"Origin, X-Requested-With, Content-Type, Accept","X-Powered-By":"Sub-Store"};if(isNode){let express_=require("express"),bodyParser=require("body-parser"),app=express_(),limit=eval("process.env.SUB_STORE_BODY_JSON_LIMIT")||"1mb";return $.info(`[BACKEND] body JSON limit: ${limit}`),app.use(bodyParser.json({verify:rawBodySaver,limit})),app.use(bodyParser.urlencoded({verify:rawBodySaver,extended:!0})),app.use(bodyParser.raw({verify:rawBodySaver,type:"*/*"})),app.use((e,t,r)=>{t.set(DEFAULT_HEADERS),r()}),app.start=()=>{let e=app.listen(port,host,()=>{let{address:t,port:r}=e.address();$.info(`[BACKEND] listening on ${t}:${r}`)})},app}let handlers=[],METHODS_NAMES=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD'","ALL"],dispatch=(e,t=0)=>{let{method:r,url:n,headers:i,body:a}=e;i=a_(i),/json/i.test(i["content-type"])&&(a=JSON.parse(a)),r=r.toUpperCase();let{path:s,query:u}=u_(n),l=null,f,d=0;for(f=t;fd&&(l=handlers[f],d=E.split("/").length)}if(l){let E=()=>{dispatch(r,n,f)},p={method:r,url:n,path:s,query:u,params:fm(l.pattern,s),headers:i,body:a},h=Response(),A=l.callback,g=S=>{h.status(500).json({status:"failed",message:`Internal Server Error: ${S}`})};if(A.constructor.name==="AsyncFunction")A(p,h,E).catch(g);else try{A(p,h,E)}catch(S){g(S)}}else Response().status(404).json({status:"failed",message:"ERROR: 404 not found"})},app={};return METHODS_NAMES.forEach(e=>{app[e.toLowerCase()]=(t,r)=>{handlers.push({method:e,pattern:t,callback:r})}}),app.route=e=>{let t={};return METHODS_NAMES.forEach(r=>{t[r.toLowerCase()]=n=>(handlers.push({method:r,pattern:e,callback:n}),t)}),t},app.start=()=>{dispatch($request)},app;function rawBodySaver(e,t,r,n){r&&r.length&&(e.rawBody=r.toString(n||"utf8"))}function Response(){let e=200,{isQX:t,isLoon:r,isSurge:n,isGUIforCores:i}=Ir(),a=DEFAULT_HEADERS,s={200:"HTTP/1.1 200 OK",201:"HTTP/1.1 201 Created",302:"HTTP/1.1 302 Found",307:"HTTP/1.1 307 Temporary Redirect",308:"HTTP/1.1 308 Permanent Redirect",404:"HTTP/1.1 404 Not Found",500:"HTTP/1.1 500 Internal Server Error"};return new class{status(u){return e=u,this}send(u=""){let l={status:t?s[e]:e,body:u,headers:a};t||i?$done(l):(r||n)&&$done({response:l})}end(){this.send()}html(u){this.set("Content-Type","text/html;charset=UTF-8"),this.send(u)}json(u){this.set("Content-Type","application/json;charset=UTF-8"),this.send(JSON.stringify(u))}set(u,l){return a[u]=l,this}}}}function a_(e){let t={};for(let r of Object.keys(e))t[r.toLowerCase()]=e[r];return t}function o_(e,t){if(e instanceof RegExp&&e.test(t))return!0;if(e==="/")return!0;if(e.indexOf(":")===-1){let r=t.split("/"),n=e.split("/");for(let i=0;i>>4&15)+t.charAt(n&15);return r}function f_(e){for(var t="",r=-1,n,i;++r>>6&31,128|n&63):n<=65535?t+=String.fromCharCode(224|n>>>12&15,128|n>>>6&63,128|n&63):n<=2097151&&(t+=String.fromCharCode(240|n>>>18&7,128|n>>>12&63,128|n>>>6&63,128|n&63));return t}function h_(e){for(var t=Array(e.length>>2),r=0;r>5]|=(e.charCodeAt(r/8)&255)<>5]>>>r%32&255);return t}function d_(e,t){e[t>>5]|=128<>>9<<4)+14]=t;for(var r=1732584193,n=-271733879,i=-1732584194,a=271733878,s=0;s>16)+(t>>16)+(r>>16);return n<<16|r&65535}function g_(e,t){return e<>>32-t}var Sf=bn(Cm()),j_=/^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/,M_=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;function vr(e){return j_.test(e)}function ur(e){return M_.test(e)}function _m(e){return/^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$/.test(e)}function Hi(e){return typeof e=="string"&&e.trim().length>0}function Ut(e,t){return Hi(e)?e:t}function au(e){return typeof e<"u"&&e!==null}function ou(e,t){return au(e)?e:t}function Cs(e){return e?/^.+?\s*?=\s*?.+?\s*?,.+?/.test(e)?{"policy-descriptor":e}:{policy:e}:{}}function q_(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}function Nc(e){let t=e.split(/,|\//),r=t[Math.floor(Math.random()*t.length)];if(r.includes("-")){let[n,i]=r.split("-").map(Number);return q_(n,i)}else return Number(r)}function Fm(e){return Number.isSafeInteger(e)?String(e):BigInt(e).toString()}function bf(e){return typeof e=="string"&&/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e)}function ca(e,t="YYYY-MM-DD_HH-mm-ss"){let r=e instanceof Date?e:new Date(e);if(isNaN(r.getTime()))return"";let n=a=>String(a).padStart(2,"0"),i={YYYY:r.getFullYear(),MM:n(r.getMonth()+1),DD:n(r.getDate()),HH:n(r.getHours()),mm:n(r.getMinutes()),ss:n(r.getSeconds())};return t.replace(/YYYY|MM|DD|HH|mm|ss/g,a=>i[a])}var pd=class{constructor(t){this.expires=t,I.read(Wa)||I.write("{}",Wa);try{this.resourceCache=JSON.parse(I.read(Wa))}catch(r){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Wa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${r?.message??r}`),this.resourceCache={},I.write("{}",Wa)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],I.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Wa)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}},pr=new pd(36e5);var dd=class{constructor(){this.expires=V_(),I.read(Xa)||I.write("{}",Xa);try{this.resourceCache=JSON.parse(I.read(Xa))}catch(t){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Xa} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},I.write("{}",Xa)}this._cleanup()}_cleanup(){let t=!1;Object.entries(this.resourceCache).forEach(r=>{let[n,i]=r;i.time||(delete this.resourceCache[n],I.delete(`#${n}`),t=!0),new Date().getTime()-i.time>this.expires&&(delete this.resourceCache[n],t=!0)}),t&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Xa)}get(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].data:null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function V_(){I.read(ff)||I.write("6e4",ff);let e=6e4;if(I.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=I.read("#\u54CD\u5E94\u5934\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=I.read(ff),e}var eo=new dd;function uu(e){let t=Object.keys(e),r="",n="";for(let i of t){let a=i.toLowerCase();a==="subscription-userinfo"?r=e[i]:a==="profile-web-page-url"&&(n=e[i])}return`${r||""}${n?`; app_url=${encodeURIComponent(n)}`:""}`}async function Xr(rawUrl,ua,timeout,customProxy,flowUrl){let url=flowUrl||rawUrl||"",$arguments={},rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}if($arguments?.noFlow)return;let{isStash,isLoon,isShadowRocket,isQX}=Ir(),insecure=$arguments?.insecure?I.env.isNode?{strictSSL:!1}:{insecure:!0}:void 0,{defaultProxy,defaultFlowUserAgent,defaultTimeout}=I.read(Ft),proxy=customProxy||defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultFlowUserAgent||"clash",requestTimeout=timeout||defaultTimeout||8e3,id=Mn(userAgent+url),cached=eo.get(id),flowInfo;if(!$arguments?.noCache&&cached)I.info(`\u4F7F\u7528\u7F13\u5B58\u7684\u6D41\u91CF\u4FE1\u606F: ${url}, ${userAgent}`),flowInfo=cached;else{let e=wi();if(flowUrl){I.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u4ECE\u54CD\u5E94\u4F53\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${flowUrl}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{body:t}=await e.get({url:flowUrl,headers:{"User-Agent":userAgent},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=t}else{try{I.info(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.head({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=uu(t)}catch(t){I.error(`\u4F7F\u7528 HEAD \u65B9\u6CD5\u4ECE\u54CD\u5E94\u5934\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u5931\u8D25: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}: ${t.message??t}`)}if(!flowInfo){I.info(`\u4F7F\u7528 GET \u65B9\u6CD5\u83B7\u53D6\u6D41\u91CF\u4FE1\u606F: ${url}, User-Agent: ${userAgent||""}, Insecure: ${!!insecure}, Proxy: ${proxy}`);let{headers:t}=await e.get({url:url.split(/[\r\n]+/).map(r=>r.trim()).filter(r=>r.length)[0],headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...insecure||{}});flowInfo=uu(t)}}flowInfo&&(flowInfo=flowInfo.trim()),flowInfo&&eo.set(id,flowInfo)}return flowInfo}function to(e){if(!e)return;let t=e.match(/upload=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),r=Number(t[1]+t[2]),n=e.match(/download=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),i=Number(n[1]+n[2]),a=e.match(/total=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),s=Number(a[1]+a[2]),u=e.match(/expire=([-+]?)([0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)/),l=u?Number(u[1]+u[2]):void 0,f=e.match(/reset_day=([0-9]+)/),d=f?Number(f[1]):void 0,E=e.match(/app_url=(.*?)\s*?(;|$)/),p=E?decodeURIComponent(E[1]):void 0,h=e.match(/plan_name=(.*?)\s*?(;|$)/),A=h?decodeURIComponent(h[1]):void 0;return{expires:l,total:s,usage:{upload:r,download:i},remainingDays:d,appUrl:p,planName:A}}function xc(e,t="B"){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=r.indexOf(t);return e<1024||n===r.length-1?{value:e.toFixed(1),unit:t}:xc(e/1024,r[++n])}function Cf(e){if(!e)throw new Error("\u6CA1\u6709\u6D41\u91CF\u4FE1\u606F");if(e?.expires&&e.expires*1e3a.getTime())throw new Error("\u5F00\u59CB\u65E5\u671F\u5E94\u65E9\u4E8E\u73B0\u5728");let s=new Date(r);for(s.setDate(s.getDate()+n);s31)throw new Error("\u6708\u91CD\u7F6E\u65E5\u5E94\u4E3A 1-31 \u4E4B\u95F4\u7684\u6574\u6570");let i=new Date,a=i.getDate(),s=i.getMonth(),u=i.getFullYear(),l;return t>a?l=0:l=new Date(u,s+1,0).getDate(),l-a+t}}catch(t){I.error(`getRmainingDays failed: ${t.message??t}`)}}function la(e){try{let t=new Map;return e.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{let n=r.indexOf("=");if(n===-1)return;let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();if(!t.has(i))try{let s=decodeURIComponent(a);t.set(i,s)}catch{t.set(i,a)}}),Array.from(t.entries()).map(([r,n])=>`${r}=${encodeURIComponent(n)}`).join("; ")}catch(t){return I.error(`normalizeFlowHeader failed: ${t.message??t}`),e}}var Kc=bn(E2());function A2(e,t,...r){try{return e(t,...r)}catch{return e(y2(e(t.replace(/!\s*/g,"__SubStoreJSYAMLString__"),...r)).replace(/__SubStoreJSYAMLString__/g,""),...r)}}function qc(e,...t){return A2(Kc.default.safeLoad,JSON.parse(JSON.stringify(e)),...t)}function SF(e,...t){return A2(Kc.default.load,JSON.parse(JSON.stringify(e)),...t)}function w2(e,...t){return Kc.default.safeDump(JSON.parse(JSON.stringify(e)),...t)}function y2(e,...t){return Kc.default.dump(JSON.parse(JSON.stringify(e)),...t)}var co={safeLoad:qc,load:SF,safeDump:w2,dump:y2,parse:qc,stringify:w2};var I2="3.7.7",bF=I2,vu=typeof Buffer=="function",S2=typeof TextDecoder=="function"?new TextDecoder:void 0,b2=typeof TextEncoder=="function"?new TextEncoder:void 0,CF="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vc=Array.prototype.slice.call(CF),kf=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Vc),_F=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Lr=String.fromCharCode.bind(String),C2=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),$2=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),D2=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),B2=e=>{let t,r,n,i,a="",s=e.length%3;for(let u=0;u255||(n=e.charCodeAt(u++))>255||(i=e.charCodeAt(u++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|i,a+=Vc[t>>18&63]+Vc[t>>12&63]+Vc[t>>6&63]+Vc[t&63]}return s?a.slice(0,s-3)+"===".substring(s):a},Dd=typeof btoa=="function"?e=>btoa(e):vu?e=>Buffer.from(e,"binary").toString("base64"):B2,Id=vu?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,i=e.length;nt?$2(Id(e)):Id(e),FF=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Lr(192|t>>>6)+Lr(128|t&63):Lr(224|t>>>12&15)+Lr(128|t>>>6&63)+Lr(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Lr(240|t>>>18&7)+Lr(128|t>>>12&63)+Lr(128|t>>>6&63)+Lr(128|t&63)}},IF=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,R2=e=>e.replace(IF,FF),_2=vu?e=>Buffer.from(e,"utf8").toString("base64"):b2?e=>Id(b2.encode(e)):e=>Dd(R2(e)),mu=(e,t=!1)=>t?$2(_2(e)):_2(e),F2=e=>mu(e,!0),$F=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,DF=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return Lr((r>>>10)+55296)+Lr((r&1023)+56320);case 3:return Lr((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Lr((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},P2=e=>e.replace($F,DF),T2=e=>{if(e=e.replace(/\s+/g,""),!_F.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,i;for(let a=0;a>16&255):i===64?Lr(t>>16&255,t>>8&255):Lr(t>>16&255,t>>8&255,t&255);return r},Bd=typeof atob=="function"?e=>atob(D2(e)):vu?e=>Buffer.from(e,"base64").toString("binary"):T2,O2=vu?e=>C2(Buffer.from(e,"base64")):e=>C2(Bd(e).split("").map(t=>t.charCodeAt(0))),N2=e=>O2(x2(e)),BF=vu?e=>Buffer.from(e,"base64").toString("utf8"):S2?e=>S2.decode(O2(e)):e=>P2(Bd(e)),x2=e=>D2(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),$d=e=>BF(x2(e)),RF=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},k2=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),L2=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,k2(r));e("fromBase64",function(){return $d(this)}),e("toBase64",function(t){return mu(this,t)}),e("toBase64URI",function(){return mu(this,!0)}),e("toBase64URL",function(){return mu(this,!0)}),e("toUint8Array",function(){return N2(this)})},U2=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,k2(r));e("toBase64",function(t){return Lf(this,t)}),e("toBase64URI",function(){return Lf(this,!0)}),e("toBase64URL",function(){return Lf(this,!0)})},PF=()=>{L2(),U2()},vt={version:I2,VERSION:bF,atob:Bd,atobPolyfill:T2,btoa:Dd,btoaPolyfill:B2,fromBase64:$d,toBase64:mu,encode:mu,encodeURI:F2,encodeURL:F2,utob:R2,btou:P2,decode:$d,isValid:RF,fromUint8Array:Lf,toUint8Array:N2,extendString:L2,extendUint8Array:U2,extendBuiltins:PF};function TF(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function OF(){let e="Base64 Pre-processor",t=["dm1lc3M","c3NyOi8v","c29ja3M6Ly","dHJvamFu","c3M6Ly","c3NkOi8v","c2hhZG93","aHR0c","dmxlc3M=","aHlzdGVyaWEy","aHkyOi8v","d2lyZWd1YXJkOi8v","d2c6Ly8=","dHVpYzovLw=="];return{name:e,test:function(i){return!/^\w+:\/\/\w+/im.test(i)&&t.some(a=>i.indexOf(a)!==-1)},parse:function(i){let a=vt.decode(i);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(a)?a:(I.error("Base64 Pre-processor error: decoded line does not start with protocol"),i)}}}function NF(){return{name:"Fallback Base64 Pre-processor",test:function(n){return!0},parse:function(n){let i=vt.decode(n);return/^\w+(:\/\/|\s*?=\s*?)\w+/m.test(i)?i:(I.error("Fallback Base64 Pre-processor error: decoded line does not start with protocol"),n)}}}function xF(){return{name:"Clash Pre-processor",test:function(n){if(!/proxies/.test(n))return!1;let i=qc(n);return i.proxies&&Array.isArray(i.proxies)},parse:function(n,i){let a=n.replace(/short-id:([ \t]*[^#\n,}]*)/g,(l,f)=>{let d=f.trim();return!d||d===""?'short-id: ""':/^(['"]).*\1$/.test(d)?`short-id: ${d}`:["null"].includes(d)?`short-id: ${d}`:`short-id: "${d}"`}),{proxies:s,"global-client-fingerprint":u}=qc(a);return(i?`proxies: +`:"")+s.map(l=>(u&&!l["client-fingerprint"]&&(l["client-fingerprint"]=u),`${i?" - ":""}${JSON.stringify(l)} +`)).join("")}}}function kF(){return{name:"SSD Pre-processor",test:function(n){return n.indexOf("ssd://")===0},parse:function(n){let i=[],a=JSON.parse(vt.decode(n.split("ssd://")[1])),s=a.port,u=a.encryption,l=a.password,f=a.servers;for(let d=0;de.name==="Clash Pre-processor"),Rd=new Map;async function wr(rawUrl="",ua,timeout,customProxy,skipCustomCache,awaitCustomCache,noCache,preprocess){let $arguments={},url=rawUrl.replace(/#noFlow$/,""),rawArgs=url.split("#");if(url=url.split("#")[0],rawArgs.length>1)try{$arguments=JSON.parse(decodeURIComponent(rawArgs[1]))}catch{for(let t of rawArgs[1].split("&")){let r=t.split("=")[0],n=t.split("=")[1];$arguments[r]=n==null||n===""?!0:decodeURIComponent(n)}}let{isNode,isStash,isLoon,isShadowRocket,isQX}=Ir(),{defaultProxy,defaultUserAgent,defaultTimeout,cacheThreshold:defaultCacheThreshold}=I.read(Ft),cacheThreshold=defaultCacheThreshold||1024,proxy=customProxy||defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY"));let userAgent=ua||defaultUserAgent||"clash.meta",requestTimeout=timeout||defaultTimeout||8e3,id=Mn(userAgent+url);$arguments?.cacheKey===!0&&(I.error("\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58\u65F6 cacheKey \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A"),$arguments.cacheKey=void 0);let customCacheKey=$arguments?.cacheKey?`#sub-store-cached-custom-${$arguments?.cacheKey}`:void 0;if(customCacheKey&&!skipCustomCache){let e=I.read(customCacheKey),t=pr.get(id);if(!noCache&&!$arguments?.noCache&&t)return I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u5B58\u5728\u6709\u6548\u7684\u5E38\u89C4\u7F13\u5B58 +\u4F7F\u7528\u5E38\u89C4\u7F13\u5B58\u4EE5\u907F\u514D\u91CD\u590D\u8BF7\u6C42`),t;if(e){if(awaitCustomCache){I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u66F4\u65B0\u7F13\u5B58`);try{await wr(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess)}catch(r){I.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`),I.info("\u4F7F\u7528\u4E50\u89C2\u7F13\u5B58\u7684\u6570\u636E\u5237\u65B0\u7F13\u5B58, \u9632\u6B62\u540E\u7EED\u8BF7\u6C42"),pr.set(id,e)}}else I.info(`\u4E50\u89C2\u7F13\u5B58: URL ${url} +\u672C\u6B21\u8FD4\u56DE\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey} +\u5E76\u8FDB\u884C\u8BF7\u6C42 \u5C1D\u8BD5\u5F02\u6B65\u66F4\u65B0\u7F13\u5B58`),wr(rawUrl.replace(/(\?|&)cacheKey=.*?(&|$)/,""),ua,timeout,proxy,!0,void 0,void 0,preprocess).catch(r=>{I.error(`\u4E50\u89C2\u7F13\u5B58: URL ${url} \u5F02\u6B65\u66F4\u65B0\u7F13\u5B58\u53D1\u751F\u9519\u8BEF ${r.message??r}`)});return e}}if(!isNode&&Rd.has(id))return Rd.get(id);let http=wi({headers:{"User-Agent":userAgent,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},timeout:requestTimeout}),result,cached=pr.get(id);if(!noCache&&!$arguments?.noCache&&cached)I.info(`\u4F7F\u7528\u7F13\u5B58: ${url}, ${userAgent}`),result=cached,customCacheKey&&(I.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),I.write(cached,customCacheKey));else{let e=$arguments?.insecure?isNode?{strictSSL:!1}:{insecure:!0}:void 0;I.info(`Downloading... +User-Agent: ${userAgent} +Timeout: ${requestTimeout} +Proxy: ${proxy} +Insecure: ${!!e} +Preprocess: ${preprocess} +URL: ${url}`);try{let{body:t,headers:r,statusCode:n}=await http.get({url,...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},...e||{}});if(I.info(`statusCode: ${n}`),n<200||n>=400)throw new Error(`statusCode: ${n}`);if(r){let a=uu(r);a&&eo.set(id,a)}if(t.replace(/\s/g,"").length===0)throw new Error(new Error("\u8FDC\u7A0B\u8D44\u6E90\u5185\u5BB9\u4E3A\u7A7A"));if(preprocess)try{H2.test(t)&&(t=H2.parse(t,!0))}catch(a){I.error(`Clash Pre-processor error: ${a}`)}let i=!0;if(cacheThreshold){let a=t.length/1024;a>cacheThreshold&&(I.info(`\u8D44\u6E90\u5927\u5C0F ${a.toFixed(2)} KB \u8D85\u8FC7\u4E86 ${cacheThreshold} KB, \u4E0D\u7F13\u5B58`),i=!1)}i&&(pr.set(id,t),customCacheKey&&(I.info(`URL ${url} +\u5199\u5165\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),I.write(t,customCacheKey))),result=t}catch(t){if(customCacheKey){let r=I.read(customCacheKey);if(r)return I.info(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t} +\u4F7F\u7528\u81EA\u5B9A\u4E49\u7F13\u5B58 ${$arguments?.cacheKey}`),r}throw new Error(`\u65E0\u6CD5\u4E0B\u8F7D URL ${url}: ${t.message??t}`)}}return $arguments?.validCheck&&await Cf(to(await Xr(url,$arguments.flowUserAgent,void 0,proxy,$arguments.flowUrl))),isNode||Rd.set(id,result),result}async function Gc(url,file){let undici=require('undici'),fs=require('fs'),{pipeline}=require('stream/promises'),{Agent,interceptors,request}=undici;I.info(`Downloading file... +URL: ${url} +File: ${file}`);let{body,statusCode}=await request(url,{dispatcher:new Agent().compose(interceptors.redirect({maxRedirections:3,throwOnRedirect:!0}))});if(statusCode!==200)throw new Error(`Failed to download file from ${url}`);let fileStream=fs.createWriteStream(file);return await pipeline(body,fileStream),I.info(`File downloaded from ${url} to ${file}`),file}function xe(e,t,r){e.status(r||200).json({status:"success",data:t})}function Pe(e,t,r){e.status(r||500).json({status:"failed",error:{code:t.code,type:t.type,message:t.message,details:t.details}})}var Eu=class{constructor(t,r,n){this.code=t,this.message=r,this.details=n}},Mt=class extends Eu{constructor(t,r,n){super(t,r,n),this.type="InternalServerError"}},wt=class extends Eu{constructor(t,r,n){super(t,r,n),this.type="RequestInvalidError"}},Vt=class extends Eu{constructor(t,r,n){super(t,r,n),this.type="ResourceNotFoundError"}},wu=class extends Eu{constructor(t,r,n){super(t,r,n),this.type="NetworkError"}};function tt(e,t,r="name"){return e.find(n=>n[r]===t)}function j2(e,t,r="name"){return e.findIndex(n=>n[r]===t)}function oi(e,t,r="name"){let n=j2(e,t,r);e.splice(n,1)}function yi(e,t,r,n="name"){let i=j2(e,t,n);e[i]=r}var _h=bn(qf());var s0=bn(RE());function cD(e){let t=s0.default.pemtohex(e);return s0.default.KJUR.crypto.Util.hashHex(t,"sha256").match(/.{2}/g).join(":").toUpperCase()}var PE={generateFingerprint:cD};var a0=class{constructor(){this.expires=lD(),I.read(Ja)||I.write("{}",Ja);try{this.resourceCache=JSON.parse(I.read(Ja))}catch(t){I.error(`\u89E3\u6790\u6301\u4E45\u5316\u7F13\u5B58\u4E2D\u7684 ${Ja} \u5931\u8D25, \u91CD\u7F6E\u4E3A {}, \u9519\u8BEF: ${t?.message??t}`),this.resourceCache={},I.write("{}",Ja)}this._cleanup()}_cleanup(t,r){let n=!1;Object.entries(this.resourceCache).forEach(i=>{let[a,s]=i;s.time||(delete this.resourceCache[a],I.delete(`#${a}`),n=!0),(new Date().getTime()-s.time>(r??this.expires)||t&&a.startsWith(t))&&(delete this.resourceCache[a],n=!0)}),n&&this._persist()}revokeAll(){this.resourceCache={},this._persist()}_persist(){I.write(JSON.stringify(this.resourceCache),Ja)}get(t,r,n){let i=this.resourceCache[t]&&this.resourceCache[t].time;if(i){if(new Date().getTime()-i<=(r??this.expires))return this.resourceCache[t].data;n&&(delete this.resourceCache[t],this._persist())}return null}gettime(t){let r=this.resourceCache[t]&&this.resourceCache[t].time;return r&&new Date().getTime()-r<=this.expires?this.resourceCache[t].time:null}set(t,r){this.resourceCache[t]={time:new Date().getTime(),data:r},this._persist()}};function lD(){I.read(hf)||I.write("1728e5",hf);let e=1728e5;if(I.env.isLoon){let t={"1\u5206\u949F":6e4,"5\u5206\u949F":3e5,"10\u5206\u949F":6e5,"30\u5206\u949F":18e5,"1\u5C0F\u65F6":36e5,"2\u5C0F\u65F6":72e5,"3\u5C0F\u65F6":108e5,"6\u5C0F\u65F6":216e5,"12\u5C0F\u65F6":432e5,"24\u5C0F\u65F6":864e5,"48\u5C0F\u65F6":1728e5,"72\u5C0F\u65F6":2592e5,\u53C2\u6570\u4F20\u5165:"readcachets"},r=I.read("#\u8282\u70B9\u7F13\u5B58\u6709\u6548\u671F");return r in t&&(e=t[r],e==="readcachets"&&(e=r)),e}else return e=I.read(hf),e}var Qc=new a0;function nh(e,t){return[...Array(e).keys()].map(()=>t)}var o0={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["EXP","BAND"],"\u{1F1F8}\u{1F1F1}":["TEST","SOS"],"\u{1F1E6}\u{1F1E9}":["AD","AND"],"\u{1F1E6}\u{1F1EA}":["AE","ARE"],"\u{1F1E6}\u{1F1EB}":["AF","AFG"],"\u{1F1E6}\u{1F1F1}":["AL","ALB"],"\u{1F1E6}\u{1F1F2}":["AM","ARM"],"\u{1F1E6}\u{1F1F7}":["AR","ARG"],"\u{1F1E6}\u{1F1F9}":["AT","AUT"],"\u{1F1E6}\u{1F1FA}":["AU","AUS"],"\u{1F1E6}\u{1F1FF}":["AZ","AZE"],"\u{1F1E7}\u{1F1E6}":["BA","BIH"],"\u{1F1E7}\u{1F1E9}":["BD","BGD"],"\u{1F1E7}\u{1F1EA}":["BE","BEL"],"\u{1F1E7}\u{1F1EC}":["BG","BGR"],"\u{1F1E7}\u{1F1ED}":["BH","BHR"],"\u{1F1E7}\u{1F1F4}":["BO","BOL"],"\u{1F1E7}\u{1F1F3}":["BN","BRN"],"\u{1F1E7}\u{1F1F7}":["BR","BRA"],"\u{1F1E7}\u{1F1F9}":["BT","BTN"],"\u{1F1E7}\u{1F1FE}":["BY","BLR"],"\u{1F1E8}\u{1F1E6}":["CA","CAN"],"\u{1F1E8}\u{1F1ED}":["CH","CHE"],"\u{1F1E8}\u{1F1F1}":["CL","CHL"],"\u{1F1E8}\u{1F1F4}":["CO","COL"],"\u{1F1E8}\u{1F1F7}":["CR","CRI"],"\u{1F1E8}\u{1F1FE}":["CY","CYP"],"\u{1F1E8}\u{1F1FF}":["CZ","CZE"],"\u{1F1E9}\u{1F1EA}":["DE","DEU"],"\u{1F1E9}\u{1F1F0}":["DK","DNK"],"\u{1F1EA}\u{1F1E8}":["EC","ECU"],"\u{1F1EA}\u{1F1EA}":["EE","EST"],"\u{1F1EA}\u{1F1EC}":["EG","EGY"],"\u{1F1EA}\u{1F1F8}":["ES","ESP"],"\u{1F1EA}\u{1F1FA}":["EU"],"\u{1F1EB}\u{1F1EE}":["FI","FIN"],"\u{1F1EB}\u{1F1F7}":["FR","FRA"],"\u{1F1EC}\u{1F1E7}":["GB","GBR","UK"],"\u{1F1EC}\u{1F1EA}":["GE","GEO"],"\u{1F1EC}\u{1F1F7}":["GR","GRC"],"\u{1F1EC}\u{1F1F9}":["GT","GTM"],"\u{1F1EC}\u{1F1FA}":["GU","GUM"],"\u{1F1ED}\u{1F1F0}":["HK","HKG","HKT","HKBN","HGC","WTT","CMI"],"\u{1F1ED}\u{1F1F7}":["HR","HRV"],"\u{1F1ED}\u{1F1FA}":["HU","HUN"],"\u{1F1EF}\u{1F1F4}":["JO","JOR"],"\u{1F1EF}\u{1F1F5}":["JP","JPN","TYO"],"\u{1F1F0}\u{1F1EA}":["KE","KEN"],"\u{1F1F0}\u{1F1EC}":["KG","KGZ"],"\u{1F1F0}\u{1F1ED}":["KH","KGZ"],"\u{1F1F0}\u{1F1F5}":["KP","PRK"],"\u{1F1F0}\u{1F1F7}":["KR","KOR","SEL"],"\u{1F1F0}\u{1F1FF}":["KZ","KAZ"],"\u{1F1EE}\u{1F1E9}":["ID","IDN"],"\u{1F1EE}\u{1F1EA}":["IE","IRL"],"\u{1F1EE}\u{1F1F1}":["IL","ISR"],"\u{1F1EE}\u{1F1F2}":["IM","IMN"],"\u{1F1EE}\u{1F1F3}":["IN","IND"],"\u{1F1EE}\u{1F1F7}":["IR","IRN"],"\u{1F1EE}\u{1F1F8}":["IS","ISL"],"\u{1F1EE}\u{1F1F9}":["IT","ITA"],"\u{1F1F1}\u{1F1E6}":["LA","LAO"],"\u{1F1F1}\u{1F1F0}":["LK","LKA"],"\u{1F1F1}\u{1F1F9}":["LT","LTU"],"\u{1F1F1}\u{1F1FA}":["LU","LUX"],"\u{1F1F1}\u{1F1FB}":["LV","LVA"],"\u{1F1F2}\u{1F1E6}":["MA","MAR"],"\u{1F1F2}\u{1F1E9}":["MD","MDA"],"\u{1F1F3}\u{1F1EC}":["NG","NGA"],"\u{1F1F2}\u{1F1F2}":["MM","MMR"],"\u{1F1F2}\u{1F1F0}":["MK","MKD"],"\u{1F1F2}\u{1F1F3}":["MN","MNG"],"\u{1F1F2}\u{1F1F4}":["MO","MAC","CTM"],"\u{1F1F2}\u{1F1F9}":["MT","MLT"],"\u{1F1F2}\u{1F1FD}":["MX","MEX"],"\u{1F1F2}\u{1F1FE}":["MY","MYS"],"\u{1F1F3}\u{1F1F1}":["NL","NLD","AMS"],"\u{1F1F3}\u{1F1F4}":["NO","NOR"],"\u{1F1F3}\u{1F1F5}":["NP","NPL"],"\u{1F1F3}\u{1F1FF}":["NZ","NZL"],"\u{1F1F5}\u{1F1E6}":["PA","PAN"],"\u{1F1F5}\u{1F1EA}":["PE","PER"],"\u{1F1F5}\u{1F1ED}":["PH","PHL"],"\u{1F1F5}\u{1F1F0}":["PK","PAK"],"\u{1F1F5}\u{1F1F1}":["PL","POL"],"\u{1F1F5}\u{1F1F7}":["PR","PRI"],"\u{1F1F5}\u{1F1F9}":["PT","PRT"],"\u{1F1F5}\u{1F1FE}":["PY","PRY"],"\u{1F1F5}\u{1F1EC}":["PG","PNG"],"\u{1F1F7}\u{1F1F4}":["RO","ROU"],"\u{1F1F7}\u{1F1F8}":["RS","SRB"],"\u{1F1F7}\u{1F1EA}":["RE","REU"],"\u{1F1F7}\u{1F1FA}":["RU","RUS"],"\u{1F1F8}\u{1F1E6}":["SA","SAU"],"\u{1F1F8}\u{1F1EA}":["SE","SWE"],"\u{1F1F8}\u{1F1EC}":["SG","SGP"],"\u{1F1F8}\u{1F1EE}":["SI","SVN"],"\u{1F1F8}\u{1F1F0}":["SK","SVK"],"\u{1F1F9}\u{1F1ED}":["TH","THA"],"\u{1F1F9}\u{1F1F3}":["TN","TUN"],"\u{1F1F9}\u{1F1F7}":["TR","TUR"],"\u{1F1F9}\u{1F1FC}":["TW","TWN","CHT","HINET","ROC"],"\u{1F1FA}\u{1F1E6}":["UA","UKR"],"\u{1F1FA}\u{1F1F8}":["US","USA","LAX","SFO","SJC"],"\u{1F1FA}\u{1F1FE}":["UY","URY"],"\u{1F1FB}\u{1F1EA}":["VE","VEN"],"\u{1F1FB}\u{1F1F3}":["VN","VNM"],"\u{1F1FF}\u{1F1E6}":["ZA","ZAF","JNB"],"\u{1F1E8}\u{1F1F3}":["CN","CHN","BACK"]};function Ru(e){let t={"\u{1F3F3}\uFE0F\u200D\u{1F308}":["\u6D41\u91CF","\u65F6\u95F4","\u8FC7\u671F","Bandwidth","Expire"],"\u{1F1F8}\u{1F1F1}":["\u5E94\u6025","\u6D4B\u8BD5\u8282\u70B9"],"\u{1F1E6}\u{1F1E9}":["Andorra","\u5B89\u9053\u5C14"],"\u{1F1E6}\u{1F1EA}":["United Arab Emirates","\u963F\u8054\u914B","\u8FEA\u62DC"],"\u{1F1E6}\u{1F1EB}":["Afghanistan","\u963F\u5BCC\u6C57"],"\u{1F1E6}\u{1F1F1}":["Albania","\u963F\u5C14\u5DF4\u5C3C\u4E9A","\u963F\u723E\u5DF4\u5C3C\u4E9E"],"\u{1F1E6}\u{1F1F2}":["Armenia","\u4E9A\u7F8E\u5C3C\u4E9A"],"\u{1F1E6}\u{1F1F7}":["Argentina","\u963F\u6839\u5EF7"],"\u{1F1E6}\u{1F1F9}":["Austria","\u5965\u5730\u5229","\u5967\u5730\u5229","\u7EF4\u4E5F\u7EB3"],"\u{1F1E6}\u{1F1FA}":["Australia","\u6FB3\u5927\u5229\u4E9A","\u6FB3\u6D32","\u58A8\u5C14\u672C","\u6089\u5C3C","\u571F\u6FB3","\u4EAC\u6FB3","\u5EE3\u6FB3","\u6EEC\u6FB3","\u6CAA\u6FB3","\u5E7F\u6FB3","Sydney"],"\u{1F1E6}\u{1F1FF}":["Azerbaijan","\u963F\u585E\u62DC\u7586"],"\u{1F1E7}\u{1F1E6}":["Bosnia and Herzegovina","\u6CE2\u9ED1\u5171\u548C\u56FD","\u6CE2\u9ED1"],"\u{1F1E7}\u{1F1E9}":["Bangladesh","\u5B5F\u52A0\u62C9\u56FD","\u5B5F\u52A0\u62C9"],"\u{1F1E7}\u{1F1EA}":["Belgium","\u6BD4\u5229\u65F6","\u6BD4\u5229\u6642"],"\u{1F1E7}\u{1F1EC}":["Bulgaria","\u4FDD\u52A0\u5229\u4E9A","\u4FDD\u52A0\u5229\u4E9E"],"\u{1F1E7}\u{1F1ED}":["Bahrain","\u5DF4\u6797"],"\u{1F1E7}\u{1F1F7}":["Brazil","\u5DF4\u897F","\u5723\u4FDD\u7F57"],"\u{1F1E7}\u{1F1F3}":["Brunei","\u6587\u83B1","\u6C76\u840A"],"\u{1F1E7}\u{1F1FE}":["Belarus","\u767D\u4FC4\u7F57\u65AF","\u767D\u4FC4"],"\u{1F1E7}\u{1F1F4}":["Bolivia","\u73BB\u5229\u7EF4\u4E9A"],"\u{1F1E7}\u{1F1F9}":["Bhutan","\u4E0D\u4E39","\u4E0D\u4E39\u738B\u56FD"],"\u{1F1E8}\u{1F1E6}":["Canada","\u52A0\u62FF\u5927","\u8499\u7279\u5229\u5C14","\u6E29\u54E5\u534E","\u6953\u8449","\u67AB\u53F6","\u6ED1\u94C1\u5362","\u591A\u4F26\u591A","Waterloo","Toronto"],"\u{1F1E8}\u{1F1ED}":["Switzerland","\u745E\u58EB","\u82CF\u9ECE\u4E16","Zurich"],"\u{1F1E8}\u{1F1F1}":["Chile","\u667A\u5229"],"\u{1F1E8}\u{1F1F4}":["Colombia","\u54E5\u4F26\u6BD4\u4E9A"],"\u{1F1E8}\u{1F1F7}":["Costa Rica","\u54E5\u65AF\u8FBE\u9ECE\u52A0"],"\u{1F1E8}\u{1F1FE}":["Cyprus","\u585E\u6D66\u8DEF\u65AF"],"\u{1F1E8}\u{1F1FF}":["Czechia","\u6377\u514B"],"\u{1F1E9}\u{1F1EA}":["German","\u5FB7\u56FD","\u5FB7\u570B","\u4EAC\u5FB7","\u6EEC\u5FB7","\u5EE3\u5FB7","\u6CAA\u5FB7","\u5E7F\u5FB7","\u6CD5\u5170\u514B\u798F","Frankfurt","\u5FB7\u610F\u5FD7"],"\u{1F1E9}\u{1F1F0}":["Denmark","\u4E39\u9EA6","\u4E39\u9EA5"],"\u{1F1EA}\u{1F1E8}":["Ecuador","\u5384\u74DC\u591A\u5C14"],"\u{1F1EA}\u{1F1EA}":["Estonia","\u7231\u6C99\u5C3C\u4E9A"],"\u{1F1EA}\u{1F1EC}":["Egypt","\u57C3\u53CA"],"\u{1F1EA}\u{1F1F8}":["Spain","\u897F\u73ED\u7259"],"\u{1F1EA}\u{1F1FA}":["European Union","\u6B27\u76DF","\u6B27\u7F57\u5DF4"],"\u{1F1EB}\u{1F1EE}":["Finland","\u82AC\u5170","\u82AC\u862D","\u8D6B\u5C14\u8F9B\u57FA"],"\u{1F1EB}\u{1F1F7}":["France","\u6CD5\u56FD","\u6CD5\u570B","\u5DF4\u9ECE"],"\u{1F1EC}\u{1F1E7}":["Great Britain","\u82F1\u56FD","England","United Kingdom","\u4F26\u6566","\u82F1","London"],"\u{1F1EC}\u{1F1EA}":["Georgia","\u683C\u9C81\u5409\u4E9A","\u683C\u9B6F\u5409\u4E9E"],"\u{1F1EC}\u{1F1F7}":["Greece","\u5E0C\u814A","\u5E0C\u81D8"],"\u{1F1EC}\u{1F1FA}":["Guam","\u5173\u5C9B","\u95DC\u5CF6"],"\u{1F1EC}\u{1F1F9}":["Guatemala","\u5371\u5730\u9A6C\u62C9"],"\u{1F1ED}\u{1F1F0}":["Hongkong","\u9999\u6E2F","Hong Kong","HongKong","HONG KONG","\u6DF1\u6E2F","\u6CAA\u6E2F","\u547C\u6E2F","\u7A57\u6E2F","\u4EAC\u6E2F","\u6E2F"],"\u{1F1ED}\u{1F1F7}":["Croatia","\u514B\u7F57\u5730\u4E9A","\u514B\u7F85\u5730\u4E9E"],"\u{1F1ED}\u{1F1FA}":["Hungary","\u5308\u7259\u5229"],"\u{1F1EF}\u{1F1F4}":["Jordan","\u7EA6\u65E6"],"\u{1F1EF}\u{1F1F5}":["Japan","\u65E5\u672C","\u4E1C\u4EAC","\u5927\u962A","\u57FC\u7389","\u6CAA\u65E5","\u7A57\u65E5","\u5DDD\u65E5","\u4E2D\u65E5","\u6CC9\u65E5","\u676D\u65E5","\u6DF1\u65E5","\u8FBD\u65E5","\u5E7F\u65E5","\u5927\u5742","Osaka","Tokyo"],"\u{1F1F0}\u{1F1EA}":["Kenya","\u80AF\u5C3C\u4E9A"],"\u{1F1F0}\u{1F1EC}":["Kyrgyzstan","\u5409\u5C14\u5409\u65AF\u65AF\u5766"],"\u{1F1F0}\u{1F1ED}":["Cambodia","\u67EC\u57D4\u5BE8"],"\u{1F1F0}\u{1F1F5}":["North Korea","\u671D\u9C9C"],"\u{1F1F0}\u{1F1F7}":["Korea","\u97E9\u56FD","\u97D3\u570B","\u97E9","\u97D3","\u9996\u5C14","\u6625\u5DDD","Chuncheon","Seoul"],"\u{1F1F0}\u{1F1FF}":["Kazakhstan","\u54C8\u8428\u514B\u65AF\u5766","\u54C8\u8428\u514B"],"\u{1F1EE}\u{1F1E9}":["Indonesia","\u5370\u5C3C","\u5370\u5EA6\u5C3C\u897F\u4E9A","\u96C5\u52A0\u8FBE"],"\u{1F1EE}\u{1F1EA}":["Ireland","\u7231\u5C14\u5170","\u611B\u723E\u862D","\u90FD\u67CF\u6797"],"\u{1F1EE}\u{1F1F1}":["Israel","\u4EE5\u8272\u5217"],"\u{1F1EE}\u{1F1F2}":["Isle of Man","\u9A6C\u6069\u5C9B","\u99AC\u6069\u5CF6"],"\u{1F1EE}\u{1F1F3}":["India","\u5370\u5EA6","\u5B5F\u4E70","MFumbai","Mumbai"],"\u{1F1EE}\u{1F1F7}":["Iran","\u4F0A\u6717"],"\u{1F1EE}\u{1F1F8}":["Iceland","\u51B0\u5C9B","\u51B0\u5CF6"],"\u{1F1EE}\u{1F1F9}":["Italy","\u610F\u5927\u5229","\u7FA9\u5927\u5229","\u7C73\u5170","Nachash"],"\u{1F1F1}\u{1F1F0}":["Sri Lanka","\u65AF\u91CC\u5170\u5361","\u65AF\u91CC\u862D\u5361"],"\u{1F1F1}\u{1F1E6}":["Laos","\u8001\u631D","\u8001\u64BE"],"\u{1F1F1}\u{1F1F9}":["Lithuania","\u7ACB\u9676\u5B9B"],"\u{1F1F1}\u{1F1FA}":["Luxembourg","\u5362\u68EE\u5821"],"\u{1F1F1}\u{1F1FB}":["Latvia","\u62C9\u8131\u7EF4\u4E9A","Latvija"],"\u{1F1F2}\u{1F1E6}":["Morocco","\u6469\u6D1B\u54E5"],"\u{1F1F2}\u{1F1E9}":["Moldova","\u6469\u5C14\u591A\u74E6","\u6469\u723E\u591A\u74E6"],"\u{1F1F2}\u{1F1F2}":["Myanmar","\u7F05\u7538","\u7DEC\u7538"],"\u{1F1F3}\u{1F1EC}":["Nigeria","\u5C3C\u65E5\u5229\u4E9A","\u5C3C\u65E5\u5229\u4E9E"],"\u{1F1F2}\u{1F1F0}":["Macedonia","\u9A6C\u5176\u987F","\u99AC\u5176\u9813"],"\u{1F1F2}\u{1F1F3}":["Mongolia","\u8499\u53E4"],"\u{1F1F2}\u{1F1F4}":["Macao","\u6FB3\u95E8","\u6FB3\u9580","CTM"],"\u{1F1F2}\u{1F1F9}":["Malta","\u9A6C\u8033\u4ED6"],"\u{1F1F2}\u{1F1FD}":["Mexico","\u58A8\u897F\u54E5"],"\u{1F1F2}\u{1F1FE}":["Malaysia","\u9A6C\u6765","\u99AC\u4F86","\u5409\u9686\u5761","\u5927\u99AC"],"\u{1F1F3}\u{1F1F1}":["Netherlands","\u8377\u5170","\u8377\u862D","\u5C3C\u5FB7\u862D","\u963F\u59C6\u65AF\u7279\u4E39","Amsterdam"],"\u{1F1F3}\u{1F1F4}":["Norway","\u632A\u5A01"],"\u{1F1F3}\u{1F1F5}":["Nepal","\u5C3C\u6CCA\u5C14"],"\u{1F1F3}\u{1F1FF}":["New Zealand","\u65B0\u897F\u5170","\u65B0\u897F\u862D"],"\u{1F1F5}\u{1F1E6}":["Panama","\u5DF4\u62FF\u9A6C"],"\u{1F1F5}\u{1F1EA}":["Peru","\u79D8\u9C81","\u7955\u9B6F"],"\u{1F1F5}\u{1F1ED}":["Philippines","\u83F2\u5F8B\u5BBE","\u83F2\u5F8B\u8CD3"],"\u{1F1F5}\u{1F1F0}":["Pakistan","\u5DF4\u57FA\u65AF\u5766"],"\u{1F1F5}\u{1F1F1}":["Poland","\u6CE2\u5170","\u6CE2\u862D","\u534E\u6C99","Warsaw"],"\u{1F1F5}\u{1F1F7}":["Puerto Rico","\u6CE2\u591A\u9ECE\u5404"],"\u{1F1F5}\u{1F1F9}":["Portugal","\u8461\u8404\u7259"],"\u{1F1F5}\u{1F1EC}":["Papua New Guinea","\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A"],"\u{1F1F5}\u{1F1FE}":["Paraguay","\u5DF4\u62C9\u572D"],"\u{1F1F7}\u{1F1F4}":["Romania","\u7F57\u9A6C\u5C3C\u4E9A"],"\u{1F1F7}\u{1F1F8}":["Serbia","\u585E\u5C14\u7EF4\u4E9A"],"\u{1F1F7}\u{1F1EA}":["R\xE9union","\u7559\u5C3C\u6C6A","\u6CD5\u5C5E\u7559\u5C3C\u6C6A"],"\u{1F1F7}\u{1F1FA}":["Russia","\u4FC4\u7F57\u65AF","\u4FC4\u56FD","\u4FC4\u7F85\u65AF","\u4F2F\u529B","\u83AB\u65AF\u79D1","\u5723\u5F7C\u5F97\u5821","\u897F\u4F2F\u5229\u4E9A","\u4EAC\u4FC4","\u676D\u4FC4","\u5EE3\u4FC4","\u6EEC\u4FC4","\u5E7F\u4FC4","\u6CAA\u4FC4","Moscow"],"\u{1F1F8}\u{1F1E6}":["Saudi","\u6C99\u7279\u963F\u62C9\u4F2F","\u6C99\u7279","Riyadh","\u5229\u96C5\u5F97"],"\u{1F1F8}\u{1F1EA}":["Sweden","\u745E\u5178","\u65AF\u5FB7\u54E5\u5C14\u6469","Stockholm"],"\u{1F1F8}\u{1F1EC}":["Singapore","\u65B0\u52A0\u5761","\u72EE\u57CE","\u6CAA\u65B0","\u4EAC\u65B0","\u4E2D\u65B0","\u6CC9\u65B0","\u7A57\u65B0","\u6DF1\u65B0","\u676D\u65B0","\u5E7F\u65B0","\u5EE3\u65B0","\u6EEC\u65B0"],"\u{1F1F8}\u{1F1EE}":["Slovenia","\u65AF\u6D1B\u6587\u5C3C\u4E9A"],"\u{1F1F8}\u{1F1F0}":["Slovakia","\u65AF\u6D1B\u4F10\u514B"],"\u{1F1F9}\u{1F1ED}":["Thailand","\u6CF0\u56FD","\u6CF0\u570B","\u66FC\u8C37"],"\u{1F1F9}\u{1F1F3}":["Tunisia","\u7A81\u5C3C\u65AF"],"\u{1F1F9}\u{1F1F7}":["Turkey","\u571F\u8033\u5176","\u4F0A\u65AF\u5766\u5E03\u5C14","Istanbul"],"\u{1F1F9}\u{1F1FC}":["Taiwan","\u53F0\u6E7E","\u81FA\u7063","\u53F0\u7063","\u4E2D\u83EF\u6C11\u570B","\u4E2D\u534E\u6C11\u56FD","\u53F0\u5317","\u53F0\u4E2D","\u65B0\u5317","\u5F70\u5316","\u53F0","\u81FA","Taipei","Tai Wan"],"\u{1F1FA}\u{1F1E6}":["Ukraine","\u4E4C\u514B\u5170","\u70CF\u514B\u862D"],"\u{1F1FA}\u{1F1F8}":["United States","\u7F8E\u56FD","America","\u7F8E","\u4EAC\u7F8E","\u6CE2\u7279\u5170","\u8FBE\u62C9\u65AF","\u4FC4\u52D2\u5188","Oregon","\u51E4\u51F0\u57CE","\u8D39\u5229\u8499","\u7845\u8C37","\u77FD\u8C37","\u62C9\u65AF\u7EF4\u52A0\u65AF","\u6D1B\u6749\u77F6","\u5723\u4F55\u585E","\u5723\u514B\u62C9\u62C9","\u897F\u96C5\u56FE","\u829D\u52A0\u54E5","\u6CAA\u7F8E","\u54E5\u4F26\u5E03","\u7EBD\u7EA6","New York","Los Angeles","San Jose","Sillicon Valley","Michigan","\u4FC4\u4EA5\u4FC4","Ohio","\u9A6C\u7EB3\u8428\u65AF","Manassas","\u5F17\u5409\u5C3C\u4E9A","Virginia"],"\u{1F1FA}\u{1F1FE}":["Uruguay","\u4E4C\u62C9\u572D"],"\u{1F1FB}\u{1F1EA}":["Venezuela","\u59D4\u5185\u745E\u62C9"],"\u{1F1FB}\u{1F1F3}":["Vietnam","\u8D8A\u5357","\u80E1\u5FD7\u660E"],"\u{1F1FF}\u{1F1E6}":["South Africa","\u5357\u975E"],"\u{1F1E8}\u{1F1F3}":["China","\u4E2D\u56FD","\u4E2D\u570B","\u56DE\u56FD","\u56DE\u570B","\u56FD\u5185","\u570B\u5167","\u534E\u4E1C","\u534E\u897F","\u534E\u5357","\u534E\u5317","\u534E\u4E2D","\u6C5F\u82CF","\u5317\u4EAC","\u4E0A\u6D77","\u5E7F\u5DDE","\u6DF1\u5733","\u676D\u5DDE","\u5F90\u5DDE","\u9752\u5C9B","\u5B81\u6CE2","\u9547\u6C5F"]},r=e.match(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]/)?.[0]||"\u{1F3F4}\u200D\u2620\uFE0F";for(let n of Object.keys(t))if(t[n].some(a=>RegExp(`${a}`,"i").test(e)))return/内蒙古/.test(e)&&["\u{1F1F2}\u{1F1F3}"].includes(n)?r="\u{1F1E8}\u{1F1F3}":r=n;for(let n of Object.keys(o0))if(o0[n].some(a=>RegExp(`(^|[^a-zA-Z])${a}([^a-zA-Z]|$)`).test(e))&&!(n=="\u{1F1E8}\u{1F1F3}"&&RegExp("(^|[^a-zA-Z])CN2([^a-zA-Z]|$)").test(e)))return r=n;return r}function sh(e){return o0[Ru(e)]?.[0]}function el(e){return e.replace(/[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|🏴‍☠️|🏳️‍🌈/g,"").trim()}var ih=class{constructor({country,asn}={}){if(I.env.isNode){let Reader=require("@maxmind/geoip2-node").Reader,fs=require('fs'),countryFile=country||eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),asnFile=asn||eval("process.env.SUB_STORE_MMDB_ASN_PATH");if(countryFile&&(this.countryReader=Reader.openBuffer(fs.readFileSync(countryFile))),asnFile){if(!fs.existsSync(asnFile))throw new Error("GeoLite2 ASN MMDB does not exist");this.asnReader=Reader.openBuffer(fs.readFileSync(asnFile))}}}geoip(e){return this.countryReader?.country(e)?.country?.isoCode}ipaso(e){return this.asnReader?.asn(e)?.autonomousSystemOrganization}ipasn(e){return this.asnReader?.asn(e)?.autonomousSystemNumber}};var uh=bn(qE()),KE=bn(qf());async function Tu({url:e,domain:t,type:r="A",timeout:n,edns:i}){let a=uh.default.encode({type:"query",id:0,flags:uh.default.RECURSION_DESIRED,questions:[{type:r,name:t}],additionals:[{type:"OPT",name:".",udpPayloadSize:4096,flags:0,options:[{code:"CLIENT_SUBNET",ip:i,sourcePrefixLength:vr(i)?24:56,scopePrefixLength:0}]}]}),s=await I.http.get({url:`${e}?dns=${a.toString("base64").toString("utf-8").replace(/=/g,"")}`,headers:{Accept:"application/dns-message"},"binary-mode":!0,encoding:null,timeout:n});return uh.default.decode(KE.Buffer.from(I.env.isQX?s.bodyBytes:s.body))}var w0=bn(v0());var{isNode:VE,isQX:ED,isLoon:wD,isSurge:AD,isStash:yD,isShadowRocket:SD,isLanceX:bD,isEgern:CD,isGUIforCores:_D}=Ir(),Zi="Node";VE&&(Zi="Node");ED&&(Zi="QX");wD&&(Zi="Loon");AD&&(Zi="Surge");yD&&(Zi="Stash");SD&&(Zi="ShadowRocket");CD&&(Zi="Egern");bD&&(Zi="LanceX");_D&&(Zi="GUI.for.Cores");var mo={},FD={};try{if(typeof $environment<"u"&&(mo.env=$environment),typeof $loon<"u"&&(mo.loon=$loon),typeof $script<"u"&&(mo.script=$script),typeof $Plugin<"u"&&(mo.plugin=$Plugin),VE){mo.node={version:eval("process.version"),argv:eval("process.argv"),filename:eval("__filename"),dirname:eval("__dirname"),env:{}};let env=eval("process.env");for(let e in env)/^SUB_STORE_/.test(e)&&(mo.node.env[e]=env[e])}}catch(e){}var Qi={backend:Zi,version:uf,feature:FD,meta:mo};function ID(e){return e&&typeof e=="object"&&!Array.isArray(e)}function nl(e){return e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e}function zE(e,t){let r=typeof t=="string"?JSON.parse(t):t;for(let n in r)if(ID(r[n]))if(n.endsWith("!")){let i=nl(n.slice(0,-1));e[i]=r[n]}else{let i=nl(n);e[i]||Object.assign(e,{[i]:{}}),zE(e[i],r[i])}else if(Array.isArray(r[n]))if(n.startsWith("+")){let i=nl(n.slice(1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...r[n],...e[i]]}else if(n.endsWith("+")){let i=nl(n.slice(0,-1));e[i]||Object.assign(e,{[i]:[]}),e[i]=[...e[i],...r[n]]}else{let i=nl(n);Object.assign(e,{[i]:r[n]})}else Object.assign(e,{[n]:r[n]});return e}function $D({rule:e}){return{name:"Conditional Filter",func:t=>t.map(r=>ch(e,r))}}function ch(e,t){if(!e.operator)switch(e.proposition){case"IN":return e.value.indexOf(t[e.attr])!==-1;case"CONTAINS":return typeof t[e.attr]!="string"?!1:t[e.attr].indexOf(e.value)!==-1;case"EQUALS":return t[e.attr]===e.value;case"EXISTS":return t[e.attr]!==null||typeof t[e.attr]<"u";default:throw new Error(`Unknown proposition: ${e.proposition}`)}switch(e.operator){case"AND":return e.child.every(r=>ch(r,t));case"OR":return e.child.some(r=>ch(r,t));case"NOT":return!ch(e.child,t);default:throw new Error(`Unknown operator: ${e.operator}`)}}function DD(e){return{name:"Quick Setting Operator",func:r=>{if(t(e.useless)){let i=JE().func(r);r=r.filter((a,s)=>i[s]&&a.port>0&&a.port<=65535)}return r.map(n=>(n.udp=t(e.udp,n.udp),n.tfo=t(e.tfo,n.tfo),n["fast-open"]=t(e.tfo,n["fast-open"]),n["skip-cert-verify"]=t(e.scert,n["skip-cert-verify"]),n.type==="vmess"&&(n.aead=t(e["vmess aead"],n.aead)),n))}};function t(r,n){switch(r){case"ENABLED":return!0;case"DISABLED":return!1;default:return n}}}function BD({mode:e,tw:t}){return{name:"Flag Operator",func:r=>r.map(n=>{if(e==="remove")n.name=el(n.name);else{let i=Ru(n.name);n.name=el(n.name),n.name=i+" "+n.name,t=="ws"?n.name=n.name.replace(/🇹🇼/g,"\u{1F1FC}\u{1F1F8}"):t=="tw"||(n.name=n.name.replace(/🇹🇼/g,"\u{1F1E8}\u{1F1F3}"))}return n})}}function RD(e){let{action:t,template:r,link:n,position:i}={action:"rename",template:"0 1 2 3 4 5 6 7 8 9",link:"-",position:"back",...e};return{name:"Handle Duplicate Operator",func:a=>{if(t==="delete"){let s={};return a.filter(u=>s[u.name]?!1:(s[u.name]=!0,!0))}else if(t==="rename"){let s=r.split(" "),u={},l=0;a.forEach(d=>{typeof u[d.name]>"u"?u[d.name]=1:u[d.name]++,l=Math.max(u[d.name].toString().length,l)});let f={};return a.map(d=>{if(u[d.name]>1){typeof f[d.name]>"u"&&(f[d.name]=1);let E="",p=f[d.name]++,h=0;for(;p>0;)E=s[p%10]+E,p=parseInt(p/10),h++;for(;h++{switch(e){case"asc":case"desc":return t.sort((r,n)=>{let i=r.name>n.name?1:-1;return i*=e==="desc"?-1:1,i});case"random":return qD(t);default:throw new Error("Unknown sort option: "+e)}}}}function TD(e){let t=e.order||"asc",r=e.expressions;return Array.isArray(e)&&(r=e),Array.isArray(r)||(r=[]),{name:"Regex Sort Operator",func:n=>(r=r.map(i=>A0(i)),n.sort((i,a)=>{let s=GE(r,i.name),u=GE(r,a.name);return s&&!u?-1:u&&!s?1:s&&u?st.map(r=>{for(let{expr:n,now:i}of e)r.name=r.name.replace(A0(n,"g"),i).trim();return r})}}function OD(e){let t=e.map(r=>({expr:r,now:""}));return{name:"Regex Delete Operator",func:YE(t).func}}function ND(e,t,r,n,i){return{name:"Script Operator",func:async a=>{let s=a;if(s?.$file?.type==="mihomoProfile")try{let u=co.safeLoad(e),l;if(s?.$content)try{l=co.safeLoad(s?.$content)}catch(f){I.error(f.message??f)}if(typeof u!="object")throw new Error("patch is not an object");return s.$content=At.yaml.safeDump(zE(l||(s?.$file?.sourceType==="none"?{}:{proxies:await Qr({type:s?.$file?.sourceType||"collection",name:s?.$file?.sourceName,platform:"mihomo",produceType:"internal",produceOpts:{"delete-underscore-fields":!0}})}),u)),s}catch{}return await async function(){s=lh("operator",e,r,i)(a,t,{source:n,...Qi})}(),s},nodeFunc:async a=>{let s=a;return await async function(){s=lh("operator",`async function operator(input = []) { + if (input && (input.$files || input.$content)) { + let { $content, $files, $options, $file } = input + if($file.type === 'mihomoProfile') { + ${e} + if(typeof main === 'function') { + let config; + if ($content) { + try { + config = ProxyUtils.yaml.safeLoad($content); + } catch (e) { + console.log(e.message ?? e); + } + } + $content = ProxyUtils.yaml.safeDump(await main(config || ($file.sourceType === 'none' ? {} : { + proxies: await produceArtifact({ + type: $file.sourceType || 'collection', + name: $file.sourceName, + platform: 'mihomo', + produceType: 'internal', + produceOpts: { + 'delete-underscore-fields': true + } + }), + }))) + } + } else { + ${e} + } + return { $content, $files, $options, $file } + } else { + let proxies = input + let list = [] + for await (let $server of proxies) { + ${e} + list.push($server) + } + return list + } + }`,r,i)(a,t,{source:n,...Qi})}(),s}}}function xD(e){let t,r;try{let n=e.split(":");r=parseInt(n[2],16);let i=parseInt(n[3],16),a=parseInt(n[4],16),s=i>>8,u=i&255,l=a>>8,f=a&255;if(t=`${s}.${u}.${l}.${f}`,r<=0||r>65535)throw new Error(`Invalid port number: ${r}`);if(!vr(t))throw new Error(`Invalid IP address: ${t}`)}catch(n){I.error(`IP4P \u89E3\u6790\u5931\u8D25: ${n}`)}return{server:t,port:r}}var WE={Custom:async function(e,t,r,n,i,a){let s=Mn(`CUSTOM:${a}:${e}:${t}`),u=pr.get(s);if(!r&&u)return u;let l=t==="IPv6"?"AAAA":"A",f=await Tu({url:a,domain:e,type:l,timeout:n,edns:i}),{answers:d}=f;if(!Array.isArray(d)||d.length===0)throw new Error("No answers");let E=d.filter(p=>p?.type===l).map(p=>p?.data).filter(p=>p);if(E.length===0)throw new Error("No answers");return pr.set(s,E),E},Google:async function(e,t,r,n,i){let a=Mn(`GOOGLE:${e}:${t}`),s=pr.get(a);if(!r&&s)return s;let u=t==="IPv6"?"AAAA":"A",l=await Tu({url:"https://8.8.4.4/dns-query",domain:e,type:u,timeout:n,edns:i}),{answers:f}=l;if(!Array.isArray(f)||f.length===0)throw new Error("No answers");let d=f.filter(E=>E?.type===u).map(E=>E?.data).filter(E=>E);if(d.length===0)throw new Error("No answers");return pr.set(a,d),d},"IP-API":async function(e,t,r,n){if(["IPv6"].includes(t))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 IP-API \u4E0D\u652F\u6301 ${t}`);let i=Mn(`IP-API:${e}`),a=pr.get(i);if(!r&&a)return a;let s=await I.http.get({url:`http://ip-api.com/json/${encodeURIComponent(e)}?lang=zh-CN`,timeout:n}),u=JSON.parse(s.body);if(u.status!=="success")throw new Error(`Status is ${u.status}`);if(!u.query||u.query===0)throw new Error("No answers");let l=[u.query];if(l.length===0)throw new Error("No answers");return pr.set(i,l),l},Cloudflare:async function(e,t,r,n,i){let a=Mn(`CLOUDFLARE:${e}:${t}`),s=pr.get(a);if(!r&&s)return s;let u=t==="IPv6"?"AAAA":"A",l=await Tu({url:"https://1.0.0.1/dns-query",domain:e,type:u,timeout:n,edns:i}),{answers:f}=l;if(!Array.isArray(f)||f.length===0)throw new Error("No answers");let d=f.filter(E=>E?.type===u).map(E=>E?.data).filter(E=>E);if(d.length===0)throw new Error("No answers");return pr.set(a,d),d},Ali:async function(e,t,r,n,i){let a=Mn(`ALI:${e}:${t}`),s=pr.get(a);if(!r&&s)return s;let u=await I.http.get({url:`http://223.6.6.6/resolve?edns_client_subnet=${i}/24&name=${encodeURIComponent(e)}&type=${t==="IPv6"?"AAAA":"A"}&short=1`,headers:{accept:"application/dns-json"},timeout:n}),l=JSON.parse(u.body);if(!Array.isArray(l)||l.length===0)throw new Error("No answers");let f=l;if(f.length===0)throw new Error("No answers");return pr.set(a,f),f},Tencent:async function(e,t,r,n,i){let a=Mn(`TENCENT:${e}:${t}`),s=pr.get(a);if(!r&&s)return s;let l=(await I.http.get({url:`http://119.28.28.28/d?ip=${i}&type=${t==="IPv6"?"AAAA":"A"}&dn=${encodeURIComponent(e)}`,headers:{accept:"application/dns-json"},timeout:n})).body.split(";").map(d=>d.split(",")[0]);if(l.length===0||String(l)==="0")throw new Error("No answers");let f=l;if(f.length===0)throw new Error("No answers");return pr.set(a,f),f}};function XE({provider:e,type:t,filter:r,cache:n,url:i,timeout:a,edns:s}){if(["IPv6","IP4P"].includes(t)&&["IP-API"].includes(e))throw new Error(`\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9 ${e} \u4E0D\u652F\u6301 ${t}`);let{defaultTimeout:u}=I.read(Ft),l=a||u||8e3,f=["IPv6","IP4P"].includes(t)?"IPv6":"IPv4",d=WE[e];if(!d)throw new Error(`\u627E\u4E0D\u5230\u57DF\u540D\u89E3\u6790\u670D\u52A1\u63D0\u4F9B\u65B9: ${e}`);let E=s||"223.6.6.6";if(!vo(E))throw new Error("\u57DF\u540D\u89E3\u6790 EDNS \u5E94\u4E3A IP");return I.info(`Domain Resolver: [${t}] ${e} ${E||""} ${i||""}`),{name:"Resolve Domain Operator",func:async p=>{p.forEach((w,y)=>{!w["_no-resolve"]&&w["no-resolve"]&&(p[y]["_no-resolve"]=w["no-resolve"])});let h={},A=15,g=[...new Set(p.filter(w=>!vo(w.server)&&!w["_no-resolve"]).map(w=>w.server))],S=Math.ceil(g.length/A);for(let w=0;w{h[_]=B,I.info(`Successfully resolved domain: ${_} \u279F ${B}`)}).catch(B=>{I.error(`Failed to resolve domain: ${_} with resolver [${e}]: ${B}`)}));await Promise.all(y)}return p.forEach(w=>{if(!w["_no-resolve"])if(h[w.server]){w._resolved_ips=h[w.server];let y=Array.isArray(h[w.server])?h[w.server][Math.floor(Math.random()*h[w.server].length)]:h[w.server];if(f==="IPv6"&&ur(y)){try{y=new Sf.Address6(y).correctForm()}catch(_){I.error(`Failed to parse IPv6 address: ${y}: ${_}`)}if(/^2001::[^:]+:[^:]+:[^:]+$/.test(y)){w._IP4P=y;let{server:_,port:B}=xD(y);_&&B?(w._domain=w.server,w.server=_,w.port=B,w.resolved=!0,w._IPv4=w.server,vo(w._IP)||(w._IP=w.server)):w.resolved||(w.resolved=!1)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${f}`]=w.server,vo(w._IP)||(w._IP=w.server)}else w._domain=w.server,w.server=y,w.resolved=!0,w[`_${f}`]=w.server,vo(w._IP)||(w._IP=w.server)}else w.resolved||(w.resolved=!1)}),p.filter(w=>r==="removeFailed"?vo(w.server)||w["_no-resolve"]||w.resolved:r==="IPOnly"?vo(w.server):r==="IPv4Only"?vr(w.server):r==="IPv6Only"?ur(w.server):!0)}}}function vo(e){return vr(e)||ur(e)}XE.resolver=WE;function E0(e){var t=/^[\x00-\x7F]+$/;return t.test(e)}function JE(){return{name:"Useless Filter",func:e=>e.map(t=>{if(t.cipher&&!E0(t.cipher))return!1;if(t.password&&!E0(t.password))return!1;if(t.network){let r=t[`${t.network}-opts`]?.headers?.Host||t[`${t.network}-opts`]?.headers?.host;if(r=Array.isArray(r)?r:[r],r.some(n=>n&&!E0(n)))return!1}return!/网址|流量|时间|应急|过期|Bandwidth|expire/.test(t.name)})}}function kD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0,n={HK:"\u{1F1ED}\u{1F1F0}",TW:"\u{1F1F9}\u{1F1FC}",US:"\u{1F1FA}\u{1F1F8}",SG:"\u{1F1F8}\u{1F1EC}",JP:"\u{1F1EF}\u{1F1F5}",UK:"\u{1F1EC}\u{1F1E7}",DE:"\u{1F1E9}\u{1F1EA}",KR:"\u{1F1F0}\u{1F1F7}"};return{name:"Region Filter",func:i=>i.map(a=>{let s=Ru(a.name),u=t.some(l=>n[l]===s);return r?u:!u})}}function LD({regex:e=[],keep:t=!0}){return{name:"Regex Filter",func:r=>r.map(n=>{let i=e.some(a=>A0(a).test(n.name));return t?i:!i})}}function A0(e,...t){return t=t.join(""),e.startsWith("(?i)")?(e=e.substring(4),new RegExp(e,"i"+t)):new RegExp(e,t)}function UD(e){let t=e?.value||e;Array.isArray(t)||(t=[]);let r=e?.keep??!0;return{name:"Type Filter",func:n=>n.map(i=>{let a=t.some(s=>i.type===s);return r?a:!a})}}function HD(e,t,r,n,i){return{name:"Script Filter",func:async a=>{let s=nh(a.length,!0);return await async function(){s=lh("filter",e,r,i)(a,t,{source:n,...Qi})}(),s},nodeFunc:async a=>{let s=nh(a.length,!0);return await async function(){s=lh("filter",`async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${e} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list + }`,r,i)(a,t,{source:n,...Qi})}(),s}}}var fh={"Useless Filter":JE,"Region Filter":kD,"Regex Filter":LD,"Type Filter":UD,"Script Filter":HD,"Conditional Filter":$D,"Quick Setting Operator":DD,"Flag Operator":BD,"Sort Operator":PD,"Regex Sort Operator":TD,"Regex Rename Operator":YE,"Regex Delete Operator":OD,"Script Operator":ND,"Handle Duplicate Operator":RD,"Resolve Domain Operator":XE};async function jD(e,t){let r=nh(t.length,!0);try{r=await e.func(t)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")?i="":(I.error(`Cannot apply filter ${e.name}(function filter)! Reason: ${n}`),i=`\u6267\u884C function filter \u5931\u8D25 ${a}; `);try{r=await e.nodeFunc(t)}catch(s){I.error(`Cannot apply filter ${e.name}(shortcut script)! Reason: ${s}`);let u="",l=`${s.message??s}`;throw i&&l===a?(u="",i=`\u6267\u884C\u5931\u8D25 ${a}`):u=`\u6267\u884C\u5FEB\u6377\u8FC7\u6EE4\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u8FC7\u6EE4 ${i}${u}`)}}return t.filter((n,i)=>r[i])}async function MD(e,t){let r=KD(t);try{let n=await e.func(r);n&&(r=n)}catch(n){let i="",a=`${n.message??n}`;a.includes("$server is not defined")||a.includes("$content is not defined")||a.includes("$files is not defined")||r?.$files||r?.$content?i="":(I.error(`Cannot apply operator ${e.name}(function operator)! Reason: ${n}`),i=`\u6267\u884C function operator \u5931\u8D25 ${a}; `);try{let s=await e.nodeFunc(r);s&&(r=s)}catch(s){I.error(`Cannot apply operator ${e.name}(shortcut script)! Reason: ${s}`);let u="",l=`${s.message??s}`;throw i&&l===a?(u="",i=`\u6267\u884C\u5931\u8D25 ${a}`):u=`\u6267\u884C\u5FEB\u6377\u811A\u672C \u5931\u8D25 ${l}`,new Error(`\u811A\u672C\u64CD\u4F5C ${i}${u}`)}}return r}async function ZE(e,t){if(e.name.indexOf("Filter")!==-1)return jD(e,t);if(e.name.indexOf("Operator")!==-1)return MD(e,t)}function qD(e){let t=e.length,r,n;for(;t!==0;)n=Math.floor(Math.random()*t),t-=1,r=e[t],e[t]=e[n],e[n]=r;return e}function KD(e){return JSON.parse(JSON.stringify(e))}function lh(name,script,$arguments,$options){let flowUtils={getFlowField:uu,getFlowHeaders:Xr,parseFlowHeaders:to,flowTransfer:xc,validCheck:Cf,getRmainingDays:_f,normalizeFlowHeader:la};return I.env.isLoon?new Function("$arguments","$options","$substore","lodash","$persistentStore","$httpClient","$notification","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,I,w0.default,$persistentStore,$httpClient,$notification,At,At.yaml,At.Buffer,At.Base64.decode,At.Base64.encode,Qc,flowUtils,Qr,eval('typeof require !== "undefined"')?za:void 0):new Function("$arguments","$options","$substore","lodash","ProxyUtils","yaml","Buffer","b64d","b64e","scriptResourceCache","flowUtils","produceArtifact","require",`${script} + return ${name}`)($arguments,$options,I,w0.default,At,At.yaml,At.Buffer,At.Base64.decode,At.Base64.encode,Qc,flowUtils,Qr,eval('typeof require !== "undefined"')?za:void 0)}var QE=bn(v0()),rt=class{constructor(t){this.proxy=t,this.output=[]}append(t){if(typeof t>"u")throw new Error("required field is missing");this.output.push(t)}appendIfPresent(t,r){ae(this.proxy,r)&&this.append(t)}toString(){return this.output.join("")}};function ae(e,t){let r=QE.default.get(e,t);return typeof r<"u"&&r!==null}var VD="Surge",fi={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function Nu(){return{produce:(t,r,n={})=>{switch(t.name=t.name.replace(/=|,/g,""),t.ports&&(t.ports=String(t.ports)),t.type){case"ss":return GD(t,n["include-unsupported-proxy"]);case"trojan":return zD(t);case"vmess":return YD(t,n["include-unsupported-proxy"]);case"http":return XD(t);case"direct":return JD(t);case"socks5":return ZD(t);case"snell":return QD(t);case"tuic":return e9(t);case"wireguard-surge":return r9(t);case"hysteria2":return n9(t);case"ssh":return WD(t)}if(n["include-unsupported-proxy"]&&t.type==="wireguard")return t9(t);throw new Error(`Platform ${VD} does not support proxy type: ${t.type}`)}}}function GD(e){let t=new rt(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),e.cipher||(e.cipher="none"),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","none","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=fi[e["ip-version"]]||e["ip-version"];if(t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}return t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function zD(e){let t=new rt(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ew(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function YD(e,t){let r=new rt(e);r.append(`${e.name}=${e.type},${e.server},${e.port}`),r.appendIfPresent(`,username=${e.uuid}`,"uuid");let n=fi[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-version=${n}`,"ip-version"),r.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ew(r,e,t),ae(e,"aead")?r.append(`,vmess-aead=${e.aead}`):r.append(`,vmess-aead=${e.alterId===0}`),r.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls=${e.tls}`,"tls"),r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),r.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),r.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),r.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),r.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),r.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),r.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),r.appendIfPresent(`,tos=${e.tos}`,"tos"),r.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),r.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(r.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),r.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),r.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),r.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),r.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),r.toString()}function WD(e){let t=new rt(e);t.append(`${e.name}=ssh,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,private-key=${e["keystore-private-key"]}`,"keystore-private-key"),t.appendIfPresent(`,idle-timeout=${e["idle-timeout"]}`,"idle-timeout"),t.appendIfPresent(`,server-fingerprint="${e["server-fingerprint"]}"`,"server-fingerprint");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function XD(e){if(e.headers&&Object.keys(e.headers).length>0)throw new Error("headers is unsupported");let t=new rt(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function JD(e){let t=new rt(e);t.append(`${e.name}=direct`);let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function ZD(e){let t=new rt(e),r=e.tls?"socks5-tls":"socks5";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e.tfo&&I.info("Option tfo is not supported by Surge, thus omitted"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function QD(e){let t=new rt(e);t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,version=${e.version}`,"version"),t.appendIfPresent(`,psk=${e.psk}`,"psk");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,obfs=${e["obfs-opts"]?.mode}`,"obfs-opts.mode"),t.appendIfPresent(`,obfs-host=${e["obfs-opts"]?.host}`,"obfs-opts.host"),t.appendIfPresent(`,obfs-uri=${e["obfs-opts"]?.path}`,"obfs-opts.path"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,reuse=${e.reuse}`,"reuse"),t.toString()}function e9(e){let t=new rt(e),r=e.type;(!e.token||e.token.length===0)&&(r="tuic-v5"),t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,uuid=${e.uuid}`,"uuid"),t.appendIfPresent(`,password="${e.password}"`,"password"),t.appendIfPresent(`,token=${e.token}`,"token"),t.appendIfPresent(`,alpn=${Array.isArray(e.alpn)?e.alpn[0]:e.alpn}`,"alpn"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let n=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${n}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function t9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new rt(e);t.append(`# > WireGuard Proxy ${e.name} +# ${e.name}=wireguard`),e["section-name"]=Ut(e["section-name"],e.name),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=fi[e["ip-version"]]||e["ip-version"];t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.append(` +# > WireGuard Section ${e.name} +[WireGuard ${e["section-name"]}] +private-key = ${e["private-key"]}`),t.appendIfPresent(` +self-ip = ${e.ip}`,"ip"),t.appendIfPresent(` +self-ip-v6 = ${e.ipv6}`,"ipv6"),e.dns&&(Array.isArray(e.dns)&&(e.dns=e.dns.join(", ")),t.append(` +dns-server = ${e.dns}`)),t.appendIfPresent(` +mtu = ${e.mtu}`,"mtu"),r==="prefer-v6"&&t.append(` +prefer-ipv6 = true`);let n=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],i=Array.isArray(e.reserved)?e.reserved.join("/"):e.reserved,a=e["preshared-key"]??e["pre-shared-key"];a&&(a=`,preshared-key="${a}"`);let s={"public-key":e["public-key"],"allowed-ips":n?`"${n}"`:void 0,endpoint:`${e.server}:${e.port}`,keepalive:e["persistent-keepalive"]||e.keepalive,"client-id":i,"preshared-key":a};return t.append(` +peer = (${Object.keys(s).filter(u=>s[u]!=null).map(u=>`${u} = ${s[u]}`).join(", ")})`),t.toString()}function r9(e){let t=new rt(e);t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.toString()}function n9(e){if(e.obfs||e["obfs-password"])throw new Error("obfs is unsupported");let t=new rt(e);t.append(`${e.name}=hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,password="${e.password}"`,"password"),ae(e,"ports")&&t.append(`,port-hopping="${e.ports.replace(/,/g,";")}"`),t.appendIfPresent(`,port-hopping-interval=${e["hop-interval"]}`,"hop-interval");let r=fi[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-version=${r}`,"ip-version"),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,server-cert-fingerprint-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,test-timeout=${e["test-timeout"]}`,"test-timeout"),t.appendIfPresent(`,test-udp=${e["test-udp"]}`,"test-udp"),t.appendIfPresent(`,hybrid=${e.hybrid}`,"hybrid"),t.appendIfPresent(`,tos=${e.tos}`,"tos"),t.appendIfPresent(`,allow-other-interface=${e["allow-other-interface"]}`,"allow-other-interface"),t.appendIfPresent(`,interface=${e["interface-name"]}`,"interface-name"),ae(e,"shadow-tls-password")&&(t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni")),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.appendIfPresent(`,underlying-proxy=${e["underlying-proxy"]}`,"underlying-proxy"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn"),t.toString()}function ew(e,t,r){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let n=t["ws-opts"].headers,i=Object.keys(n).map(a=>{let s=n[a];return["Host"].includes(a)&&(s=`"${s}"`),`${a}:${s}`}).join("|");Hi(i)&&e.append(`,ws-headers=${i}`)}}else if(r&&["http"].includes(t.network))I.info(`Include Unsupported Proxy: nework ${t.network} -> tcp`);else throw new Error(`network ${t.network} is unsupported`)}function zn(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"||["juicity"].includes(s.type)?!1:!(["ss"].includes(s.type)&&!["aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-ccm","aes-192-ccm","aes-256-ccm","aes-128-gcm-siv","aes-256-gcm-siv","chacha20-ietf","chacha20","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","chacha8-ietf-poly1305","xchacha8-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","lea-128-gcm","lea-192-gcm","lea-256-gcm","rabbit128-poly1305","aegis-128l","aegis-256","aez-384","deoxys-ii-256-128","rc4-md5","none"].includes(s.cipher))).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let u=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(u)&&(s["http-opts"].path=[u]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let u=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(u)&&(s["h2-opts"].path=u[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal"||i["delete-underscore-fields"])for(let u in s)(s[u]==null||/^_/i.test(u))&&delete s[u];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var tw="SurgeMac",i9=Nu();function y0(){return{produce:(t,r,n={})=>{switch(t.type){case"external":return rw(t);default:try{return i9.produce(t,r,n)}catch{if(n.useMihomoExternal)return I.log(`${t.name} is not supported on ${tw}, try to use Mihomo(SurgeMac - External Proxy Program) instead`),s9(t,r,n);throw new Error("Surge for macOS \u53EF\u624B\u52A8\u6307\u5B9A\u94FE\u63A5\u53C2\u6570 target=SurgeMac \u6216\u5728 \u540C\u6B65\u914D\u7F6E \u4E2D\u6307\u5B9A SurgeMac \u6765\u542F\u7528 mihomo \u652F\u63F4 Surge \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u534F\u8BAE")}}}}}function rw(e){let t=new rt(e);if(!e.exec||!e["local-port"])throw new Error(`${e.type}: exec and local-port are required`);return t.append(`${e.name}=external,exec="${e.exec}",local-port=${e["local-port"]}`),Array.isArray(e.args)&&e.args.map(r=>{t.append(`,args="${r}"`)}),Array.isArray(e.addresses)&&e.addresses.map(r=>{t.append(`,addresses=${r}`)}),t.appendIfPresent(`,no-error-alert=${e["no-error-alert"]}`,"no-error-alert"),ae(e,"tfo")?t.append(`,tfo=${e.tfo}`):ae(e,"fast-open")&&t.append(`,tfo=${e["fast-open"]}`),t.appendIfPresent(`,test-url=${e["test-url"]}`,"test-url"),t.appendIfPresent(`,block-quic=${e["block-quic"]}`,"block-quic"),t.toString()}function s9(e,t,r){let n=zn().produce([e],"internal")?.[0];if(n){let i=r?.localPort||e._localPort||65535,a=!["ipv4","v4-only"].includes(e["ip-version"]),s={name:e.name,type:"external",exec:e._exec||"/usr/local/bin/mihomo","local-port":i,args:["-config",vt.encode(JSON.stringify({"mixed-port":i,ipv6:a,mode:"global",dns:{enable:!0,ipv6:a,"default-nameserver":r?.defaultNameserver||e._defaultNameserver||["180.76.76.76","52.80.52.52","119.28.28.28","223.6.6.6"],nameserver:r?.nameserver||e._nameserver||["https://doh.pub/dns-query","https://dns.alidns.com/dns-query","https://doh-pure.onedns.net/dns-query"]},proxies:[{...n,name:"proxy"}],"proxy-groups":[{name:"GLOBAL",type:"select",proxies:["proxy"]}]}))],addresses:[]};return a9(e.server)?s.addresses.push(e.server):I.log(`Platform ${tw}, proxy type ${e.type}: addresses should be an IP address, but got ${e.server}`),r.localPort=i-1,rw(s)}}function a9(e){return vr(e)||ur(e)}function S0(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:!["ss","ssr","vmess","vless","socks5","http","snell","trojan","wireguard"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&(typeof s.flow<"u"||s["reality-opts"])?!1:s["underlying-proxy"]||s["dialer-proxy"]?(I.error(`Clash \u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let u=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(u)&&(s["http-opts"].path=[u]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let u=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(u)&&(s["h2-opts"].path=u[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let u in s)(s[u]==null||/^_/i.test(u))&&delete s[u];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}function hh(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>!["ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","wireguard","hysteria","hysteria2","ssh","juicity"].includes(s.type)||s.type==="ss"&&!["aes-128-gcm","aes-192-gcm","aes-256-gcm","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","rc4-md5","chacha20-ietf","xchacha20","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(s.cipher)||s.type==="snell"&&String(s.version)==="4"||s.type==="vless"&&s["reality-opts"]&&!["xtls-rprx-vision"].includes(s.flow)?!1:s["underlying-proxy"]||s["dialer-proxy"]?(I.error(`Stash \u6682\u4E0D\u652F\u6301\u524D\u7F6E\u4EE3\u7406\u5B57\u6BB5. \u5DF2\u8FC7\u6EE4\u8282\u70B9 ${s.name}. \u8BF7\u4F7F\u7528 \u4EE3\u7406\u7684\u8F6C\u53D1\u94FE https://stash.wiki/proxy-protocols/proxy-groups#relay`),!1):!0).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","aes-128-gcm","chacha20-poly1305","none"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="hysteria2"?(ae(s,"password")&&!ae(s,"auth")&&(s.auth=s.password,delete s.password),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo,delete s.tfo),ae(s,"down")&&!ae(s,"down-speed")&&(s["down-speed"]=s.down,delete s.down),ae(s,"up")&&!ae(s,"up-speed")&&(s["up-speed"]=s.up,delete s.up),ae(s,"down-speed")&&(s["down-speed"]=`${s["down-speed"]}`.match(/\d+/)?.[0]||0),ae(s,"up-speed")&&(s["up-speed"]=`${s["up-speed"]}`.match(/\d+/)?.[0]||0)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"&&ae(s,"sni")&&(s.servername=s.sni,delete s.sni),["vmess","vless"].includes(s.type)&&s.network==="http"){let u=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(u)&&(s["http-opts"].path=[u]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let u=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(u)&&(s["h2-opts"].path=u[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s["server-cert-fingerprint"]=s["tls-fingerprint"]),delete s["tls-fingerprint"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,s["test-url"]&&(s["benchmark-url"]=s["test-url"],delete s["test-url"]),s["test-timeout"]&&(s["benchmark-timeout"]=s["test-timeout"],delete s["test-timeout"]),delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let u in s)(s[u]==null||/^_/i.test(u))&&delete s[u];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var o9="Loon",Hs={dual:"dual",ipv4:"v4-only",ipv6:"v6-only","ipv4-prefer":"prefer-v4","ipv6-prefer":"prefer-v6"};function b0(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return u9(t);case"ssr":return c9(t);case"trojan":return l9(t);case"vmess":return f9(t,n["include-unsupported-proxy"]);case"vless":return h9(t,n["include-unsupported-proxy"]);case"http":return p9(t);case"socks5":return d9(t);case"wireguard":return g9(t);case"hysteria2":return m9(t)}throw new Error(`Platform ${o9} does not support proxy type: ${t.type}`)}}}function u9(e){let t=new rt(e);if(!["rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`${e.name}=shadowsocks,${e.server},${e.port},${e.cipher},"${e.password}"`),ae(e,"plugin")){if(e.plugin==="obfs")t.append(`,obfs-name=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else if(!["shadow-tls"].includes(e.plugin))throw new Error(`plugin ${e.plugin} is not supported`)}if(ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function c9(e){let t=new rt(e);if(t.append(`${e.name}=shadowsocksr,${e.server},${e.port},${e.cipher},"${e.password}"`),t.append(`,protocol=${e.protocol}`),t.appendIfPresent(`,protocol-param=${e["protocol-param"]}`,"protocol-param"),t.appendIfPresent(`,obfs=${e.obfs}`,"obfs"),t.appendIfPresent(`,obfs-param=${e["obfs-param"]}`,"obfs-param"),ae(e,"shadow-tls-password"))t.append(`,shadow-tls-password=${e["shadow-tls-password"]}`),t.appendIfPresent(`,shadow-tls-version=${e["shadow-tls-version"]}`,"shadow-tls-version"),t.appendIfPresent(`,shadow-tls-sni=${e["shadow-tls-sni"]}`,"shadow-tls-sni"),t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port");else if(["shadow-tls"].includes(e.plugin)&&e["plugin-opts"]){let n=e["plugin-opts"].password,i=e["plugin-opts"].host,a=e["plugin-opts"].version;if(n){if(t.append(`,shadow-tls-password=${n}`),i&&t.append(`,shadow-tls-sni=${i}`),a){if(a<2)throw new Error(`shadow-tls version ${a} is not supported`);t.append(`,shadow-tls-version=${a}`)}t.appendIfPresent(`,udp-port=${e["udp-port"]}`,"udp-port")}}t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function l9(e){let t=new rt(e);if(t.append(`${e.name}=trojan,${e.server},${e.port},"${e.password}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")t.append(",transport=ws"),t.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),t.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function f9(e){let t=!!e["reality-opts"],r=new rt(e);if(r.append(`${e.name}=vmess,${e.server},${e.port},${e.cipher},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")r.append(",transport=ws"),r.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),r.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){r.append(",transport=http");let i=e["http-opts"]?.path,a=e["http-opts"]?.headers?.Host;r.appendIfPresent(`,path=${Array.isArray(i)?i[0]:i}`,"http-opts.path"),r.appendIfPresent(`,host=${Array.isArray(a)?a[0]:a}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else r.append(",transport=tcp");r.appendIfPresent(`,over-tls=${e.tls}`,"tls"),r.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t?(r.appendIfPresent(`,sni=${e.sni}`,"sni"),r.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),r.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(r.appendIfPresent(`,tls-name=${e.sni}`,"sni"),r.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),r.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),ae(e,"aead")?r.append(`,alterId=${e.aead?0:1}`):r.append(`,alterId=${e.alterId}`),r.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?r.append(",block-quic=true"):e["block-quic"]==="off"&&r.append(",block-quic=false"),e.udp&&r.append(",udp=true");let n=Hs[e["ip-version"]]||e["ip-version"];return r.appendIfPresent(`,ip-mode=${n}`,"ip-version"),r.toString()}function h9(e){let t=!1,r=!!e["reality-opts"];if(typeof e.flow<"u")if(["xtls-rprx-vision"].includes(e.flow))t=!0;else throw new Error(`VLESS flow(${e.flow}) is not supported`);let n=new rt(e);if(n.append(`${e.name}=vless,${e.server},${e.port},"${e.uuid}"`),e.network==="tcp"&&delete e.network,ae(e,"network"))if(e.network==="ws")n.append(",transport=ws"),n.appendIfPresent(`,path=${e["ws-opts"]?.path}`,"ws-opts.path"),n.appendIfPresent(`,host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else if(e.network==="http"){n.append(",transport=http");let a=e["http-opts"]?.path,s=e["http-opts"]?.headers?.Host;n.appendIfPresent(`,path=${Array.isArray(a)?a[0]:a}`,"http-opts.path"),n.appendIfPresent(`,host=${Array.isArray(s)?s[0]:s}`,"http-opts.headers.Host")}else throw new Error(`network ${e.network} is unsupported`);else n.append(",transport=tcp");n.appendIfPresent(`,over-tls=${e.tls}`,"tls"),n.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t&&n.appendIfPresent(`,flow=${e.flow}`,"flow"),r?(n.appendIfPresent(`,sni=${e.sni}`,"sni"),n.appendIfPresent(`,public-key="${e["reality-opts"]["public-key"]}"`,"reality-opts.public-key"),n.appendIfPresent(`,short-id=${e["reality-opts"]["short-id"]}`,"reality-opts.short-id")):(n.appendIfPresent(`,tls-name=${e.sni}`,"sni"),n.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256")),n.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?n.append(",block-quic=true"):e["block-quic"]==="off"&&n.append(",block-quic=false"),e.udp&&n.append(",udp=true");let i=Hs[e["ip-version"]]||e["ip-version"];return n.appendIfPresent(`,ip-mode=${i}`,"ip-version"),n.toString()}function p9(e){let t=new rt(e),r=e.tls?"https":"http";t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false");let n=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${n}`,"ip-version"),t.toString()}function d9(e){let t=new rt(e);t.append(`${e.name}=socks5,${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,over-tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function g9(e){Array.isArray(e.peers)&&e.peers.length>0&&(e.server=e.peers[0].server,e.port=e.peers[0].port,e.ip=e.peers[0].ip,e.ipv6=e.peers[0].ipv6,e["public-key"]=e.peers[0]["public-key"],e["preshared-key"]=e.peers[0]["pre-shared-key"],e["allowed-ips"]=e.peers[0]["allowed-ips"],e.reserved=e.peers[0].reserved);let t=new rt(e);if(t.append(`${e.name}=wireguard`),t.appendIfPresent(`,interface-ip=${e.ip}`,"ip"),t.appendIfPresent(`,interface-ipv6=${e.ipv6}`,"ipv6"),t.appendIfPresent(`,private-key="${e["private-key"]}"`,"private-key"),t.appendIfPresent(`,mtu=${e.mtu}`,"mtu"),e.dns&&Array.isArray(e.dns)){e.dnsv6=e.dns.find(u=>ur(u));let s=e.dns.find(u=>vr(u));s||(s=e.dns.find(u=>!vr(u)&&!ur(u))),e.dns=s}t.appendIfPresent(`,dns=${e.dns}`,"dns"),t.appendIfPresent(`,dnsv6=${e.dnsv6}`,"dnsv6"),t.appendIfPresent(`,keepalive=${e["persistent-keepalive"]}`,"persistent-keepalive"),t.appendIfPresent(`,keepalive=${e.keepalive}`,"keepalive");let r=Array.isArray(e["allowed-ips"])?e["allowed-ips"].join(","):e["allowed-ips"],n=Array.isArray(e.reserved)?e.reserved.join(","):e.reserved;n&&(n=`,reserved=[${n}]`);let i=e["preshared-key"]??e["pre-shared-key"];i&&(i=`,preshared-key="${i}"`),t.append(`,peers=[{public-key="${e["public-key"]}",allowed-ips="${r??"0.0.0.0/0,::/0"}",endpoint=${e.server}:${e.port}${n??""}${i??""}}]`);let a=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${a}`,"ip-version"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),t.toString()}function m9(e){if(e["obfs-password"]&&e.obfs!="salamander")throw new Error("only salamander obfs is supported");let t=new rt(e);t.append(`${e.name}=Hysteria2,${e.server},${e.port}`),t.appendIfPresent(`,"${e.password}"`,"password"),t.appendIfPresent(`,tls-name=${e.sni}`,"sni"),t.appendIfPresent(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),t.appendIfPresent(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),e["obfs-password"]&&e.obfs=="salamander"&&t.append(`,salamander-password=${e["obfs-password"]}`),t.appendIfPresent(`,fast-open=${e.tfo}`,"tfo"),e["block-quic"]==="on"?t.append(",block-quic=true"):e["block-quic"]==="off"&&t.append(",block-quic=false"),e.udp&&t.append(",udp=true"),t.appendIfPresent(`,download-bandwidth=${`${e.down}`.match(/\d+/)?.[0]||0}`,"down"),t.appendIfPresent(`,ecn=${e.ecn}`,"ecn");let r=Hs[e["ip-version"]]||e["ip-version"];return t.appendIfPresent(`,ip-mode=${r}`,"ip-version"),t.toString()}function xu(){return{type:"SINGLE",produce:r=>{let n="";delete r.subName,delete r.collectionName,delete r.id,delete r.resolved,delete r["no-resolve"];for(let i in r)r[i]==null&&delete r[i];switch(["trojan","tuic","hysteria","hysteria2","juicity"].includes(r.type)&&delete r.tls,!["vmess"].includes(r.type)&&r.server&&ur(r.server)&&(r.server=`[${r.server}]`),r.type){case"socks5":n=`socks://${encodeURIComponent(vt.encode(`${r.username??""}:${r.password??""}`))}@${r.server}:${r.port}#${r.name}`;break;case"ss":let i=`${r.cipher}:${r.password}`;if(n=`ss://${r.cipher?.startsWith("2022-blake3-")?`${encodeURIComponent(r.cipher)}:${encodeURIComponent(r.password)}`:vt.encode(i)}@${r.server}:${r.port}${r.plugin?"/":""}`,r.plugin){n+="?plugin=";let ue=r["plugin-opts"];switch(r.plugin){case"obfs":n+=encodeURIComponent(`simple-obfs;obfs=${ue.mode}${ue.host?";obfs-host="+ue.host:""}`);break;case"v2ray-plugin":n+=encodeURIComponent(`v2ray-plugin;obfs=${ue.mode}${ue.host?";obfs-host"+ue.host:""}${ue.tls?";tls":""}`);break;case"shadow-tls":n+=encodeURIComponent(`shadow-tls;host=${ue.host};password=${ue.password};version=${ue.version}`);break;default:throw new Error(`Unsupported plugin option: ${r.plugin}`)}}r["udp-over-tcp"]&&(n=`${n}${r.plugin?"&":"?"}uot=1`),r.tfo&&(n=`${n}${r.plugin||r["udp-over-tcp"]?"&":"?"}tfo=1`),n+=`#${encodeURIComponent(r.name)}`;break;case"ssr":n=`${r.server}:${r.port}:${r.protocol}:${r.cipher}:${r.obfs}:${vt.encode(r.password)}/`,n+=`?remarks=${vt.encode(r.name)}${r["obfs-param"]?"&obfsparam="+vt.encode(r["obfs-param"]):""}${r["protocol-param"]?"&protocolparam="+vt.encode(r["protocol-param"]):""}`,n="ssr://"+vt.encode(n);break;case"vmess":let a="",s=r.network||"tcp";if(r.network==="http"?(s="tcp",a="http"):r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(s="httpupgrade"),n={v:"2",ps:r.name,add:r.server,port:`${r.port}`,id:r.uuid,aid:`${r.alterId||0}`,scy:r.cipher,net:s,type:a,tls:r.tls?"tls":"",alpn:Array.isArray(r.alpn)?r.alpn.join(","):r.alpn,fp:r["client-fingerprint"]},r.tls&&r.sni&&(n.sni=r.sni),r.network){let ue=r[`${r.network}-opts`]?.path,_e=r[`${r.network}-opts`]?.headers?.Host;["grpc"].includes(r.network)?(n.path=r[`${r.network}-opts`]?.["grpc-service-name"],n.type=r[`${r.network}-opts`]?.["_grpc-type"]||"gun",n.host=r[`${r.network}-opts`]?.["_grpc-authority"]):["kcp","quic"].includes(r.network)?(n.type=r[`${r.network}-opts`]?.[`_${r.network}-type`]||"none",n.host=r[`${r.network}-opts`]?.[`_${r.network}-host`],n.path=r[`${r.network}-opts`]?.[`_${r.network}-path`]):(ue&&(n.path=Array.isArray(ue)?ue[0]:ue),_e&&(n.host=Array.isArray(_e)?_e[0]:_e))}n="vmess://"+vt.encode(JSON.stringify(n));break;case"vless":let u="none",l=r["reality-opts"],f="",d="",E="";if(l){u="reality";let ue=r["reality-opts"]?.["public-key"];ue&&(d=`&pbk=${encodeURIComponent(ue)}`);let _e=r["reality-opts"]?.["short-id"];_e&&(f=`&sid=${encodeURIComponent(_e)}`);let He=r["reality-opts"]?.["_spider-x"];He&&(E=`&spx=${encodeURIComponent(He)}`)}else r.tls&&(u="tls");let p="";r.alpn&&(p=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let h="";r["skip-cert-verify"]&&(h="&allowInsecure=1");let A="";r.sni&&(A=`&sni=${encodeURIComponent(r.sni)}`);let g="";r["client-fingerprint"]&&(g=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let S="";r.flow&&(S=`&flow=${encodeURIComponent(r.flow)}`);let w="";r._extra&&(w=`&extra=${encodeURIComponent(r._extra)}`);let y="";r._mode&&(y=`&mode=${encodeURIComponent(r._mode)}`);let _=r.network;r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(_="httpupgrade");let B=`&type=${encodeURIComponent(_)}`;if(["grpc"].includes(r.network)){B+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`;let ue=r[`${r.network}-opts`]?.["_grpc-authority"];ue&&(B+=`&authority=${encodeURIComponent(ue)}`)}let D=r[`${r.network}-opts`]?.[`${r.network}-service-name`],M=r[`${r.network}-opts`]?.path,q=r[`${r.network}-opts`]?.headers?.Host;M&&(B+=`&path=${encodeURIComponent(Array.isArray(M)?M[0]:M)}`),q&&(B+=`&host=${encodeURIComponent(Array.isArray(q)?q[0]:q)}`),D&&(B+=`&serviceName=${encodeURIComponent(D)}`),r.network==="kcp"&&(r.seed&&(B+=`&seed=${encodeURIComponent(r.seed)}`),r.headerType&&(B+=`&headerType=${encodeURIComponent(r.headerType)}`)),n=`vless://${r.uuid}@${r.server}:${r.port}?security=${encodeURIComponent(u)}${B}${p}${h}${A}${g}${S}${f}${E}${d}${y}${w}#${encodeURIComponent(r.name)}`;break;case"trojan":let F="";if(r.network){let ue=r.network;if(r.network==="ws"&&r["ws-opts"]?.["v2ray-http-upgrade"]&&(ue="httpupgrade"),F=`&type=${encodeURIComponent(ue)}`,["grpc"].includes(r.network)){let Sr=r[`${r.network}-opts`]?.[`${r.network}-service-name`],Ht=r[`${r.network}-opts`]?.["_grpc-authority"];Sr&&(F+=`&serviceName=${encodeURIComponent(Sr)}`),Ht&&(F+=`&authority=${encodeURIComponent(Ht)}`),F+=`&mode=${encodeURIComponent(r[`${r.network}-opts`]?.["_grpc-type"]||"gun")}`}let _e=r[`${r.network}-opts`]?.path,He=r[`${r.network}-opts`]?.headers?.Host;_e&&(F+=`&path=${encodeURIComponent(Array.isArray(_e)?_e[0]:_e)}`),He&&(F+=`&host=${encodeURIComponent(Array.isArray(He)?He[0]:He)}`)}let P="";r["client-fingerprint"]&&(P=`&fp=${encodeURIComponent(r["client-fingerprint"])}`);let L="";r.alpn&&(L=`&alpn=${encodeURIComponent(Array.isArray(r.alpn)?r.alpn:r.alpn.join(","))}`);let j=r["reality-opts"],V="",W="",G="",z="",X="",ie="";if(j){z="&security=reality";let ue=r["reality-opts"]?.["public-key"];ue&&(W=`&pbk=${encodeURIComponent(ue)}`);let _e=r["reality-opts"]?.["short-id"];_e&&(V=`&sid=${encodeURIComponent(_e)}`);let He=r["reality-opts"]?.["_spider-x"];He&&(G=`&spx=${encodeURIComponent(He)}`),r._extra&&(ie=`&extra=${encodeURIComponent(r._extra)}`),r._mode&&(X=`&mode=${encodeURIComponent(r._mode)}`)}n=`trojan://${r.password}@${r.server}:${r.port}?sni=${encodeURIComponent(r.sni||r.server)}${r["skip-cert-verify"]?"&allowInsecure=1":""}${F}${L}${P}${z}${V}${W}${G}${X}${ie}#${encodeURIComponent(r.name)}`;break;case"hysteria2":let Se=[];r["hop-interval"]&&Se.push(`hop-interval=${r["hop-interval"]}`),r.keepalive&&Se.push(`keepalive=${r.keepalive}`),r["skip-cert-verify"]&&Se.push("insecure=1"),r.obfs&&(Se.push(`obfs=${encodeURIComponent(r.obfs)}`),r["obfs-password"]&&Se.push(`obfs-password=${encodeURIComponent(r["obfs-password"])}`)),r.sni&&Se.push(`sni=${encodeURIComponent(r.sni)}`),r.ports&&Se.push(`mport=${r.ports}`),r["tls-fingerprint"]&&Se.push(`pinSHA256=${encodeURIComponent(r["tls-fingerprint"])}`),r.tfo&&Se.push("fastopen=1"),n=`hysteria2://${encodeURIComponent(r.password)}@${r.server}:${r.port}?${Se.join("&")}#${encodeURIComponent(r.name)}`;break;case"hysteria":let we=[];Object.keys(r).forEach(ue=>{if(!["name","type","server","port"].includes(ue)){let _e=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&we.push(`${_e}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&we.push("insecure=1"):["tfo","fast-open"].includes(ue)?r[ue]&&!we.includes("fastopen=1")&&we.push("fastopen=1"):["ports"].includes(ue)?we.push(`mport=${r[ue]}`):["auth-str"].includes(ue)?we.push(`auth=${r[ue]}`):["up"].includes(ue)?we.push(`upmbps=${r[ue]}`):["down"].includes(ue)?we.push(`downmbps=${r[ue]}`):["_obfs"].includes(ue)?we.push(`obfs=${r[ue]}`):["obfs"].includes(ue)?we.push(`obfsParam=${r[ue]}`):["sni"].includes(ue)?we.push(`peer=${r[ue]}`):r[ue]&&!/^_/i.test(ue)&&we.push(`${_e}=${encodeURIComponent(r[ue])}`)}}),n=`hysteria://${r.server}:${r.port}?${we.join("&")}#${encodeURIComponent(r.name)}`;break;case"tuic":if(!r.token||r.token.length===0){let ue=[];Object.keys(r).forEach(_e=>{if(!["name","type","uuid","password","server","port","tls"].includes(_e)){let He=_e.replace(/-/,"_");["alpn"].includes(_e)?r[_e]&&ue.push(`${He}=${encodeURIComponent(Array.isArray(r[_e])?r[_e][0]:r[_e])}`):["skip-cert-verify"].includes(_e)?r[_e]&&ue.push("allow_insecure=1"):["tfo","fast-open"].includes(_e)?r[_e]&&!ue.includes("fast_open=1")&&ue.push("fast_open=1"):["disable-sni","reduce-rtt"].includes(_e)&&r[_e]?ue.push(`${He.replace(/-/g,"_")}=1`):["congestion-controller"].includes(_e)?ue.push(`congestion_control=${r[_e]}`):r[_e]&&!/^_/i.test(_e)&&ue.push(`${He.replace(/-/g,"_")}=${encodeURIComponent(r[_e])}`)}}),n=`tuic://${encodeURIComponent(r.uuid)}:${encodeURIComponent(r.password)}@${r.server}:${r.port}?${ue.join("&")}#${encodeURIComponent(r.name)}`}break;case"anytls":let Ie=[];Object.keys(r).forEach(ue=>{if(!["name","type","password","server","port","tls"].includes(ue)){let _e=ue.replace(/-/,"_");["alpn"].includes(ue)?r[ue]&&Ie.push(`${_e}=${encodeURIComponent(Array.isArray(r[ue])?r[ue][0]:r[ue])}`):["skip-cert-verify"].includes(ue)?r[ue]&&Ie.push("insecure=1"):["udp"].includes(ue)?r[ue]&&Ie.push("udp=1"):r[ue]&&!/^_/i.test(ue)&&Ie.push(`${_e.replace(/-/g,"_")}=${encodeURIComponent(r[ue])}`)}}),n=`anytls://${encodeURIComponent(r.password)}@${r.server}:${r.port}/?${Ie.join("&")}#${encodeURIComponent(r.name)}`;break;case"wireguard":let Ve=[];Object.keys(r).forEach(ue=>{["name","type","server","port","ip","ipv6","private-key"].includes(ue)||(["public-key"].includes(ue)?Ve.push(`publickey=${r[ue]}`):["udp"].includes(ue)?r[ue]&&Ve.push(`${ue}=1`):r[ue]&&!/^_/i.test(ue)&&Ve.push(`${ue}=${encodeURIComponent(r[ue])}`))}),r.ip&&r.ipv6?Ve.push(`address=${r.ip}/32,${r.ipv6}/128`):r.ip?Ve.push(`address=${r.ip}/32`):r.ipv6&&Ve.push(`address=${r.ipv6}/128`),n=`wireguard://${encodeURIComponent(r["private-key"])}@${r.server}:${r.port}/?${Ve.join("&")}#${encodeURIComponent(r.name)}`;break}return n}}}var v9=xu();function il(){return{type:"ALL",produce:r=>{let n=[];return r.map(i=>{try{n.push(v9.produce(i))}catch(a){I.error(`Cannot produce proxy: ${JSON.stringify(i,null,2)} +Reason: ${a}`)}}),vt.encode(n.join(` +`))}}}var E9="QX";function sl(){return{produce:(t,r,n={})=>{switch(t.type){case"ss":return w9(t);case"ssr":return A9(t);case"trojan":return y9(t);case"vmess":return S9(t);case"http":return C9(t);case"socks5":return _9(t);case"vless":return b9(t)}throw new Error(`Platform ${E9} does not support proxy type: ${t.type}`)}}}function w9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(e.cipher||(e.cipher="none"),!["none","rc4-md5","rc4-md5-6","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","cast5-cfb","des-cfb","rc2-cfb","salsa20","chacha20","chacha20-ietf","aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),Yn(e)&&(e.tls=!0),ae(e,"plugin")){if(e.plugin==="obfs"){let i=e["plugin-opts"];r(`,obfs=${i.mode}`)}else if(e.plugin==="v2ray-plugin"&&e["plugin-opts"].mode==="websocket")e["plugin-opts"].tls?r(",obfs=wss"):r(",obfs=ws");else throw new Error("plugin is not supported");n(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),n(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path")}return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),e._ssr_python_uot?r(",udp-over-tcp=true"):e["udp-over-tcp"]&&(!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?r(",udp-over-tcp=sp.v1"):e["udp-over-tcp-version"]===2&&r(",udp-over-tcp=sp.v2")),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function A9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`shadowsocks=${e.server}:${e.port}`),r(`,method=${e.cipher}`),r(`,password=${e.password}`),r(`,ssr-protocol=${e.protocol}`),n(`,ssr-protocol-param=${e["protocol-param"]}`,"protocol-param"),n(`,obfs=${e.obfs}`,"obfs"),n(`,obfs-host=${e["obfs-param"]}`,"obfs-param"),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function y9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`trojan=${e.server}:${e.port}`),r(`,password=${e.password}`),ae(e,"network"))if(e.network==="ws")Yn(e)?r(",obfs=wss"):r(",obfs=ws"),n(`,obfs-uri=${e["ws-opts"]?.path}`,"ws-opts.path"),n(`,obfs-host=${e["ws-opts"]?.headers?.Host}`,"ws-opts.headers.Host");else throw new Error(`network ${e.network} is unsupported`);return e.network!=="ws"&&Yn(e)&&r(",over-tls=true"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function S9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);r(`vmess=${e.server}:${e.port}`);let i;if(e.cipher==="auto"?i="chacha20-ietf-poly1305":i=e.cipher,r(`,method=${i}`),r(`,password=${e.uuid}`),Yn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),ae(e,"aead")?r(`,aead=${e.aead}`):r(`,aead=${e.alterId===0}`),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function b9(e){if(typeof e.flow<"u"||e["reality-opts"])throw new Error("VLESS XTLS/REALITY is not supported");let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);if(r(`vless=${e.server}:${e.port}`),r(",method=none"),r(`,password=${e.uuid}`),Yn(e)&&(e.tls=!0),ae(e,"network")){if(e.network==="ws")e.tls?r(",obfs=wss"):r(",obfs=ws");else if(e.network==="http")r(",obfs=http");else if(["tcp"].includes(e.network))e.tls&&r(",obfs=over-tls");else if(!["tcp"].includes(e.network))throw new Error(`network ${e.network} is unsupported`);let a=e[`${e.network}-opts`]?.path,s=e[`${e.network}-opts`]?.headers?.Host;n(`,obfs-uri=${Array.isArray(a)?a[0]:a}`,`${e.network}-opts.path`),n(`,obfs-host=${Array.isArray(s)?s[0]:s}`,`${e.network}-opts.headers.Host`)}else e.tls&&r(",obfs=over-tls");return Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function C9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`http=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Yn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function _9(e){let t=new rt(e),r=t.append.bind(t),n=t.appendIfPresent.bind(t);return r(`socks5=${e.server}:${e.port}`),n(`,username=${e.username}`,"username"),n(`,password=${e.password}`,"password"),Yn(e)&&(e.tls=!0),n(`,over-tls=${e.tls}`,"tls"),Yn(e)&&(n(`,tls-pubkey-sha256=${e["tls-pubkey-sha256"]}`,"tls-pubkey-sha256"),n(`,tls-alpn=${e["tls-alpn"]}`,"tls-alpn"),n(`,tls-no-session-ticket=${e["tls-no-session-ticket"]}`,"tls-no-session-ticket"),n(`,tls-no-session-reuse=${e["tls-no-session-reuse"]}`,"tls-no-session-reuse"),n(`,tls-cert-sha256=${e["tls-fingerprint"]}`,"tls-fingerprint"),n(`,tls-verification=${!e["skip-cert-verify"]}`,"skip-cert-verify"),n(`,tls-host=${e.sni}`,"sni")),n(`,fast-open=${e.tfo}`,"tfo"),n(`,udp-relay=${e.udp}`,"udp"),t.appendIfPresent(`,server_check_url=${e["test-url"]}`,"test-url"),r(`,tag=${e.name}`),t.toString()}function Yn(e){return e.tls}function al(){return{type:"ALL",produce:(r,n,i={})=>{let a=r.filter(s=>i["include-unsupported-proxy"]?!0:s.type==="snell"&&String(s.version)==="4"?!1:!["mieru"].includes(s.type)).map(s=>{if(s.type==="vmess"?(ae(s,"aead")&&(s.aead&&(s.alterId=0),delete s.aead),ae(s,"sni")&&(s.servername=s.sni,delete s.sni),ae(s,"cipher")&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(s.cipher)&&(s.cipher="auto")):s.type==="tuic"?(ae(s,"alpn")?s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]:s.alpn=["h3"],ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo),(!s.token||s.token.length===0)&&!ae(s,"version")&&(s.version=5)):s.type==="hysteria"?(ae(s,"auth_str")&&!ae(s,"auth-str")&&(s["auth-str"]=s.auth_str),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="hysteria2"?(s["obfs-password"]&&s.obfs=="salamander"&&(s.obfs=s["obfs-password"],delete s["obfs-password"]),ae(s,"alpn")&&(s.alpn=Array.isArray(s.alpn)?s.alpn:[s.alpn]),ae(s,"tfo")&&!ae(s,"fast-open")&&(s["fast-open"]=s.tfo)):s.type==="wireguard"?(s.keepalive=s.keepalive??s["persistent-keepalive"],s["persistent-keepalive"]=s.keepalive,s["preshared-key"]=s["preshared-key"]??s["pre-shared-key"],s["pre-shared-key"]=s["preshared-key"]):s.type==="snell"&&s.version<3?delete s.udp:s.type==="vless"?ae(s,"sni")&&(s.servername=s.sni,delete s.sni):s.type==="ss"&&ae(s,"shadow-tls-password")&&!ae(s,"plugin")&&(s.plugin="shadow-tls",s["plugin-opts"]={host:s["shadow-tls-sni"],password:s["shadow-tls-password"],version:s["shadow-tls-version"]},delete s["shadow-tls-password"],delete s["shadow-tls-sni"],delete s["shadow-tls-version"]),["vmess","vless"].includes(s.type)&&s.network==="http"){let u=s["http-opts"]?.path;ae(s,"http-opts.path")&&!Array.isArray(u)&&(s["http-opts"].path=[u]);let l=s["http-opts"]?.headers?.Host;ae(s,"http-opts.headers.Host")&&!Array.isArray(l)&&(s["http-opts"].headers.Host=[l])}if(["vmess","vless"].includes(s.type)&&s.network==="h2"){let u=s["h2-opts"]?.path;ae(s,"h2-opts.path")&&Array.isArray(u)&&(s["h2-opts"].path=u[0]);let l=s["h2-opts"]?.headers?.host;ae(s,"h2-opts.headers.Host")&&!Array.isArray(l)&&(s["h2-opts"].headers.host=[l])}if(s["plugin-opts"]?.tls&&ae(s,"skip-cert-verify")&&(s["plugin-opts"]["skip-cert-verify"]=s["skip-cert-verify"]),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(s.type)&&delete s.tls,s["tls-fingerprint"]&&(s.fingerprint=s["tls-fingerprint"]),delete s["tls-fingerprint"],s["underlying-proxy"]&&(s["dialer-proxy"]=s["underlying-proxy"]),delete s["underlying-proxy"],ae(s,"tls")&&typeof s.tls!="boolean"&&delete s.tls,delete s.subName,delete s.collectionName,delete s.id,delete s.resolved,delete s["no-resolve"],n!=="internal")for(let u in s)(s[u]==null||/^_/i.test(u))&&delete s[u];return["grpc"].includes(s.network)&&s[`${s.network}-opts`]&&(delete s[`${s.network}-opts`]["_grpc-type"],delete s[`${s.network}-opts`]["_grpc-authority"]),s});return n==="internal"?a:`proxies: +`+a.map(s=>" - "+JSON.stringify(s)+` +`).join("")}}}var F9="Surfboard";function ph(){return{produce:t=>{switch(t.name=t.name.replace(/=|,/g,""),t.type){case"ss":return I9(t);case"trojan":return $9(t);case"vmess":return D9(t);case"http":return B9(t);case"socks5":return R9(t);case"wireguard-surge":return P9(t)}throw new Error(`Platform ${F9} does not support proxy type: ${t.type}`)}}}function I9(e){let t=new rt(e);if(t.append(`${e.name}=${e.type},${e.server},${e.port}`),!["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","xchacha20-ietf-poly1305","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","salsa20","chacha20","chacha20-ietf"].includes(e.cipher))throw new Error(`cipher ${e.cipher} is not supported`);if(t.append(`,encrypt-method=${e.cipher}`),t.appendIfPresent(`,password=${e.password}`,"password"),ae(e,"plugin"))if(e.plugin==="obfs")t.append(`,obfs=${e["plugin-opts"].mode}`),t.appendIfPresent(`,obfs-host=${e["plugin-opts"].host}`,"plugin-opts.host"),t.appendIfPresent(`,obfs-uri=${e["plugin-opts"].path}`,"plugin-opts.path");else throw new Error(`plugin ${e.plugin} is not supported`);return t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function $9(e){let t=new rt(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,password=${e.password}`,"password"),nw(t,e),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,tfo=${e.tfo}`,"tfo"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function D9(e){let t=new rt(e);return t.append(`${e.name}=${e.type},${e.server},${e.port}`),t.appendIfPresent(`,username=${e.uuid}`,"uuid"),nw(t,e),ae(e,"aead")?t.append(`,vmess-aead=${e.aead}`):t.append(`,vmess-aead=${e.alterId===0}`),t.appendIfPresent(`,tls=${e.tls}`,"tls"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function B9(e){let t=new rt(e),r=e.tls?"https":"http";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function R9(e){let t=new rt(e),r=e.tls?"socks5-tls":"socks5";return t.append(`${e.name}=${r},${e.server},${e.port}`),t.appendIfPresent(`,${e.username}`,"username"),t.appendIfPresent(`,${e.password}`,"password"),t.appendIfPresent(`,sni=${e.sni}`,"sni"),t.appendIfPresent(`,skip-cert-verify=${e["skip-cert-verify"]}`,"skip-cert-verify"),t.appendIfPresent(`,udp-relay=${e.udp}`,"udp"),t.toString()}function P9(e){let t=new rt(e);return t.append(`${e.name}=wireguard`),t.appendIfPresent(`,section-name=${e["section-name"]}`,"section-name"),t.toString()}function nw(e,t){if(ae(t,"network"))if(t.network==="ws"){if(e.append(",ws=true"),ae(t,"ws-opts")&&(e.appendIfPresent(`,ws-path=${t["ws-opts"].path}`,"ws-opts.path"),ae(t,"ws-opts.headers"))){let r=t["ws-opts"].headers,n=Object.keys(r).map(i=>{let a=r[i];return["Host"].includes(i)&&(a=`"${a}"`),`${i}:${a}`}).join("|");Hi(n)&&e.append(`,ws-headers=${n}`)}}else throw new Error(`network ${t.network} is unsupported`)}var Rn=(e,t)=>{t.detour=e["dialer-proxy"]||e.detour},js=(e,t)=>{["tcp","udp"].includes(e._network)&&(t.network=e._network)},Wn=(e,t)=>{t.tcp_fast_open=!1,e.tfo&&(t.tcp_fast_open=!0),e.tcp_fast_open&&(t.tcp_fast_open=!0),e["tcp-fast-open"]&&(t.tcp_fast_open=!0),t.tcp_fast_open||delete t.tcp_fast_open},es=(e,t)=>{!e||!e.enabled||(t.multiplex={enabled:!0},t.multiplex.protocol=e.protocol,e["max-connections"]&&(t.multiplex.max_connections=parseInt(`${e["max-connections"]}`,10)),e["max-streams"]&&(t.multiplex.max_streams=parseInt(`${e["max-streams"]}`,10)),e["min-streams"]&&(t.multiplex.min_streams=parseInt(`${e["min-streams"]}`,10)),e.padding&&(t.multiplex.padding=!0),(e["brutal-opts"]?.up||e["brutal-opts"]?.down)&&(t.multiplex.brutal={enabled:!0},e["brutal-opts"]?.up&&(t.multiplex.brutal.up_mbps=parseInt(`${e["brutal-opts"]?.up}`,10)),e["brutal-opts"]?.down&&(t.multiplex.brutal.down_mbps=parseInt(`${e["brutal-opts"]?.down}`,10))))},C0=(e,t)=>{let r={type:"ws",headers:{}};if(e["ws-opts"]){let{path:n="",headers:i={}}=e["ws-opts"];if(n!==""&&(r.path=`${n}`),Object.keys(i).length>0){let a={};for(let u of Object.keys(i)){let l=i[u];l!==""&&(Array.isArray(l)||(l=[`${l}`]),l.length>0&&(a[u]=l))}let{Host:s}=a;if(s.length===1)for(let u of`Host:${s[0]}`.split(` +`)){let[l,f]=u.split(":");f.trim()!==""&&(a[l.trim()]=f.trim().split(","))}r.headers=a}}if(e["ws-headers"]){let n={};for(let a of Object.keys(e["ws-headers"])){let s=e["ws-headers"][a];s!==""&&(Array.isArray(s)||(s=[`${s}`]),s.length>0&&(n[a]=s))}let{Host:i}=n;if(i.length===1)for(let a of`Host:${i[0]}`.split(` +`)){let[s,u]=a.split(":");u.trim()!==""&&(n[s.trim()]=u.trim().split(","))}for(let a of Object.keys(n))r.headers[a]=n[a]}if(e["ws-path"]&&e["ws-path"]!==""&&(r.path=`${e["ws-path"]}`),r.path){let n=/^(.*?)(?:\?ed=(\d+))?$/,[i,a="",s=""]=n.exec(r.path);r.path=a,s!==""&&(r.early_data_header_name="Sec-WebSocket-Protocol",r.max_early_data=parseInt(s,10))}t.tls.insecure&&(t.tls.server_name=r.headers.Host[0]),e["ws-opts"]&&e["ws-opts"]["v2ray-http-upgrade"]&&(r.type="httpupgrade",r.headers.Host&&(r.host=r.headers.Host[0],delete r.headers.Host),r.max_early_data&&delete r.max_early_data,r.early_data_header_name&&delete r.early_data_header_name);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r},T9=(e,t)=>{let r={type:"http",headers:{}};if(e["http-opts"]){let{method:n="",path:i="",headers:a={}}=e["http-opts"];n!==""&&(r.method=n),Array.isArray(i)?r.path=`${i[0]}`:i!==""&&(r.path=`${i}`);for(let s of Object.keys(a)){let u=a[s];if(u!==""){if(s.toLowerCase()==="host"){let l=u;Array.isArray(l)||(l=`${l}`.split(",").map(f=>f.trim())),l.length>0&&(r.host=l);continue}Array.isArray(u)||(u=`${u}`.split(",").map(l=>l.trim())),u.length>0&&(r.headers[s]=u)}}}if(e["http-host"]&&e["http-host"]!==""){let n=e["http-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}if(r.host){if(e["http-path"]&&e["http-path"]!==""){let n=e["http-path"];Array.isArray(n)?r.path=`${n[0]}`:n!==""&&(r.path=`${n}`)}t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]);for(let n of Object.keys(r.headers)){let i=r.headers[n];i.length===1&&(r.headers[n]=i[0])}t.transport=r}},O9=(e,t)=>{let r={type:"http"};if(e["h2-opts"]){let{host:n="",path:i=""}=e["h2-opts"];i!==""&&(r.path=`${i}`),n!==""&&(Array.isArray(n)||(n=`${n}`.split(",").map(a=>a.trim())),n.length>0&&(r.host=n))}if(e["h2-host"]&&e["h2-host"]!==""){let n=e["h2-host"];Array.isArray(n)||(n=`${n}`.split(",").map(i=>i.trim())),n.length>0&&(r.host=n)}e["h2-path"]&&e["h2-path"]!==""&&(r.path=`${e["h2-path"]}`),t.tls.enabled=!0,t.tls.insecure&&(t.tls.server_name=r.host[0]),r.host.length===1&&(r.host=r.host[0]),t.transport=r},_0=(e,t)=>{let r={type:"grpc"};if(e["grpc-opts"]){let n=e["grpc-opts"]["grpc-service-name"];n!=null&&n!==""&&(r.service_name=`${n}`)}t.transport=r},va=(e,t)=>{e.tls&&(t.tls.enabled=!0),e.servername&&e.servername!==""&&(t.tls.server_name=e.servername),e.peer&&e.peer!==""&&(t.tls.server_name=e.peer),e.sni&&e.sni!==""&&(t.tls.server_name=e.sni),e["skip-cert-verify"]&&(t.tls.insecure=!0),e.insecure&&(t.tls.insecure=!0),e["disable-sni"]&&(t.tls.disable_sni=!0),typeof e.alpn=="string"?t.tls.alpn=[e.alpn]:Array.isArray(e.alpn)&&(t.tls.alpn=e.alpn),e.ca&&(t.tls.certificate_path=`${e.ca}`),e.ca_str&&(t.tls.certificate=[e.ca_str]),e["ca-str"]&&(t.tls.certificate=[e["ca-str"]]),e["reality-opts"]&&(t.tls.reality={enabled:!0},e["reality-opts"]["public-key"]&&(t.tls.reality.public_key=e["reality-opts"]["public-key"]),e["reality-opts"]["short-id"]&&(t.tls.reality.short_id=e["reality-opts"]["short-id"]),t.tls.utls={enabled:!0}),!["hysteria","hysteria2","tuic"].includes(e.type)&&e["client-fingerprint"]&&e["client-fingerprint"]!==""&&(t.tls.utls={enabled:!0,fingerprint:e["client-fingerprint"]}),t.tls.enabled||delete t.tls},N9=(e={})=>{let t={tag:e.name,type:"ssh",server:e.server,server_port:parseInt(`${e.port}`,10)};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.user=e.username),e.password&&(t.password=e.password),e.privateKey&&(t.private_key_path=e.privateKey),e["private-key"]&&(t.private_key_path=e["private-key"]),e["private-key-passphrase"]&&(t.private_key_passphrase=e["private-key-passphrase"]),e["server-fingerprint"]&&(t.host_key=[e["server-fingerprint"]],t.host_key_algorithms=[e["server-fingerprint"].split(" ")[0]]),e["host-key"]&&(t.host_key=e["host-key"]),e["host-key-algorithms"]&&(t.host_key_algorithms=e["host-key-algorithms"]),e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),t},x9=(e={})=>{let t={tag:e.name,type:"http",server:e.server,server_port:parseInt(`${e.port}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.headers){t.headers={};for(let r of Object.keys(e.headers))t.headers[r]=`${e.headers[r]}`;Object.keys(t.headers).length===0&&delete t.headers}return e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),va(e,t),t},k9=(e={})=>{let t={tag:e.name,type:"socks",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,version:"5"};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e.username&&(t.username=e.username),e.password&&(t.password=e.password),e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp=!0),e["fast-open"]&&(t.udp_fragment=!0),js(e,t),Wn(e,t),Rn(e,t),t},L9=(e={})=>{let t={tag:e.name,type:"shadowsocks",method:e.cipher,password:e.password,detour:`${e.name}_shadowtls`},r={tag:`${e.name}_shadowtls`,type:"shadowtls",server:e.server,server_port:parseInt(`${e.port}`,10),version:e["plugin-opts"].version,password:e["plugin-opts"].password,tls:{enabled:!0,server_name:e["plugin-opts"].host,utls:{enabled:!0,fingerprint:e["client-fingerprint"]}}};if(r.server_port<0||r.server_port>65535)throw"\u7AEF\u53E3\u503C\u975E\u6CD5";return e["fast-open"]===!0&&(r.udp_fragment=!0),Wn(e,r),Rn(e,r),es(e.smux,t),{type:"ss-with-st",ssPart:t,stPart:r}},U9=(e={})=>{let t={tag:e.name,type:"shadowsocks",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password};if(t.server_port<0||t.server_port>65535)throw"invalid port";if(e.uot&&(t.udp_over_tcp=!0),e["udp-over-tcp"]&&(t.udp_over_tcp={enabled:!0,version:!e["udp-over-tcp-version"]||e["udp-over-tcp-version"]===1?1:2}),e["fast-open"]&&(t.udp_fragment=!0),js(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),e.plugin){let r=[];e.plugin==="obfs"&&(t.plugin="obfs-local",t.plugin_opts="",e["obfs-host"]&&(e["plugin-opts"].host=e["obfs-host"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"mode":r.push(`obfs=${e["plugin-opts"].mode}`);break;case"host":r.push(`obfs-host=${e["plugin-opts"].host}`);break;default:r.push(`${n}=${e["plugin-opts"][n]}`);break}})),e.plugin==="v2ray-plugin"&&(t.plugin="v2ray-plugin",e["ws-host"]&&(e["plugin-opts"].host=e["ws-host"]),e["ws-path"]&&(e["plugin-opts"].path=e["ws-path"]),Object.keys(e["plugin-opts"]).forEach(n=>{switch(n){case"tls":e["plugin-opts"].tls&&r.push("tls");break;case"host":r.push(`host=${e["plugin-opts"].host}`);break;case"path":r.push(`path=${e["plugin-opts"].path}`);break;case"headers":r.push(`headers=${JSON.stringify(e["plugin-opts"].headers)}`);break;case"mux":e["plugin-opts"].mux&&(t.multiplex={enabled:!0});break;default:r.push(`${n}=${e["plugin-opts"][n]}`)}})),t.plugin_opts=r.join(";")}return t},H9=(e={})=>{let t={tag:e.name,type:"shadowsocksr",server:e.server,server_port:parseInt(`${e.port}`,10),method:e.cipher,password:e.password,obfs:e.obfs,protocol:e.protocol};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["obfs-param"]&&(t.obfs_param=e["obfs-param"]),e["protocol-param"]&&e["protocol-param"]!==""&&(t.protocol_param=e["protocol-param"]),e["fast-open"]&&(t.udp_fragment=!0),Wn(e,t),Rn(e,t),es(e.smux,t),t},j9=(e={})=>{let t={tag:e.name,type:"vmess",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,security:e.cipher,alter_id:parseInt(`${e.alterId}`,10),tls:{enabled:!1,server_name:e.server,insecure:!1}};if(["auto","none","zero","aes-128-gcm","chacha20-poly1305","aes-128-ctr"].indexOf(t.security)===-1&&(t.security="auto"),t.server_port<0||t.server_port>65535)throw"invalid port";return e.xudp&&(t.packet_encoding="xudp"),e["fast-open"]&&(t.udp_fragment=!0),e.network==="ws"&&C0(e,t),e.network==="h2"&&O9(e,t),e.network==="http"&&T9(e,t),e.network==="grpc"&&_0(e,t),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},M9=(e={})=>{let t={tag:e.name,type:"vless",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,tls:{enabled:!1,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.flow==="xtls-rprx-vision"&&(t.flow=e.flow),e.network==="ws"&&C0(e,t),e.network==="grpc"&&_0(e,t),js(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),va(e,t),t},q9=(e={})=>{let t={tag:e.name,type:"trojan",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e.network==="grpc"&&_0(e,t),e.network==="ws"&&C0(e,t),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},K9=(e={})=>{let t={tag:e.name,type:"hysteria",server:e.server,server_port:parseInt(`${e.port}`,10),disable_mtu_discovery:!1,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";e.auth_str&&(t.auth_str=`${e.auth_str}`),e["auth-str"]&&(t.auth_str=`${e["auth-str"]}`),e["fast-open"]&&(t.udp_fragment=!0);let r=new RegExp("^[0-9]+[ ]*[KMGT]*[Bb]ps$");return r.test(`${e.up}`)&&!`${e.up}`.endsWith("Mbps")?t.up=`${e.up}`:t.up_mbps=parseInt(`${e.up}`,10),r.test(`${e.down}`)&&!`${e.down}`.endsWith("Mbps")?t.down=`${e.down}`:t.down_mbps=parseInt(`${e.down}`,10),e.obfs&&(t.obfs=e.obfs),e.recv_window_conn&&(t.recv_window_conn=e.recv_window_conn),e["recv-window-conn"]&&(t.recv_window_conn=e["recv-window-conn"]),e.recv_window&&(t.recv_window=e.recv_window),e["recv-window"]&&(t.recv_window=e["recv-window"]),e.disable_mtu_discovery&&(typeof e.disable_mtu_discovery=="boolean"?t.disable_mtu_discovery=e.disable_mtu_discovery:e.disable_mtu_discovery===1&&(t.disable_mtu_discovery=!0)),js(e,t),va(e,t),Rn(e,t),Wn(e,t),es(e.smux,t),t},V9=(e={})=>{let t={tag:e.name,type:"hysteria2",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,obfs:{},tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["hop-interval"]&&(t.hop_interval=/^\d+$/.test(e["hop-interval"])?`${e["hop-interval"]}s`:e["hop-interval"]),e.ports&&(t.server_ports=e.ports.split(/\s*,\s*/).map(r=>r.replace(/\s*-\s*/g,":"))),e.up&&(t.up_mbps=parseInt(`${e.up}`,10)),e.down&&(t.down_mbps=parseInt(`${e.down}`,10)),e.obfs==="salamander"&&(t.obfs.type="salamander"),e["obfs-password"]&&(t.obfs.password=e["obfs-password"]),t.obfs.type||delete t.obfs,js(e,t),va(e,t),Wn(e,t),Rn(e,t),es(e.smux,t),t},G9=(e={})=>{let t={tag:e.name,type:"tuic",server:e.server,server_port:parseInt(`${e.port}`,10),uuid:e.uuid,password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};if(t.server_port<0||t.server_port>65535)throw"invalid port";return e["fast-open"]&&(t.udp_fragment=!0),e["congestion-controller"]&&e["congestion-controller"]!=="cubic"&&(t.congestion_control=e["congestion-controller"]),e["udp-relay-mode"]&&e["udp-relay-mode"]!=="native"&&(t.udp_relay_mode=e["udp-relay-mode"]),e["reduce-rtt"]&&(t.zero_rtt_handshake=!0),e["udp-over-stream"]&&(t.udp_over_stream=!0),e["heartbeat-interval"]&&(t.heartbeat=`${e["heartbeat-interval"]}ms`),js(e,t),Wn(e,t),Rn(e,t),va(e,t),es(e.smux,t),t},z9=(e={})=>{let t={tag:e.name,type:"anytls",server:e.server,server_port:parseInt(`${e.port}`,10),password:e.password,tls:{enabled:!0,server_name:e.server,insecure:!1}};return/^\d+$/.test(e["idle-session-check-interval"])&&(t.idle_session_check_interval=`${e["idle-session-check-interval"]}s`),/^\d+$/.test(e["idle-session-timeout"])&&(t.idle_session_timeout=`${e["idle-session-timeout"]}s`),Rn(e,t),va(e,t),t},Y9=(e={})=>{let t=["ip","ipv6"].map(n=>e[n]).map(n=>{if(vr(n))return`${n}/32`;if(ur(n))return`${n}/128`}).filter(n=>n),r={tag:e.name,type:"wireguard",server:e.server,server_port:parseInt(`${e.port}`,10),local_address:t,private_key:e["private-key"],peer_public_key:e["public-key"],pre_shared_key:e["pre-shared-key"],reserved:[]};if(r.server_port<0||r.server_port>65535)throw"invalid port";if(e["fast-open"]&&(r.udp_fragment=!0),typeof e.reserved=="string")r.reserved=e.reserved;else if(Array.isArray(e.reserved))for(let n of e.reserved)r.reserved.push(n);else delete r.reserved;if(e.peers&&e.peers.length>0){r.peers=[];for(let n of e.peers){let i={server:n.server,server_port:parseInt(`${n.port}`,10),public_key:n["public-key"],allowed_ips:n["allowed-ips"]||n.allowed_ips,reserved:[]};if(typeof n.reserved=="string")i.reserved.push(n.reserved);else if(Array.isArray(n.reserved))for(let a of n.reserved)i.reserved.push(a);else delete i.reserved;n["pre-shared-key"]&&(i.pre_shared_key=n["pre-shared-key"]),r.peers.push(i)}}return js(e,r),Wn(e,r),Rn(e,r),es(e.smux,r),r};function dh(){return{type:"ALL",produce:(r,n,i={})=>{let a=[];return zn().produce(r,"internal",{"include-unsupported-proxy":!0}).map(s=>{try{switch(s.type){case"ssh":a.push(N9(s));break;case"http":a.push(x9(s));break;case"socks5":if(s.tls)throw new Error(`Platform sing-box does not support proxy type: ${s.type} with tls`);a.push(k9(s));break;case"ss":if(s.plugin==="shadow-tls"){let{ssPart:u,stPart:l}=L9(s);a.push(u),a.push(l)}else a.push(U9(s));break;case"ssr":if(i["include-unsupported-proxy"])a.push(H9(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type}`);break;case"vmess":if(!s.network||["ws","grpc","h2","http"].includes(s.network))a.push(j9(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with network ${s.network}`);break;case"vless":if(!s.flow||["xtls-rprx-vision"].includes(s.flow))a.push(M9(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"trojan":if(!s.flow)a.push(q9(s));else throw new Error(`Platform sing-box does not support proxy type: ${s.type} with flow ${s.flow}`);break;case"hysteria":a.push(K9(s));break;case"hysteria2":a.push(V9(s,i["include-unsupported-proxy"]));break;case"tuic":if(!s.token||s.token.length===0)a.push(G9(s));else throw new Error("Platform sing-box does not support proxy type: TUIC v4");break;case"wireguard":a.push(Y9(s));break;case"anytls":a.push(z9(s));break;default:throw new Error(`Platform sing-box does not support proxy type: ${s.type}`)}}catch(u){I.error(u.message??u)}}),n==="internal"?a:JSON.stringify({outbounds:a},null,2)}}}function gh(){return{type:"ALL",produce:(r,n)=>{let i=r.filter(a=>!(!["http","socks5","ss","trojan","hysteria2","vless","vmess","tuic"].includes(a.type)||a.type==="ss"&&(a.plugin==="obfs"&&!["http","tls"].includes(a["plugin-opts"]?.mode)||!["chacha20-ietf-poly1305","chacha20-poly1305","aes-256-gcm","aes-128-gcm","none","tbale","rc4","rc4-md5","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-ctr","aes-192-ctr","aes-256-ctr","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","cast5-cfb","des-cfb","idea-cfb","rc2-cfb","seed-cfb","salsa20","chacha20","chacha20-ietf","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].includes(a.cipher))||a.type==="vmess"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="trojan"&&!["http","ws","tcp"].includes(a.network)&&a.network||a.type==="vless"&&(typeof a.flow<"u"||a["reality-opts"]||!["http","ws","tcp"].includes(a.network)&&a.network)||a.type==="tuic"&&a.token&&a.token.length!==0)).map(a=>{let s={...a};a.tls&&!a.sni&&(a.sni=a.server);let u=a.prev_hop||a["underlying-proxy"]||a["dialer-proxy"]||a.detour;if(a.type==="http")a={type:"http",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],next_hop:a.next_hop};else if(a.type==="socks5")a={type:"socks5",name:a.name,server:a.server,port:a.port,username:a.username,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop};else if(a.type==="ss")a={type:"shadowsocks",name:a.name,method:a.cipher==="chacha20-ietf-poly1305"?"chacha20-poly1305":a.cipher,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop},s.plugin==="obfs"&&(a.obfs=s["plugin-opts"].mode,a.obfs_host=s["plugin-opts"].host,a.obfs_uri=s["plugin-opts"].path);else if(a.type==="hysteria2")a={type:"hysteria2",name:a.name,server:a.server,port:a.port,auth:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]},s["obfs-password"]&&s.obfs=="salamander"&&(a.obfs="salamander",a.obfs_password=s["obfs-password"]);else if(a.type==="tuic")a={type:"tuic",name:a.name,server:a.server,port:a.port,uuid:a.uuid,password:a.password,next_hop:a.next_hop,sni:a.sni,alpn:Array.isArray(a.alpn)?a.alpn:[a.alpn||"h3"],skip_tls_verify:a["skip-cert-verify"],port_hopping:a.ports,port_hopping_interval:a["hop-interval"]};else if(a.type==="trojan")a.network==="ws"&&(a.websocket={path:a["ws-opts"]?.path,host:a["ws-opts"]?.headers?.Host}),a={type:"trojan",name:a.name,server:a.server,port:a.port,password:a.password,tfo:a.tfo||a["fast-open"],udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,sni:a.sni,skip_tls_verify:a["skip-cert-verify"],websocket:a.websocket};else if(a.type==="vmess"){let l=a.cipher;l&&!["auto","none","zero","aes-128-gcm","chacha20-poly1305"].includes(l)&&(l="auto"),a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http1:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:a.network==="h2"?a.transport={http2:{method:a["h2-opts"]?.method,path:Array.isArray(a["h2-opts"]?.path)?a["h2-opts"]?.path[0]:a["h2-opts"]?.path,headers:{Host:Array.isArray(a["h2-opts"]?.headers?.Host)?a["h2-opts"]?.headers?.Host[0]:a["h2-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&a.tls&&(a.transport={tls:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vmess",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:l,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport}}else a.type==="vless"&&(a.network==="ws"?a.transport={[a.tls?"wss":"ws"]:{path:a["ws-opts"]?.path,headers:{Host:a["ws-opts"]?.headers?.Host},sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}:a.network==="http"?a.transport={http:{method:a["http-opts"]?.method,path:Array.isArray(a["http-opts"]?.path)?a["http-opts"]?.path[0]:a["http-opts"]?.path,headers:{Host:Array.isArray(a["http-opts"]?.headers?.Host)?a["http-opts"]?.headers?.Host[0]:a["http-opts"]?.headers?.Host},skip_tls_verify:a["skip-cert-verify"]}}:(a.network==="tcp"||!a.network)&&(a.transport={[a.tls?"tls":"tcp"]:{sni:a.tls?a.sni:void 0,skip_tls_verify:a.tls?a["skip-cert-verify"]:void 0}}),a={type:"vless",name:a.name,server:a.server,port:a.port,user_id:a.uuid,security:a.cipher,tfo:a.tfo||a["fast-open"],legacy:a.legacy,udp_relay:a.udp||a.udp_relay||a.udp_relay,next_hop:a.next_hop,transport:a.transport});if(["http","socks5","ss","trojan","vless","vmess"].includes(s.type)){if(ae(s,"shadow-tls-password")){if(s["shadow-tls-version"]!=3)throw new Error(`shadow-tls version ${s["shadow-tls-version"]} is not supported`);a.shadow_tls={password:s["shadow-tls-password"],sni:s["shadow-tls-sni"]}}else if(["shadow-tls"].includes(s.plugin)&&s["plugin-opts"]){if(s["plugin-opts"].version!=3)throw new Error(`shadow-tls version ${s["plugin-opts"].version} is not supported`);a.shadow_tls={password:s["plugin-opts"].password,sni:s["plugin-opts"].host}}}if(delete a.subName,delete a.collectionName,delete a.id,delete a.resolved,delete a["no-resolve"],n!=="internal")for(let l in a)(a[l]==null||/^_/i.test(l))&&delete a[l];return{[a.type]:{...a,type:void 0,prev_hop:u}}});return n==="internal"?i:`proxies: +`+i.map(a=>" - "+JSON.stringify(a)+` +`).join("")}}}function iw(){return{type:"ALL",produce:(r,n)=>n==="internal"?r:JSON.stringify(r,null,2)}}var mh={qx:sl(),QX:sl(),QuantumultX:sl(),surge:Nu(),Surge:Nu(),SurgeMac:y0(),Loon:b0(),Clash:S0(),meta:zn(),clashmeta:zn(),"clash.meta":zn(),"Clash.Meta":zn(),ClashMeta:zn(),mihomo:zn(),Mihomo:zn(),uri:xu(),URI:xu(),v2:il(),v2ray:il(),V2Ray:il(),json:iw(),JSON:iw(),stash:hh(),Stash:hh(),shadowrocket:al(),Shadowrocket:al(),ShadowRocket:al(),surfboard:ph(),Surfboard:ph(),singbox:dh(),"sing-box":dh(),egern:gh(),Egern:gh()};var lA=bn(pl()),nR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleWebsocket() { + if (obfs.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers", obfs['ws-headers']); + if (proxy['ws-opts'] && proxy['ws-opts']['headers'] && proxy['ws-opts']['headers'].Host) { + proxy['ws-opts']['headers'].Host = proxy['ws-opts']['headers'].Host.replace(/^"(.*)"$/, '$1') + } + } + } + function handleShadowTLS() { + if (proxy['shadow-tls-password'] && !proxy['shadow-tls-version']) { + proxy['shadow-tls-version'] = 2; + } + } +} + +start = (shadowsocks/vmess/trojan/https/http/snell/socks5/socks5_tls/tuic/tuic_v5/wireguard/hysteria2/ssh/direct) { + return proxy; +} + +shadowsocks = tag equals "ss" address (method/passwordk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/udp_port/others)* { + proxy.type = "ss"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + handleShadowTLS(); +} +vmess = tag equals "vmess" address (vmess_uuid/vmess_aead/ws/ws_path/ws_headers/method/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls/sni/tls_fingerprint/tls_verification/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + // Surfboard 与 Surge 默认不一致, 不管 Surfboard https://getsurfboard.com/docs/profile-format/proxy/external-proxy/vmess + if (proxy.aead) { + proxy.alterId = 0; + } else { + proxy.alterId = 1; + } + handleWebsocket(); + handleShadowTLS(); +} +trojan = tag equals "trojan" address (passwordk/ws/ws_path/ws_headers/tls/sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "trojan"; + handleWebsocket(); + handleShadowTLS(); +} +https = tag equals "https" address (username password)? (usernamek passwordk)? (sni/tls_fingerprint/tls_verification/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; + handleShadowTLS(); +} +http = tag equals "http" address (username password)? (usernamek passwordk)? (ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "http"; + handleShadowTLS(); +} +ssh = tag equals "ssh" address (username password)? (usernamek passwordk)? (server_fingerprint/idle_timeout/private_key/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "ssh"; + handleShadowTLS(); +} +snell = tag equals "snell" address (snell_version/snell_psk/obfs/obfs_host/obfs_uri/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/udp_relay/reuse/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "snell"; + // handle obfs + if (obfs.type == "http" || obfs.type === "tls") { + $set(proxy, "obfs-opts.mode", obfs.type); + $set(proxy, "obfs-opts.host", obfs.host); + $set(proxy, "obfs-opts.path", obfs.path); + } + handleShadowTLS(); +} +tuic = tag equals "tuic" address (alpn/token/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + handleShadowTLS(); +} +tuic_v5 = tag equals "tuic-v5" address (alpn/passwordk/uuidk/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/tls_fingerprint/tls_verification/sni/fast_open/tfo/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "tuic"; + proxy.version = 5; + handleShadowTLS(); +} +wireguard = tag equals "wireguard" (section_name/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "wireguard-surge"; + handleShadowTLS(); +} +hysteria2 = tag equals "hysteria2" address (no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/fast_open/tfo/tls_verification/passwordk/tls_fingerprint/download_bandwidth/ecn/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/port_hopping_interval/others)* { + proxy.type = "hysteria2"; + handleShadowTLS(); +} +socks5 = tag equals "socks5" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + handleShadowTLS(); +} +socks5_tls = tag equals "socks5-tls" address (username password)? (usernamek passwordk)? (udp_relay/no_error_alert/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/sni/tls_fingerprint/tls_verification/fast_open/tfo/shadow_tls_version/shadow_tls_sni/shadow_tls_password/block_quic/others)* { + proxy.type = "socks5"; + proxy.tls = true; + handleShadowTLS(); +} +direct = tag equals "direct" (udp_relay/ip_version/underlying_proxy/tos/allow_other_interface/interface/test_url/test_udp/test_timeout/hybrid/no_error_alert/fast_open/tfo/block_quic/others)* { + proxy.type = "direct"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +port_hopping_interval = comma "port-hopping-interval" equals match:$[0-9]+ { proxy["hop-interval"] = parseInt(match.trim()); } + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma match:[^,]+ { proxy.password = match.join(""); } + +tls = comma "tls" equals flag:bool { proxy.tls = flag; } +sni = comma "sni" equals sni:("off"/domain) { + if (sni === "off") { + proxy["disable-sni"] = true; + } else { + proxy.sni = sni; + } +} +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_fingerprint = comma "server-cert-fingerprint-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } + +snell_psk = comma "psk" equals match:[^,]+ { proxy.psk = match.join(""); } +snell_version = comma "version" equals match:$[0-9]+ { proxy.version = parseInt(match.trim()); } + +usernamek = comma "username" equals match:[^,]+ { proxy.username = match.join(""); } +passwordk = comma "password" equals match:[^,]+ { proxy.password = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +vmess_uuid = comma "username" equals match:[^,]+ { proxy.uuid = match.join(""); } +vmess_aead = comma "vmess-aead" equals flag:bool { proxy.aead = flag; } + +method = comma "encrypt-method" equals cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"idea-cfb"/"none"/"rc2-cfb"/"rc4-md5"/"rc4"/"salsa20"/"seed-cfb"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +ws = comma "ws" equals flag:bool { obfs.type = "ws"; } +ws_headers = comma "ws-headers" equals headers:$[^,]+ { + const pairs = headers.split("|"); + const result = {}; + pairs.forEach(pair => { + const [key, value] = pair.trim().split(":"); + result[key.trim()] = value.trim(); + }) + obfs["ws-headers"] = result; +} +ws_path = comma "ws-path" equals path:uri { obfs.path = path; } + +obfs = comma "obfs" equals type:("http"/"tls") { obfs.type = type; } +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; }; +obfs_uri = comma "obfs-uri" equals path:uri { obfs.path = path } +uri = $[^,]+ + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +reuse = comma "reuse" equals flag:bool { proxy.reuse = flag; } +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +tfo = comma "tfo" equals flag:bool { proxy.tfo = flag; } +ip_version = comma "ip-version" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } +section_name = comma "section-name" equals match:[^,]+ { proxy["section-name"] = match.join(""); } +no_error_alert = comma "no-error-alert" equals match:[^,]+ { proxy["no-error-alert"] = match.join(""); } +underlying_proxy = comma "underlying-proxy" equals match:[^,]+ { proxy["underlying-proxy"] = match.join(""); } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +test_url = comma "test-url" equals match:[^,]+ { proxy["test-url"] = match.join(""); } +test_udp = comma "test-udp" equals match:[^,]+ { proxy["test-udp"] = match.join(""); } +test_timeout = comma "test-timeout" equals match:$[0-9]+ { proxy["test-timeout"] = parseInt(match.trim()); } +tos = comma "tos" equals match:$[0-9]+ { proxy.tos = parseInt(match.trim()); } +interface = comma "interface" equals match:[^,]+ { proxy.interface = match.join(""); } +allow_other_interface = comma "allow-other-interface" equals flag:bool { proxy["allow-other-interface"] = flag; } +hybrid = comma "hybrid" equals flag:bool { proxy.hybrid = flag; } +idle_timeout = comma "idle-timeout" equals match:$[0-9]+ { proxy["idle-timeout"] = parseInt(match.trim()); } +private_key = comma "private-key" equals match:[^,]+ { proxy["keystore-private-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +server_fingerprint = comma "server-fingerprint" equals match:[^,]+ { proxy["server-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +block_quic = comma "block-quic" equals match:[^,]+ { proxy["block-quic"] = match.join(""); } +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join("").replace(/^"(.*?)"$/, '$1').replace(/^'(.*?)'$/, '$1'); } +token = comma "token" equals match:[^,]+ { proxy.token = match.join(""); } +alpn = comma "alpn" equals match:[^,]+ { proxy.alpn = match.join(""); } +uuidk = comma "uuid" equals match:[^,]+ { proxy.uuid = match.join(""); } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,V0;function Jn(){return V0||(V0=lA.generate(nR)),V0}var fA=bn(pl()),iR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parser initializer +{ + const proxy = {}; + const obfs = {}; + const transport = {}; + const $ = {}; + + function handleTransport() { + if (transport.type === "tcp") { /* do nothing */ } + else if (transport.type === "ws") { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", transport.path); + $set(proxy, "ws-opts.headers.Host", transport.host); + } else if (transport.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", transport.path); + $set(proxy, "http-opts.headers.Host", transport.host); + } + } +} + +start = (shadowsocksr/shadowsocks/vmess/vless/trojan/https/http/socks5/hysteria2) { + return proxy; +} + +shadowsocksr = tag equals "shadowsocksr"i address method password (ssr_protocol/ssr_protocol_param/obfs_ssr/obfs_ssr_param/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)*{ + proxy.type = "ssr"; + // handle ssr obfs + proxy.obfs = obfs.type; +} +shadowsocks = tag equals "shadowsocks"i address method password (obfs_typev obfs_hostv)? (obfs_ss/obfs_host/obfs_uri/fast_open/udp_relay/udp_port/shadow_tls_version/shadow_tls_sni/shadow_tls_password/ip_mode/block_quic/others)* { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts.mode", obfs.type); + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } +} +vmess = tag equals "vmess"i address method uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/vmess_alterId/fast_open/udp_relay/ip_mode/public_key/short_id/block_quic/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + proxy.alterId = proxy.alterId || 0; + handleTransport(); +} +vless = tag equals "vless"i address uuid (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/flow/public_key/short_id/block_quic/others)* { + proxy.type = "vless"; + handleTransport(); +} +trojan = tag equals "trojan"i address password (transport/transport_host/transport_path/over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "trojan"; + handleTransport(); +} +hysteria2 = tag equals "hysteria2"i address password (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/udp_relay/fast_open/download_bandwidth/salamander_password/ecn/ip_mode/block_quic/others)* { + proxy.type = "hysteria2"; +} +https = tag equals "https"i address (username password)? (tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; + proxy.tls = true; +} +http = tag equals "http"i address (username password)? (fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "http"; +} +socks5 = tag equals "socks5"i address (username password)? (over_tls/tls_host/tls_verification/tls_cert_sha256/tls_pubkey_sha256/fast_open/udp_relay/ip_mode/block_quic/others)* { + proxy.type = "socks5"; +} + +address = comma server:server comma port:port { + proxy.server = server; + proxy.port = port; +} + +server = ip/domain + +ip = & { + const start = peg$currPos; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + j++; + } + peg$currPos = j; + $.ip = input.substring(start, j).trim(); + return true; +} { return $.ip; } + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } + throw new Error("Invalid domain: " + domain); +} + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } + throw new Error("Invalid port number: " + port); +} + +method = comma cipher:cipher { + proxy.cipher = cipher; +} +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"auto"/"bf-cfb"/"camellia-128-cfb"/"camellia-192-cfb"/"camellia-256-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"none"/"rc4-md5"/"rc4"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); + +username = & { + let j = peg$currPos; + let start, end; + let first = true; + while (j < input.length) { + if (input[j] === ',') { + if (first) { + start = j + 1; + first = false; + } else { + end = j; + break; + } + } + j++; + } + const match = input.substring(start, end); + if (match.indexOf("=") === -1) { + $.username = match; + peg$currPos = end; + return true; + } +} { proxy.username = $.username; } +password = comma '"' match:[^"]* '"' { proxy.password = match.join(""); } +uuid = comma '"' match:[^"]+ '"' { proxy.uuid = match.join(""); } + +obfs_typev = comma type:("http"/"tls") { obfs.type = type; } +obfs_hostv = comma match:[^,]+ { obfs.host = match.join(""); } + +obfs_ss = comma "obfs-name" equals type:("http"/"tls") { obfs.type = type; } + +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { obfs.type = type; } +obfs_ssr_param = comma "obfs-param" equals match:$[^,]+ { proxy["obfs-param"] = match; } + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } +uri = $[^,]+ + +transport = comma "transport" equals type:("tcp"/"ws"/"http") { transport.type = type; } +transport_host = comma "host" equals host:domain { transport.host = host; } +transport_path = comma "path" equals path:uri { transport.path = path; } + +ssr_protocol = comma "protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; } +ssr_protocol_param = comma "protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +vmess_alterId = comma "alterId" equals alterId:$[0-9]+ { proxy.alterId = parseInt(alterId); } + +udp_port = comma "udp-port" equals match:$[0-9]+ { proxy["udp-port"] = parseInt(match.trim()); } +shadow_tls_version = comma "shadow-tls-version" equals match:$[0-9]+ { proxy["shadow-tls-version"] = parseInt(match.trim()); } +shadow_tls_sni = comma "shadow-tls-sni" equals match:[^,]+ { proxy["shadow-tls-sni"] = match.join(""); } +shadow_tls_password = comma "shadow-tls-password" equals match:[^,]+ { proxy["shadow-tls-password"] = match.join(""); } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma sni:("tls-name"/"sni") equals host:domain { proxy.sni = host; } +tls_verification = comma "skip-cert-verify" equals flag:bool { proxy["skip-cert-verify"] = flag; } +tls_cert_sha256 = comma "tls-cert-sha256" equals match:[^,]+ { proxy["tls-fingerprint"] = match.join("").replace(/^"(.*)"$/, '$1'); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals match:[^,]+ { proxy["tls-pubkey-sha256"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +flow = comma "flow" equals match:[^,]+ { proxy["flow"] = match.join("").replace(/^"(.*)"$/, '$1'); } +public_key = comma "public-key" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["public-key"] = match.join("").replace(/^"(.*)"$/, '$1'); } +short_id = comma "short-id" equals match:[^,]+ { proxy["reality-opts"] = proxy["reality-opts"] || {}; proxy["reality-opts"]["short-id"] = match.join("").replace(/^"(.*)"$/, '$1'); } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } +udp_relay = comma "udp" equals flag:bool { proxy.udp = flag; } +ip_mode = comma "ip-mode" equals match:[^,]+ { proxy["ip-version"] = match.join(""); } + +ecn = comma "ecn" equals flag:bool { proxy.ecn = flag; } +download_bandwidth = comma "download-bandwidth" equals match:[^,]+ { proxy.down = match.join(""); } +salamander_password = comma "salamander-password" equals match:[^,]+ { proxy['obfs-password'] = match.join(""); proxy.obfs = 'salamander'; } + +block_quic = comma "block-quic" equals flag:bool { if(flag) proxy["block-quic"] = "on"; else proxy["block-quic"] = "off"; } + +tag = match:[^=,]* { proxy.name = match.join("").trim(); } +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +others = comma [^=,]+ equals [^=,]+ +`,G0;function ts(){return G0||(G0=fA.generate(iR)),G0}var hA=bn(pl()),sR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } +}} + +// per-parse initializer +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + + function handleObfs() { + if (obfs.type === "ws" || obfs.type === "wss") { + proxy.network = "ws"; + if (obfs.type === 'wss') { + proxy.tls = true; + } + $set(proxy, "ws-opts.path", obfs.path); + $set(proxy, "ws-opts.headers.Host", obfs.host); + } else if (obfs.type === "over-tls") { + proxy.tls = true; + } else if (obfs.type === "http") { + proxy.network = "http"; + $set(proxy, "http-opts.path", obfs.path); + $set(proxy, "http-opts.headers.Host", obfs.host); + } + } +} + +start = (trojan/shadowsocks/vmess/vless/http/socks5) { + return proxy +} + +trojan = "trojan" equals address + (password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/obfs/obfs_host/obfs_uri/tag/udp_relay/udp_over_tcp/fast_open/server_check_url/others)* { + proxy.type = "trojan"; + handleObfs(); +} + +shadowsocks = "shadowsocks" equals address + (password/method/obfs_ssr/obfs_ss/obfs_host/obfs_uri/ssr_protocol/ssr_protocol_param/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/udp_relay/udp_over_tcp_new/fast_open/tag/server_check_url/others)* { + if (proxy.protocol || proxy.type === "ssr") { + proxy.type = "ssr"; + if (!proxy.protocol) { + proxy.protocol = "origin"; + } + // handle ssr obfs + if (obfs.host) proxy["obfs-param"] = obfs.host; + if (obfs.type) proxy.obfs = obfs.type; + } else { + proxy.type = "ss"; + // handle ss obfs + if (obfs.type == "http" || obfs.type === "tls") { + proxy.plugin = "obfs"; + $set(proxy, "plugin-opts", { + mode: obfs.type + }); + } else if (obfs.type === "ws" || obfs.type === "wss") { + proxy.plugin = "v2ray-plugin"; + $set(proxy, "plugin-opts.mode", "websocket"); + if (obfs.type === "wss") { + $set(proxy, "plugin-opts.tls", true); + } + } else if (obfs.type === 'over-tls') { + throw new Error('ss over-tls is not supported'); + } + if (obfs.type) { + $set(proxy, "plugin-opts.host", obfs.host); + $set(proxy, "plugin-opts.path", obfs.path); + } + } +} + +vmess = "vmess" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vmess"; + proxy.cipher = proxy.cipher || "none"; + if (proxy.aead === false) { + proxy.alterId = 1; + } else { + proxy.alterId = 0; + } + handleObfs(); +} + +vless = "vless" equals address + (uuid/method/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/obfs/obfs_host/obfs_uri/udp_relay/udp_over_tcp/fast_open/aead/server_check_url/others)* { + proxy.type = "vless"; + proxy.cipher = proxy.cipher || "none"; + handleObfs(); +} + +http = "http" equals address + (username/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)*{ + proxy.type = "http"; +} + +socks5 = "socks5" equals address + (username/password/password/over_tls/tls_host/tls_pubkey_sha256/tls_alpn/tls_no_session_ticket/tls_no_session_reuse/tls_fingerprint/tls_verification/tag/fast_open/udp_relay/udp_over_tcp/server_check_url/others)* { + proxy.type = "socks5"; +} + +address = server:server ":" port:port { + proxy.server = server; + proxy.port = port; +} +server = ip/domain + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } +} + +username = comma "username" equals username:[^,]+ { proxy.username = username.join("").trim(); } +password = comma "password" equals password:[^,]+ { proxy.password = password.join("").trim(); } +uuid = comma "password" equals uuid:[^,]+ { proxy.uuid = uuid.join("").trim(); } + +method = comma "method" equals cipher:cipher { + proxy.cipher = cipher; +}; +cipher = ("aes-128-cfb"/"aes-128-ctr"/"aes-128-gcm"/"aes-192-cfb"/"aes-192-ctr"/"aes-192-gcm"/"aes-256-cfb"/"aes-256-ctr"/"aes-256-gcm"/"bf-cfb"/"cast5-cfb"/"chacha20-ietf-poly1305"/"chacha20-ietf"/"chacha20-poly1305"/"chacha20"/"des-cfb"/"none"/"rc2-cfb"/"rc4-md5-6"/"rc4-md5"/"salsa20"/"xchacha20-ietf-poly1305"/"2022-blake3-aes-128-gcm"/"2022-blake3-aes-256-gcm"); +aead = comma "aead" equals flag:bool { proxy.aead = flag; } + +udp_relay = comma "udp-relay" equals flag:bool { proxy.udp = flag; } +udp_over_tcp = comma "udp-over-tcp" equals flag:bool { throw new Error("UDP over TCP is not supported"); } +udp_over_tcp_new = comma "udp-over-tcp" equals param:$[^=,]+ { if (param === "sp.v1") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 1; } else if (param === "sp.v2") { proxy["udp-over-tcp"] = true; proxy["udp-over-tcp-version"] = 2; } else if (param === "true") { proxy["_ssr_python_uot"] = true; } else { throw new Error("Invalid value for udp-over-tcp"); } } + +fast_open = comma "fast-open" equals flag:bool { proxy.tfo = flag; } + +over_tls = comma "over-tls" equals flag:bool { proxy.tls = flag; } +tls_host = comma "tls-host" equals sni:domain { proxy.sni = sni; } +tls_verification = comma "tls-verification" equals flag:bool { + proxy["skip-cert-verify"] = !flag; +} +tls_fingerprint = comma "tls-cert-sha256" equals tls_fingerprint:$[^,]+ { proxy["tls-fingerprint"] = tls_fingerprint.trim(); } +tls_pubkey_sha256 = comma "tls-pubkey-sha256" equals param:$[^=,]+ { proxy["tls-pubkey-sha256"] = param; } +tls_alpn = comma "tls-alpn" equals param:$[^=,]+ { proxy["tls-alpn"] = param; } +tls_no_session_ticket = comma "tls-no-session-ticket" equals flag:bool { + proxy["tls-no-session-ticket"] = flag; +} +tls_no_session_reuse = comma "tls-no-session-reuse" equals flag:bool { + proxy["tls-no-session-reuse"] = flag; +} + +obfs_ss = comma "obfs" equals type:("http"/"tls"/"wss"/"ws"/"over-tls") { obfs.type = type; return type; } +obfs_ssr = comma "obfs" equals type:("plain"/"http_simple"/"http_post"/"random_head"/"tls1.2_ticket_auth"/"tls1.2_ticket_fastauth") { proxy.type = "ssr"; obfs.type = type; return type; } +obfs = comma "obfs" equals type:("wss"/"ws"/"over-tls"/"http") { obfs.type = type; return type; }; + +obfs_host = comma "obfs-host" equals host:domain { obfs.host = host; } +obfs_uri = comma "obfs-uri" equals uri:uri { obfs.path = uri; } + +ssr_protocol = comma "ssr-protocol" equals protocol:("origin"/"auth_sha1_v4"/"auth_aes128_md5"/"auth_aes128_sha1"/"auth_chain_a"/"auth_chain_b") { proxy.protocol = protocol; return protocol; } +ssr_protocol_param = comma "ssr-protocol-param" equals param:$[^=,]+ { proxy["protocol-param"] = param; } + +server_check_url = comma "server_check_url" equals param:$[^=,]+ { proxy["test-url"] = param; } + +uri = $[^,]+ + +tag = comma "tag" equals tag:[^=,]+ { proxy.name = tag.join(""); } +others = comma [^=,]+ equals [^=,]+ +comma = _ "," _ +equals = _ "=" _ +_ = [ \r\t]* +bool = b:("true"/"false") { return b === "true" } +`,z0;function qs(){return z0||(z0=hA.generate(sR)),z0}var pA=bn(pl()),aR=String.raw` +// global initializer +{{ + function $set(obj, path, value) { + if (Object(obj) !== obj) return obj; + if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || []; + path + .slice(0, -1) + .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ + path[path.length - 1] + ] = value; + return obj; + } + + function toBool(str) { + if (typeof str === 'undefined' || str === null) return undefined; + return /(TRUE)|1/i.test(str); + } +}} + +{ + const proxy = {}; + const obfs = {}; + const $ = {}; + const params = {}; +} + +start = (trojan) { + return proxy +} + +trojan = "trojan://" password:password "@" server:server ":" port:port "/"? params? name:name?{ + proxy.type = "trojan"; + proxy.password = password; + proxy.server = server; + proxy.port = port; + proxy.name = name; + + // name may be empty + if (!proxy.name) { + proxy.name = server + ":" + port; + } +}; + +password = match:$[^@]+ { + return decodeURIComponent(match); +}; + +server = ip/domain; + +domain = match:[0-9a-zA-z-_.]+ { + const domain = match.join(""); + if (/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/.test(domain)) { + return domain; + } +} + +ip = & { + const start = peg$currPos; + let end; + let j = start; + while (j < input.length) { + if (input[j] === ",") break; + if (input[j] === ":") end = j; + j++; + } + peg$currPos = end || j; + $.ip = input.substring(start, end).trim(); + return true; +} { return $.ip; } + +port = digits:[0-9]+ { + const port = parseInt(digits.join(""), 10); + if (port >= 0 && port <= 65535) { + return port; + } else { + throw new Error("Invalid port: " + port); + } +} + +params = "?" head:param tail:("&"@param)* { + for (const [key, value] of Object.entries(params)) { + params[key] = decodeURIComponent(value); + } + proxy["skip-cert-verify"] = toBool(params["allowInsecure"]); + proxy.sni = params["sni"] || params["peer"]; + proxy['client-fingerprint'] = params.fp; + proxy.alpn = params.alpn ? decodeURIComponent(params.alpn).split(',') : undefined; + + if (toBool(params["ws"])) { + proxy.network = "ws"; + $set(proxy, "ws-opts.path", params["wspath"]); + } + + if (params["type"]) { + let httpupgrade + proxy.network = params["type"] + if(proxy.network === 'httpupgrade') { + proxy.network = 'ws' + httpupgrade = true + } + if (['grpc'].includes(proxy.network)) { + proxy[proxy.network + '-opts'] = { + 'grpc-service-name': params["serviceName"], + '_grpc-type': params["mode"], + '_grpc-authority': params["authority"], + }; + } else { + if (params["path"]) { + $set(proxy, proxy.network+"-opts.path", decodeURIComponent(params["path"])); + } + if (params["host"]) { + $set(proxy, proxy.network+"-opts.headers.Host", decodeURIComponent(params["host"])); + } + if (httpupgrade) { + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade", true); + $set(proxy, proxy.network+"-opts.v2ray-http-upgrade-fast-open", true); + } + } + if (['reality'].includes(params.security)) { + const opts = {}; + if (params.pbk) { + opts['public-key'] = params.pbk; + } + if (params.sid) { + opts['short-id'] = params.sid; + } + if (params.spx) { + opts['_spider-x'] = params.spx; + } + if (params.mode) { + proxy._mode = params.mode; + } + if (params.extra) { + proxy._extra = params.extra; + } + if (Object.keys(opts).length > 0) { + $set(proxy, params.security+"-opts", opts); + } + } + } + + proxy.udp = toBool(params["udp"]); + proxy.tfo = toBool(params["tfo"]); +} + +param = kv/single; + +kv = key:$[a-z]i+ "=" value:$[^&#]i* { + params[key] = value; +} + +single = key:$[a-z]i+ { + params[key] = true; +}; + +name = "#" + match:$.* { + return decodeURIComponent(match); +} +`,Y0;function W0(){return Y0||(Y0=pA.generate(aR)),Y0}function dA(e){let[t,r]=e.match(/,\s*?port-hopping\s*?=\s*?["']?\s*?((\d+(-\d+)?)([,;]\d+(-\d+)?)*)\s*?["']?\s*?/)||[];return{port_hopping:r?r.replace(/;/g,","):void 0,line:t?e.replace(t,""):e}}function oR(){return{name:"URI PROXY Parser",test:n=>/^(socks5\+tls|socks5|http|https):\/\//.test(n),parse:n=>{let[i,a,s,u,l,f,d,E,p]=n.match(/^(socks5|http|http)(\+tls|s)?:\/\/(?:(.*?):(.*?)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(d)d=parseInt(d,10);else{if(s)d=443;else if(a==="http")d=80;else throw I.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);I.info(`port is not present in line: ${n}, set to ${d}`)}return{name:p!=null?decodeURIComponent(p):`${a} ${f}:${d}`,type:a,tls:!!s,server:f,port:d,username:u!=null?decodeURIComponent(u):void 0,password:l!=null?decodeURIComponent(l):void 0}}}}function uR(){return{name:"URI SOCKS Parser",test:n=>/^socks:\/\//.test(n),parse:n=>{let[i,a,s,u,l,f,d]=n.match(/^(socks)?:\/\/(?:(.*)@)?(.*?)(?::(\d+?))?(\?.*?)?(?:#(.*?))?$/);if(l)l=parseInt(l,10);else throw I.error(`port is not present in line: ${n}`),new Error(`port is not present in line: ${n}`);let E,p;if(s){let A=vt.decode(decodeURIComponent(s)).split(":");E=A[0],p=A[1]}return{name:d!=null?decodeURIComponent(d):`${a} ${u}:${l}`,type:"socks5",server:u,port:l,username:E,password:p}}}}function cR(){return{name:"URI SS Parser",test:n=>/^ss:\/\//.test(n),parse:n=>{let i=n.split("ss://")[1],a=n.split("#")[1],s={type:"ss"};i=i.split("#")[0];let u=i.match(/@([^/?]*)(\/|\?|$)/),l=decodeURIComponent(i.split("@")[0]),f;l?.startsWith("2022-blake3-")?f=l:f=vt.decode(l);let d="";if(u)i.includes("?")&&(d=i.match(/(\?.*)$/)[1]);else{if(i.includes("?")){let S=i.match(/^(.*)(\?.*)$/);i=S[1],d=S[2]}if(i=vt.decode(i),d){if(/(&|\?)v2ray-plugin=/.test(d)){let w=d.match(/(&|\?)v2ray-plugin=(.*?)(&|$)/)[2];w&&(s.plugin="v2ray-plugin",s["plugin-opts"]=JSON.parse(vt.decode(w)))}i=`${i}${d}`}f=i.match(/(^.*)@/)?.[1],u=i.match(/@([^/@]*)(\/|$)/)}let E=u[1],p=E.lastIndexOf(":");s.server=E.substring(0,p),s.port=`${E.substring(p+1)}`.match(/\d+/)?.[0];let h=f.match(/(^.*?):(.*$)/);s.cipher=h?.[1],s.password=h?.[2];let A=i.match(/[?&]plugin=([^&]+)/),g=i.match(/[?&]shadow-tls=([^&]+)/);if(A){let S=("plugin="+decodeURIComponent(A[1])).split(";"),w={};for(let y of S){let[_,B]=y.split("=");_&&(w[_]=B||!0)}switch(w.plugin){case"obfs-local":case"simple-obfs":s.plugin="obfs",s["plugin-opts"]={mode:w.obfs,host:Ut(w["obfs-host"])};break;case"v2ray-plugin":s.plugin="v2ray-plugin",s["plugin-opts"]={mode:"websocket",host:Ut(w["obfs-host"]),path:Ut(w.path),tls:ou(w.tls)};break;case"shadow-tls":{s.plugin="shadow-tls";let y=Ut(w.version);s["plugin-opts"]={host:Ut(w.host),password:Ut(w.password),version:y?parseInt(y,10):void 0};break}default:throw new Error(`Unsupported plugin option: ${w.plugin}`)}}if(g){let S=JSON.parse(vt.decode(g[1])),w=Ut(S.version),y=Ut(S.address),_=Ut(S.port);s.plugin="shadow-tls",s["plugin-opts"]={host:Ut(S.host),password:Ut(S.password),version:w?parseInt(w,10):void 0},y&&(s.server=y),_&&(s.port=parseInt(_,10))}return/(&|\?)uot=(1|true)/i.test(d)&&(s["udp-over-tcp"]=!0),/(&|\?)tfo=(1|true)/i.test(d)&&(s.tfo=!0),a!=null&&(a=decodeURIComponent(a)),s.name=a??`SS ${s.server}:${s.port}`,s}}}function lR(){return{name:"URI SSR Parser",test:n=>/^ssr:\/\//.test(n),parse:n=>{n=vt.decode(n.split("ssr://")[1]);let i=n.indexOf(":origin");i===-1&&(i=n.indexOf(":auth_"));let a=n.substring(0,i),s=a.substring(0,a.lastIndexOf(":")),u=a.substring(a.lastIndexOf(":")+1),l=n.substring(i+1).split("/?")[0].split(":"),f={type:"ssr",server:s,port:u,protocol:l[0],cipher:l[1],obfs:l[2],password:vt.decode(l[3])},d={};if(n=n.split("/?")[1].split("&"),n.length>1)for(let E of n){let[p,h]=E.split("=");h=h.trim(),h.length>0&&h!=="(null)"&&(d[p]=h)}return f={...f,name:d.remarks?vt.decode(d.remarks):f.server,"protocol-param":Ut(vt.decode(d.protoparam||"").replace(/\s/g,"")),"obfs-param":Ut(vt.decode(d.obfsparam||"").replace(/\s/g,""))},f}}}function fR(){return{name:"URI VMess Parser",test:n=>/^vmess:\/\//.test(n),parse:n=>{n=n.split("vmess://")[1];let i=vt.decode(n.replace(/\?.*?$/,""));if(/=\s*vmess/.test(i)){let a=i.split(",").map(l=>l.trim()),s={};for(let l of a)if(l.indexOf("=")!==-1){let[f,d]=l.split("=");s[f.trim()]=d.trim()}let u={name:a[0].split("=")[0].trim(),type:"vmess",server:a[1],port:a[2],cipher:Ut(a[3],"auto"),uuid:a[4].match(/^"(.*)"$/)[1],tls:s.obfs==="wss",udp:ou(s["udp-relay"]),tfo:ou(s["fast-open"]),"skip-cert-verify":au(s["tls-verification"])?!s["tls-verification"]:void 0};if(au(s.obfs))if(s.obfs==="ws"||s.obfs==="wss"){u.network="ws",u["ws-opts"].path=(Ut(s["obfs-path"])||'"/"').match(/^"(.*)"$/)[1];let l=s["obfs-header"];l&&l.indexOf("Host")!==-1&&(l=l.match(/Host:\s*([a-zA-Z0-9-.]*)/)[1]),Hi(l)&&(u["ws-opts"].headers={Host:l})}else throw new Error(`Unsupported obfs: ${s.obfs}`);return u}else{let a={};try{a=JSON.parse(i)}catch{let[E,p,h]=/(^[^?]+?)\/?\?(.*)$/.exec(n);i=vt.decode(p);for(let _ of h.split("&")){let[B,D]=_.split("="),M=D;M=decodeURIComponent(D),M.indexOf(",")===-1?a[B]=M:a[B]=M.split(",")}let[A,g,S,w,y]=/(^[^:]+?):([^:]+?)@(.*):(\d+)$/.exec(i);a.scy=g,a.id=S,a.port=y,a.add=w}let s=a.add,u=parseInt(ou(a.port),10),l={name:a.ps??a.remarks??a.remark??`VMess ${s}:${u}`,type:"vmess",server:s,port:u,cipher:["auto","aes-128-gcm","chacha20-poly1305","none"].includes(a.scy)?a.scy:"auto",uuid:a.id,alterId:parseInt(ou(a.aid??a.alterId,0),10),tls:["tls",!0,1,"1"].includes(a.tls),"skip-cert-verify":au(a.verify_cert)?!a.verify_cert:void 0};!l["skip-cert-verify"]&&au(a.allowInsecure)&&(l["skip-cert-verify"]=/(TRUE)|1/i.test(a.allowInsecure)),l.tls&&(a.sni&&a.sni!==""?l.sni=a.sni:a.peer&&a.peer!==""&&(l.sni=a.peer));let f=!1;if(a.net==="ws"||a.obfs==="websocket"?l.network="ws":["http"].includes(a.net)||["http"].includes(a.obfs)||["http"].includes(a.type)?l.network="http":["grpc","kcp","quic"].includes(a.net)?l.network=a.net:a.net==="httpupgrade"||l.network==="httpupgrade"?(l.network="ws",f=!0):(a.net==="h2"||l.network==="h2")&&(l.network="h2"),l.network){let d=a.host??a.obfsParam;try{let h=JSON.parse(d)?.Host;h&&(d=h)}catch{}let E=a.path;if(["ws"].includes(l.network)&&(E=E||"/"),l.network==="http"&&(d&&(d=d.split(",").map(p=>p.trim()),d=Array.isArray(d)?d[0]:d),E?E=Array.isArray(E)?E[0]:E:E="/"),E||d||["kcp","quic"].includes(l.network))if(["grpc"].includes(l.network))l[`${l.network}-opts`]={"grpc-service-name":Ut(E),"_grpc-type":Ut(a.type),"_grpc-authority":Ut(a.authority)};else if(["kcp","quic"].includes(l.network))l[`${l.network}-opts`]={[`_${l.network}-type`]:Ut(a.type),[`_${l.network}-host`]:Ut(Ut(d)),[`_${l.network}-path`]:Ut(E)};else{let p={path:Ut(E),headers:{Host:Ut(d)}};f&&(p["v2ray-http-upgrade"]=!0,p["v2ray-http-upgrade-fast-open"]=!0),l[`${l.network}-opts`]=p}else delete l.network}return l["client-fingerprint"]=a.fp,l.alpn=a.alpn?a.alpn.split(","):void 0,l}}}}function hR(){return{name:"URI VLESS Parser",test:n=>/^vless:\/\//.test(n),parse:n=>{n=n.split("vless://")[1];let i,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);if(!a){let[S,w,y]=/^(.*?)(\?.*?$)/.exec(n);n=`${vt.decode(w)}${y}`,a=/^(.*?)@(.*?):(\d+)\/?(\?(.*?))?(?:#(.*?))?$/.exec(n),i=!0}let[s,u,l,f,d,E="",p]=a;i&&(u=u.replace(/^.*?:/g,"")),f=parseInt(`${f}`,10),u=decodeURIComponent(u),p!=null&&(p=decodeURIComponent(p));let h={type:"vless",name:p,server:l,port:f,uuid:u},A={};for(let S of E.split("&")){let[w,y]=S.split("="),_=y;_=decodeURIComponent(y),A[w]=_}if(h.name=p??A.remarks??A.remark??`VLESS ${l}:${f}`,h.tls=A.security&&A.security!=="none",i&&/TRUE|1/i.test(A.tls)&&(h.tls=!0,A.security=A.security??"reality"),h.sni=A.sni||A.peer,h.flow=A.flow,!h.flow&&i&&A.xtls){let S=[void 0,"xtls-rprx-direct","xtls-rprx-vision"][A.xtls];S&&(h.flow=S)}if(h["client-fingerprint"]=A.fp,h.alpn=A.alpn?A.alpn.split(","):void 0,h["skip-cert-verify"]=/(TRUE)|1/i.test(A.allowInsecure),["reality"].includes(A.security)){let S={};A.pbk&&(S["public-key"]=A.pbk),A.sid&&(S["short-id"]=A.sid),A.spx&&(S["_spider-x"]=A.spx),Object.keys(S).length>0&&(h[`${A.security}-opts`]=S)}let g=!1;if(h.network=A.type,h.network==="tcp"&&A.headerType==="http"?h.network="http":h.network==="httpupgrade"&&(h.network="ws",g=!0),!h.network&&i&&A.obfs&&(h.network=A.obfs,["none"].includes(h.network)&&(h.network="tcp")),["websocket"].includes(h.network)&&(h.network="ws"),h.network&&!["tcp","none"].includes(h.network)){let S={},w=A.host??A.obfsParam;if(w)if(A.obfsParam)try{let y=JSON.parse(w);S.headers=y}catch{S.headers={Host:w}}else S.headers={Host:w};A.serviceName?(S[`${h.network}-service-name`]=A.serviceName,["grpc"].includes(h.network)&&A.authority&&(S["_grpc-authority"]=A.authority)):i&&A.path&&(["ws","http","h2"].includes(h.network)||(S[`${h.network}-service-name`]=A.path,delete A.path)),A.path&&(S.path=A.path),["grpc"].includes(h.network)&&(S["_grpc-type"]=A.mode||"gun"),g&&(S["v2ray-http-upgrade"]=!0,S["v2ray-http-upgrade-fast-open"]=!0),Object.keys(S).length>0&&(h[`${h.network}-opts`]=S),h.network==="kcp"&&(A.seed&&(h.seed=A.seed),h.headerType=A.headerType||"none"),A.mode&&(h._mode=A.mode),A.extra&&(h._extra=A.extra)}return h}}}function pR(){return{name:"URI AnyTLS Parser",test:n=>/^anytls:\/\//.test(n),parse:n=>{n=n.split(/anytls:\/\//)[1];let[i,a,s,u,l="",f]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a),u=parseInt(`${u}`,10),isNaN(u)&&(u=443),a=decodeURIComponent(a),f!=null&&(f=decodeURIComponent(f)),f=f??`AnyTLS ${s}:${u}`;let d={type:"anytls",name:f,server:s,port:u,password:a};for(let E of l.split("&")){let[p,h]=E.split("=");p=p.replace(/_/g,"-"),h=decodeURIComponent(h),["alpn"].includes(p)?d[p]=h?h.split(","):void 0:["insecure"].includes(p)?d["skip-cert-verify"]=/(TRUE)|1/i.test(h):["udp"].includes(p)?d[p]=/(TRUE)|1/i.test(h):d[p]=h}return d}}}function dR(){return{name:"URI Hysteria2 Parser",test:n=>/^(hysteria2|hy2):\/\//.test(n),parse:n=>{n=n.split(/(hysteria2|hy2):\/\//)[2];let i,[a,s,u,l,f,d,E,p,h,A,g="",S]=/^(.*?)@(.*?)(:((\d+(-\d+)?)([,;]\d+(-\d+)?)*))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);/^\d+$/.test(f)?(f=parseInt(`${f}`,10),isNaN(f)&&(f=443)):f?(i=f,f=Nc(i)):f=443,s=decodeURIComponent(s),S!=null&&(S=decodeURIComponent(S)),S=S??`Hysteria2 ${u}:${f}`;let w={type:"hysteria2",name:S,server:u,port:f,ports:i,password:s},y={};for(let D of g.split("&")){let[M,q]=D.split("="),F=q;F=decodeURIComponent(q),y[M]=F}w.sni=y.sni,!w.sni&&y.peer&&(w.sni=y.peer),y.obfs&&y.obfs!=="none"&&(w.obfs=y.obfs),y.mport&&(w.ports=y.mport),w["obfs-password"]=y["obfs-password"],w["skip-cert-verify"]=/(TRUE)|1/i.test(y.insecure),w.tfo=/(TRUE)|1/i.test(y.fastopen),w["tls-fingerprint"]=y.pinSHA256;let _=y["hop-interval"]||y.hop_interval;/^\d+$/.test(_)&&(w["hop-interval"]=parseInt(`${_}`,10));let B=y.keepalive;return/^\d+$/.test(B)&&(w.keepalive=parseInt(`${B}`,10)),w}}}function gR(){return{name:"URI Hysteria Parser",test:n=>/^(hysteria|hy):\/\//.test(n),parse:n=>{n=n.split(/(hysteria|hy):\/\//)[2];let[i,a,s,u,l,f="",d]=/^(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);u=parseInt(`${u}`,10),isNaN(u)&&(u=443),d!=null&&(d=decodeURIComponent(d)),d=d??`Hysteria ${a}:${u}`;let E={type:"hysteria",name:d,server:a,port:u},p={};for(let h of f.split("&")){let[A,g]=h.split("=");A=A.replace(/_/,"-"),g=decodeURIComponent(g),["alpn"].includes(A)?E[A]=g?g.split(","):void 0:["insecure"].includes(A)?E["skip-cert-verify"]=/(TRUE)|1/i.test(g):["auth"].includes(A)?E["auth-str"]=g:["mport"].includes(A)?E.ports=g:["obfsParam"].includes(A)?E.obfs=g:["upmbps"].includes(A)?E.up=g:["downmbps"].includes(A)?E.down=g:["obfs"].includes(A)?E._obfs=g||"":["fast-open","peer"].includes(A)?p[A]=g:E[A]=g}return!E.sni&&p.peer&&(E.sni=p.peer),!E["fast-open"]&&p.fastopen&&(E["fast-open"]=!0),E.protocol||(E.protocol="udp"),E}}}function mR(){return{name:"URI TUIC Parser",test:n=>/^tuic:\/\//.test(n),parse:n=>{n=n.split(/tuic:\/\//)[1];let[i,a,s,u,l="",f]=/^(.*?)@(.*?)(?::(\d+))?\/?(?:\?(.*?))?(?:#(.*?))?$/.exec(n);a=decodeURIComponent(a);let[d,...E]=a.split(":"),p=E.join(":");u=parseInt(`${u}`,10),isNaN(u)&&(u=443),p=decodeURIComponent(p),f!=null&&(f=decodeURIComponent(f)),f=f??`TUIC ${s}:${u}`;let h={type:"tuic",name:f,server:s,port:u,password:p,uuid:d};for(let A of l.split("&")){let[g,S]=A.split("=");g=g.replace(/_/g,"-"),S=decodeURIComponent(S),["alpn"].includes(g)?h[g]=S?S.split(","):void 0:["allow-insecure"].includes(g)?h["skip-cert-verify"]=/(TRUE)|1/i.test(S):["fast-open"].includes(g)?h.tfo=!0:["disable-sni","reduce-rtt"].includes(g)?h[g]=/(TRUE)|1/i.test(S):g==="congestion-control"?(h["congestion-controller"]=S,delete h[g]):h[g]=S}return h}}}function vR(){return{name:"URI WireGuard Parser",test:n=>/^(wireguard|wg):\/\//.test(n),parse:n=>{n=n.split(/(wireguard|wg):\/\//)[2];let[i,a,s,u,l,f,d,E="",p]=/^((.*?)@)?(.*?)(:(\d+))?\/?(\?(.*?))?(?:#(.*?))?$/.exec(n);f=parseInt(`${f}`,10),isNaN(f)&&(f=51820),s=decodeURIComponent(s),p!=null&&(p=decodeURIComponent(p)),p=p??`WireGuard ${u}:${f}`;let h={type:"wireguard",name:p,server:u,port:f,"private-key":s,udp:!0};for(let A of E.split("&")){let[g,S]=A.split("=");if(g=g.replace(/_/,"-"),S=decodeURIComponent(S),["reserved"].includes(g)){let w=S.split(",").map(y=>parseInt(y.trim(),10)).filter(y=>Number.isInteger(y));w.length===3&&(h[g]=w)}else if(["address","ip"].includes(g))S.split(",").map(w=>{let y=w.trim().replace(/\/\d+$/,"").replace(/^\[/,"").replace(/\]$/,"");vr(y)?h.ip=y:ur(y)&&(h.ipv6=y)});else if(["mtu"].includes(g)){let w=parseInt(S.trim(),10);Number.isInteger(w)&&(h[g]=w)}else/publickey/i.test(g)?h["public-key"]=S:/privatekey/i.test(g)?h["private-key"]=S:["udp"].includes(g)?h[g]=/(TRUE)|1/i.test(S):["flag"].includes(g)||(h[g]=S)}return h}}}function ER(){return{name:"URI Trojan Parser",test:n=>/^trojan:\/\//.test(n),parse:n=>{let i=/^(trojan:\/\/.*?@.*?)(:(\d+))?\/?(\?.*?)?$/.exec(n);i?.[2]||(n=n.replace(i[1],`${i[1]}:443`));let[s,u]=n.split(/#(.+)/,2),f=W0().parse(s);if(Hi(u))try{f.name=decodeURIComponent(u)}catch(d){console.log(d)}return f}}}function wR(){return{name:"Clash Parser",test:n=>{try{JSON.parse(n)}catch{return!1}return!0},parse:n=>{let i=JSON.parse(n);if(!["anytls","mieru","juicity","ss","ssr","vmess","socks5","http","snell","trojan","tuic","vless","hysteria","hysteria2","wireguard","ssh","direct"].includes(i.type))throw new Error(`Clash does not support proxy with type: ${i.type}`);return["vmess","vless"].includes(i.type)&&(i.sni=i.servername,delete i.servername),i["server-cert-fingerprint"]&&(i["tls-fingerprint"]=i["server-cert-fingerprint"]),i.fingerprint&&(i["tls-fingerprint"]=i.fingerprint),i["dialer-proxy"]&&(i["underlying-proxy"]=i["dialer-proxy"]),i["benchmark-url"]&&(i["test-url"]=i["benchmark-url"]),i["benchmark-timeout"]&&(i["test-timeout"]=i["benchmark-timeout"]),i}}}function AR(){return{name:"QX SS Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")===-1,parse:n=>qs().parse(n)}}function yR(){return{name:"QX SSR Parser",test:n=>/^shadowsocks\s*=/.test(n.split(",")[0].trim())&&n.indexOf("ssr-protocol")!==-1,parse:n=>qs().parse(n)}}function SR(){return{name:"QX VMess Parser",test:n=>/^vmess\s*=/.test(n.split(",")[0].trim()),parse:n=>qs().parse(n)}}function bR(){return{name:"QX VLESS Parser",test:n=>/^vless\s*=/.test(n.split(",")[0].trim()),parse:n=>qs().parse(n)}}function CR(){return{name:"QX Trojan Parser",test:n=>/^trojan\s*=/.test(n.split(",")[0].trim()),parse:n=>qs().parse(n)}}function _R(){return{name:"QX HTTP Parser",test:n=>/^http\s*=/.test(n.split(",")[0].trim()),parse:n=>qs().parse(n)}}function FR(){return{name:"QX Socks5 Parser",test:n=>/^socks5\s*=/.test(n.split(",")[0].trim()),parse:n=>qs().parse(n)}}function IR(){return{name:"Loon SS Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocks",parse:n=>ts().parse(n)}}function $R(){return{name:"Loon SSR Parser",test:n=>n.split(",")[0].split("=")[1].trim().toLowerCase()==="shadowsocksr",parse:n=>ts().parse(n)}}function DR(){return{name:"Loon VMess Parser",test:n=>/^.*=\s*vmess/i.test(n.split(",")[0])&&n.indexOf("username")===-1,parse:n=>ts().parse(n)}}function BR(){return{name:"Loon Vless Parser",test:n=>/^.*=\s*vless/i.test(n.split(",")[0]),parse:n=>ts().parse(n)}}function RR(){return{name:"Loon Trojan Parser",test:n=>/^.*=\s*trojan/i.test(n.split(",")[0]),parse:n=>ts().parse(n)}}function PR(){return{name:"Loon Hysteria2 Parser",test:n=>/^.*=\s*Hysteria2/i.test(n.split(",")[0]),parse:n=>ts().parse(n)}}function TR(){return{name:"Loon HTTP Parser",test:n=>/^.*=\s*http/i.test(n.split(",")[0]),parse:n=>ts().parse(n)}}function OR(){return{name:"Loon SOCKS5 Parser",test:n=>/^.*=\s*socks5/i.test(n.split(",")[0]),parse:n=>ts().parse(n)}}function NR(){return{name:"Loon WireGuard Parser",test:n=>/^.*=\s*wireguard/i.test(n.split(",")[0]),parse:n=>{let i=n.match(/(^.*?)\s*?=\s*?wireguard\s*?,.+?\s*?=\s*?.+?/i)?.[1];n=n.replace(i,"").replace(/^\s*?=\s*?wireguard\s*/i,"");let a=n.match(/,\s*?peers\s*?=\s*?\[\s*?\{\s*?(.+?)\s*?\}\s*?\]/i)?.[1],s=a.match(/(,|^)\s*?endpoint\s*?=\s*?"?(.+?):(\d+)"?\s*?(,|$)/i),u=s?.[2],l=parseInt(s?.[3],10),f=n.match(/(,|^)\s*?mtu\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];f&&(f=parseInt(f,10));let d=n.match(/(,|^)\s*?keepalive\s*?=\s*?"?(\d+?)"?\s*?(,|$)/i)?.[2];d&&(d=parseInt(d,10));let E=a.match(/(,|^)\s*?reserved\s*?=\s*?"?(\[\s*?.+?\s*?\])"?\s*?(,|$)/i)?.[2];E&&(E=JSON.parse(E));let p,h=n.match(/(,|^)\s*?dns\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],A=n.match(/(,|^)\s*?dnsv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2];(h||A)&&(p=[],h&&p.push(h),A&&p.push(A));let g=a.match(/(,|^)\s*?allowed-ips\s*?=\s*?"(.+?)"\s*?(,|$)/i)?.[2]?.split(",").map(D=>D.trim()),S=a.match(/(,|^)\s*?preshared-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],w=n.match(/(,|^)\s*?interface-ip\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],y=n.match(/(,|^)\s*?interface-ipv6\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],_=a.match(/(,|^)\s*?public-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],B={type:"wireguard",name:i,server:u,port:l,ip:w,ipv6:y,"private-key":n.match(/(,|^)\s*?private-key\s*?=\s*?"?(.+?)"?\s*?(,|$)/i)?.[2],"public-key":_,mtu:f,keepalive:d,reserved:E,"allowed-ips":g,"preshared-key":S,dns:p,udp:!0,peers:[{server:u,port:l,ip:w,ipv6:y,"public-key":_,"pre-shared-key":S,"allowed-ips":g,reserved:E}]};return Array.isArray(B.dns)&&B.dns.length>0&&(B["remote-dns-resolve"]=!0),B}}}function xR(){return{name:"Surge Direct Parser",test:n=>/^.*=\s*direct/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function kR(){return{name:"Surge SSH Parser",test:n=>/^.*=\s*ssh/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function LR(){return{name:"Surge SS Parser",test:n=>/^.*=\s*ss/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function UR(){return{name:"Surge VMess Parser",test:n=>/^.*=\s*vmess/.test(n.split(",")[0])&&n.indexOf("username")!==-1,parse:n=>Jn().parse(n)}}function HR(){return{name:"Surge Trojan Parser",test:n=>/^.*=\s*trojan/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function jR(){return{name:"Surge HTTP Parser",test:n=>/^.*=\s*https?/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function MR(){return{name:"Surge Socks5 Parser",test:n=>/^.*=\s*socks5(-tls)?/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function qR(){return{name:"Surge External Parser",test:n=>/^.*=\s*external/.test(n.split(",")[0]),parse:n=>{let i=/^\s*(.*?)\s*?=\s*?external\s*?,\s*(.*?)\s*$/.exec(n),[a,s,u]=i;n=u;let l=/(,|^)\s*?exec\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];l||(l=/(,|^)\s*?exec\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let f=/(,|^)\s*?local-port\s*?=\s*"(.*?)"\s*?(,|$)/.exec(n)?.[2];f||(f=/(,|^)\s*?local-port\s*?=\s*(.*?)\s*?(,|$)/.exec(n)?.[2]);let d=/(,|^)\s*?args\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,E,p=[];for(;(E=d.exec(n))!==null;)E[3]!=null?p.push(E[3]):E[4]!=null&&p.push(E[4]);let h=/(,|^)\s*?addresses\s*?=\s*("(.*?)"|(.*?))(?=\s*?(,|$))/g,A,g=[];for(;(A=h.exec(n))!==null;){let w;A[3]!=null?w=A[3]:A[4]!=null&&(w=A[4]),w!=null&&(w=`${w}`.trim().replace(/^\[/,"").replace(/\]$/,"")),YR(w)&&g.push(w)}return{type:"external",name:s,exec:l,"local-port":f,args:p,addresses:g}}}}function KR(){return{name:"Surge Snell Parser",test:n=>/^.*=\s*snell/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function VR(){return{name:"Surge Tuic Parser",test:n=>/^.*=\s*tuic(-v5)?/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=dA(n),s=Jn().parse(a);return s.ports=i,s}}}function GR(){return{name:"Surge WireGuard Parser",test:n=>/^.*=\s*wireguard/.test(n.split(",")[0]),parse:n=>Jn().parse(n)}}function zR(){return{name:"Surge Hysteria2 Parser",test:n=>/^.*=\s*hysteria2/.test(n.split(",")[0]),parse:n=>{let{port_hopping:i,line:a}=dA(n),s=Jn().parse(a);return s.ports=i,s}}}function YR(e){return vr(e)||ur(e)}var gA=[oR(),uR(),cR(),lR(),fR(),hR(),mR(),vR(),gR(),dR(),ER(),pR(),wR(),xR(),kR(),LR(),UR(),HR(),jR(),KR(),VR(),GR(),zR(),MR(),qR(),IR(),$R(),DR(),BR(),PR(),RR(),TR(),OR(),NR(),AR(),yR(),SR(),bR(),CR(),_R(),FR()];var di=class{constructor({token,key,syncPlatform}){let{isStash,isLoon,isShadowRocket,isQX}=Ir(),{defaultProxy,defaultTimeout:timeout}=I.read(Ft),proxy=defaultProxy;I.env.isNode&&(proxy=proxy||eval("process.env.SUB_STORE_BACKEND_DEFAULT_PROXY")),syncPlatform==="gitlab"?(this.headers={"PRIVATE-TOKEN":`${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=wi({baseURL:"https://gitlab.com/api/v4",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>{if(/^[45]/.test(String(e.statusCode))){let t=JSON.parse(e.body);return Promise.reject(`ERROR: ${t.message?.error??t.message}`)}else return e}}})):(this.headers={Authorization:`token ${token}`,"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"},this.http=wi({baseURL:"https://api.github.com",headers:{...this.headers,...isStash&&proxy?{"X-Stash-Selected-Proxy":encodeURIComponent(proxy)}:{},...isShadowRocket&&proxy?{"X-Surge-Policy":proxy}:{}},...proxy?{proxy}:{},...isLoon&&proxy?{node:proxy}:{},...isQX&&proxy?{opts:{policy:proxy}}:{},...proxy?Cs(proxy):{},timeout:timeout||8e3,events:{onResponse:e=>/^[45]/.test(String(e.statusCode))?Promise.reject(`ERROR: ${JSON.parse(e.body).message}`):e}})),this.key=key,this.syncPlatform=syncPlatform}async locate(){return this.syncPlatform==="gitlab"?this.http.get("/snippets").then(e=>{let t=JSON.parse(e.body);for(let r of t)if(r.title===this.key)return r}):this.http.get("/gists?per_page=100&page=1").then(e=>{let t=JSON.parse(e.body);I.info(`\u83B7\u53D6\u5230\u5F53\u524D GitHub \u7528\u6237\u7684 gist: ${t.length} \u4E2A`);for(let r of t)if(r.description===this.key)return r})}async upload(e){if(Object.keys(e).length===0)return Promise.reject("\u672A\u63D0\u4F9B\u9700\u4E0A\u4F20\u7684\u6587\u4EF6");let t=await this.locate(),r=e;if(t?.id){this.syncPlatform==="gitlab"&&(t.files=t.files.reduce((a,s)=>(a[s.path]=s,a),{}));let n=[],i={...t.files};return Object.keys(r).map(a=>{i[a]?r[a].content==null||r[a].content===""?(delete i[a],n.push({action:"delete",file_path:a})):(i[a]=r[a],n.push({action:"update",file_path:a,content:r[a].content})):r[a].content==null||r[a].content===""?(delete i[a],delete r[a]):(i[a]=r[a],n.push({action:"create",file_path:a,content:r[a].content}))}),this.syncPlatform==="gitlab"?Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 snippet"):Object.keys(i).length>10?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4 snippet \u7684\u6587\u4EF6\u6570\u8D85\u8FC7 10, \u65E0\u6CD5\u66F4\u65B0 snippet"):(r=n,this.http.put({headers:{...this.headers,"Content-Type":"application/json"},url:`/snippets/${t.id}`,body:JSON.stringify({files:r})})):Object.keys(i).length===0?Promise.reject("\u672C\u6B21\u64CD\u4F5C\u5C06\u5BFC\u81F4\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u66F4\u65B0 gist"):this.http.patch({url:`/gists/${t.id}`,body:JSON.stringify({files:r})})}else return r=Object.entries(r).reduce((n,[i,a])=>(a.content!==null&&a.content!==""&&(n[i]=a),n),{}),this.syncPlatform==="gitlab"?Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA snippet"):(r=Object.keys(r).map(n=>({file_path:n,content:r[n].content})),this.http.post({headers:{...this.headers,"Content-Type":"application/json"},url:"/snippets",body:JSON.stringify({title:this.key,visibility:"private",files:r})})):Object.keys(r).length===0?Promise.reject("\u6240\u6709\u6587\u4EF6\u7684\u5185\u5BB9\u90FD\u4E3A\u7A7A, \u65E0\u6CD5\u521B\u5EFA gist"):this.http.post({url:"/gists",body:JSON.stringify({description:this.key,public:!1,files:r})})}async download(e){let t=await this.locate();if(t?.id)try{let{files:r}=await this.http.get(`/gists/${t.id}`).then(i=>JSON.parse(i.body)),n=r[e].raw_url;return await this.http.get(n).then(i=>i.body)}catch(r){return Promise.reject(r)}else return Promise.reject(`\u627E\u4E0D\u5230 Sub-Store Gist (${this.key})`)}};function WR(e){for(let t of Uf)try{if(t.test(e))return I.info(`Pre-processor [${t.name}] activated`),t.parse(e)}catch(r){I.error(`Parser [${t.name}] failed + Reason: ${r}`)}return e}function XR(e){e=WR(e);let t=e.split(` +`),r=[],n;for(let i of t){if(i=i.trim(),i.length===0)continue;let a=!1;if(n){let[s,u]=mA(n,i);u||(r.push(EA(s)),a=!0)}if(!a)for(let s of gA){let[u,l]=mA(s,i);if(!l){r.push(EA(u)),n=s,a=!0,I.info(`${s.name} is activated`);break}}a||I.error(`Failed to parse line: ${i}`)}return r.filter(i=>(["vless","vmess"].includes(i.type)&&(bf(i.uuid)||I.error(`UUID may be invalid: ${i.name} ${i.uuid}`)),!0))}async function JR(e,t=[],r,n,i){for(let a of t){if(a.disabled){I.log(`Skipping disabled operator: "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);continue}let s,u={};if(a.type.indexOf("Script")!==-1){let{mode:f,content:d}=a.args;if(f==="link"){let E=d||"",p=E.split("#");if(p.length>1)try{u=JSON.parse(decodeURIComponent(p[1]))}catch{for(let g of p[1].split("&")){let S=g.split("=")[0],w=g.split("=")[1];u[S]=w==null||w===""?!0:decodeURIComponent(w)}}E=`${E.split("#")[0]}${p[2]?`#${p[2]}`:u?.noCache!=null||u?.insecure!=null?`#${p[1]}`:""}`;let h=E.match(/^\/api\/(file|module)\/(.+)/);if(h){let A="";try{A=h?.[1];let g=h?.[2];if(g==null)throw new Error(`\u672C\u5730 ${A} URL \u65E0\u6548: ${E}`);g=decodeURIComponent(g);let S=A==="module"?Cn:yt,w=tt(I.read(S),g);if(!w)throw new Error(`\u627E\u4E0D\u5230 ${A}: ${g}`);A==="module"?s=w.content:s=await Qr({type:"file",name:g})}catch(g){throw I.error(`Error when loading ${A}: ${a.args.content}. + Reason: ${g}`),new Error(`\u65E0\u6CD5\u52A0\u8F7D ${A}: ${E}`)}}else try{s=await wr(E)}catch(A){throw I.error(`Error when downloading remote script: ${a.args.content}. + Reason: ${A}`),new Error(`\u65E0\u6CD5\u4E0B\u8F7D\u811A\u672C: ${E}`)}}else s=d,u=a.args.arguments||{}}if(!fh[a.type]){I.error(`Unknown operator: "${a.type}"`);continue}I.log(`Applying "${a.type}" with arguments: + >>> ${JSON.stringify(a.args,null,2)||"None"}`);let l;a.type.indexOf("Script")!==-1?l=fh[a.type](s,r,u,n,i):l=fh[a.type](a.args||{}),e=await ZE(l,e)}return e}function ZR(e,t,r,n={}){let i=mh[t];if(!i)throw new Error(`Target platform: ${t} is not supported!`);let a=/Surge|SurgeMac|Shadowrocket/i.test(t);if(e=e.filter(s=>s.supported&&s.supported[t]===!1?!1:(["vless","vmess"].includes(s.type)&&(bf(s.uuid)||I.error(`UUID may be invalid: ${s.name} ${s.uuid}`)),!0)),e=e.map(s=>(s._resolved=s.resolved,Hi(s.name)||(s.name=`${s.type} ${s.server}:${s.port}`),s["disable-sni"]&&(a?s.sni="off":["tuic"].includes(s.type)||(I.error(`Target platform ${t} does not support sni off. Proxy's fields (sni, tls-fingerprint and skip-cert-verify) will be modified.`),s.sni="",s["skip-cert-verify"]=!0,delete s["tls-fingerprint"])),s.ports&&(s.ports=String(s.ports),["ClashMeta"].includes(t)||(s.ports=s.ports.replace(/\//g,",")),s.port||(s.port=Nc(s.ports))),s)),I.log(`Producing proxies for target: ${t}`),typeof i.type>"u"||i.type==="SINGLE"){let s=e.map(u=>{try{return i.produce(u,r,n)}catch(l){return I.error(`Cannot produce proxy: ${JSON.stringify(u,null,2)} +Reason: ${l}`),""}}).filter(u=>u.length>0);return s=r==="internal"?s:s.join(` +`),t.startsWith("Surge")&&e.length>0&&e.every(u=>u.type==="wireguard")&&(s=`#!name=${e[0]?._subName} +#!desc=${e[0]?._desc??""} +#!category=${e[0]?._category??""} +${s}`),s}else if(i.type==="ALL")return i.produce(e,r,n)}var At={parse:XR,process:JR,produce:ZR,ipAddress:Sf,getRandomPort:Nc,isIPv4:vr,isIPv6:ur,isIP:X0,yaml:co,getFlag:Ru,removeFlag:el,getISO:sh,MMDB:ih,Gist:di,download:wr,downloadFile:Gc,isValidUUID:bf,doh:Tu,Buffer:_h.Buffer,Base64:vt};function mA(e,t){if(!QR(e,t))return[null,new Error("Parser mismatch")];try{return[e.parse(t),null]}catch(r){return[null,r]}}function QR(e,t){try{return e.test(t)}catch{return!1}}function vA(e){if(typeof e=="string"||typeof e=="number"){if(e=String(e).trim(),e==="")return"/";if(!e.startsWith("/"))return"/"+e}return e}function EA(e){typeof e.cipher=="string"&&(e.cipher=e.cipher.toLowerCase()),typeof e.password=="number"&&(e.password=Fm(e.password)),["ss"].includes(e.type)&&e.cipher==="none"&&!e.password&&(e.password=""),e.interface&&(e["interface-name"]=e.interface,delete e.interface),_m(e.port)&&(e.port=parseInt(e.port,10)),e.server&&(e.server=`${e.server}`.trim().replace(/^\[/,"").replace(/\]$/,"")),e.network==="ws"&&(!e["ws-opts"]&&(e["ws-path"]||e["ws-headers"])&&(e["ws-opts"]={},e["ws-path"]&&(e["ws-opts"].path=e["ws-path"]),e["ws-headers"]&&(e["ws-opts"].headers=e["ws-headers"])),delete e["ws-path"],delete e["ws-headers"]);let t=e[`${e.network}-opts`]?.path;if(Array.isArray(t)?e[`${e.network}-opts`].path=t.map(n=>vA(n)):t!=null&&(e[`${e.network}-opts`].path=vA(t)),e.type==="trojan"&&e.network==="tcp"&&delete e.network,["vless"].includes(e.type)&&(e.network||(e.network="tcp")),["trojan","tuic","hysteria","hysteria2","juicity","anytls"].includes(e.type)&&(e.tls=!0),e.network){let n=e[`${e.network}-opts`]?.headers?.Host,i=e[`${e.network}-opts`]?.headers?.host;e.network==="h2"?!i&&n&&(e[`${e.network}-opts`].headers.host=n,delete e[`${e.network}-opts`].headers.Host):i&&!n&&(e[`${e.network}-opts`].headers.Host=i,delete e[`${e.network}-opts`].headers.host)}if(e.network==="h2"){let n=e["h2-opts"]?.headers?.host,i=e["h2-opts"]?.path;n&&!Array.isArray(n)&&(e["h2-opts"].headers.host=[n]),Array.isArray(i)&&(e["h2-opts"].path=i[0])}if(!e.tls&&["ws","http"].includes(e.network)&&!e[`${e.network}-opts`]?.headers?.Host&&!X0(e.server)&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].headers=e[`${e.network}-opts`].headers||{},e[`${e.network}-opts`].headers.Host=["vmess","vless"].includes(e.type)&&e.network==="http"?[e.server]:e.server),["vmess","vless"].includes(e.type)&&e.network==="http"){let n=e[`${e.network}-opts`]?.path,i=e[`${e.network}-opts`]?.headers?.Host;i&&!Array.isArray(i)&&(e[`${e.network}-opts`].headers.Host=[i]),n&&!Array.isArray(n)&&(e[`${e.network}-opts`].path=[n])}if(e.tls&&!e.sni&&(X0(e.server)||(e.sni=e.server),!e.sni&&e.network)){let n=e[`${e.network}-opts`]?.headers?.Host;n=Array.isArray(n)?n[0]:n,n&&(e.sni=n)}if(e.ports?e.ports=String(e.ports).replace(/\//g,","):delete e.ports,["hysteria2"].includes(e.type)&&e.obfs&&!["salamander"].includes(e.obfs)&&!e["obfs-password"]&&(e["obfs-password"]=e.obfs,e.obfs="salamander"),["hysteria2"].includes(e.type)&&!e["obfs-password"]&&e.obfs_password&&(e["obfs-password"]=e.obfs_password,delete e.obfs_password),["vless"].includes(e.type)&&(e["reality-opts"]&&Object.keys(e["reality-opts"]).length===0&&delete e["reality-opts"],e["grpc-opts"]&&Object.keys(e["grpc-opts"]).length===0&&delete e["grpc-opts"],!e["reality-opts"]&&!e.flow&&delete e.flow,["http"].includes(e.network)&&(e[`${e.network}-opts`]?.path||(e[`${e.network}-opts`]||(e[`${e.network}-opts`]={}),e[`${e.network}-opts`].path=["/"]))),typeof e.name!="string")if(/^\d+$/.test(e.name))e.name=`${e.name}`;else try{e.name?.data?e.name=_h.Buffer.from(e.name.data).toString("utf8"):e.name=_h.Buffer.from(e.name).toString("utf8")}catch(n){I.error(`proxy.name decode failed +Reason: ${n}`),e.name=`${e.type} ${e.server}:${e.port}`}["ws","http","h2"].includes(e.network)&&(["ws","h2"].includes(e.network)&&!e[`${e.network}-opts`]?.path?(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path="/"):e.network==="http"&&(!Array.isArray(e[`${e.network}-opts`]?.path)||e[`${e.network}-opts`]?.path.every(n=>!n))&&(e[`${e.network}-opts`]=e[`${e.network}-opts`]||{},e[`${e.network}-opts`].path=["/"])),["","off"].includes(e.sni)&&(e["disable-sni"]=!0);let r=e.ca_str;e["ca-str"]?r=e["ca-str"]:r&&(delete e.ca_str,e["ca-str"]=r);try{I.env.isNode&&!r&&e._ca&&(r=I.node.fs.readFileSync(e._ca,{encoding:"utf8"}))}catch(n){I.error(`Read ca file failed +Reason: ${n}`)}return!e["tls-fingerprint"]&&r&&(e["tls-fingerprint"]=PE.generateFingerprint(r)),["ss"].includes(e.type)&&ae(e,"shadow-tls-password")&&(e.plugin="shadow-tls",e["plugin-opts"]={host:e["shadow-tls-sni"],password:e["shadow-tls-password"],version:e["shadow-tls-version"]},delete e["shadow-tls-sni"],delete e["shadow-tls-password"],delete e["shadow-tls-version"]),e}function X0(e){return vr(e)||ur(e)}function eP(){return{name:"HTML",test:n=>/^/.test(n),parse:()=>""}}function tP(){return{name:"Clash Provider",test:n=>/^payload:/gm.exec(n).index>=0,parse:n=>n.replace("payload:","").replace(/^\s*-\s*/gm,"")}}var wA=[eP(),tP()];function rP(){return{type:"SINGLE",func:r=>["URL-REGEX","DEST-PORT","SRC-IP","IN-PORT","PROTOCOL","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:`${{"DOMAIN-KEYWORD":"HOST-KEYWORD","DOMAIN-SUFFIX":"HOST-SUFFIX",DOMAIN:"HOST","IP-CIDR6":"IP6-CIDR"}[r.type]||r.type},${r.content},SUB-STORE`}}function AA(){return{type:"SINGLE",func:r=>{if(["GEOSITE","GEOIP"].indexOf(r.type)!==-1)return null;let i=`${r.type},${r.content}`;return["IP-CIDR","IP-CIDR6"].includes(r.type)&&(i+=r.options?.length>0?`,${r.options.join(",")}`:""),i}}}function nP(){return{type:"SINGLE",func:r=>["SRC-IP","GEOSITE","GEOIP"].indexOf(r.type)!==-1?null:(["IP-CIDR","IP-CIDR6"].includes(r.type)&&r.options&&(r.options=r.options.filter(i=>["no-resolve"].includes(i))),AA().func(r))}}function iP(){return{type:"ALL",func:r=>{let n={"DEST-PORT":"DST-PORT","SRC-IP":"SRC-IP-CIDR","IN-PORT":"SRC-PORT"},i={payload:r.map(a=>{let s=`${n[a.type]||a.type},${a.content}`;return["IP-CIDR","IP-CIDR6","GEOIP"].includes(a.type)&&(a.options&&(a.options=a.options.filter(u=>["no-resolve"].includes(u))),s+=a.options?.length>0?`,${a.options.join(",")}`:""),s})};return co.dump(i)}}}var yA={QX:rP(),Surge:AA(),Loon:nP(),Clash:iP()};var sP=[[/^(DOMAIN|host|HOST)$/,"DOMAIN"],[/^(DOMAIN-KEYWORD|host-keyword|HOST-KEYWORD)$/,"DOMAIN-KEYWORD"],[/^(DOMAIN-SUFFIX|host-suffix|HOST-SUFFIX)$/,"DOMAIN-SUFFIX"],[/^USER-AGENT$/i,"USER-AGENT"],[/^PROCESS-NAME$/,"PROCESS-NAME"],[/^(DEST-PORT|DST-PORT)$/,"DST-PORT"],[/^SRC-IP(-CIDR)?$/,"SRC-IP"],[/^(IN|SRC)-PORT$/,"IN-PORT"],[/^PROTOCOL$/,"PROTOCOL"],[/^IP-CIDR$/i,"IP-CIDR"],[/^(IP-CIDR6|ip6-cidr|IP6-CIDR)$/,"IP-CIDR6"],[/^GEOIP$/i,"GEOIP"],[/^GEOSITE$/i,"GEOSITE"]];function aP(){return{name:"Universal Rule Parser",test:()=>!0,parse:n=>{let i=n.split(` +`),a=[];for(let s of i)if(s=s.trim(),s.length!==0&&!/\s*#/.test(s))try{let u=s.split(",").map(d=>d.trim()),l=u[0],f=!1;for(let d of sP)if(d[0].test(l)){f=!0;let p={type:d[1],content:u[1]};["IP-CIDR","IP-CIDR6","GEOIP"].includes(p.type)&&(p.options=u.slice(2)),a.push(p)}if(!f)throw new Error("Invalid rule type: "+l)}catch(u){console.log(`Failed to parse line: ${s} + Reason: ${u}`)}return a}}}var SA=[aP()];var wo=function(){function e(n){for(let i of wA)try{if(i.test(n))return I.info(`Pre-processor [${i.name}] activated`),i.parse(n)}catch(a){I.error(`Parser [${i.name}] failed + Reason: ${a}`)}return n}function t(n){n=e(n);for(let i of SA){let a;try{a=i.test(n)}catch{a=!1}if(a)return I.info(`Rule parser [${i.name}] is activated!`),i.parse(n)}}function r(n,i){let a=yA[i];if(!a)throw new Error(`Target platform: ${i} is not supported!`);if(typeof a.type>"u"||a.type==="SINGLE")return n.map(s=>{try{return a.func(s)}catch(u){return console.log(`ERROR: cannot produce rule: ${JSON.stringify(s)} +Reason: ${u}`),""}}).filter(s=>s.length>0).join(` +`);if(a.type==="ALL")return a.func(n)}return{parse:t,produce:r}}();function J0(e){I.read(ht)||I.write({},ht),e.get("/api/artifacts/restore",oP),e.route("/api/artifacts").get(uP).post(fP).put(cP),e.route("/api/artifact/:name").get(lP).patch(hP).delete(pP)}async function oP(e,t){I.info("\u5F00\u59CB\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E...");try{let{gistToken:r,syncPlatform:n}=I.read(Ft);if(!r)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=new di({token:r,key:Ya,syncPlatform:n});try{let a=await i.locate();if(!a?.files)throw new Error("\u627E\u4E0D\u5230 Sub-Store Gist \u6587\u4EF6\u5217\u8868");let s=I.read(ht),u=[];Object.keys(a.files).map(l=>{let f=a.files[l]?.filename;if(f)if(encodeURIComponent(f)!==f)I.error(`\u6587\u4EF6\u540D ${f} \u672A\u7F16\u7801 \u4E0D\u4FDD\u5B58`),u.push(f);else{let d=tt(s,f);d?yi(s,f,{...d,url:a.files[l]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")}):s.push({name:`${f}`,url:a.files[l]?.raw_url.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1")})}}),I.write(s,ht)}catch(a){throw I.error(`\u67E5\u627E Sub-Store Gist \u65F6\u53D1\u751F\u9519\u8BEF: ${a.message??a}`),a}xe(t)}catch(r){I.error(`\u6062\u590D\u8FDC\u7A0B\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),Pe(t,new Mt("FAILED_TO_RESTORE_ARTIFACTS","Failed to restore artifacts",`Reason: ${r.message??r}`))}}function uP(e,t){let r=I.read(ht);xe(t,r)}function cP(e,t){let r=e.body;I.write(r,ht),xe(t)}async function lP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=I.read(ht),i=tt(n,r);i?xe(t,i):Pe(t,new Vt("RESOURCE_NOT_FOUND",`Artifact ${r} does not exist!`),404)}function fP(e,t){let r=e.body;if(!bA(r.name)){Pe(t,new wt("INVALID_ARTIFACT_NAME",`Artifact name ${r.name} is invalid.`));return}I.info(`\u6B63\u5728\u521B\u5EFA\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r.name}`);let n=I.read(ht);tt(n,r.name)?Pe(t,new wt("DUPLICATE_KEY",`Artifact ${r.name} already exists.`)):(n.push(r),I.write(n,ht),xe(t,r,201))}function hP(e,t){let r=I.read(ht),n=e.params.name;n=decodeURIComponent(n);let i=tt(r,n);if(i){I.info(`\u6B63\u5728\u66F4\u65B0\u8FDC\u7A0B\u914D\u7F6E\uFF1A${i.name}`);let a={...i,...e.body};if(!bA(a.name)){Pe(t,new wt("INVALID_ARTIFACT_NAME",`Artifact name ${a.name} is invalid.`));return}yi(r,n,a),I.write(r,ht),xe(t,a)}else Pe(t,new wt("DUPLICATE_KEY",`Artifact ${n} already exists.`))}async function pP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}`);let n=I.read(ht);try{let i=tt(n,r);if(!i)throw new Error(`\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\u4E0D\u5B58\u5728\uFF01`);if(i.updated){let a={};a[encodeURIComponent(i.name)]={content:""},encodeURIComponent(i.name)!==i.name&&(a[i.name]={content:""});try{await Fh(a)}catch(s){I.error(`Function syncToGist: ${r} : ${s}`)}}oi(n,r),I.write(n,ht),xe(t)}catch(i){I.error(`\u65E0\u6CD5\u5220\u9664\u8FDC\u7A0B\u914D\u7F6E\uFF1A${r}\uFF0C\u539F\u56E0\uFF1A${i}`),Pe(t,new Mt("FAILED_TO_DELETE_ARTIFACT",`Failed to delete artifact ${r}`,`Reason: ${i}`))}}function bA(e){return/^[a-zA-Z0-9._-]*$/.test(e)}async function Fh(e){let{gistToken:t,syncPlatform:r}=I.read(Ft);if(!t)return Promise.reject("\u672A\u8BBE\u7F6E GitHub Token\uFF01");let i=await new di({token:t,key:Ya,syncPlatform:r}).upload(e),a={};try{a=JSON.parse(i.body)}catch{}let s=a?.html_url??a?.web_url,u=I.read(Ft);return s?(I.log(`\u540C\u6B65 Gist \u540E, \u627E\u5230 Sub-Store Gist: ${s}`),u.artifactStore=s,u.artifactStoreStatus="VALID"):(I.error("\u540C\u6B65 Gist \u540E, \u627E\u4E0D\u5230 Sub-Store Gist"),u.artifactStoreStatus="NOT FOUND"),I.write(u,Ft),i}function Z0(e){I.read(ht)||I.write({},ht),e.get("/api/sync/artifacts",dP),e.get("/api/sync/artifact/:name",gP)}async function Qr({type:e,name:t,platform:r,url:n,ua:i,content:a,mergeSources:s,ignoreFailedRemoteSub:u,ignoreFailedRemoteFile:l,produceType:f,produceOpts:d={},subscription:E,awaitCustomCache:p,$options:h,proxy:A,noCache:g,all:S}){if(r=r||"JSON",["subscription","sub"].includes(e)){let w;if(t){let D=I.read(Dt);if(w=tt(D,t),!w)throw new Error(`\u627E\u4E0D\u5230\u8BA2\u9605 ${t}`)}else if(E)w=E;else throw new Error("\u672A\u63D0\u4F9B\u8BA2\u9605\u540D\u79F0\u6216\u8BA2\u9605\u6570\u636E");let y;if(a&&!["localFirst","remoteFirst"].includes(s))y=a;else if(n){let D={};y=await Promise.all(n.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await wr(q,i||w.ua,void 0,A||w.proxy,void 0,p,g||w.noCache,!0)}catch(F){return D[q]=F,I.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${F}`),""}}));let M=w.ignoreFailedRemoteSub;if(u!=null&&u!==""&&(M=u),Object.keys(D).length>0)if(M)M==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(D).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(D).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?y.unshift(a):s==="remoteFirst"&&y.push(a)}else if(w.source==="local"&&!["localFirst","remoteFirst"].includes(w.mergeSources))y=w.content;else{let D={};y=await Promise.all(w.url.split(/[\r\n]+/).map(q=>q.trim()).filter(q=>q.length).map(async q=>{try{return await wr(q,i||w.ua,void 0,A||w.proxy,void 0,p,g||w.noCache,!0)}catch(F){return D[q]=F,I.error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${q} \u53D1\u751F\u9519\u8BEF: ${F}`),""}}));let M=w.ignoreFailedRemoteSub;if(u!=null&&u!==""&&(M=u),Object.keys(D).length>0)if(M)M==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${w.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(D).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${w.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(D).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);w.mergeSources==="localFirst"?y.unshift(w.content):w.mergeSources==="remoteFirst"&&y.push(w.content)}if(f==="raw")return JSON.stringify((Array.isArray(y)?y:[y]).flat());let _=(Array.isArray(y)?y:[y]).map(D=>At.parse(D)).flat();if(_.forEach(D=>{D._subName=w.name,D._subDisplayName=w.displayName}),_=await At.process(_,w.process||[],r,{[w.name]:w},h),_.length===0)throw new Error(`\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let B={};for(let D of _){if(B[D.name]){I.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${D.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}B[D.name]=!0}return At.produce(_,r,f,d)}else if(["collection","col"].includes(e)){let w=I.read(Dt),y=I.read(Bt),_=tt(y,t);if(!_)throw new Error(`\u627E\u4E0D\u5230\u7EC4\u5408\u8BA2\u9605 ${t}`);let B=[..._.subscriptions],D=_.subscriptionTags;Array.isArray(D)&&D.length>0&&w.forEach(V=>{Array.isArray(V.tag)&&V.tag.length>0&&!B.includes(V.name)&&V.tag.some(W=>D.includes(W))&&B.push(V.name)});let M={},q={},F=0;await Promise.all(B.map(async V=>{let W=tt(w,V),G=W.passThroughUA,z=W.ua;G&&(I.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${i}`),z=i);try{I.info(`\u6B63\u5728\u5904\u7406\u5B50\u8BA2\u9605\uFF1A${W.name}...`);let X;if(W.source==="local"&&!["localFirst","remoteFirst"].includes(W.mergeSources))X=W.content;else{let Se={};if(X=await await Promise.all(W.url.split(/[\r\n]+/).map(we=>we.trim()).filter(we=>we.length).map(async we=>{try{return await wr(we,z,void 0,A||W.proxy||_.proxy,void 0,void 0,g||W.noCache,!0)}catch(Ie){return Se[we]=Ie,I.error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${we} \u53D1\u751F\u9519\u8BEF: ${Ie}`),""}})),Object.keys(Se).length>0)if(W.ignoreFailedRemoteSub)W.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u8BA2\u9605\u5931\u8D25",`\u274C ${W.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Se).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${W.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(Se).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);W.mergeSources==="localFirst"?X.unshift(W.content):W.mergeSources==="remoteFirst"&&X.push(W.content)}let ie=(Array.isArray(X)?X:[X]).map(Se=>At.parse(Se)).flat();ie.forEach(Se=>{Se._subName=W.name,Se._subDisplayName=W.displayName,Se._collectionName=_.name,Se._collectionDisplayName=_.displayName}),ie=await At.process(ie,W.process||[],r,{[W.name]:W,_collection:_,$options:h}),M[V]=ie,F++,I.info(`\u2705 \u5B50\u8BA2\u9605\uFF1A${W.name}\u52A0\u8F7D\u6210\u529F\uFF0C\u8FDB\u5EA6--${100*(F/B.length).toFixed(1)}% `)}catch(X){F++,q[V]=X,I.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u4E2D\u7684\u5B50\u8BA2\u9605: ${W.name}\u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${X}\uFF01\u8FDB\u5EA6--${100*(F/B.length).toFixed(1)}%`)}}));let P=_.ignoreFailedRemoteSub;if(u!=null&&u!==""&&(P=u),Object.keys(q).length>0)if(P)P==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${_.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${_.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let L=Array.prototype.concat.apply([],B.map(V=>M[V]||[]));if(L.forEach(V=>{V._collectionName=_.name,V._collectionDisplayName=_.displayName}),L=await At.process(L,_.process||[],r,{_collection:_},h),L.length===0)throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${t} \u4E2D\u4E0D\u542B\u6709\u6548\u8282\u70B9`);let j={};for(let V of L){if(j[V.name]){I.notify("\u{1F30D} Sub-Store",`\u26A0\uFE0F \u7EC4\u5408\u8BA2\u9605 ${t} \u5305\u542B\u91CD\u590D\u8282\u70B9 ${V.name}\uFF01`,"\u8BF7\u4ED4\u7EC6\u68C0\u6D4B\u914D\u7F6E\uFF01",{"media-url":"https://cdn3.iconfinder.com/data/icons/seo-outline-1/512/25_code_program_programming_develop_bug_search_developer-512.png"});break}j[V.name]=!0}return At.produce(L,r,f,d)}else if(e==="rule"){let w=I.read(Pc),y=tt(w,t);if(!y)throw new Error(`\u627E\u4E0D\u5230\u89C4\u5219 ${t}`);let _=[];for(let B=0;BP.trim()).filter(P=>P.length).map(async P=>{try{return await wr(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,g)}catch(L){return q[P]=L,I.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${L}`),""}}));let F=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(F=l),!F&&Object.keys(q).length>0)throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);s==="localFirst"?_.unshift(a):s==="remoteFirst"&&_.push(a)}else if(y.source==="local"&&!["localFirst","remoteFirst"].includes(y.mergeSources))_=y.content;else{let q={};_=await Promise.all(y.url.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length).map(async P=>{try{return await wr(P,i||y.ua,void 0,y.proxy||A,void 0,void 0,g)}catch(L){return q[P]=L,I.error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${P} \u53D1\u751F\u9519\u8BEF: ${L}`),""}}));let F=y.ignoreFailedRemoteFile;if(l!=null&&l!==""&&(F=l),Object.keys(q).length>0)if(F)F==="enabled"&&I.notify("\u{1F30D} Sub-Store \u5904\u7406\u6587\u4EF6\u5931\u8D25",`\u274C ${y.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${y.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(q).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);y.mergeSources==="localFirst"?_.unshift(y.content):y.mergeSources==="remoteFirst"&&_.push(y.content)}if(f==="raw")return JSON.stringify((Array.isArray(_)?_:[_]).flat());let B=(Array.isArray(_)?_:[_]).flat(),D=B.filter(q=>q!=null&&q!=="").join(` +`),M=Array.isArray(y.process)&&y.process.length>0?await At.process({$files:B,$content:D,$options:h,$file:y},y.process):{$content:D,$files:B,$options:h};return(S?M:M?.$content)??""}}async function Q0(){I.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");let e=I.read(ht),t={};try{let r=[],n=[],i=I.read(Dt),a=I.read(Bt),s=[],u=0;if(e.map(d=>{if(d.sync&&d.source){if(u++,d.type==="subscription"){let E=d.source,p=tt(i,E);p&&p.url&&!s.includes(E)&&s.push(E)}else if(d.type==="collection"){let E=tt(a,d.source);E&&Array.isArray(E.subscriptions)&&E.subscriptions.map(p=>{let h=tt(i,p);h&&h.url&&!s.includes(p)&&s.push(p)})}}}),u===0){I.info(`\u9700\u540C\u6B65\u7684\u914D\u7F6E: ${u}, \u603B\u6570: ${e.length}`);return}if(s.length>0&&await Promise.all(s.map(async d=>{try{await Qr({type:"subscription",name:d,awaitCustomCache:!0})}catch{}})),await Promise.all(e.map(async d=>{try{if(d.sync&&d.source){I.info(`\u6B63\u5728\u540C\u6B65\u4E91\u914D\u7F6E\uFF1A${d.name}...`);let E=d.platform==="SurgeMac";E&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let p=await Qr({type:d.type,name:d.source,platform:d.platform,produceOpts:{"include-unsupported-proxy":d.includeUnsupportedProxy,useMihomoExternal:E}});t[encodeURIComponent(d.name)]={content:p},r.push(d.name)}}catch(E){I.error(`\u751F\u6210\u540C\u6B65\u914D\u7F6E ${d.name} \u53D1\u751F\u9519\u8BEF: ${E.message??E}`),n.push(d.name)}})),I.info(`${r.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u6210\u529F: ${r.join(", ")}`),I.info(`${n.length} \u4E2A\u540C\u6B65\u914D\u7F6E\u751F\u6210\u5931\u8D25: ${n.join(", ")}`),r.length===0)throw new Error(`\u540C\u6B65\u914D\u7F6E ${n.join(", ")} \u751F\u6210\u5931\u8D25 \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);let l=await Fh(t),f=JSON.parse(l.body);delete f.history,delete f.forks,delete f.owner,Object.values(f.files).forEach(d=>{delete d.content}),I.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),I.info(JSON.stringify(f,null,2));for(let d of e)if(d.sync&&d.source&&r.includes(d.name)){d.updated=new Date().getTime();let E=f.files,p;Array.isArray(E)&&(p=!0,E=Object.fromEntries(E.map(g=>[g.path,g])));let h=E[encodeURIComponent(d.name)]?.raw_url,A=p?h:h?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");I.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(E).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(d.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${h} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${A}`),d.url=A}if(I.write(e,ht),I.info("\u4E0A\u4F20\u914D\u7F6E\u6210\u529F"),n.length>0)throw new Error(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A, \u5931\u8D25 ${n.length} \u4E2A, \u8BE6\u60C5\u8BF7\u67E5\u770B\u65E5\u5FD7`);I.info(`\u540C\u6B65\u914D\u7F6E\u6210\u529F ${r.length} \u4E2A`)}catch(r){throw I.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),r}}async function dP(e,t){I.info("\u5F00\u59CB\u540C\u6B65\u6240\u6709\u8FDC\u7A0B\u914D\u7F6E...");try{await Q0(),xe(t)}catch(r){I.error(`\u540C\u6B65\u914D\u7F6E\u5931\u8D25\uFF0C\u539F\u56E0\uFF1A${r.message??r}`),Pe(t,new Mt("FAILED_TO_SYNC_ARTIFACTS","Failed to sync all artifacts",`Reason: ${r.message??r}`))}}async function gP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u5F00\u59CB\u540C\u6B65\u8FDC\u7A0B\u914D\u7F6E ${r}...`);let n=I.read(ht),i=tt(n,r);if(!i){I.error(`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`\u627E\u4E0D\u5230\u8FDC\u7A0B\u914D\u7F6E ${r}`),404);return}if(!i.source){I.error(`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),Pe(t,new Vt("RESOURCE_HAS_NO_SOURCE",`\u8FDC\u7A0B\u914D\u7F6E ${r} \u672A\u8BBE\u7F6E\u6765\u6E90`),404);return}try{let a=i.platform==="SurgeMac";a&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External");let s=await Qr({type:i.type,name:i.source,platform:i.platform,produceOpts:{"include-unsupported-proxy":i.includeUnsupportedProxy,useMihomoExternal:a}});I.info(`\u6B63\u5728\u4E0A\u4F20\u914D\u7F6E\uFF1A${i.name} +>>>${JSON.stringify(i,null,2)}`);let u=await Fh({[encodeURIComponent(i.name)]:{content:s}});i.updated=new Date().getTime();let l=JSON.parse(u.body);delete l.history,delete l.forks,delete l.owner,Object.values(l.files).forEach(h=>{delete h.content}),I.info("\u4E0A\u4F20\u914D\u7F6E\u54CD\u5E94:"),I.info(JSON.stringify(l,null,2));let f=l.files,d;Array.isArray(f)&&(d=!0,f=Object.fromEntries(f.map(h=>[h.path,h])));let E=f[encodeURIComponent(i.name)]?.raw_url,p=d?E:E?.replace(/\/raw\/[^/]*\/(.*)/,"/raw/$1");I.info(`\u4E0A\u4F20\u914D\u7F6E\u5B8C\u6210 +\u6587\u4EF6\u5217\u8868: ${Object.keys(f).join(", ")} +\u5F53\u524D\u6587\u4EF6: ${encodeURIComponent(i.name)} +\u54CD\u5E94\u8FD4\u56DE\u7684\u539F\u59CB\u94FE\u63A5: ${E} +\u5904\u7406\u5B8C\u7684\u65B0\u94FE\u63A5: ${p}`),i.url=p,I.write(n,ht),xe(t,i)}catch(a){I.error(`\u8FDC\u7A0B\u914D\u7F6E ${i.name} \u53D1\u751F\u9519\u8BEF: ${a.message??a}`),Pe(t,new Mt("FAILED_TO_SYNC_ARTIFACT",`Failed to sync artifact ${r}`,`Reason: ${a}`))}}function e1(e){I.read(Ft)||I.write({},Ft),e.route("/api/settings").get(mP).patch(vP)}async function mP(e,t){try{let r=I.read(Ft);r||(r={},I.write(r,Ft)),r.avatarUrl||await Ih(),r.artifactStore||await $h(),xe(t,r)}catch(r){I.error(`Failed to get settings: ${r.message??r}`),Pe(t,new Mt("FAILED_TO_GET_SETTINGS","Failed to get settings",`Reason: ${r.message??r}`))}}async function vP(e,t){try{let n={...I.read(Ft),...e.body};I.write(n,Ft),await Ih(),await $h(),xe(t,n)}catch(r){I.error(`Failed to update settings: ${r.message??r}`),Pe(t,new Mt("FAILED_TO_UPDATE_SETTINGS","Failed to update settings",`Reason: ${r.message??r}`))}}async function Ih(){let e=I.read(Ft),{githubUser:t,syncPlatform:r}=e;if(t)if(r==="gitlab")try{let n=await I.http.get({url:`https://gitlab.com/api/v4/users?username=${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n[0].avatar_url.replace(/(\?|&)s=\d+(&|$)/,"$1s=160$2"),I.write(e,Ft)}catch(n){I.error(`Failed to fetch GitLab avatar for User: ${t}. Reason: ${n.message??n}`)}else try{let n=await I.http.get({url:`https://api.github.com/users/${encodeURIComponent(t)}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}}).then(i=>JSON.parse(i.body));e.avatarUrl=n.avatar_url,I.write(e,Ft)}catch(n){I.error(`Failed to fetch GitHub avatar for User: ${t}. Reason: ${n.message??n}`)}}async function $h(){I.log("Updating artifact store");let e=I.read(Ft),{gistToken:t,syncPlatform:r}=e;if(t){let n=new di({token:t,key:Ya,syncPlatform:r});try{let i=await n.locate(),a=i?.html_url??i?.web_url;a?(I.log(`\u627E\u5230 Sub-Store Gist: ${a}`),e.artifactStore=a,e.artifactStoreStatus="VALID"):(I.error(`\u627E\u4E0D\u5230 Sub-Store Gist (${Ya})`),e.artifactStoreStatus="NOT FOUND")}catch(i){I.error(`\u67E5\u627E Sub-Store Gist (${Ya}) \u65F6\u53D1\u751F\u9519\u8BEF: ${i.message??i}`),e.artifactStoreStatus="ERROR"}I.write(e,Ft)}}function t1(e){e.get("/api/utils/env",CA),e.get("/api/utils/backup",wP),e.get("/api/utils/refresh",EP),e.route("/api/storage").get((t,r)=>{r.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_data_${ca(new Date)}.json`)}"`).send(I.env.isNode?JSON.stringify(I.cache):I.read("#sub-store"))}).post((t,r)=>{let{content:n}=t.body;I.write(n,"#sub-store"),I.env.isNode&&(I.cache=JSON.parse(n),I.persistCache()),aa(),xe(r)}),Ir().isNode?e.get("/",CA):e.get("/",async(t,r)=>{r.set("location","https://sub-store.vercel.app/").status(302).end()}),Ir().isQX&&e.options("/",async(t,r)=>{r.status(200).end()}),e.all("/",(t,r)=>{r.send("Hello from sub-store, made with \u2764\uFE0F by Peng-YM")})}function CA(e,t){e.query.share&&(Qi.feature.share=!0),t.set("Content-Type","application/json;charset=UTF-8").send(JSON.stringify({status:"success",data:{guide:"\u26A0\uFE0F\u26A0\uFE0F\u26A0\uFE0F \u60A8\u5F53\u524D\u770B\u5230\u7684\u662F\u540E\u7AEF\u7684\u54CD\u5E94. \u82E5\u60F3\u914D\u5408\u524D\u7AEF\u4F7F\u7528, \u53EF\u8BBF\u95EE\u5B98\u65B9\u524D\u7AEF https://sub-store.vercel.app \u540E\u81EA\u884C\u914D\u7F6E\u540E\u7AEF\u5730\u5740, \u6216\u4E00\u952E\u914D\u7F6E\u540E\u7AEF https://sub-store.vercel.app?api=https://a.com/xxx (\u5047\u8BBE https://a.com \u662F\u4F60\u540E\u7AEF\u7684\u57DF\u540D, /xxx \u662F\u81EA\u5B9A\u4E49\u8DEF\u5F84). \u9700\u6CE8\u610F HTTPS \u524D\u7AEF\u65E0\u6CD5\u8BF7\u6C42\u975E\u672C\u5730\u7684 HTTP \u540E\u7AEF(\u90E8\u5206\u6D4F\u89C8\u5668\u4E0A\u4E5F\u65E0\u6CD5\u8BBF\u95EE\u672C\u5730 HTTP \u540E\u7AEF). \u8BF7\u914D\u7F6E\u53CD\u4EE3\u6216\u5728\u5C40\u57DF\u7F51\u81EA\u5EFA HTTP \u524D\u7AEF. \u5982\u679C\u8FD8\u6709\u95EE\u9898, \u53EF\u67E5\u770B\u6B64\u6392\u67E5\u8BF4\u660E: https://t.me/zhetengsha/1068",...Qi}},null,2))}async function EP(e,t){await Ih(),await $h(),pr.revokeAll(),Qc.revokeAll(),eo.revokeAll(),xe(t)}async function Dh(e){let{gistToken:t,syncPlatform:r}=I.read(Ft);if(!t)throw new Error("GitHub Token is required for backup!");let n=new di({token:t,key:lm,syncPlatform:r}),i,a=I.read(Ft),s=a.syncTime;switch(e){case"upload":try{if(i=I.read("#sub-store"),I.env.isNode&&(i=JSON.stringify(I.cache,null," ")),I.info("\u4E0B\u8F7D\u5907\u4EFD, \u4E0E\u672C\u5730\u5185\u5BB9\u5BF9\u6BD4..."),await n.download(lf)===i){I.info("\u5185\u5BB9\u4E00\u81F4, \u65E0\u9700\u4E0A\u4F20\u5907\u4EFD");return}}catch(u){I.error(`${u.message??u}`)}a.syncTime=new Date().getTime(),I.write(a,Ft),i=I.read("#sub-store"),I.env.isNode&&(i=JSON.stringify(I.cache,null," ")),I.info("\u4E0A\u4F20\u5907\u4EFD\u4E2D...");try{await n.upload({[lf]:{content:i}}),I.info("\u4E0A\u4F20\u5907\u4EFD\u5B8C\u6210")}catch(u){throw a.syncTime=s,I.write(a,Ft),u}break;case"download":I.info("\u8FD8\u539F\u5907\u4EFD\u4E2D..."),i=await n.download(lf);try{if(Object.keys(JSON.parse(i).settings).length===0)throw new Error("\u5907\u4EFD\u6587\u4EF6\u5E94\u8BE5\u81F3\u5C11\u5305\u542B settings \u5B57\u6BB5")}catch(u){throw I.error(`Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F +Reason: ${u.message??u}`),new Error("Gist \u5907\u4EFD\u6587\u4EF6\u6821\u9A8C\u5931\u8D25, \u65E0\u6CD5\u8FD8\u539F")}I.write(i,"#sub-store"),I.env.isNode&&(i=JSON.parse(i),I.cache=i,I.persistCache()),I.info("perform migration after restoring from gist..."),aa(),I.info("migration completed"),I.info("\u8FD8\u539F\u5907\u4EFD\u5B8C\u6210");break}}async function wP(e,t){let{action:r}=e.query,{gistToken:n}=I.read(Ft);if(!n)Pe(t,new wt("GIST_TOKEN_NOT_FOUND","GitHub Token is required for backup!"));else try{await Dh(r),xe(t)}catch(i){I.error(`Failed to ${r} gist data. +Reason: ${i.message??i}`),Pe(t,new Mt("BACKUP_FAILED",`Failed to ${r} gist data!`,`Reason: ${i.message??i}`))}}I.read(Dt)||I.write({},Dt);function r1(e){e.get("/api/sub/flow/:name",AP),e.route("/api/sub/:name").get(SP).patch(bP).delete(CP),e.route("/api/subs").get(_P).post(yP).put(FP)}async function AP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let{url:n}=e.query;n&&(n=decodeURIComponent(n),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${n}`));let i=I.read(Dt),a=tt(i,r);if(!a){Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404);return}if(a.source==="local"&&!["localFirst","remoteFirst"].includes(a.mergeSources)){if(a.subUserinfo){let s;if(/^https?:\/\//.test(a.subUserinfo))try{s=await Xr(void 0,void 0,void 0,a.proxy,a.subUserinfo)}catch(u){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${a.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(u)}`)}else s=a.subUserinfo;try{xe(t,{...to(s)})}catch(u){I.error(`Failed to parse flow info for local subscription ${r}: ${u.message??u}`),Pe(t,new wt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}else Pe(t,new wt("NO_FLOW_INFO","N/A",`Local subscription ${r} has no flow information!`));return}try{n=`${n||a.url}`.split(/[\r\n]+/).map(f=>f.trim()).filter(f=>f.length)?.[0]||"";let s={},u=n.split("#");if(n=n.split("#")[0],u.length>1)try{s=JSON.parse(decodeURIComponent(u[1]))}catch{for(let d of u[1].split("&")){let E=d.split("=")[0],p=d.split("=")[1];s[E]=p==null||p===""?!0:decodeURIComponent(p)}}if(s.noFlow){Pe(t,new wt("NO_FLOW_INFO","N/A",`Subscription ${r}: noFlow`));return}let l=await Xr(s?.insecure?`${n}#insecure`:n,s.flowUserAgent,void 0,a.proxy,s.flowUrl);if(!l&&!a.subUserinfo){Pe(t,new Mt("NO_FLOW_INFO","No flow info","Failed to fetch flow headers"));return}try{let f=_f({resetDay:s.resetDay,startDate:s.startDate,cycleDays:s.cycleDays}),d;if(/^https?:\/\//.test(a.subUserinfo))try{d=await Xr(void 0,void 0,void 0,a.proxy,a.subUserinfo)}catch(p){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${a.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(p)}`)}else d=a.subUserinfo;let E={...to([d,l].filter(p=>p).join("; "))};f!=null&&(E.remainingDays=f),xe(t,E)}catch(f){I.error(`Failed to parse flow info for local subscription ${r}: ${f.message??f}`),Pe(t,new wt("NO_FLOW_INFO","N/A","Failed to parse flow info"))}}catch{Pe(t,new wu("URL_NOT_ACCESSIBLE",`The URL for subscription ${r} is inaccessible.`))}}function yP(e,t){let r=e.body;if(I.info(`\u6B63\u5728\u521B\u5EFA\u8BA2\u9605\uFF1A ${r.name}`),/\//.test(r.name)){Pe(t,new wt("INVALID_NAME",`Subscription ${r.name} is invalid`));return}let n=I.read(Dt);if(tt(n,r.name)){Pe(t,new wt("DUPLICATE_KEY",`Subscription ${r.name} already exists.`));return}n.push(r),I.write(n,Dt),xe(t,r,201)}function SP(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(Dt),a=tt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_subscription_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(a)):xe(t,a):Pe(t,new Vt("SUBSCRIPTION_NOT_FOUND",`Subscription ${r} does not exist`,404))}function bP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Dt),a=tt(i,r);if(a){let s={...a,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u8BA2\u9605\uFF1A ${r}`),r!==n.name){let u=I.read(Bt)||[];for(let d of u){let E=d.subscriptions.indexOf(r);E!==-1&&(d.subscriptions[E]=n.name)}let l=I.read(ht)||[];for(let d of l)d.type==="subscription"&&d.source==r&&(d.source=n.name);let f=I.read(yt)||[];for(let d of f)d.sourceType==="subscription"&&d.sourceName==r&&(d.sourceName=n.name);I.write(u,Bt),I.write(l,ht),I.write(f,yt)}yi(i,r,s),I.write(i,Dt),xe(t,s)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}function CP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u5220\u9664\u8BA2\u9605\uFF1A${r}...`);let n=I.read(Dt);oi(n,r),I.write(n,Dt);let i=I.read(Bt);for(let a of i)a.subscriptions=a.subscriptions.filter(s=>s!==r);I.write(i,Bt),xe(t)}function _P(e,t){let r=I.read(Dt);xe(t,r)}function FP(e,t){let r=e.body;I.write(r,Dt),xe(t)}function n1(e){I.read(Bt)||I.write({},Bt),e.route("/api/collection/:name").get($P).patch(DP).delete(BP),e.route("/api/collections").get(RP).post(IP).put(PP)}function IP(e,t){let r=e.body;if(I.info(`\u6B63\u5728\u521B\u5EFA\u7EC4\u5408\u8BA2\u9605\uFF1A${r.name}`),/\//.test(r.name)){Pe(t,new wt("INVALID_NAME",`Collection ${r.name} is invalid`));return}let n=I.read(Bt);if(tt(n,r.name)){Pe(t,new wt("DUPLICATE_KEY",`Collection ${r.name} already exists.`));return}n.push(r),I.write(n,Bt),xe(t,r,201)}function $P(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(Bt),a=tt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_collection_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(a)):xe(t,a):Pe(t,new Vt("SUBSCRIPTION_NOT_FOUND",`Collection ${r} does not exist`,404))}function DP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Bt),a=tt(i,r);if(a){let s={...a,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u7EC4\u5408\u8BA2\u9605\uFF1A${r}...`),r!==s.name){let u=I.read(ht)||[];for(let f of u)f.type==="collection"&&f.source===a.name&&(f.source=s.name);let l=I.read(yt)||[];for(let f of l)f.sourceType==="collection"&&f.sourceName===a.name&&(f.sourceName=s.name);I.write(u,ht),I.write(l,yt)}yi(i,r,s),I.write(i,Bt),xe(t,s)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}function BP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u7EC4\u5408\u8BA2\u9605\uFF1A${r}`);let n=I.read(Bt);oi(n,r),I.write(n,Bt),xe(t)}function RP(e,t){let r=I.read(Bt);xe(t,r)}function PP(e,t){let r=e.body;I.write(r,Bt),xe(t)}function i1(e){I.read(yt)||I.write([],yt),e.get("/share/file/:name",_A),e.route("/api/file/:name").get(_A).patch(NP).delete(xP),e.route("/api/wholeFile/:name").get(OP),e.route("/api/files").get(kP).post(TP).put(UP),e.route("/api/wholeFiles").get(LP)}function TP(e,t){let r=e.body;r.name=`${r.name??Date.now()}`,I.info(`\u6B63\u5728\u521B\u5EFA\u6587\u4EF6\uFF1A${r.name}`);let n=I.read(yt);if(tt(n,r.name))return Pe(t,new wt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6587\u4EF6`:"\u65E0\u6CD5\u540C\u65F6\u521B\u5EFA\u76F8\u540C\u7684\u6587\u4EF6 \u53EF\u7A0D\u540E\u91CD\u8BD5"));n.push(r),I.write(n,yt),xe(t,r,201)}async function _A(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${n}`);let{url:i,subInfoUrl:a,subInfoUserAgent:s,ua:u,content:l,mergeSources:f,ignoreFailedRemoteFile:d,proxy:E,noCache:p,produceType:h}=e.query,A={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{A=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let y of e.query.$options.split("&")){let _=y.split("=")[0],B=y.split("=")[1];A[_]=B==null||B===""?!0:decodeURIComponent(B)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(A)}`)}i&&(i=decodeURIComponent(i),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 URL: ${i}`)),E&&(E=decodeURIComponent(E),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${E}`)),u&&(u=decodeURIComponent(u),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u6587\u4EF6 User-Agent: ${u}`)),a&&(a=decodeURIComponent(a),I.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUrl: ${a}`)),s&&(s=decodeURIComponent(s),I.info(`\u6307\u5B9A\u83B7\u53D6\u6D41\u91CF\u7684 subInfoUserAgent: ${s}`)),l&&(l=decodeURIComponent(l),I.info(`\u6307\u5B9A\u672C\u5730\u6587\u4EF6: ${l}`)),f&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${f}`)),d!=null&&d!==""&&(d=decodeURIComponent(d),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u6587\u4EF6: ${d}`)),p&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${p}`),h&&(h=decodeURIComponent(h),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${h}`));let g=I.read(yt),S=tt(g,r);if(S)try{let w=await Qr({type:"file",name:r,url:i,ua:u,content:l,mergeSources:f,ignoreFailedRemoteFile:d,$options:A,proxy:E,noCache:p,produceType:h,all:!0});try{if(a=a||S.subInfoUrl,a){let y=await Xr(a,s||S.subInfoUserAgent,void 0,E||S.proxy);y&&t.set("subscription-userinfo",la(y))}}catch(y){I.error(`\u6587\u4EF6 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(y)}`)}S.download&&t.set("Content-Disposition",`attachment; filename*=UTF-8''${encodeURIComponent(S.displayName||S.name)}`),t.set("Content-Type","text/plain; charset=utf-8"),w?.$options?._res?.headers&&Object.entries(w.$options._res.headers).forEach(([y,_])=>{t.set(y,_)}),t.send(w?.$content??"")}catch(w){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u6587\u4EF6\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${w.message??w}`),I.error(w.message??w),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download file: ${r}`,`Reason: ${w.message??w}`))}else I.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25 +\u274C \u672A\u627E\u5230\u6587\u4EF6\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function OP(e,t){let{name:r}=e.params,{raw:n}=e.query;r=decodeURIComponent(r);let i=I.read(yt),a=tt(i,r);a?n?t.set("content-type","application/json").set("content-disposition",`attachment; filename="${encodeURIComponent(`sub-store_file_${r}_${ca(new Date)}.json`)}"`).send(JSON.stringify(a)):xe(t,a):Pe(t,new Vt("FILE_NOT_FOUND",`File ${r} does not exist`,404))}function NP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(yt),a=tt(i,r);if(a){let s={...a,...n};if(I.info(`\u6B63\u5728\u66F4\u65B0\u6587\u4EF6\uFF1A${r}...`),r!==s.name){let u=I.read(ht)||[];for(let l of u)l.type==="file"&&l.source===a.name&&(l.source=s.name);I.write(u,ht)}yi(i,r,s),I.write(i,yt),xe(t,s)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`File ${r} does not exist!`),404)}function xP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u6587\u4EF6\uFF1A${r}`);let n=I.read(yt);oi(n,r),I.write(n,yt),xe(t)}function kP(e,t){let r=I.read(yt);xe(t,r.map(({content:n,...i})=>i))}function LP(e,t){let r=I.read(yt);xe(t,r)}function UP(e,t){let r=e.body;I.write(r,yt),xe(t)}function s1(e){I.read(cn)||I.write([],cn),e.post("/api/token",MP),e.route("/api/token/:token").delete(HP),e.route("/api/tokens").get(jP)}function HP(e,t){let{token:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\uFF1A${r}`);let n=I.read(cn);oi(n,r,"token"),I.write(n,cn),xe(t)}function jP(e,t){let{type:r,name:n}=e.query,i=I.read(cn)||[];xe(t,r||n?i.filter(a=>(r?a.type===r:!0)&&(n?a.name===n:!0)):i)}async function MP(req,res){if(!Ir().isNode)return Pe(res,new wt("INVALID_ENV","This endpoint is only available in Node.js environment"));try{let{payload,options}=req.body,ms=require("ms"),token=payload?.token;if(token!=null){if(typeof token!="string"||token.length<1)return Pe(res,new wt("INVALID_CUSTOM_TOKEN",`Invalid custom token: ${token}`));if((I.read(cn)||[]).find(t=>t.token===token))return Pe(res,new wt("DUPLICATE_TOKEN",`Token ${token} already exists`))}let type=payload?.type,name=payload?.name;if(!type||!name)return Pe(res,new wt("INVALID_PAYLOAD","payload type and name are required"));if(type==="col"){if(!(I.read(Bt)||[]).find(r=>r.name===name))return Pe(res,new wt("INVALID_COLLECTION",`collection ${name} not found`))}else if(type==="file"){if(!(I.read(yt)||[]).find(r=>r.name===name))return Pe(res,new wt("INVALID_FILE",`file ${name} not found`))}else if(type==="sub"){if(!(I.read(Dt)||[]).find(r=>r.name===name))return Pe(res,new wt("INVALID_SUB",`sub ${name} not found`))}else return Pe(res,new wt("INVALID_TYPE",`type ${name} not supported`));let expiresIn=options?.expiresIn;if(options?.expiresIn!=null&&(expiresIn=ms(options.expiresIn),expiresIn==null||isNaN(expiresIn)||expiresIn<=0))return Pe(res,new wt("INVALID_EXPIRES_IN",`Invalid expiresIn option: ${options.expiresIn}`));let nanoid=require("nanoid"),tokens=I.read(cn)||[];if(!token)do token=nanoid.customAlphabet(nanoid.urlAlphabet)();while(tokens.find(e=>e.token===token));return tokens.push({...payload,token,createdAt:Date.now(),expiresIn:expiresIn>0?options?.expiresIn:void 0,exp:expiresIn>0?Date.now()+expiresIn:void 0}),I.write(tokens,cn),xe(res,{token})}catch(e){return Pe(res,new Mt("TOKEN_SIGN_FAILED","Failed to sign token",`Reason: ${e.message??e}`))}}function a1(e){I.read(Cn)||I.write([],Cn),e.route("/api/module/:name").get(KP).patch(VP).delete(GP),e.route("/api/modules").get(zP).post(qP).put(YP)}function qP(e,t){let r=e.body;r.name=`${r.name??Mn(JSON.stringify(r))}`,I.info(`\u6B63\u5728\u521B\u5EFA\u6A21\u5757\uFF1A${r.name}`);let n=I.read(Cn);if(tt(n,r.name))return Pe(t,new wt("DUPLICATE_KEY",e.body.name?`\u5DF2\u5B58\u5728 name \u4E3A ${r.name} \u7684\u6A21\u5757`:"\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u6A21\u5757 \u8BF7\u52FF\u91CD\u590D\u6DFB\u52A0"));n.push(r),I.write(n,Cn),xe(t,r,201)}function KP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=I.read(Cn),i=tt(n,r);i?t.set("Content-Type","text/plain; charset=utf-8").send(i.content):Pe(t,new Vt("MODULE_NOT_FOUND",`Module ${r} does not exist`,404))}function VP(e,t){let{name:r}=e.params;r=decodeURIComponent(r);let n=e.body,i=I.read(Cn),a=tt(i,r);if(a){let s={...a,...n};I.info(`\u6B63\u5728\u66F4\u65B0\u6A21\u5757\uFF1A${r}...`),yi(i,r,s),I.write(i,Cn),xe(t,s)}else Pe(t,new Vt("RESOURCE_NOT_FOUND",`Module ${r} does not exist!`),404)}function GP(e,t){let{name:r}=e.params;r=decodeURIComponent(r),I.info(`\u6B63\u5728\u5220\u9664\u6A21\u5757\uFF1A${r}`);let n=I.read(Cn);oi(n,r),I.write(n,Cn),xe(t)}function zP(e,t){let r=I.read(Cn);xe(t,r.map(({content:n,...i})=>i))}function YP(e,t){let r=e.body;I.write(r,Cn),xe(t)}var eU=bn(qA()),rU=bn(YA());function y7(e){let t=Object.keys(e),r="",n="",i="";for(let a of t){let s=a.toLowerCase();s==="user-agent"?(r=e[a],n=r.toLowerCase()):s==="accept"&&(i=e[a])}return{UA:r,ua:n,accept:i}}function S7({ua:e,UA:t,accept:r}){return t.indexOf("Quantumult%20X")!==-1?"QX":e.indexOf("egern")!==-1?"Egern":t.indexOf("Surfboard")!==-1?"Surfboard":t.indexOf("Surge Mac")!==-1?"SurgeMac":t.indexOf("Surge")!==-1?"Surge":t.indexOf("Decar")!==-1||t.indexOf("Loon")!==-1?"Loon":t.indexOf("Shadowrocket")!==-1?"Shadowrocket":t.indexOf("Stash")!==-1?"Stash":e==="meta"||e.indexOf("clash")!==-1&&e.indexOf("meta")!==-1||e.indexOf("clash-verge")!==-1||e.indexOf("flclash")!==-1?"ClashMeta":e.indexOf("clash")!==-1?"Clash":e.indexOf("v2ray")!==-1?"V2Ray":e.indexOf("sing-box")!==-1||e.indexOf("singbox")!==-1?"sing-box":r.indexOf("application/json")===0?"JSON":"V2Ray"}function p1(e){let{UA:t,ua:r,accept:n}=y7(e);return S7({ua:r,UA:t,accept:n})}function d1(e,t){return!1}function g1(e){e.get("/share/col/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await ju(t,r)}),e.get("/share/col/:name",ju),e.get("/share/sub/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Hu(t,r)}),e.get("/share/sub/:name",Hu),e.get("/download/collection/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await ju(t,r)}),e.get("/download/collection/:name",ju),e.get("/download/:name/:target",async(t,r)=>{let{target:n}=t.params;n&&(t.query.target=n,I.info(`\u4F7F\u7528\u8DEF\u7531\u6307\u5B9A\u76EE\u6807: ${n}`)),await Hu(t,r)}),e.get("/download/:name",Hu),e.get("/download/collection/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await ju(t,r)}),e.get("/download/:name/api/v1/server/details",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha",await Hu(t,r)}),e.get("/download/collection/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await ju(t,r)}),e.get("/download/:name/api/v1/monitor/:nezhaIndex",async(t,r)=>{t.query.platform="JSON",t.query.produceType="internal",t.query.resultFormat="nezha-monitor",await Hu(t,r)})}async function Hu(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",a=e.query.target||p1(e.headers)||"JSON",s=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${s} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${a}`);let{url:u,ua:l,content:f,mergeSources:d,ignoreFailedRemoteSub:E,produceType:p,includeUnsupportedProxy:h,resultFormat:A,proxy:g,noCache:S}=e.query,w={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{w=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let D of e.query.$options.split("&")){let M=D.split("=")[0],q=D.split("=")[1];w[M]=q==null||q===""?!0:decodeURIComponent(q)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(w)}`)}u&&(u=decodeURIComponent(u),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 URL: ${u}`),/^https?:\/\//.test(u)||(f=u,I.info("URL \u4E0D\u662F\u94FE\u63A5\uFF0C\u89C6\u4E3A\u672C\u5730\u8BA2\u9605"))),f&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u672C\u5730\u8BA2\u9605: ${f}`)),g&&(g=decodeURIComponent(g),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${g}`)),l&&(l=decodeURIComponent(l),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605 User-Agent: ${l}`)),d&&(d=decodeURIComponent(d),I.info(`\u6307\u5B9A\u5408\u5E76\u6765\u6E90: ${d}`)),E!=null&&E!==""&&(E=decodeURIComponent(E),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${E}`)),p&&(p=decodeURIComponent(p),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${p}`)),h&&(h=decodeURIComponent(h),I.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${h}`)),!h&&d1(a,s)&&(h=!0,I.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${h}`)),i&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),S&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${S}`);let y=I.read(Dt),_=tt(y,r);if(_)try{_.passThroughUA&&(I.info(`\u8BA2\u9605\u5F00\u542F\u4E86\u900F\u4F20 User-Agent, \u4F7F\u7528\u8BF7\u6C42\u7684 User-Agent: ${s}`),l=s);let D=await Qr({type:"subscription",name:r,platform:a,url:u,ua:l,content:f,mergeSources:d,ignoreFailedRemoteSub:E,produceType:p,produceOpts:{"include-unsupported-proxy":h,useMihomoExternal:i},$options:w,proxy:g,noCache:S}),M;if(_.source!=="local"||["localFirst","remoteFirst"].includes(_.mergeSources))try{u=`${u||_.url}`.split(/[\r\n]+/).map(P=>P.trim()).filter(P=>P.length)?.[0]||"";let q={},F=u.split("#");if(u=u.split("#")[0],F.length>1)try{q=JSON.parse(decodeURIComponent(F[1]))}catch{for(let L of F[1].split("&")){let j=L.split("=")[0],V=L.split("=")[1];q[j]=V==null||V===""?!0:decodeURIComponent(V)}}q.noFlow||(M=await Xr(q?.insecure?`${u}#insecure`:u,q.flowUserAgent,void 0,g||_.proxy,q.flowUrl),M&&t.set("subscription-userinfo",la(M)))}catch(q){I.error(`\u8BA2\u9605 ${r} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(q)}`)}if(_.subUserinfo){let q;if(/^https?:\/\//.test(_.subUserinfo))try{q=await Xr(void 0,void 0,void 0,g||_.proxy,_.subUserinfo)}catch(F){I.error(`\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${_.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(F)}`)}else q=_.subUserinfo;t.set("subscription-userinfo",la([q,M].filter(F=>F).join(";")))}a==="JSON"?(A==="nezha"?D=XA(D):A==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):D.findIndex(q=>q.name===n),D=await WA(D[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(D)):t.send(D)}catch(B){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25",`\u274C \u65E0\u6CD5\u4E0B\u8F7D\u8BA2\u9605\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${B.message??B}`),I.error(B.message??B),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download subscription: ${r}`,`Reason: ${B.message??B}`))}else I.error(`\u{1F30D} Sub-Store \u4E0B\u8F7D\u8BA2\u9605\u5931\u8D25 +\u274C \u672A\u627E\u5230\u8BA2\u9605\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`Subscription ${r} does not exist!`),404)}async function ju(e,t){let{name:r,nezhaIndex:n}=e.params;r=decodeURIComponent(r),n=decodeURIComponent(n);let i=e.query.target==="SurgeMac",a=e.query.target||p1(e.headers)||"JSON",s=I.read(Bt),u=tt(s,r),l=e.headers["user-agent"]||e.headers["User-Agent"];I.info(`\u6B63\u5728\u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\uFF1A${r} +\u8BF7\u6C42 User-Agent: ${l} +\u8BF7\u6C42 target: ${e.query.target} +\u5B9E\u9645\u8F93\u51FA: ${a}`);let{ignoreFailedRemoteSub:f,produceType:d,includeUnsupportedProxy:E,resultFormat:p,proxy:h,noCache:A}=e.query,g={_req:{method:e.method,url:e.url,path:e.path,query:e.query,params:e.params,headers:e.headers,body:e.body}};if(e.query.$options){try{g=JSON.parse(decodeURIComponent(e.query.$options))}catch{for(let w of e.query.$options.split("&")){let y=w.split("=")[0],_=w.split("=")[1];g[y]=_==null||_===""?!0:decodeURIComponent(_)}}I.info(`\u4F20\u5165 $options: ${JSON.stringify(g)}`)}if(h&&(h=decodeURIComponent(h),I.info(`\u6307\u5B9A\u8FDC\u7A0B\u8BA2\u9605\u4F7F\u7528\u4EE3\u7406/\u7B56\u7565 proxy: ${h}`)),f!=null&&f!==""&&(f=decodeURIComponent(f),I.info(`\u6307\u5B9A\u5FFD\u7565\u5931\u8D25\u7684\u8FDC\u7A0B\u8BA2\u9605: ${f}`)),d&&(d=decodeURIComponent(d),I.info(`\u6307\u5B9A\u751F\u4EA7\u7C7B\u578B: ${d}`)),E&&(E=decodeURIComponent(E),I.info(`\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${E}`)),!E&&d1(a,l)&&(E=!0,I.info(`\u5F53\u524D\u5BA2\u6237\u7AEF\u53EF\u5305\u542B\u5B98\u65B9/\u5546\u5E97\u7248/\u672A\u7EED\u8D39\u8BA2\u9605\u4E0D\u652F\u6301\u7684\u534F\u8BAE: ${E}`)),i&&I.info("\u624B\u52A8\u6307\u5B9A\u4E86 target \u4E3A SurgeMac, \u5C06\u4F7F\u7528 Mihomo External"),A&&I.info(`\u6307\u5B9A\u4E0D\u4F7F\u7528\u7F13\u5B58: ${A}`),u)try{let S=await Qr({type:"collection",name:r,platform:a,ignoreFailedRemoteSub:f,produceType:d,produceOpts:{"include-unsupported-proxy":E,useMihomoExternal:i},$options:g,proxy:h,noCache:A,ua:l}),w,y=I.read(Dt),_=u.subscriptions;if(_.length>0){let M=tt(y,_[0]);if(M.source!=="local"||["localFirst","remoteFirst"].includes(M.mergeSources))try{let q=`${M.url}`.split(/[\r\n]+/).map(L=>L.trim()).filter(L=>L.length)?.[0]||"",F={},P=q.split("#");if(q=q.split("#")[0],P.length>1)try{F=JSON.parse(decodeURIComponent(P[1]))}catch{for(let j of P[1].split("&")){let V=j.split("=")[0],W=j.split("=")[1];F[V]=W==null||W===""?!0:decodeURIComponent(W)}}F.noFlow||(w=await Xr(F?.insecure?`${q}#insecure`:q,F.flowUserAgent,void 0,h||M.proxy||u.proxy,F.flowUrl))}catch(q){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4E2D\u7684\u5B50\u8BA2\u9605 ${M.name} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${q.message??q}`)}if(M.subUserinfo){let q;if(/^https?:\/\//.test(M.subUserinfo))try{q=await Xr(void 0,void 0,void 0,h||M.proxy,M.subUserinfo)}catch(F){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${M.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(F)}`)}else q=M.subUserinfo;w=[q,w].filter(F=>F).join("; ")}}I.info(`\u7EC4\u5408\u8BA2\u9605 ${r} \u900F\u4F20\u7684\u7684\u6D41\u91CF\u4FE1\u606F: ${w}`);let B;if(/^https?:\/\//.test(u.subUserinfo))try{B=await Xr(void 0,void 0,void 0,h||u.proxy,u.subUserinfo)}catch(M){I.error(`\u7EC4\u5408\u8BA2\u9605 ${r} \u4F7F\u7528\u81EA\u5B9A\u4E49\u6D41\u91CF\u94FE\u63A5 ${u.subUserinfo} \u83B7\u53D6\u6D41\u91CF\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF: ${JSON.stringify(M)}`)}else B=u.subUserinfo;let D=[B,w].filter(M=>M).join("; ");D&&t.set("subscription-userinfo",la(D)),a==="JSON"?(p==="nezha"?S=XA(S):p==="nezha-monitor"&&(n=/^\d+$/.test(n)?parseInt(n,10):S.findIndex(M=>M.name===n),S=await WA(S[n],n,e.query)),t.set("Content-Type","application/json;charset=utf-8").send(S)):t.send(S)}catch(S){I.notify("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u9519\u8BEF\uFF1A${r}\uFF01`,`\u{1F914} \u539F\u56E0\uFF1A${S}`),Pe(t,new Mt("INTERNAL_SERVER_ERROR",`Failed to download collection: ${r}`,`Reason: ${S.message??S}`))}else I.error("\u{1F30D} Sub-Store \u4E0B\u8F7D\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C \u672A\u627E\u5230\u7EC4\u5408\u8BA2\u9605\uFF1A${r}\uFF01`),Pe(t,new Vt("RESOURCE_NOT_FOUND",`Collection ${r} does not exist!`),404)}async function WA(e,t,r){let n={code:0,message:"success",result:[]};try{let{isLoon:i,isSurge:a}=I.env;if(!i&&!a)throw new Error("\u4EC5\u652F\u6301 Loon \u548C Surge(ability=http-client-policy)");let s=At.produce([e],i?"Loon":"Surge");if(!s)throw new Error("\u5F53\u524D\u5BA2\u6237\u7AEF\u4E0D\u517C\u5BB9\u6B64\u8282\u70B9");let u=e._monitors||[{name:"Cloudflare",url:"http://cp.cloudflare.com/generate_204",method:"HEAD",number:3,timeout:2e3},{name:"Google",url:"http://www.google.com/generate_204",method:"HEAD",number:3,timeout:2e3}],l=r.number||Math.max(...u.map(f=>f.number))||3;for(let f of u){let E={monitor_id:u.indexOf(f),server_id:t,monitor_name:f.name,server_name:e.name,created_at:[],avg_delay:[]};for(let p=0;p{let i=r._geo?.countryCode||r._geo?.country;if(/^[a-z]{2}$/i.test(i)||(i=sh(r.name)),/^[a-z]{2}$/i.test(i)){let a=Math.round(new Date().getTime()/1e3),s=r._unavailable?0:a,u=parseInt(r._uptime||0,10);t.result.push({id:n,name:r.name,tag:`${r._tag??""}`,last_active:s,valid_ip:r._IP||r.server,ipv4:r._IPv4||r.server,ipv6:r._IPv6||(ur(r.server)?r.server:""),host:{Platform:"Sub-Store",PlatformVersion:Qi.version,CPU:[],MemTotal:1024,DiskTotal:1024,SwapTotal:1024,Arch:"",Virtualization:"",BootTime:a-u,CountryCode:i,Version:"0.0.1"},status:{CPU:0,MemUsed:0,SwapUsed:0,DiskUsed:0,NetInTransfer:0,NetOutTransfer:0,NetInSpeed:0,NetOutSpeed:0,Uptime:u,Load1:0,Load5:0,Load15:0,TcpConnCount:0,UdpConnCount:0,ProcessCount:0}})}}),JSON.stringify(t,null,2)}function m1(e){e.post("/api/preview/sub",C7),e.post("/api/preview/collection",_7),e.post("/api/preview/file",b7)}async function b7(e,t){try{let r=e.body,n="";if(r.type!=="mihomoProfile")if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))n=r.content;else{let u={};if(n=await Promise.all(r.url.split(/[\r\n]+/).map(l=>l.trim()).filter(l=>l.length).map(async l=>{try{return await wr(l,r.ua,void 0,r.proxy)}catch(f){return u[l]=f,I.error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${l} \u53D1\u751F\u9519\u8BEF: ${f}`),""}})),Object.keys(u).length>0)if(r.ignoreFailedRemoteFile)r.ignoreFailedRemoteFile==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u6587\u4EF6\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u6587\u4EF6 ${r.name} \u7684\u8FDC\u7A0B\u6587\u4EF6 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?n.unshift(r.content):r.mergeSources==="remoteFirst"&&n.push(r.content)}let i=(Array.isArray(n)?n:[n]).flat(),a=i.filter(u=>u!=null&&u!=="").join(` +`),s=Array.isArray(r.process)&&r.process.length>0?await At.process({$files:i,$content:a,$file:r},r.process):{$content:a,$files:i};xe(t,{original:a,processed:s?.$content??""})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview file",`Reason: ${r.message??r}`))}}async function C7(e,t){try{let r=e.body,n=e.query.target||"JSON",i;if(r.source==="local"&&!["localFirst","remoteFirst"].includes(r.mergeSources))i=r.content;else{let u={};if(i=await Promise.all(r.url.split(/[\r\n]+/).map(l=>l.trim()).filter(l=>l.length).map(async l=>{try{return await wr(l,r.ua,void 0,r.proxy,void 0,void 0,void 0,!0)}catch(f){return u[l]=f,I.error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${l} \u53D1\u751F\u9519\u8BEF: ${f}`),""}})),Object.keys(u).length>0)if(r.ignoreFailedRemoteSub)r.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${r.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${r.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);r.mergeSources==="localFirst"?i.unshift(r.content):r.mergeSources==="remoteFirst"&&i.push(r.content)}let a=(Array.isArray(i)?i:[i]).map(u=>At.parse(u)).flat();a.forEach((u,l)=>{u.id=l,u._subName=r.name,u._subDisplayName=r.displayName});let s=await At.process(a,r.process||[],n,{[r.name]:r});xe(t,{original:a,processed:s})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview subscription",`Reason: ${r.message??r}`))}}async function _7(e,t){try{let r=I.read(Dt),n=e.body,i=[...n.subscriptions],a=n.subscriptionTags;Array.isArray(a)&&a.length>0&&r.forEach(d=>{Array.isArray(d.tag)&&d.tag.length>0&&!i.includes(d.name)&&d.tag.some(E=>a.includes(E))&&i.push(d.name)});let s={},u={};if(await Promise.all(i.map(async d=>{let E=tt(r,d);try{let p;if(E.source==="local"&&!["localFirst","remoteFirst"].includes(E.mergeSources))p=E.content;else{let A={};if(p=await Promise.all(E.url.split(/[\r\n]+/).map(g=>g.trim()).filter(g=>g.length).map(async g=>{try{return await wr(g,E.ua,void 0,E.proxy,void 0,void 0,void 0,!0)}catch(S){return A[g]=S,I.error(`\u8BA2\u9605 ${E.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${g} \u53D1\u751F\u9519\u8BEF: ${S}`),""}})),Object.keys(A).length>0)if(E.ignoreFailedRemoteSub)E.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u8BA2\u9605\u5931\u8D25",`\u274C ${E.name}`,`\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(A).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u8BA2\u9605 ${E.name} \u7684\u8FDC\u7A0B\u8BA2\u9605 ${Object.keys(A).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);E.mergeSources==="localFirst"?p.unshift(E.content):E.mergeSources==="remoteFirst"&&p.push(E.content)}let h=(Array.isArray(p)?p:[p]).map(A=>At.parse(A)).flat();h.forEach(A=>{A._subName=E.name,A._subDisplayName=E.displayName,A._collectionName=n.name,A._collectionDisplayName=n.displayName}),h=await At.process(h,E.process||[],"JSON",{[E.name]:E,_collection:n}),s[d]=h}catch(p){u[d]=p,I.error(`\u274C \u5904\u7406\u7EC4\u5408\u8BA2\u9605 ${n.name} \u4E2D\u7684\u5B50\u8BA2\u9605: ${E.name} \u65F6\u51FA\u73B0\u9519\u8BEF\uFF1A${p}\uFF01`)}})),Object.keys(u).length>0)if(n.ignoreFailedRemoteSub)n.ignoreFailedRemoteSub==="enabled"&&I.notify("\u{1F30D} Sub-Store \u9884\u89C8\u7EC4\u5408\u8BA2\u9605\u5931\u8D25",`\u274C ${n.name}`,`\u5B50\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);else throw new Error(`\u7EC4\u5408\u8BA2\u9605 ${n.name} \u7684\u5B50\u8BA2\u9605 ${Object.keys(u).join(", ")} \u53D1\u751F\u9519\u8BEF, \u8BF7\u67E5\u770B\u65E5\u5FD7`);let l=Array.prototype.concat.apply([],i.map(d=>s[d]||[]));l.forEach((d,E)=>{d.id=E,d._collectionName=n.name,d._collectionDisplayName=n.displayName});let f=await At.process(l,n.process||[],"JSON",{_collection:n});xe(t,{original:l,processed:f})}catch(r){I.error(r.message??r),Pe(t,new Mt("INTERNAL_SERVER_ERROR","Failed to preview collection",`Reason: ${r.message??r}`))}}function v1(e){e.post("/api/sort/subs",F7),e.post("/api/sort/collections",I7),e.post("/api/sort/artifacts",$7),e.post("/api/sort/files",D7)}function F7(e,t){let r=e.body,n=I.read(Dt);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),I.write(n,Dt),xe(t,n)}function I7(e,t){let r=e.body,n=I.read(Bt);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),I.write(n,Bt),xe(t,n)}function $7(e,t){let r=e.body,n=I.read(ht);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),I.write(n,ht),xe(t,n)}function D7(e,t){let r=e.body,n=I.read(yt);n.sort((i,a)=>r.indexOf(i.name)-r.indexOf(a.name)),I.write(n,yt),xe(t,n)}function E1(e){e.post("/api/utils/node-info",B7)}async function B7(e,t){let r=e.body,n=e.query.lang||"zh-CN",i;try{i=mh.URI.produce(r)}catch{}try{let s=await wi().get({url:`http://ip-api.com/json/${encodeURIComponent(`${r.server}`.trim().replace(/^\[/,"").replace(/\]$/,""))}?lang=${n}`,headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"}}).then(u=>{let l=JSON.parse(u.body);if(l.status!=="success")throw new Error(l.message);return delete l.status,l});xe(t,{shareUrl:i,info:s})}catch(a){Pe(t,new wu("FAILED_TO_GET_NODE_INFO","Failed to get node info",`Reason: ${a}`))}}function w1(e){e.route("/api/proxy/parse").post(R7),e.route("/api/rule/parse").post(P7)}function R7(e,t){let{data:r,client:n,content:i,platform:a}=e.body;var s={};try{var u=At.parse(r??i),l=At.produce(u,n??a);s.par_res=l}catch(f){Pe(t,f);return}xe(t,s)}function P7(e,t){let{data:r,client:n,content:i,platform:a}=e.body;var s={};try{let l=wo.parse(r??i);var u=wo.produce(l,n??a);s.par_res=u}catch(l){Pe(t,l);return}xe(t,s)}function A1(){let port,host;I.env.isNode&&(port=eval("process.env.SUB_STORE_BACKEND_API_PORT")||3e3,host=eval("process.env.SUB_STORE_BACKEND_API_HOST")||"::");let $app=Qp({substore:I,port,host});if(I.env.isNode){let be_merge=eval("process.env.SUB_STORE_BACKEND_MERGE"),be_prefix=eval("process.env.SUB_STORE_BACKEND_PREFIX"),fe_be_path=eval("process.env.SUB_STORE_FRONTEND_BACKEND_PATH"),fe_path=eval("process.env.SUB_STORE_FRONTEND_PATH");if(be_prefix||be_merge){if(!fe_be_path.startsWith("/"))throw new Error("SUB_STORE_FRONTEND_BACKEND_PATH should start with /");be_merge&&(I.info("[BACKEND] MERGE mode is [ON]."),I.info(`[BACKEND && FRONTEND] ${host}:${port}`)),I.info(`[BACKEND PREFIX] ${host}:${port}${fe_be_path}`),$app.use((req,res,next)=>{if(req.path.startsWith(fe_be_path)){req.url=req.url.replace(fe_be_path,"")||"/",be_merge&&req.url.startsWith("/api/")&&(req.query.share="true"),next();return}let pathname=decodeURIComponent(req._parsedUrl.pathname)||"/";if(be_merge&&req.path.startsWith("/share/")&&req.query.token){if(req.method.toLowerCase()!=="get"){res.status(405).send("Method not allowed");return}if((I.read(cn)||[]).find(r=>r.token===req.query.token&&`/share/${r.type}/${r.name}`===pathname&&(r.exp==null||r.exp>Date.now()))){next();return}}if(be_merge&&fe_path&&req.path.indexOf("/",1)==-1){req.path.indexOf(".")==-1&&(req.url="/index.html");let express_=require("express"),mime_=require("mime-types"),path_=require("path"),staticFileMiddleware=express_.static(fe_path,{setHeaders:(e,t)=>{let r=mime_.contentType(path_.extname(t));r&&e.set("Content-Type",r)}});staticFileMiddleware(req,res,next);return}res.status(403).end("Forbbiden")})}}if(n1($app),r1($app),g1($app),m1($app),v1($app),e1($app),J0($app),i1($app),s1($app),a1($app),Z0($app),E1($app),t1($app),w1($app),$app.start(),I.env.isNode){let backend_sync_cron=eval("process.env.SUB_STORE_BACKEND_SYNC_CRON")||eval("process.env.SUB_STORE_BACKEND_CRON");if(backend_sync_cron){I.info(`[SYNC CRON] ${backend_sync_cron} enabled`);let{CronJob}=require("cron");new CronJob(backend_sync_cron,async function(){try{I.info(`[SYNC CRON] ${backend_sync_cron} started`),await Q0(),I.info(`[SYNC CRON] ${backend_sync_cron} finished`)}catch(e){I.error(`[SYNC CRON] ${backend_sync_cron} error: ${e.message??e}`)}},null,!0)}let produce_cron=eval("process.env.SUB_STORE_PRODUCE_CRON");if(produce_cron){I.info(`[PRODUCE CRON] ${produce_cron} enabled`);let{CronJob}=require("cron");produce_cron.split(/\s*;\s*/).map(e=>{let[t,r,n]=e.split(/\s*,\s*/);new CronJob(t.trim(),async function(){try{I.info(`[PRODUCE CRON] ${r} ${n} ${t} started`),await Qr({type:r,name:n}),I.info(`[PRODUCE CRON] ${r} ${n} ${t} finished`)}catch(i){I.error(`[PRODUCE CRON] ${r} ${n} ${t} error: ${i.message??i}`)}},null,!0)})}let backend_download_cron=eval("process.env.SUB_STORE_BACKEND_DOWNLOAD_CRON");if(backend_download_cron){I.info(`[DOWNLOAD CRON] ${backend_download_cron} enabled`);let{CronJob}=require("cron");new CronJob(backend_download_cron,async function(){try{I.info(`[DOWNLOAD CRON] ${backend_download_cron} started`),await Dh("download"),I.info(`[DOWNLOAD CRON] ${backend_download_cron} finished`)}catch(e){I.error(`[DOWNLOAD CRON] ${backend_download_cron} error: ${e.message??e}`)}},null,!0)}let backend_upload_cron=eval("process.env.SUB_STORE_BACKEND_UPLOAD_CRON");if(backend_upload_cron){I.info(`[UPLOAD CRON] ${backend_upload_cron} enabled`);let{CronJob}=require("cron");new CronJob(backend_upload_cron,async function(){try{I.info(`[UPLOAD CRON] ${backend_upload_cron} started`),await Dh("upload"),I.info(`[UPLOAD CRON] ${backend_upload_cron} finished`)}catch(e){I.error(`[UPLOAD CRON] ${backend_upload_cron} error: ${e.message??e}`)}},null,!0)}let mmdb_cron=eval("process.env.SUB_STORE_MMDB_CRON"),countryFile=eval("process.env.SUB_STORE_MMDB_COUNTRY_PATH"),countryUrl=eval("process.env.SUB_STORE_MMDB_COUNTRY_URL"),asnFile=eval("process.env.SUB_STORE_MMDB_ASN_PATH"),asnUrl=eval("process.env.SUB_STORE_MMDB_ASN_URL");if(mmdb_cron&&(countryFile&&countryUrl||asnFile&&asnUrl)){I.info(`[MMDB CRON] ${mmdb_cron} enabled`);let{CronJob}=require("cron");new CronJob(mmdb_cron,async function(){try{if(I.info(`[MMDB CRON] ${mmdb_cron} started`),countryFile&&countryUrl)try{I.info(`[MMDB CRON] downloading ${countryUrl} to ${countryFile}`),await Gc(countryUrl,countryFile)}catch(e){I.error(`[MMDB CRON] ${countryUrl} download failed: ${e.message??e}`)}if(asnFile&&asnUrl)try{I.info(`[MMDB CRON] downloading ${asnUrl} to ${asnFile}`),await Gc(asnUrl,asnFile)}catch(e){I.error(`[MMDB CRON] ${asnUrl} download failed: ${e.message??e}`)}I.info(`[MMDB CRON] ${mmdb_cron} finished`)}catch(e){I.error(`[MMDB CRON] ${mmdb_cron} error: ${e.message??e}`)}},null,!0)}let path=require("path"),fs=require("fs"),data_url=eval("process.env.SUB_STORE_DATA_URL"),fe_be_path=eval("process.env.SUB_STORE_FRONTEND_BACKEND_PATH"),fe_port=eval("process.env.SUB_STORE_FRONTEND_PORT")||3001,fe_host=eval("process.env.SUB_STORE_FRONTEND_HOST")||host||"::",fe_path=eval("process.env.SUB_STORE_FRONTEND_PATH"),fe_abs_path=path.resolve(fe_path||path.join(__dirname,"frontend")),be_merge=eval("process.env.SUB_STORE_BACKEND_MERGE");if(fe_path&&!be_merge){try{fs.accessSync(path.join(fe_abs_path,"index.html"))}catch(e){I.error(`[FRONTEND] index.html file not found in ${fe_abs_path}`)}let express_=require("express"),history=require("connect-history-api-fallback"),{createProxyMiddleware}=require("http-proxy-middleware"),app=express_(),staticFileMiddleware=express_.static(fe_path),be_api="/api/",be_download="/download/",be_share="/share/",be_download_rewrite="",be_api_rewrite="",be_share_rewrite=`${be_share}:type/:name`,prefix=eval("process.env.SUB_STORE_BACKEND_PREFIX")?fe_be_path:"";if(fe_be_path){if(!fe_be_path.startsWith("/"))throw new Error("SUB_STORE_FRONTEND_BACKEND_PATH should start with /");be_api_rewrite=`${fe_be_path==="/"?"":fe_be_path}${be_api}`,be_download_rewrite=`${fe_be_path==="/"?"":fe_be_path}${be_download}`,app.use(be_share_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}`,changeOrigin:!0,pathRewrite:async(e,t)=>{if(t.method.toLowerCase()!=="get")throw new Error("Method not allowed");if(!(I.read(cn)||[]).find(i=>i.token===t.query.token&&i.type===t.params.type&&i.name===t.params.name&&(i.exp==null||i.exp>Date.now())))throw new Error("Forbbiden");return t.originalUrl}})),app.use(be_api_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}${be_api}`,pathRewrite:async e=>e.includes("?")?`${e}&share=true`:`${e}?share=true`})),app.use(be_download_rewrite,createProxyMiddleware({target:`http://127.0.0.1:${port}${prefix}${be_download}`,changeOrigin:!0}))}app.use(staticFileMiddleware),app.use(history({disableDotRule:!0,verbose:!1})),app.use(staticFileMiddleware);let listener=app.listen(fe_port,fe_host,()=>{let{address:e,port:t}=listener.address();I.info(`[FRONTEND] ${e}:${t}`),fe_be_path&&(I.info(`[FRONTEND -> BACKEND] ${e}:${t}${be_api_rewrite} -> ${host}:${port}${prefix}${be_api}`),I.info(`[FRONTEND -> BACKEND] ${e}:${t}${be_download_rewrite} -> ${host}:${port}${prefix}${be_download}`),I.info(`[SHARE BACKEND] ${e}:${t}${be_share_rewrite}`))})}data_url&&(I.info(`[BACKEND] downloading data from ${data_url}`),wr(data_url).then(e=>{I.write(e,"#sub-store"),I.cache=JSON.parse(e),I.persistCache(),aa(),I.info(`[BACKEND] restored data from ${data_url}`)}).catch(e=>{throw I.error("[BACKEND] restore data failed"),console.error(e),e}))}}console.log(` +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 + Sub-Store -- v${uf} +\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505\u2505 +`);aa();A1();})(); +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +jsrsasign/lib/jsrsasign.js: + (*! CryptoJS v3.1.2 core-fix.js + * code.google.com/p/crypto-js + * (c) 2009-2013 by Jeff Mott. All rights reserved. + * code.google.com/p/crypto-js/wiki/License + * THIS IS FIX of 'core.js' to fix Hmac issue. + * https://code.google.com/p/crypto-js/issues/detail?id=84 + * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js + *) + (*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Tom Wu, Kenji Urushima | http://www-cs-students.stanford.edu/~tjw/jsbn/ + *) + (*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib + *) + (*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval + *) + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/