edgeone 1.4.4 → 1.4.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -141,7 +141,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
141
141
  `.repeat(t));L$.displayName="Newline";X_.default=L$});var q$=G(Z_=>{"use strict";var B$=Z_&&Z_.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z_,"__esModule",{value:!0});var Qbe=B$(Xs()),ePe=B$(gb()),j$=()=>Qbe.default.createElement(ePe.default,{flexGrow:1});j$.displayName="Spacer";Z_.default=j$});var Sb=G(Q_=>{"use strict";var tPe=Q_&&Q_.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Q_,"__esModule",{value:!0});var rPe=Xs(),nPe=tPe(G4()),iPe=()=>rPe.useContext(nPe.default);Q_.default=iPe});var $$=G(eS=>{"use strict";var sPe=eS&&eS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eS,"__esModule",{value:!0});var U$=Xs(),oPe=sPe(Sb()),aPe=(t,e={})=>{let{stdin:n,setRawMode:o,internal_exitOnCtrlC:u}=oPe.default();U$.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),U$.useEffect(()=>{if(e.isActive===!1)return;let r=f=>{let p=String(f),y={upArrow:p==="\x1B[A",downArrow:p==="\x1B[B",leftArrow:p==="\x1B[D",rightArrow:p==="\x1B[C",pageDown:p==="\x1B[6~",pageUp:p==="\x1B[5~",return:p==="\r",escape:p==="\x1B",ctrl:!1,shift:!1,tab:p===" "||p==="\x1B[Z",backspace:p==="\b",delete:p==="\x7F"||p==="\x1B[3~",meta:!1};p<=""&&!y.return&&(p=String.fromCharCode(p.charCodeAt(0)+97-1),y.ctrl=!0),p.startsWith("\x1B")&&(p=p.slice(1),y.meta=!0);let m=p>="A"&&p<="Z",S=p>="\u0410"&&p<="\u042F";p.length===1&&(m||S)&&(y.shift=!0),y.tab&&p==="[Z"&&(y.shift=!0),(y.tab||y.backspace||y.delete)&&(p=""),(!(p==="c"&&y.ctrl)||!u)&&t(p,y)};return n==null||n.on("data",r),()=>{n==null||n.off("data",r)}},[e.isActive,n,u,t])};eS.default=aPe});var H$=G(tS=>{"use strict";var uPe=tS&&tS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tS,"__esModule",{value:!0});var lPe=Xs(),cPe=uPe(W4()),fPe=()=>lPe.useContext(cPe.default);tS.default=fPe});var V$=G(rS=>{"use strict";var pPe=rS&&rS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rS,"__esModule",{value:!0});var dPe=Xs(),hPe=pPe(K4()),mPe=()=>dPe.useContext(hPe.default);rS.default=mPe});var W$=G(nS=>{"use strict";var yPe=nS&&nS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nS,"__esModule",{value:!0});var gPe=Xs(),vPe=yPe(X4()),xPe=()=>gPe.useContext(vPe.default);nS.default=xPe});var G$=G(sS=>{"use strict";var z$=sS&&sS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sS,"__esModule",{value:!0});var iS=Xs(),_Pe=z$(yb()),SPe=z$(Sb()),TPe=({isActive:t=!0,autoFocus:e=!1,id:n}={})=>{let{isRawModeSupported:o,setRawMode:u}=SPe.default(),{activeId:r,add:f,remove:p,activate:y,deactivate:m,focus:S}=iS.useContext(_Pe.default),C=iS.useMemo(()=>n!=null?n:Math.random().toString().slice(2,7),[n]);return iS.useEffect(()=>(f(C,{autoFocus:e}),()=>{p(C)}),[C,e]),iS.useEffect(()=>{t?y(C):m(C)},[t,C]),iS.useEffect(()=>{if(!(!o||!t))return u(!0),()=>{u(!1)}},[t]),{isFocused:!!C&&r===C,focus:S}};sS.default=TPe});var Y$=G(oS=>{"use strict";var EPe=oS&&oS.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oS,"__esModule",{value:!0});var wPe=Xs(),bPe=EPe(yb()),PPe=()=>{let t=wPe.useContext(bPe.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious,focus:t.focus}};oS.default=PPe});var K$=G(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});sO.default=t=>{var e,n,o,u;return{width:(n=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&n!==void 0?n:0,height:(u=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&u!==void 0?u:0}}});var Tb=G($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var DPe=I$();Object.defineProperty($u,"render",{enumerable:!0,get:function(){return DPe.default}});var CPe=gb();Object.defineProperty($u,"Box",{enumerable:!0,get:function(){return CPe.default}});var APe=nO();Object.defineProperty($u,"Text",{enumerable:!0,get:function(){return APe.default}});var kPe=N$();Object.defineProperty($u,"Static",{enumerable:!0,get:function(){return kPe.default}});var IPe=R$();Object.defineProperty($u,"Transform",{enumerable:!0,get:function(){return IPe.default}});var OPe=M$();Object.defineProperty($u,"Newline",{enumerable:!0,get:function(){return OPe.default}});var NPe=q$();Object.defineProperty($u,"Spacer",{enumerable:!0,get:function(){return NPe.default}});var FPe=$$();Object.defineProperty($u,"useInput",{enumerable:!0,get:function(){return FPe.default}});var RPe=H$();Object.defineProperty($u,"useApp",{enumerable:!0,get:function(){return RPe.default}});var LPe=Sb();Object.defineProperty($u,"useStdin",{enumerable:!0,get:function(){return LPe.default}});var MPe=V$();Object.defineProperty($u,"useStdout",{enumerable:!0,get:function(){return MPe.default}});var BPe=W$();Object.defineProperty($u,"useStderr",{enumerable:!0,get:function(){return BPe.default}});var jPe=G$();Object.defineProperty($u,"useFocus",{enumerable:!0,get:function(){return jPe.default}});var qPe=Y$();Object.defineProperty($u,"useFocusManager",{enumerable:!0,get:function(){return qPe.default}});var UPe=K$();Object.defineProperty($u,"measureElement",{enumerable:!0,get:function(){return UPe.default}})});var J$=G((oO,u2)=>{(function(t,e){typeof oO=="object"&&typeof u2<"u"?u2.exports=e():typeof define=="function"&&define.amd?define(e):t.moment=e()})(oO,function(){"use strict";var t;function e(){return t.apply(null,arguments)}function n(T){t=T}function o(T){return T instanceof Array||Object.prototype.toString.call(T)==="[object Array]"}function u(T){return T!=null&&Object.prototype.toString.call(T)==="[object Object]"}function r(T,k){return Object.prototype.hasOwnProperty.call(T,k)}function f(T){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(T).length===0;var k;for(k in T)if(r(T,k))return!1;return!0}function p(T){return T===void 0}function y(T){return typeof T=="number"||Object.prototype.toString.call(T)==="[object Number]"}function m(T){return T instanceof Date||Object.prototype.toString.call(T)==="[object Date]"}function S(T,k){var M=[],W,ee=T.length;for(W=0;W<ee;++W)M.push(k(T[W],W));return M}function C(T,k){for(var M in k)r(k,M)&&(T[M]=k[M]);return r(k,"toString")&&(T.toString=k.toString),r(k,"valueOf")&&(T.valueOf=k.valueOf),T}function A(T,k,M,W){return Qd(T,k,M,W,!0).utc()}function R(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function v(T){return T._pf==null&&(T._pf=R()),T._pf}var z;Array.prototype.some?z=Array.prototype.some:z=function(T){var k=Object(this),M=k.length>>>0,W;for(W=0;W<M;W++)if(W in k&&T.call(this,k[W],W,k))return!0;return!1};function $(T){var k=null,M=!1,W=T._d&&!isNaN(T._d.getTime());if(W&&(k=v(T),M=z.call(k.parsedDateParts,function(ee){return ee!=null}),W=k.overflow<0&&!k.empty&&!k.invalidEra&&!k.invalidMonth&&!k.invalidWeekday&&!k.weekdayMismatch&&!k.nullInput&&!k.invalidFormat&&!k.userInvalidated&&(!k.meridiem||k.meridiem&&M),T._strict&&(W=W&&k.charsLeftOver===0&&k.unusedTokens.length===0&&k.bigHour===void 0)),Object.isFrozen==null||!Object.isFrozen(T))T._isValid=W;else return W;return T._isValid}function j(T){var k=A(NaN);return T!=null?C(v(k),T):v(k).userInvalidated=!0,k}var Z=e.momentProperties=[],ve=!1;function de(T,k){var M,W,ee,be=Z.length;if(p(k._isAMomentObject)||(T._isAMomentObject=k._isAMomentObject),p(k._i)||(T._i=k._i),p(k._f)||(T._f=k._f),p(k._l)||(T._l=k._l),p(k._strict)||(T._strict=k._strict),p(k._tzm)||(T._tzm=k._tzm),p(k._isUTC)||(T._isUTC=k._isUTC),p(k._offset)||(T._offset=k._offset),p(k._pf)||(T._pf=v(k)),p(k._locale)||(T._locale=k._locale),be>0)for(M=0;M<be;M++)W=Z[M],ee=k[W],p(ee)||(T[W]=ee);return T}function ye(T){de(this,T),this._d=new Date(T._d!=null?T._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),ve===!1&&(ve=!0,e.updateOffset(this),ve=!1)}function Fe(T){return T instanceof ye||T!=null&&T._isAMomentObject!=null}function He(T){e.suppressDeprecationWarnings===!1&&typeof console<"u"&&console.warn&&console.warn("Deprecation warning: "+T)}function tt(T,k){var M=!0;return C(function(){if(e.deprecationHandler!=null&&e.deprecationHandler(null,T),M){var W=[],ee,be,ft,ir=arguments.length;for(be=0;be<ir;be++){if(ee="",typeof arguments[be]=="object"){ee+=`
142
142
  [`+be+"] ";for(ft in arguments[0])r(arguments[0],ft)&&(ee+=ft+": "+arguments[0][ft]+", ");ee=ee.slice(0,-2)}else ee=arguments[be];W.push(ee)}He(T+`
143
143
  Arguments: `+Array.prototype.slice.call(W).join("")+`
144
- `+new Error().stack),M=!1}return k.apply(this,arguments)},k)}var Le={};function Ct(T,k){e.deprecationHandler!=null&&e.deprecationHandler(T,k),Le[T]||(He(k),Le[T]=!0)}e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;function gt(T){return typeof Function<"u"&&T instanceof Function||Object.prototype.toString.call(T)==="[object Function]"}function ct(T){var k,M;for(M in T)r(T,M)&&(k=T[M],gt(k)?this[M]=k:this["_"+M]=k);this._config=T,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function qe(T,k){var M=C({},T),W;for(W in k)r(k,W)&&(u(T[W])&&u(k[W])?(M[W]={},C(M[W],T[W]),C(M[W],k[W])):k[W]!=null?M[W]=k[W]:delete M[W]);for(W in T)r(T,W)&&!r(k,W)&&u(T[W])&&(M[W]=C({},M[W]));return M}function oe(T){T!=null&&this.set(T)}var Ae;Object.keys?Ae=Object.keys:Ae=function(T){var k,M=[];for(k in T)r(T,k)&&M.push(k);return M};var Ke={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function Se(T,k,M){var W=this._calendar[T]||this._calendar.sameElse;return gt(W)?W.call(k,M):W}function we(T,k,M){var W=""+Math.abs(T),ee=k-W.length,be=T>=0;return(be?M?"+":"":"-")+Math.pow(10,Math.max(0,ee)).toString().substr(1)+W}var Oe=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ut=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Lt={},er={};function at(T,k,M,W){var ee=W;typeof W=="string"&&(ee=function(){return this[W]()}),T&&(er[T]=ee),k&&(er[k[0]]=function(){return we(ee.apply(this,arguments),k[1],k[2])}),M&&(er[M]=function(){return this.localeData().ordinal(ee.apply(this,arguments),T)})}function zt(T){return T.match(/\[[\s\S]/)?T.replace(/^\[|\]$/g,""):T.replace(/\\/g,"")}function Ie(T){var k=T.match(Oe),M,W;for(M=0,W=k.length;M<W;M++)er[k[M]]?k[M]=er[k[M]]:k[M]=zt(k[M]);return function(ee){var be="",ft;for(ft=0;ft<W;ft++)be+=gt(k[ft])?k[ft].call(ee,T):k[ft];return be}}function Qe(T,k){return T.isValid()?(k=st(k,T.localeData()),Lt[k]=Lt[k]||Ie(k),Lt[k](T)):T.localeData().invalidDate()}function st(T,k){var M=5;function W(ee){return k.longDateFormat(ee)||ee}for(ut.lastIndex=0;M>=0&&ut.test(T);)T=T.replace(ut,W),ut.lastIndex=0,M-=1;return T}var $t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Dr(T){var k=this._longDateFormat[T],M=this._longDateFormat[T.toUpperCase()];return k||!M?k:(this._longDateFormat[T]=M.match(Oe).map(function(W){return W==="MMMM"||W==="MM"||W==="DD"||W==="dddd"?W.slice(1):W}).join(""),this._longDateFormat[T])}var ar="Invalid date";function tr(){return this._invalidDate}var P="%d",Xt=/\d{1,2}/;function lr(T){return this._ordinal.replace("%d",T)}var Bn={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Pt(T,k,M,W){var ee=this._relativeTime[M];return gt(ee)?ee(T,k,M,W):ee.replace(/%d/i,T)}function _t(T,k){var M=this._relativeTime[T>0?"future":"past"];return gt(M)?M(k):M.replace(/%s/i,k)}var Yt={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function me(T){return typeof T=="string"?Yt[T]||Yt[T.toLowerCase()]:void 0}function ze(T){var k={},M,W;for(W in T)r(T,W)&&(M=me(W),M&&(k[M]=T[W]));return k}var kt={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function Ht(T){var k=[],M;for(M in T)r(T,M)&&k.push({unit:M,priority:kt[M]});return k.sort(function(W,ee){return W.priority-ee.priority}),k}var Rr=/\d/,Lr=/\d\d/,Rn=/\d{3}/,kn=/\d{4}/,Vn=/[+-]?\d{6}/,dn=/\d\d?/,wo=/\d\d\d\d?/,Bo=/\d\d\d\d\d\d?/,Yi=/\d{1,3}/,bo=/\d{1,4}/,_u=/[+-]?\d{1,6}/,Da=/\d+/,Xe=/[+-]?\d+/,wt=/Z|[+-]\d\d:?\d\d/gi,vt=/Z|[+-]\d\d(?::?\d\d)?/gi,jt=/[+-]?\d+(\.\d{1,3})?/,Pr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,dr=/^[1-9]\d?/,Tn=/^([1-9]\d|\d)/,li;li={};function bt(T,k,M){li[T]=gt(k)?k:function(W,ee){return W&&M?M:k}}function gi(T,k){return r(li,T)?li[T](k._strict,k._locale):new RegExp(ls(T))}function ls(T){return vi(T.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(k,M,W,ee,be){return M||W||ee||be}))}function vi(T){return T.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ci(T){return T<0?Math.ceil(T)||0:Math.floor(T)}function Kr(T){var k=+T,M=0;return k!==0&&isFinite(k)&&(M=ci(k)),M}var As={};function En(T,k){var M,W=k,ee;for(typeof T=="string"&&(T=[T]),y(k)&&(W=function(be,ft){ft[k]=Kr(be)}),ee=T.length,M=0;M<ee;M++)As[T[M]]=W}function rs(T,k){En(T,function(M,W,ee,be){ee._w=ee._w||{},k(M,ee._w,ee,be)})}function Su(T,k,M){k!=null&&r(As,T)&&As[T](k,M._a,M,T)}function Bs(T){return T%4===0&&T%100!==0||T%400===0}var Zt=0,co=1,Ws=2,cs=3,fo=4,zs=5,Ts=6,Pl=7,za=8;at("Y",0,0,function(){var T=this.year();return T<=9999?we(T,4):"+"+T}),at(0,["YY",2],0,function(){return this.year()%100}),at(0,["YYYY",4],0,"year"),at(0,["YYYYY",5],0,"year"),at(0,["YYYYYY",6,!0],0,"year"),bt("Y",Xe),bt("YY",dn,Lr),bt("YYYY",bo,kn),bt("YYYYY",_u,Vn),bt("YYYYYY",_u,Vn),En(["YYYYY","YYYYYY"],Zt),En("YYYY",function(T,k){k[Zt]=T.length===2?e.parseTwoDigitYear(T):Kr(T)}),En("YY",function(T,k){k[Zt]=e.parseTwoDigitYear(T)}),En("Y",function(T,k){k[Zt]=parseInt(T,10)});function pa(T){return Bs(T)?366:365}e.parseTwoDigitYear=function(T){return Kr(T)+(Kr(T)>68?1900:2e3)};var Tu=zr("FullYear",!0);function ac(){return Bs(this.year())}function zr(T,k){return function(M){return M!=null?(Dl(this,T,M),e.updateOffset(this,k),this):Ku(this,T)}}function Ku(T,k){if(!T.isValid())return NaN;var M=T._d,W=T._isUTC;switch(k){case"Milliseconds":return W?M.getUTCMilliseconds():M.getMilliseconds();case"Seconds":return W?M.getUTCSeconds():M.getSeconds();case"Minutes":return W?M.getUTCMinutes():M.getMinutes();case"Hours":return W?M.getUTCHours():M.getHours();case"Date":return W?M.getUTCDate():M.getDate();case"Day":return W?M.getUTCDay():M.getDay();case"Month":return W?M.getUTCMonth():M.getMonth();case"FullYear":return W?M.getUTCFullYear():M.getFullYear();default:return NaN}}function Dl(T,k,M){var W,ee,be,ft,ir;if(!(!T.isValid()||isNaN(M))){switch(W=T._d,ee=T._isUTC,k){case"Milliseconds":return void(ee?W.setUTCMilliseconds(M):W.setMilliseconds(M));case"Seconds":return void(ee?W.setUTCSeconds(M):W.setSeconds(M));case"Minutes":return void(ee?W.setUTCMinutes(M):W.setMinutes(M));case"Hours":return void(ee?W.setUTCHours(M):W.setHours(M));case"Date":return void(ee?W.setUTCDate(M):W.setDate(M));case"FullYear":break;default:return}be=M,ft=T.month(),ir=T.date(),ir=ir===29&&ft===1&&!Bs(be)?28:ir,ee?W.setUTCFullYear(be,ft,ir):W.setFullYear(be,ft,ir)}}function Ga(T){return T=me(T),gt(this[T])?this[T]():this}function Ki(T,k){if(typeof T=="object"){T=ze(T);var M=Ht(T),W,ee=M.length;for(W=0;W<ee;W++)this[M[W].unit](T[M[W].unit])}else if(T=me(T),gt(this[T]))return this[T](k);return this}function Li(T,k){return(T%k+k)%k}var Pi;Array.prototype.indexOf?Pi=Array.prototype.indexOf:Pi=function(T){var k;for(k=0;k<this.length;++k)if(this[k]===T)return k;return-1};function ks(T,k){if(isNaN(T)||isNaN(k))return NaN;var M=Li(k,12);return T+=(k-M)/12,M===1?Bs(T)?29:28:31-M%7%2}at("M",["MM",2],"Mo",function(){return this.month()+1}),at("MMM",0,0,function(T){return this.localeData().monthsShort(this,T)}),at("MMMM",0,0,function(T){return this.localeData().months(this,T)}),bt("M",dn,dr),bt("MM",dn,Lr),bt("MMM",function(T,k){return k.monthsShortRegex(T)}),bt("MMMM",function(T,k){return k.monthsRegex(T)}),En(["M","MM"],function(T,k){k[co]=Kr(T)-1}),En(["MMM","MMMM"],function(T,k,M,W){var ee=M._locale.monthsParse(T,W,M._strict);ee!=null?k[co]=ee:v(M).invalidMonth=T});var po="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),da="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),jo=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,ho=Pr,uc=Pr;function i0(T,k){return T?o(this._months)?this._months[T.month()]:this._months[(this._months.isFormat||jo).test(k)?"format":"standalone"][T.month()]:o(this._months)?this._months:this._months.standalone}function Xc(T,k){return T?o(this._monthsShort)?this._monthsShort[T.month()]:this._monthsShort[jo.test(k)?"format":"standalone"][T.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function lc(T,k,M){var W,ee,be,ft=T.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],W=0;W<12;++W)be=A([2e3,W]),this._shortMonthsParse[W]=this.monthsShort(be,"").toLocaleLowerCase(),this._longMonthsParse[W]=this.months(be,"").toLocaleLowerCase();return M?k==="MMM"?(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:null):(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:null):k==="MMM"?(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:null)):(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:null))}function Zo(T,k,M){var W,ee,be;if(this._monthsParseExact)return lc.call(this,T,k,M);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),W=0;W<12;W++){if(ee=A([2e3,W]),M&&!this._longMonthsParse[W]&&(this._longMonthsParse[W]=new RegExp("^"+this.months(ee,"").replace(".","")+"$","i"),this._shortMonthsParse[W]=new RegExp("^"+this.monthsShort(ee,"").replace(".","")+"$","i")),!M&&!this._monthsParse[W]&&(be="^"+this.months(ee,"")+"|^"+this.monthsShort(ee,""),this._monthsParse[W]=new RegExp(be.replace(".",""),"i")),M&&k==="MMMM"&&this._longMonthsParse[W].test(T))return W;if(M&&k==="MMM"&&this._shortMonthsParse[W].test(T))return W;if(!M&&this._monthsParse[W].test(T))return W}}function At(T,k){if(!T.isValid())return T;if(typeof k=="string"){if(/^\d+$/.test(k))k=Kr(k);else if(k=T.localeData().monthsParse(k),!y(k))return T}var M=k,W=T.date();return W=W<29?W:Math.min(W,ks(T.year(),M)),T._isUTC?T._d.setUTCMonth(M,W):T._d.setMonth(M,W),T}function Ya(T){return T!=null?(At(this,T),e.updateOffset(this,!0),this):Ku(this,"Month")}function s0(){return ks(this.year(),this.month())}function Zc(T){return this._monthsParseExact?(r(this,"_monthsRegex")||Ju.call(this),T?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=ho),this._monthsShortStrictRegex&&T?this._monthsShortStrictRegex:this._monthsShortRegex)}function Ui(T){return this._monthsParseExact?(r(this,"_monthsRegex")||Ju.call(this),T?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=uc),this._monthsStrictRegex&&T?this._monthsStrictRegex:this._monthsRegex)}function Ju(){function T(rn,ti){return ti.length-rn.length}var k=[],M=[],W=[],ee,be,ft,ir;for(ee=0;ee<12;ee++)be=A([2e3,ee]),ft=vi(this.monthsShort(be,"")),ir=vi(this.months(be,"")),k.push(ft),M.push(ir),W.push(ir),W.push(ft);k.sort(T),M.sort(T),W.sort(T),this._monthsRegex=new RegExp("^("+W.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+M.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+k.join("|")+")","i")}function Gd(T,k,M,W,ee,be,ft){var ir;return T<100&&T>=0?(ir=new Date(T+400,k,M,W,ee,be,ft),isFinite(ir.getFullYear())&&ir.setFullYear(T)):ir=new Date(T,k,M,W,ee,be,ft),ir}function Uf(T){var k,M;return T<100&&T>=0?(M=Array.prototype.slice.call(arguments),M[0]=T+400,k=new Date(Date.UTC.apply(null,M)),isFinite(k.getUTCFullYear())&&k.setUTCFullYear(T)):k=new Date(Date.UTC.apply(null,arguments)),k}function Cl(T,k,M){var W=7+k-M,ee=(7+Uf(T,0,W).getUTCDay()-k)%7;return-ee+W-1}function Vp(T,k,M,W,ee){var be=(7+M-W)%7,ft=Cl(T,W,ee),ir=1+7*(k-1)+be+ft,rn,ti;return ir<=0?(rn=T-1,ti=pa(rn)+ir):ir>pa(T)?(rn=T+1,ti=ir-pa(T)):(rn=T,ti=ir),{year:rn,dayOfYear:ti}}function Kt(T,k,M){var W=Cl(T.year(),k,M),ee=Math.floor((T.dayOfYear()-W-1)/7)+1,be,ft;return ee<1?(ft=T.year()-1,be=ee+Di(ft,k,M)):ee>Di(T.year(),k,M)?(be=ee-Di(T.year(),k,M),ft=T.year()+1):(ft=T.year(),be=ee),{week:be,year:ft}}function Di(T,k,M){var W=Cl(T,k,M),ee=Cl(T+1,k,M);return(pa(T)-W+ee)/7}at("w",["ww",2],"wo","week"),at("W",["WW",2],"Wo","isoWeek"),bt("w",dn,dr),bt("ww",dn,Lr),bt("W",dn,dr),bt("WW",dn,Lr),rs(["w","ww","W","WW"],function(T,k,M,W){k[W.substr(0,1)]=Kr(T)});function Wp(T){return Kt(T,this._week.dow,this._week.doy).week}var cc={dow:0,doy:6};function Ka(){return this._week.dow}function $f(){return this._week.doy}function o0(T){var k=this.localeData().week(this);return T==null?k:this.add((T-k)*7,"d")}function Yd(T){var k=Kt(this,1,4).week;return T==null?k:this.add((T-k)*7,"d")}at("d",0,"do","day"),at("dd",0,0,function(T){return this.localeData().weekdaysMin(this,T)}),at("ddd",0,0,function(T){return this.localeData().weekdaysShort(this,T)}),at("dddd",0,0,function(T){return this.localeData().weekdays(this,T)}),at("e",0,0,"weekday"),at("E",0,0,"isoWeekday"),bt("d",dn),bt("e",dn),bt("E",dn),bt("dd",function(T,k){return k.weekdaysMinRegex(T)}),bt("ddd",function(T,k){return k.weekdaysShortRegex(T)}),bt("dddd",function(T,k){return k.weekdaysRegex(T)}),rs(["dd","ddd","dddd"],function(T,k,M,W){var ee=M._locale.weekdaysParse(T,W,M._strict);ee!=null?k.d=ee:v(M).invalidWeekday=T}),rs(["d","e","E"],function(T,k,M,W){k[W]=Kr(T)});function a0(T,k){return typeof T!="string"?T:isNaN(T)?(T=k.weekdaysParse(T),typeof T=="number"?T:null):parseInt(T,10)}function ha(T,k){return typeof T=="string"?k.weekdaysParse(T)%7||7:isNaN(T)?null:T}function ma(T,k){return T.slice(k,7).concat(T.slice(0,k))}var Kd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Jd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Qc="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qo=Pr,ef=Pr,ya=Pr;function Al(T,k){var M=o(this._weekdays)?this._weekdays:this._weekdays[T&&T!==!0&&this._weekdays.isFormat.test(k)?"format":"standalone"];return T===!0?ma(M,this._week.dow):T?M[T.day()]:M}function Ja(T){return T===!0?ma(this._weekdaysShort,this._week.dow):T?this._weekdaysShort[T.day()]:this._weekdaysShort}function Eu(T){return T===!0?ma(this._weekdaysMin,this._week.dow):T?this._weekdaysMin[T.day()]:this._weekdaysMin}function Xu(T,k,M){var W,ee,be,ft=T.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],W=0;W<7;++W)be=A([2e3,1]).day(W),this._minWeekdaysParse[W]=this.weekdaysMin(be,"").toLocaleLowerCase(),this._shortWeekdaysParse[W]=this.weekdaysShort(be,"").toLocaleLowerCase(),this._weekdaysParse[W]=this.weekdays(be,"").toLocaleLowerCase();return M?k==="dddd"?(ee=Pi.call(this._weekdaysParse,ft),ee!==-1?ee:null):k==="ddd"?(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1?ee:null):(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null):k==="dddd"?(ee=Pi.call(this._weekdaysParse,ft),ee!==-1||(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null)):k==="ddd"?(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1||(ee=Pi.call(this._weekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null)):(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1||(ee=Pi.call(this._weekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1?ee:null))}function Zu(T,k,M){var W,ee,be;if(this._weekdaysParseExact)return Xu.call(this,T,k,M);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),W=0;W<7;W++){if(ee=A([2e3,1]).day(W),M&&!this._fullWeekdaysParse[W]&&(this._fullWeekdaysParse[W]=new RegExp("^"+this.weekdays(ee,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[W]=new RegExp("^"+this.weekdaysShort(ee,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[W]=new RegExp("^"+this.weekdaysMin(ee,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[W]||(be="^"+this.weekdays(ee,"")+"|^"+this.weekdaysShort(ee,"")+"|^"+this.weekdaysMin(ee,""),this._weekdaysParse[W]=new RegExp(be.replace(".",""),"i")),M&&k==="dddd"&&this._fullWeekdaysParse[W].test(T))return W;if(M&&k==="ddd"&&this._shortWeekdaysParse[W].test(T))return W;if(M&&k==="dd"&&this._minWeekdaysParse[W].test(T))return W;if(!M&&this._weekdaysParse[W].test(T))return W}}function ys(T){if(!this.isValid())return T!=null?this:NaN;var k=Ku(this,"Day");return T!=null?(T=a0(T,this.localeData()),this.add(T-k,"d")):k}function hn(T){if(!this.isValid())return T!=null?this:NaN;var k=(this.day()+7-this.localeData()._week.dow)%7;return T==null?k:this.add(T-k,"d")}function wu(T){if(!this.isValid())return T!=null?this:NaN;if(T!=null){var k=ha(T,this.localeData());return this.day(this.day()%7?k:k-7)}else return this.day()||7}function Xd(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=qo),this._weekdaysStrictRegex&&T?this._weekdaysStrictRegex:this._weekdaysRegex)}function Is(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ef),this._weekdaysShortStrictRegex&&T?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function fc(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ya),this._weekdaysMinStrictRegex&&T?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function pc(){function T(Vo,Ra){return Ra.length-Vo.length}var k=[],M=[],W=[],ee=[],be,ft,ir,rn,ti;for(be=0;be<7;be++)ft=A([2e3,1]).day(be),ir=vi(this.weekdaysMin(ft,"")),rn=vi(this.weekdaysShort(ft,"")),ti=vi(this.weekdays(ft,"")),k.push(ir),M.push(rn),W.push(ti),ee.push(ir),ee.push(rn),ee.push(ti);k.sort(T),M.sort(T),W.sort(T),ee.sort(T),this._weekdaysRegex=new RegExp("^("+ee.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+W.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+M.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+k.join("|")+")","i")}function ga(){return this.hours()%12||12}function tf(){return this.hours()||24}at("H",["HH",2],0,"hour"),at("h",["hh",2],0,ga),at("k",["kk",2],0,tf),at("hmm",0,0,function(){return""+ga.apply(this)+we(this.minutes(),2)}),at("hmmss",0,0,function(){return""+ga.apply(this)+we(this.minutes(),2)+we(this.seconds(),2)}),at("Hmm",0,0,function(){return""+this.hours()+we(this.minutes(),2)}),at("Hmmss",0,0,function(){return""+this.hours()+we(this.minutes(),2)+we(this.seconds(),2)});function mo(T,k){at(T,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),k)})}mo("a",!0),mo("A",!1);function rf(T,k){return k._meridiemParse}bt("a",rf),bt("A",rf),bt("H",dn,Tn),bt("h",dn,dr),bt("k",dn,dr),bt("HH",dn,Lr),bt("hh",dn,Lr),bt("kk",dn,Lr),bt("hmm",wo),bt("hmmss",Bo),bt("Hmm",wo),bt("Hmmss",Bo),En(["H","HH"],cs),En(["k","kk"],function(T,k,M){var W=Kr(T);k[cs]=W===24?0:W}),En(["a","A"],function(T,k,M){M._isPm=M._locale.isPM(T),M._meridiem=T}),En(["h","hh"],function(T,k,M){k[cs]=Kr(T),v(M).bigHour=!0}),En("hmm",function(T,k,M){var W=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W)),v(M).bigHour=!0}),En("hmmss",function(T,k,M){var W=T.length-4,ee=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W,2)),k[zs]=Kr(T.substr(ee)),v(M).bigHour=!0}),En("Hmm",function(T,k,M){var W=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W))}),En("Hmmss",function(T,k,M){var W=T.length-4,ee=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W,2)),k[zs]=Kr(T.substr(ee))});function Zd(T){return(T+"").toLowerCase().charAt(0)==="p"}var Ca=/[ap]\.?m?\.?/i,Qo=zr("Hours",!0);function nf(T,k,M){return T>11?M?"pm":"PM":M?"am":"AM"}var kl={calendar:Ke,longDateFormat:$t,invalidDate:ar,ordinal:P,dayOfMonthOrdinalParse:Xt,relativeTime:Bn,months:po,monthsShort:da,week:cc,weekdays:Kd,weekdaysMin:Qc,weekdaysShort:Jd,meridiemParse:Ca},ns={},js={},bu;function Hf(T,k){var M,W=Math.min(T.length,k.length);for(M=0;M<W;M+=1)if(T[M]!==k[M])return M;return W}function Xa(T){return T&&T.toLowerCase().replace("_","-")}function Il(T){for(var k=0,M,W,ee,be;k<T.length;){for(be=Xa(T[k]).split("-"),M=be.length,W=Xa(T[k+1]),W=W?W.split("-"):null;M>0;){if(ee=Q(be.slice(0,M).join("-")),ee)return ee;if(W&&W.length>=M&&Hf(be,W)>=M-1)break;M--}k++}return bu}function ie(T){return!!(T&&T.match("^[^/\\\\]*$"))}function Q(T){var k=null,M;if(ns[T]===void 0&&typeof u2<"u"&&u2&&u2.exports&&ie(T))try{k=bu._abbr,M=require,M("./locale/"+T),ne(k)}catch{ns[T]=null}return ns[T]}function ne(T,k){var M;return T&&(p(k)?M=Ge(T):M=ke(T,k),M?bu=M:typeof console<"u"&&console.warn&&console.warn("Locale "+T+" not found. Did you forget to load it?")),bu._abbr}function ke(T,k){if(k!==null){var M,W=kl;if(k.abbr=T,ns[T]!=null)Ct("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),W=ns[T]._config;else if(k.parentLocale!=null)if(ns[k.parentLocale]!=null)W=ns[k.parentLocale]._config;else if(M=Q(k.parentLocale),M!=null)W=M._config;else return js[k.parentLocale]||(js[k.parentLocale]=[]),js[k.parentLocale].push({name:T,config:k}),null;return ns[T]=new oe(qe(W,k)),js[T]&&js[T].forEach(function(ee){ke(ee.name,ee.config)}),ne(T),ns[T]}else return delete ns[T],null}function Ze(T,k){if(k!=null){var M,W,ee=kl;ns[T]!=null&&ns[T].parentLocale!=null?ns[T].set(qe(ns[T]._config,k)):(W=Q(T),W!=null&&(ee=W._config),k=qe(ee,k),W==null&&(k.abbr=T),M=new oe(k),M.parentLocale=ns[T],ns[T]=M),ne(T)}else ns[T]!=null&&(ns[T].parentLocale!=null?(ns[T]=ns[T].parentLocale,T===ne()&&ne(T)):ns[T]!=null&&delete ns[T]);return ns[T]}function Ge(T){var k;if(T&&T._locale&&T._locale._abbr&&(T=T._locale._abbr),!T)return bu;if(!o(T)){if(k=Q(T),k)return k;T=[T]}return Il(T)}function lt(){return Ae(ns)}function pt(T){var k,M=T._a;return M&&v(T).overflow===-2&&(k=M[co]<0||M[co]>11?co:M[Ws]<1||M[Ws]>ks(M[Zt],M[co])?Ws:M[cs]<0||M[cs]>24||M[cs]===24&&(M[fo]!==0||M[zs]!==0||M[Ts]!==0)?cs:M[fo]<0||M[fo]>59?fo:M[zs]<0||M[zs]>59?zs:M[Ts]<0||M[Ts]>999?Ts:-1,v(T)._overflowDayOfYear&&(k<Zt||k>Ws)&&(k=Ws),v(T)._overflowWeeks&&k===-1&&(k=Pl),v(T)._overflowWeekday&&k===-1&&(k=za),v(T).overflow=k),T}var It=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,hr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vn=/Z|[+-]\d\d(?::?\d\d)?/,Wn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],wn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],va=/^\/?Date\((-?\d+)/i,dc=/^(?:(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{4}))$/,ea={UT:0,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 yo(T){var k,M,W=T._i,ee=It.exec(W)||hr.exec(W),be,ft,ir,rn,ti=Wn.length,Vo=wn.length;if(ee){for(v(T).iso=!0,k=0,M=ti;k<M;k++)if(Wn[k][1].exec(ee[1])){ft=Wn[k][0],be=Wn[k][2]!==!1;break}if(ft==null){T._isValid=!1;return}if(ee[3]){for(k=0,M=Vo;k<M;k++)if(wn[k][1].exec(ee[3])){ir=(ee[2]||" ")+wn[k][0];break}if(ir==null){T._isValid=!1;return}}if(!be&&ir!=null){T._isValid=!1;return}if(ee[4])if(vn.exec(ee[4]))rn="Z";else{T._isValid=!1;return}T._f=ft+(ir||"")+(rn||""),Po(T)}else T._isValid=!1}function Zn(T,k,M,W,ee,be){var ft=[Jr(T),da.indexOf(k),parseInt(M,10),parseInt(W,10),parseInt(ee,10)];return be&&ft.push(parseInt(be,10)),ft}function Jr(T){var k=parseInt(T,10);return k<=49?2e3+k:k<=999?1900+k:k}function Cr(T){return T.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Gr(T,k,M){if(T){var W=Jd.indexOf(T),ee=new Date(k[0],k[1],k[2]).getDay();if(W!==ee)return v(M).weekdayMismatch=!0,M._isValid=!1,!1}return!0}function zn(T,k,M){if(T)return ea[T];if(k)return 0;var W=parseInt(M,10),ee=W%100,be=(W-ee)/100;return be*60+ee}function _i(T){var k=dc.exec(Cr(T._i)),M;if(k){if(M=Zn(k[4],k[3],k[2],k[5],k[6],k[7]),!Gr(k[1],M,T))return;T._a=M,T._tzm=zn(k[8],k[9],k[10]),T._d=Uf.apply(null,T._a),T._d.setUTCMinutes(T._d.getUTCMinutes()-T._tzm),v(T).rfc2822=!0}else T._isValid=!1}function Os(T){var k=va.exec(T._i);if(k!==null){T._d=new Date(+k[1]);return}if(yo(T),T._isValid===!1)delete T._isValid;else return;if(_i(T),T._isValid===!1)delete T._isValid;else return;T._strict?T._isValid=!1:e.createFromInputFallback(T)}e.createFromInputFallback=tt("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(T){T._d=new Date(T._i+(T._useUTC?" UTC":""))});function no(T,k,M){return T!=null?T:k!=null?k:M}function Qu(T){var k=new Date(e.now());return T._useUTC?[k.getUTCFullYear(),k.getUTCMonth(),k.getUTCDate()]:[k.getFullYear(),k.getMonth(),k.getDate()]}function qs(T){var k,M,W=[],ee,be,ft;if(!T._d){for(ee=Qu(T),T._w&&T._a[Ws]==null&&T._a[co]==null&&xa(T),T._dayOfYear!=null&&(ft=no(T._a[Zt],ee[Zt]),(T._dayOfYear>pa(ft)||T._dayOfYear===0)&&(v(T)._overflowDayOfYear=!0),M=Uf(ft,0,T._dayOfYear),T._a[co]=M.getUTCMonth(),T._a[Ws]=M.getUTCDate()),k=0;k<3&&T._a[k]==null;++k)T._a[k]=W[k]=ee[k];for(;k<7;k++)T._a[k]=W[k]=T._a[k]==null?k===2?1:0:T._a[k];T._a[cs]===24&&T._a[fo]===0&&T._a[zs]===0&&T._a[Ts]===0&&(T._nextDay=!0,T._a[cs]=0),T._d=(T._useUTC?Uf:Gd).apply(null,W),be=T._useUTC?T._d.getUTCDay():T._d.getDay(),T._tzm!=null&&T._d.setUTCMinutes(T._d.getUTCMinutes()-T._tzm),T._nextDay&&(T._a[cs]=24),T._w&&typeof T._w.d<"u"&&T._w.d!==be&&(v(T).weekdayMismatch=!0)}}function xa(T){var k,M,W,ee,be,ft,ir,rn,ti;k=T._w,k.GG!=null||k.W!=null||k.E!=null?(be=1,ft=4,M=no(k.GG,T._a[Zt],Kt(mn(),1,4).year),W=no(k.W,1),ee=no(k.E,1),(ee<1||ee>7)&&(rn=!0)):(be=T._locale._week.dow,ft=T._locale._week.doy,ti=Kt(mn(),be,ft),M=no(k.gg,T._a[Zt],ti.year),W=no(k.w,ti.week),k.d!=null?(ee=k.d,(ee<0||ee>6)&&(rn=!0)):k.e!=null?(ee=k.e+be,(k.e<0||k.e>6)&&(rn=!0)):ee=be),W<1||W>Di(M,be,ft)?v(T)._overflowWeeks=!0:rn!=null?v(T)._overflowWeekday=!0:(ir=Vp(M,W,ee,be,ft),T._a[Zt]=ir.year,T._dayOfYear=ir.dayOfYear)}e.ISO_8601=function(){},e.RFC_2822=function(){};function Po(T){if(T._f===e.ISO_8601){yo(T);return}if(T._f===e.RFC_2822){_i(T);return}T._a=[],v(T).empty=!0;var k=""+T._i,M,W,ee,be,ft,ir=k.length,rn=0,ti,Vo;for(ee=st(T._f,T._locale).match(Oe)||[],Vo=ee.length,M=0;M<Vo;M++)be=ee[M],W=(k.match(gi(be,T))||[])[0],W&&(ft=k.substr(0,k.indexOf(W)),ft.length>0&&v(T).unusedInput.push(ft),k=k.slice(k.indexOf(W)+W.length),rn+=W.length),er[be]?(W?v(T).empty=!1:v(T).unusedTokens.push(be),Su(be,W,T)):T._strict&&!W&&v(T).unusedTokens.push(be);v(T).charsLeftOver=ir-rn,k.length>0&&v(T).unusedInput.push(k),T._a[cs]<=12&&v(T).bigHour===!0&&T._a[cs]>0&&(v(T).bigHour=void 0),v(T).parsedDateParts=T._a.slice(0),v(T).meridiem=T._meridiem,T._a[cs]=hc(T._locale,T._a[cs],T._meridiem),ti=v(T).era,ti!==null&&(T._a[Zt]=T._locale.erasConvertYear(ti,T._a[Zt])),qs(T),pt(T)}function hc(T,k,M){var W;return M==null?k:T.meridiemHour!=null?T.meridiemHour(k,M):(T.isPM!=null&&(W=T.isPM(M),W&&k<12&&(k+=12),!W&&k===12&&(k=0)),k)}function sf(T){var k,M,W,ee,be,ft,ir=!1,rn=T._f.length;if(rn===0){v(T).invalidFormat=!0,T._d=new Date(NaN);return}for(ee=0;ee<rn;ee++)be=0,ft=!1,k=de({},T),T._useUTC!=null&&(k._useUTC=T._useUTC),k._f=T._f[ee],Po(k),$(k)&&(ft=!0),be+=v(k).charsLeftOver,be+=v(k).unusedTokens.length*10,v(k).score=be,ir?be<W&&(W=be,M=k):(W==null||be<W||ft)&&(W=be,M=k,ft&&(ir=!0));C(T,M||k)}function Pu(T){if(!T._d){var k=ze(T._i),M=k.day===void 0?k.date:k.day;T._a=S([k.year,k.month,M,k.hour,k.minute,k.second,k.millisecond],function(W){return W&&parseInt(W,10)}),qs(T)}}function of(T){var k=new ye(pt(Do(T)));return k._nextDay&&(k.add(1,"d"),k._nextDay=void 0),k}function Do(T){var k=T._i,M=T._f;return T._locale=T._locale||Ge(T._l),k===null||M===void 0&&k===""?j({nullInput:!0}):(typeof k=="string"&&(T._i=k=T._locale.preparse(k)),Fe(k)?new ye(pt(k)):(m(k)?T._d=k:o(M)?sf(T):M?Po(T):Ci(T),$(T)||(T._d=null),T))}function Ci(T){var k=T._i;p(k)?T._d=new Date(e.now()):m(k)?T._d=new Date(k.valueOf()):typeof k=="string"?Os(T):o(k)?(T._a=S(k.slice(0),function(M){return parseInt(M,10)}),qs(T)):u(k)?Pu(T):y(k)?T._d=new Date(k):e.createFromInputFallback(T)}function Qd(T,k,M,W,ee){var be={};return(k===!0||k===!1)&&(W=k,k=void 0),(M===!0||M===!1)&&(W=M,M=void 0),(u(T)&&f(T)||o(T)&&T.length===0)&&(T=void 0),be._isAMomentObject=!0,be._useUTC=be._isUTC=ee,be._l=M,be._i=T,be._f=k,be._strict=W,of(be)}function mn(T,k,M,W){return Qd(T,k,M,W,!1)}var eh=tt("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var T=mn.apply(null,arguments);return this.isValid()&&T.isValid()?T<this?this:T:j()}),Co=tt("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var T=mn.apply(null,arguments);return this.isValid()&&T.isValid()?T>this?this:T:j()});function Jn(T,k){var M,W;if(k.length===1&&o(k[0])&&(k=k[0]),!k.length)return mn();for(M=k[0],W=1;W<k.length;++W)(!k[W].isValid()||k[W][T](M))&&(M=k[W]);return M}function Aa(){var T=[].slice.call(arguments,0);return Jn("isBefore",T)}function zp(){var T=[].slice.call(arguments,0);return Jn("isAfter",T)}var Vf=function(){return Date.now?Date.now():+new Date},Wf=["year","quarter","month","week","day","hour","minute","second","millisecond"];function vg(T){var k,M=!1,W,ee=Wf.length;for(k in T)if(r(T,k)&&!(Pi.call(Wf,k)!==-1&&(T[k]==null||!isNaN(T[k]))))return!1;for(W=0;W<ee;++W)if(T[Wf[W]]){if(M)return!1;parseFloat(T[Wf[W]])!==Kr(T[Wf[W]])&&(M=!0)}return!0}function Gp(){return this._isValid}function u0(){return io(NaN)}function el(T){var k=ze(T),M=k.year||0,W=k.quarter||0,ee=k.month||0,be=k.week||k.isoWeek||0,ft=k.day||0,ir=k.hour||0,rn=k.minute||0,ti=k.second||0,Vo=k.millisecond||0;this._isValid=vg(k),this._milliseconds=+Vo+ti*1e3+rn*6e4+ir*1e3*60*60,this._days=+ft+be*7,this._months=+ee+W*3+M*12,this._data={},this._locale=Ge(),this._bubble()}function Sa(T){return T instanceof el}function Ol(T){return T<0?Math.round(-1*T)*-1:Math.round(T)}function ka(T,k,M){var W=Math.min(T.length,k.length),ee=Math.abs(T.length-k.length),be=0,ft;for(ft=0;ft<W;ft++)(M&&T[ft]!==k[ft]||!M&&Kr(T[ft])!==Kr(k[ft]))&&be++;return be+ee}function af(T,k){at(T,0,0,function(){var M=this.utcOffset(),W="+";return M<0&&(M=-M,W="-"),W+we(~~(M/60),2)+k+we(~~M%60,2)})}af("Z",":"),af("ZZ",""),bt("Z",vt),bt("ZZ",vt),En(["Z","ZZ"],function(T,k,M){M._useUTC=!0,M._tzm=go(vt,T)});var Ns=/([\+\-]|\d\d)/gi;function go(T,k){var M=(k||"").match(T),W,ee,be;return M===null?null:(W=M[M.length-1]||[],ee=(W+"").match(Ns)||["-",0,0],be=+(ee[1]*60)+Kr(ee[2]),be===0?0:ee[0]==="+"?be:-be)}function Us(T,k){var M,W;return k._isUTC?(M=k.clone(),W=(Fe(T)||m(T)?T.valueOf():mn(T).valueOf())-M.valueOf(),M._d.setTime(M._d.valueOf()+W),e.updateOffset(M,!1),M):mn(T).local()}function tl(T){return-Math.round(T._d.getTimezoneOffset())}e.updateOffset=function(){};function zf(T,k,M){var W=this._offset||0,ee;if(!this.isValid())return T!=null?this:NaN;if(T!=null){if(typeof T=="string"){if(T=go(vt,T),T===null)return this}else Math.abs(T)<16&&!M&&(T=T*60);return!this._isUTC&&k&&(ee=tl(this)),this._offset=T,this._isUTC=!0,ee!=null&&this.add(ee,"m"),W!==T&&(!k||this._changeInProgress?ra(this,io(T-W,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?W:tl(this)}function fi(T,k){return T!=null?(typeof T!="string"&&(T=-T),this.utcOffset(T,k),this):-this.utcOffset()}function l0(T){return this.utcOffset(0,T)}function c0(T){return this._isUTC&&(this.utcOffset(0,T),this._isUTC=!1,T&&this.subtract(tl(this),"m")),this}function Uo(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var T=go(wt,this._i);T!=null?this.utcOffset(T):this.utcOffset(0,!0)}return this}function ta(T){return this.isValid()?(T=T?mn(T).utcOffset():0,(this.utcOffset()-T)%60===0):!1}function Ia(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function mc(){if(!p(this._isDSTShifted))return this._isDSTShifted;var T={},k;return de(T,this),T=Do(T),T._a?(k=T._isUTC?A(T._a):mn(T._a),this._isDSTShifted=this.isValid()&&ka(T._a,k.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function yc(){return this.isValid()?!this._isUTC:!1}function gc(){return this.isValid()?this._isUTC:!1}function pi(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Du=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,vc=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function io(T,k){var M=T,W=null,ee,be,ft;return Sa(T)?M={ms:T._milliseconds,d:T._days,M:T._months}:y(T)||!isNaN(+T)?(M={},k?M[k]=+T:M.milliseconds=+T):(W=Du.exec(T))?(ee=W[1]==="-"?-1:1,M={y:0,d:Kr(W[Ws])*ee,h:Kr(W[cs])*ee,m:Kr(W[fo])*ee,s:Kr(W[zs])*ee,ms:Kr(Ol(W[Ts]*1e3))*ee}):(W=vc.exec(T))?(ee=W[1]==="-"?-1:1,M={y:Nl(W[2],ee),M:Nl(W[3],ee),w:Nl(W[4],ee),d:Nl(W[5],ee),h:Nl(W[6],ee),m:Nl(W[7],ee),s:Nl(W[8],ee)}):M==null?M={}:typeof M=="object"&&("from"in M||"to"in M)&&(ft=f0(mn(M.from),mn(M.to)),M={},M.ms=ft.milliseconds,M.M=ft.months),be=new el(M),Sa(T)&&r(T,"_locale")&&(be._locale=T._locale),Sa(T)&&r(T,"_isValid")&&(be._isValid=T._isValid),be}io.fn=el.prototype,io.invalid=u0;function Nl(T,k){var M=T&&parseFloat(T.replace(",","."));return(isNaN(M)?0:M)*k}function Cu(T,k){var M={};return M.months=k.month()-T.month()+(k.year()-T.year())*12,T.clone().add(M.months,"M").isAfter(k)&&--M.months,M.milliseconds=+k-+T.clone().add(M.months,"M"),M}function f0(T,k){var M;return T.isValid()&&k.isValid()?(k=Us(k,T),T.isBefore(k)?M=Cu(T,k):(M=Cu(k,T),M.milliseconds=-M.milliseconds,M.months=-M.months),M):{milliseconds:0,months:0}}function uf(T,k){return function(M,W){var ee,be;return W!==null&&!isNaN(+W)&&(Ct(k,"moment()."+k+"(period, number) is deprecated. Please use moment()."+k+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),be=M,M=W,W=be),ee=io(M,W),ra(this,ee,T),this}}function ra(T,k,M,W){var ee=k._milliseconds,be=Ol(k._days),ft=Ol(k._months);T.isValid()&&(W=W==null?!0:W,ft&&At(T,Ku(T,"Month")+ft*M),be&&Dl(T,"Date",Ku(T,"Date")+be*M),ee&&T._d.setTime(T._d.valueOf()+ee*M),W&&e.updateOffset(T,be||ft))}var Gn=uf(1,"add"),Yp=uf(-1,"subtract");function th(T){return typeof T=="string"||T instanceof String}function rh(T){return Fe(T)||m(T)||th(T)||y(T)||Xm(T)||Jm(T)||T===null||T===void 0}function Jm(T){var k=u(T)&&!f(T),M=!1,W=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],ee,be,ft=W.length;for(ee=0;ee<ft;ee+=1)be=W[ee],M=M||r(T,be);return k&&M}function Xm(T){var k=o(T),M=!1;return k&&(M=T.filter(function(W){return!y(W)&&th(T)}).length===0),k&&M}function xg(T){var k=u(T)&&!f(T),M=!1,W=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],ee,be;for(ee=0;ee<W.length;ee+=1)be=W[ee],M=M||r(T,be);return k&&M}function cv(T,k){var M=T.diff(k,"days",!0);return M<-6?"sameElse":M<-1?"lastWeek":M<0?"lastDay":M<1?"sameDay":M<2?"nextDay":M<7?"nextWeek":"sameElse"}function p0(T,k){arguments.length===1&&(arguments[0]?rh(arguments[0])?(T=arguments[0],k=void 0):xg(arguments[0])&&(k=arguments[0],T=void 0):(T=void 0,k=void 0));var M=T||mn(),W=Us(M,this).startOf("day"),ee=e.calendarFormat(this,W)||"sameElse",be=k&&(gt(k[ee])?k[ee].call(this,M):k[ee]);return this.format(be||this.localeData().calendar(ee,this,mn(M)))}function nh(){return new ye(this)}function _g(T,k){var M=Fe(T)?T:mn(T);return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()>M.valueOf():M.valueOf()<this.clone().startOf(k).valueOf()):!1}function Au(T,k){var M=Fe(T)?T:mn(T);return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()<M.valueOf():this.clone().endOf(k).valueOf()<M.valueOf()):!1}function xc(T,k,M,W){var ee=Fe(T)?T:mn(T),be=Fe(k)?k:mn(k);return this.isValid()&&ee.isValid()&&be.isValid()?(W=W||"()",(W[0]==="("?this.isAfter(ee,M):!this.isBefore(ee,M))&&(W[1]===")"?this.isBefore(be,M):!this.isAfter(be,M))):!1}function na(T,k){var M=Fe(T)?T:mn(T),W;return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()===M.valueOf():(W=M.valueOf(),this.clone().startOf(k).valueOf()<=W&&W<=this.clone().endOf(k).valueOf())):!1}function Za(T,k){return this.isSame(T,k)||this.isAfter(T,k)}function ia(T,k){return this.isSame(T,k)||this.isBefore(T,k)}function lf(T,k,M){var W,ee,be;if(!this.isValid())return NaN;if(W=Us(T,this),!W.isValid())return NaN;switch(ee=(W.utcOffset()-this.utcOffset())*6e4,k=me(k),k){case"year":be=Qa(this,W)/12;break;case"month":be=Qa(this,W);break;case"quarter":be=Qa(this,W)/3;break;case"second":be=(this-W)/1e3;break;case"minute":be=(this-W)/6e4;break;case"hour":be=(this-W)/36e5;break;case"day":be=(this-W-ee)/864e5;break;case"week":be=(this-W-ee)/6048e5;break;default:be=this-W}return M?be:ci(be)}function Qa(T,k){if(T.date()<k.date())return-Qa(k,T);var M=(k.year()-T.year())*12+(k.month()-T.month()),W=T.clone().add(M,"months"),ee,be;return k-W<0?(ee=T.clone().add(M-1,"months"),be=(k-W)/(W-ee)):(ee=T.clone().add(M+1,"months"),be=(k-W)/(ee-W)),-(M+be)||0}e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function Fl(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Gf(T){if(!this.isValid())return null;var k=T!==!0,M=k?this.clone().utc():this;return M.year()<0||M.year()>9999?Qe(M,k?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):gt(Date.prototype.toISOString)?k?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Qe(M,"Z")):Qe(M,k?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Yf(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var T="moment",k="",M,W,ee,be;return this.isLocal()||(T=this.utcOffset()===0?"moment.utc":"moment.parseZone",k="Z"),M="["+T+'("]',W=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",ee="-MM-DD[T]HH:mm:ss.SSS",be=k+'[")]',this.format(M+W+ee+be)}function Kp(T){T||(T=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var k=Qe(this,T);return this.localeData().postformat(k)}function Zm(T,k){return this.isValid()&&(Fe(T)&&T.isValid()||mn(T).isValid())?io({to:this,from:T}).locale(this.locale()).humanize(!k):this.localeData().invalidDate()}function d0(T){return this.from(mn(),T)}function Kf(T,k){return this.isValid()&&(Fe(T)&&T.isValid()||mn(T).isValid())?io({from:this,to:T}).locale(this.locale()).humanize(!k):this.localeData().invalidDate()}function _c(T){return this.to(mn(),T)}function h0(T){var k;return T===void 0?this._locale._abbr:(k=Ge(T),k!=null&&(this._locale=k),this)}var eu=tt("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(T){return T===void 0?this.localeData():this.locale(T)});function m0(){return this._locale}var Rl=1e3,rl=60*Rl,Sc=60*rl,Qm=(365*400+97)*24*Sc;function di(T,k){return(T%k+k)%k}function vo(T,k,M){return T<100&&T>=0?new Date(T+400,k,M)-Qm:new Date(T,k,M).valueOf()}function tu(T,k,M){return T<100&&T>=0?Date.UTC(T+400,k,M)-Qm:Date.UTC(T,k,M)}function ku(T){var k,M;if(T=me(T),T===void 0||T==="millisecond"||!this.isValid())return this;switch(M=this._isUTC?tu:vo,T){case"year":k=M(this.year(),0,1);break;case"quarter":k=M(this.year(),this.month()-this.month()%3,1);break;case"month":k=M(this.year(),this.month(),1);break;case"week":k=M(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":k=M(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":k=M(this.year(),this.month(),this.date());break;case"hour":k=this._d.valueOf(),k-=di(k+(this._isUTC?0:this.utcOffset()*rl),Sc);break;case"minute":k=this._d.valueOf(),k-=di(k,rl);break;case"second":k=this._d.valueOf(),k-=di(k,Rl);break}return this._d.setTime(k),e.updateOffset(this,!0),this}function Ll(T){var k,M;if(T=me(T),T===void 0||T==="millisecond"||!this.isValid())return this;switch(M=this._isUTC?tu:vo,T){case"year":k=M(this.year()+1,0,1)-1;break;case"quarter":k=M(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":k=M(this.year(),this.month()+1,1)-1;break;case"week":k=M(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":k=M(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":k=M(this.year(),this.month(),this.date()+1)-1;break;case"hour":k=this._d.valueOf(),k+=Sc-di(k+(this._isUTC?0:this.utcOffset()*rl),Sc)-1;break;case"minute":k=this._d.valueOf(),k+=rl-di(k,rl)-1;break;case"second":k=this._d.valueOf(),k+=Rl-di(k,Rl)-1;break}return this._d.setTime(k),e.updateOffset(this,!0),this}function Oa(){return this._d.valueOf()-(this._offset||0)*6e4}function cf(){return Math.floor(this.valueOf()/1e3)}function Ml(){return new Date(this.valueOf())}function Sg(){var T=this;return[T.year(),T.month(),T.date(),T.hour(),T.minute(),T.second(),T.millisecond()]}function y0(){var T=this;return{years:T.year(),months:T.month(),date:T.date(),hours:T.hours(),minutes:T.minutes(),seconds:T.seconds(),milliseconds:T.milliseconds()}}function Jf(){return this.isValid()?this.toISOString():null}function Jp(){return $(this)}function fv(){return C({},v(this))}function ey(){return v(this).overflow}function ih(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}at("N",0,0,"eraAbbr"),at("NN",0,0,"eraAbbr"),at("NNN",0,0,"eraAbbr"),at("NNNN",0,0,"eraName"),at("NNNNN",0,0,"eraNarrow"),at("y",["y",1],"yo","eraYear"),at("y",["yy",2],0,"eraYear"),at("y",["yyy",3],0,"eraYear"),at("y",["yyyy",4],0,"eraYear"),bt("N",Zp),bt("NN",Zp),bt("NNN",Zp),bt("NNNN",oh),bt("NNNNN",ah),En(["N","NN","NNN","NNNN","NNNNN"],function(T,k,M,W){var ee=M._locale.erasParse(T,W,M._strict);ee?v(M).era=ee:v(M).invalidEra=T}),bt("y",Da),bt("yy",Da),bt("yyy",Da),bt("yyyy",Da),bt("yo",v0),En(["y","yy","yyy","yyyy"],Zt),En(["yo"],function(T,k,M,W){var ee;M._locale._eraYearOrdinalRegex&&(ee=T.match(M._locale._eraYearOrdinalRegex)),M._locale.eraYearOrdinalParse?k[Zt]=M._locale.eraYearOrdinalParse(T,ee):k[Zt]=parseInt(T,10)});function ty(T,k){var M,W,ee,be=this._eras||Ge("en")._eras;for(M=0,W=be.length;M<W;++M){switch(typeof be[M].since){case"string":ee=e(be[M].since).startOf("day"),be[M].since=ee.valueOf();break}switch(typeof be[M].until){case"undefined":be[M].until=1/0;break;case"string":ee=e(be[M].until).startOf("day").valueOf(),be[M].until=ee.valueOf();break}}return be}function ry(T,k,M){var W,ee,be=this.eras(),ft,ir,rn;for(T=T.toUpperCase(),W=0,ee=be.length;W<ee;++W)if(ft=be[W].name.toUpperCase(),ir=be[W].abbr.toUpperCase(),rn=be[W].narrow.toUpperCase(),M)switch(k){case"N":case"NN":case"NNN":if(ir===T)return be[W];break;case"NNNN":if(ft===T)return be[W];break;case"NNNNN":if(rn===T)return be[W];break}else if([ft,ir,rn].indexOf(T)>=0)return be[W]}function g0(T,k){var M=T.since<=T.until?1:-1;return k===void 0?e(T.since).year():e(T.since).year()+(k-T.offset)*M}function ff(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].name;return""}function ny(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].narrow;return""}function Tg(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].abbr;return""}function Xp(){var T,k,M,W,ee=this.localeData().eras();for(T=0,k=ee.length;T<k;++T)if(M=ee[T].since<=ee[T].until?1:-1,W=this.clone().startOf("day").valueOf(),ee[T].since<=W&&W<=ee[T].until||ee[T].until<=W&&W<=ee[T].since)return(this.year()-e(ee[T].since).year())*M+ee[T].offset;return this.year()}function sa(T){return r(this,"_erasNameRegex")||Zf.call(this),T?this._erasNameRegex:this._erasRegex}function sh(T){return r(this,"_erasAbbrRegex")||Zf.call(this),T?this._erasAbbrRegex:this._erasRegex}function Xf(T){return r(this,"_erasNarrowRegex")||Zf.call(this),T?this._erasNarrowRegex:this._erasRegex}function Zp(T,k){return k.erasAbbrRegex(T)}function oh(T,k){return k.erasNameRegex(T)}function ah(T,k){return k.erasNarrowRegex(T)}function v0(T,k){return k._eraYearOrdinalRegex||Da}function Zf(){var T=[],k=[],M=[],W=[],ee,be,ft,ir,rn,ti=this.eras();for(ee=0,be=ti.length;ee<be;++ee)ft=vi(ti[ee].name),ir=vi(ti[ee].abbr),rn=vi(ti[ee].narrow),k.push(ft),T.push(ir),M.push(rn),W.push(ft),W.push(ir),W.push(rn);this._erasRegex=new RegExp("^("+W.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+k.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+T.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+M.join("|")+")","i")}at(0,["gg",2],0,function(){return this.weekYear()%100}),at(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Qf(T,k){at(0,[T,T.length],0,k)}Qf("gggg","weekYear"),Qf("ggggg","weekYear"),Qf("GGGG","isoWeekYear"),Qf("GGGGG","isoWeekYear"),bt("G",Xe),bt("g",Xe),bt("GG",dn,Lr),bt("gg",dn,Lr),bt("GGGG",bo,kn),bt("gggg",bo,kn),bt("GGGGG",_u,Vn),bt("ggggg",_u,Vn),rs(["gggg","ggggg","GGGG","GGGGG"],function(T,k,M,W){k[W.substr(0,2)]=Kr(T)}),rs(["gg","GG"],function(T,k,M,W){k[W]=e.parseTwoDigitYear(T)});function ep(T){return ru.call(this,T,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function iy(T){return ru.call(this,T,this.isoWeek(),this.isoWeekday(),1,4)}function uh(){return Di(this.year(),1,4)}function lh(){return Di(this.isoWeekYear(),1,4)}function Tc(){var T=this.localeData()._week;return Di(this.year(),T.dow,T.doy)}function pf(){var T=this.localeData()._week;return Di(this.weekYear(),T.dow,T.doy)}function ru(T,k,M,W,ee){var be;return T==null?Kt(this,W,ee).year:(be=Di(T,W,ee),k>be&&(k=be),df.call(this,T,k,M,W,ee))}function df(T,k,M,W,ee){var be=Vp(T,k,M,W,ee),ft=Uf(be.year,0,be.dayOfYear);return this.year(ft.getUTCFullYear()),this.month(ft.getUTCMonth()),this.date(ft.getUTCDate()),this}at("Q",0,"Qo","quarter"),bt("Q",Rr),En("Q",function(T,k){k[co]=(Kr(T)-1)*3});function x0(T){return T==null?Math.ceil((this.month()+1)/3):this.month((T-1)*3+this.month()%3)}at("D",["DD",2],"Do","date"),bt("D",dn,dr),bt("DD",dn,Lr),bt("Do",function(T,k){return T?k._dayOfMonthOrdinalParse||k._ordinalParse:k._dayOfMonthOrdinalParseLenient}),En(["D","DD"],Ws),En("Do",function(T,k){k[Ws]=Kr(T.match(dn)[0])});var Ec=zr("Date",!0);at("DDD",["DDDD",3],"DDDo","dayOfYear"),bt("DDD",Yi),bt("DDDD",Rn),En(["DDD","DDDD"],function(T,k,M){M._dayOfYear=Kr(T)});function nl(T){var k=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return T==null?k:this.add(T-k,"d")}at("m",["mm",2],0,"minute"),bt("m",dn,Tn),bt("mm",dn,Lr),En(["m","mm"],fo);var _0=zr("Minutes",!1);at("s",["ss",2],0,"second"),bt("s",dn,Tn),bt("ss",dn,Lr),En(["s","ss"],zs);var Qp=zr("Seconds",!1);at("S",0,0,function(){return~~(this.millisecond()/100)}),at(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),at(0,["SSS",3],0,"millisecond"),at(0,["SSSS",4],0,function(){return this.millisecond()*10}),at(0,["SSSSS",5],0,function(){return this.millisecond()*100}),at(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),at(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),at(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),at(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),bt("S",Yi,Rr),bt("SS",Yi,Lr),bt("SSS",Yi,Rn);var Iu,S0;for(Iu="SSSS";Iu.length<=9;Iu+="S")bt(Iu,Da);function sy(T,k){k[Ts]=Kr(("0."+T)*1e3)}for(Iu="S";Iu.length<=9;Iu+="S")En(Iu,sy);S0=zr("Milliseconds",!1),at("z",0,0,"zoneAbbr"),at("zz",0,0,"zoneName");function ch(){return this._isUTC?"UTC":""}function fh(){return this._isUTC?"Coordinated Universal Time":""}var Bt=ye.prototype;Bt.add=Gn,Bt.calendar=p0,Bt.clone=nh,Bt.diff=lf,Bt.endOf=Ll,Bt.format=Kp,Bt.from=Zm,Bt.fromNow=d0,Bt.to=Kf,Bt.toNow=_c,Bt.get=Ga,Bt.invalidAt=ey,Bt.isAfter=_g,Bt.isBefore=Au,Bt.isBetween=xc,Bt.isSame=na,Bt.isSameOrAfter=Za,Bt.isSameOrBefore=ia,Bt.isValid=Jp,Bt.lang=eu,Bt.locale=h0,Bt.localeData=m0,Bt.max=Co,Bt.min=eh,Bt.parsingFlags=fv,Bt.set=Ki,Bt.startOf=ku,Bt.subtract=Yp,Bt.toArray=Sg,Bt.toObject=y0,Bt.toDate=Ml,Bt.toISOString=Gf,Bt.inspect=Yf,typeof Symbol<"u"&&Symbol.for!=null&&(Bt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Bt.toJSON=Jf,Bt.toString=Fl,Bt.unix=cf,Bt.valueOf=Oa,Bt.creationData=ih,Bt.eraName=ff,Bt.eraNarrow=ny,Bt.eraAbbr=Tg,Bt.eraYear=Xp,Bt.year=Tu,Bt.isLeapYear=ac,Bt.weekYear=ep,Bt.isoWeekYear=iy,Bt.quarter=Bt.quarters=x0,Bt.month=Ya,Bt.daysInMonth=s0,Bt.week=Bt.weeks=o0,Bt.isoWeek=Bt.isoWeeks=Yd,Bt.weeksInYear=Tc,Bt.weeksInWeekYear=pf,Bt.isoWeeksInYear=uh,Bt.isoWeeksInISOWeekYear=lh,Bt.date=Ec,Bt.day=Bt.days=ys,Bt.weekday=hn,Bt.isoWeekday=wu,Bt.dayOfYear=nl,Bt.hour=Bt.hours=Qo,Bt.minute=Bt.minutes=_0,Bt.second=Bt.seconds=Qp,Bt.millisecond=Bt.milliseconds=S0,Bt.utcOffset=zf,Bt.utc=l0,Bt.local=c0,Bt.parseZone=Uo,Bt.hasAlignedHourOffset=ta,Bt.isDST=Ia,Bt.isLocal=yc,Bt.isUtcOffset=gc,Bt.isUtc=pi,Bt.isUTC=pi,Bt.zoneAbbr=ch,Bt.zoneName=fh,Bt.dates=tt("dates accessor is deprecated. Use date instead.",Ec),Bt.months=tt("months accessor is deprecated. Use month instead",Ya),Bt.years=tt("years accessor is deprecated. Use year instead",Tu),Bt.zone=tt("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",fi),Bt.isDSTShifted=tt("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",mc);function tn(T){return mn(T*1e3)}function $o(){return mn.apply(null,arguments).parseZone()}function Gs(T){return T}var yn=oe.prototype;yn.calendar=Se,yn.longDateFormat=Dr,yn.invalidDate=tr,yn.ordinal=lr,yn.preparse=Gs,yn.postformat=Gs,yn.relativeTime=Pt,yn.pastFuture=_t,yn.set=ct,yn.eras=ty,yn.erasParse=ry,yn.erasConvertYear=g0,yn.erasAbbrRegex=sh,yn.erasNameRegex=sa,yn.erasNarrowRegex=Xf,yn.months=i0,yn.monthsShort=Xc,yn.monthsParse=Zo,yn.monthsRegex=Ui,yn.monthsShortRegex=Zc,yn.week=Wp,yn.firstDayOfYear=$f,yn.firstDayOfWeek=Ka,yn.weekdays=Al,yn.weekdaysMin=Eu,yn.weekdaysShort=Ja,yn.weekdaysParse=Zu,yn.weekdaysRegex=Xd,yn.weekdaysShortRegex=Is,yn.weekdaysMinRegex=fc,yn.isPM=Zd,yn.meridiem=nf;function Ta(T,k,M,W){var ee=Ge(),be=A().set(W,k);return ee[M](be,T)}function ed(T,k,M){if(y(T)&&(k=T,T=void 0),T=T||"",k!=null)return Ta(T,k,M,"month");var W,ee=[];for(W=0;W<12;W++)ee[W]=Ta(T,W,M,"month");return ee}function Fs(T,k,M,W){typeof T=="boolean"?(y(k)&&(M=k,k=void 0),k=k||""):(k=T,M=k,T=!1,y(k)&&(M=k,k=void 0),k=k||"");var ee=Ge(),be=T?ee._week.dow:0,ft,ir=[];if(M!=null)return Ta(k,(M+be)%7,W,"day");for(ft=0;ft<7;ft++)ir[ft]=Ta(k,(ft+be)%7,W,"day");return ir}function td(T,k){return ed(T,k,"months")}function bn(T,k){return ed(T,k,"monthsShort")}function tp(T,k,M){return Fs(T,k,M,"weekdays")}function hf(T,k,M){return Fs(T,k,M,"weekdaysShort")}function T0(T,k,M){return Fs(T,k,M,"weekdaysMin")}ne("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(T){var k=T%10,M=Kr(T%100/10)===1?"th":k===1?"st":k===2?"nd":k===3?"rd":"th";return T+M}}),e.lang=tt("moment.lang is deprecated. Use moment.locale instead.",ne),e.langData=tt("moment.langData is deprecated. Use moment.localeData instead.",Ge);var il=Math.abs;function E0(){var T=this._data;return this._milliseconds=il(this._milliseconds),this._days=il(this._days),this._months=il(this._months),T.milliseconds=il(T.milliseconds),T.seconds=il(T.seconds),T.minutes=il(T.minutes),T.hours=il(T.hours),T.months=il(T.months),T.years=il(T.years),this}function ph(T,k,M,W){var ee=io(k,M);return T._milliseconds+=W*ee._milliseconds,T._days+=W*ee._days,T._months+=W*ee._months,T._bubble()}function wc(T,k){return ph(this,T,k,1)}function Er(T,k){return ph(this,T,k,-1)}function mf(T){return T<0?Math.floor(T):Math.ceil(T)}function w0(){var T=this._milliseconds,k=this._days,M=this._months,W=this._data,ee,be,ft,ir,rn;return T>=0&&k>=0&&M>=0||T<=0&&k<=0&&M<=0||(T+=mf(sl(M)+k)*864e5,k=0,M=0),W.milliseconds=T%1e3,ee=ci(T/1e3),W.seconds=ee%60,be=ci(ee/60),W.minutes=be%60,ft=ci(be/60),W.hours=ft%24,k+=ci(ft/24),rn=ci(nu(k)),M+=rn,k-=mf(sl(rn)),ir=ci(M/12),M%=12,W.days=k,W.months=M,W.years=ir,this}function nu(T){return T*4800/146097}function sl(T){return T*146097/4800}function rd(T){if(!this.isValid())return NaN;var k,M,W=this._milliseconds;if(T=me(T),T==="month"||T==="quarter"||T==="year")switch(k=this._days+W/864e5,M=this._months+nu(k),T){case"month":return M;case"quarter":return M/3;case"year":return M/12}else switch(k=this._days+Math.round(sl(this._months)),T){case"week":return k/7+W/6048e5;case"day":return k+W/864e5;case"hour":return k*24+W/36e5;case"minute":return k*1440+W/6e4;case"second":return k*86400+W/1e3;case"millisecond":return Math.floor(k*864e5)+W;default:throw new Error("Unknown unit "+T)}}function Na(T){return function(){return this.as(T)}}var rp=Na("ms"),b0=Na("s"),Bl=Na("m"),nd=Na("h"),yf=Na("d"),np=Na("w"),Ou=Na("M"),ol=Na("Q"),id=Na("y"),gf=rp;function oa(){return io(this)}function Ai(T){return T=me(T),this.isValid()?this[T+"s"]():NaN}function Si(T){return function(){return this.isValid()?this._data[T]:NaN}}var dh=Si("milliseconds"),Fa=Si("seconds"),oy=Si("minutes"),ip=Si("hours"),P0=Si("days"),Eg=Si("months"),D0=Si("years");function hh(){return ci(this.days()/7)}var iu=Math.round,bc={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function sp(T,k,M,W,ee){return ee.relativeTime(k||1,!!M,T,W)}function ay(T,k,M,W){var ee=io(T).abs(),be=iu(ee.as("s")),ft=iu(ee.as("m")),ir=iu(ee.as("h")),rn=iu(ee.as("d")),ti=iu(ee.as("M")),Vo=iu(ee.as("w")),Ra=iu(ee.as("y")),Es=be<=M.ss&&["s",be]||be<M.s&&["ss",be]||ft<=1&&["m"]||ft<M.m&&["mm",ft]||ir<=1&&["h"]||ir<M.h&&["hh",ir]||rn<=1&&["d"]||rn<M.d&&["dd",rn];return M.w!=null&&(Es=Es||Vo<=1&&["w"]||Vo<M.w&&["ww",Vo]),Es=Es||ti<=1&&["M"]||ti<M.M&&["MM",ti]||Ra<=1&&["y"]||["yy",Ra],Es[2]=k,Es[3]=+T>0,Es[4]=W,sp.apply(null,Es)}function uy(T){return T===void 0?iu:typeof T=="function"?(iu=T,!0):!1}function sd(T,k){return bc[T]===void 0?!1:k===void 0?bc[T]:(bc[T]=k,T==="s"&&(bc.ss=k-1),!0)}function wg(T,k){if(!this.isValid())return this.localeData().invalidDate();var M=!1,W=bc,ee,be;return typeof T=="object"&&(k=T,T=!1),typeof T=="boolean"&&(M=T),typeof k=="object"&&(W=Object.assign({},bc,k),k.s!=null&&k.ss==null&&(W.ss=k.s-1)),ee=this.localeData(),be=ay(this,!M,W,ee),M&&(be=ee.pastFuture(+this,be)),ee.postformat(be)}var mh=Math.abs;function Pc(T){return(T>0)-(T<0)||+T}function Ho(){if(!this.isValid())return this.localeData().invalidDate();var T=mh(this._milliseconds)/1e3,k=mh(this._days),M=mh(this._months),W,ee,be,ft,ir=this.asSeconds(),rn,ti,Vo,Ra;return ir?(W=ci(T/60),ee=ci(W/60),T%=60,W%=60,be=ci(M/12),M%=12,ft=T?T.toFixed(3).replace(/\.?0+$/,""):"",rn=ir<0?"-":"",ti=Pc(this._months)!==Pc(ir)?"-":"",Vo=Pc(this._days)!==Pc(ir)?"-":"",Ra=Pc(this._milliseconds)!==Pc(ir)?"-":"",rn+"P"+(be?ti+be+"Y":"")+(M?ti+M+"M":"")+(k?Vo+k+"D":"")+(ee||W||T?"T":"")+(ee?Ra+ee+"H":"")+(W?Ra+W+"M":"")+(T?Ra+ft+"S":"")):"P0D"}var In=el.prototype;In.isValid=Gp,In.abs=E0,In.add=wc,In.subtract=Er,In.as=rd,In.asMilliseconds=rp,In.asSeconds=b0,In.asMinutes=Bl,In.asHours=nd,In.asDays=yf,In.asWeeks=np,In.asMonths=Ou,In.asQuarters=ol,In.asYears=id,In.valueOf=gf,In._bubble=w0,In.clone=oa,In.get=Ai,In.milliseconds=dh,In.seconds=Fa,In.minutes=oy,In.hours=ip,In.days=P0,In.weeks=hh,In.months=Eg,In.years=D0,In.humanize=wg,In.toISOString=Ho,In.toString=Ho,In.toJSON=Ho,In.locale=h0,In.localeData=m0,In.toIsoString=tt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ho),In.lang=eu,at("X",0,0,"unix"),at("x",0,0,"valueOf"),bt("x",Xe),bt("X",jt),En("X",function(T,k,M){M._d=new Date(parseFloat(T)*1e3)}),En("x",function(T,k,M){M._d=new Date(Kr(T))});return e.version="2.30.1",n(mn),e.fn=Bt,e.min=Aa,e.max=zp,e.now=Vf,e.utc=A,e.unix=tn,e.months=td,e.isDate=m,e.locale=ne,e.invalid=j,e.duration=io,e.isMoment=Fe,e.weekdays=tp,e.parseZone=$o,e.localeData=Ge,e.isDuration=Sa,e.monthsShort=bn,e.weekdaysMin=T0,e.defineLocale=ke,e.updateLocale=Ze,e.locales=lt,e.weekdaysShort=hf,e.normalizeUnits=me,e.relativeTimeRounding=uy,e.relativeTimeThreshold=sd,e.calendarFormat=cv,e.prototype=Bt,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e})});function $y(){return!process.stdout.isTTY||process.env.FORCE_NON_TTY==="1"}function Eb({prefix:t="cli"}){return Ps.default.createElement(Ss.Text,{color:"grey"},"[",t,"]")}function ss(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[31m[\u2718] \x1B[0m${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"red"},"[\u2718] "),t));n()}function uS(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[32m[\u2714] \x1B[0m${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"green"},"[\u2714] "),t));n()}function vm(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m \x1B[33mWARNING:\x1B[0m ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"orange"},"\u2757\uFE0F "),t));n()}function X$(t){if($y()){console.log(t);return}let{unmount:e}=(0,Ss.render)(Ps.default.createElement(Ss.Text,{color:"cyan"},t));e()}function Wr(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[37m ${t}\x1B[0m`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,{color:"white"},Ps.default.createElement(Eb,{prefix:e}),t));n()}function aO({timestamp:t}){return Ps.default.createElement(Ss.Box,{width:13},Ps.default.createElement(Ss.Text,{color:"grey"},(0,aS.default)(t).format("HH:mm:ss.SSS")))}function Z$(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white"},t)));n()}function Q$(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} [WARNING] ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white",backgroundColor:"yellow"},"[WARNING]"),Ps.default.createElement(Ss.Text,null," ",t)));n()}function uO(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} [ERROR] ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white",backgroundColor:"red"},"[ERROR]"),Ps.default.createElement(Ss.Text,{color:"white"}," ",t)));n()}var Ss,Ps,aS,Hu=mt(()=>{Ss=cr(Tb()),Ps=cr(Xs()),aS=cr(J$())});var tH,eH=mt(()=>{tH={name:"edgeone",version:"1.4.4",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/templates","./edgeone-dist/pages/dev/runner-worker.js"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build",prepublishOnly:"npm run build",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.2",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}}});function VPe(){var t,e;return{run_id:HPe,cli_version:(e=(t=tH)==null?void 0:t.version)!=null?e:"unknown",node_version:process.version,os_platform:cO.default.platform(),os_arch:cO.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function WPe(t,e){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:t,value:JSON.stringify(e)}))}catch{}}function Wa(t){var n;let e={...VPe(),...t};WPe((n=e.event_name)!=null?n:"unknown",e)}function kp(t){if(t==null)return{message:"unknown error",stack:""};if(typeof t=="string")return{message:wb(t,lO),stack:""};if(typeof t=="object"){let e=t,n=wb(typeof e.message=="string"?e.message:String(e),lO),o=wb(typeof e.stack=="string"?e.stack:"",zPe);return{message:n,stack:o}}return{message:wb(String(t),lO),stack:""}}function wb(t,e){return t.length>e?t.slice(0,e)+"\u2026[truncated]":t}var cO,Ha,Va,HPe,fO,lO,zPe,xm=mt(()=>{cO=cr(require("os"));eH();Ha={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},Va={SUCCESS:"success",FAIL:"fail",START:"start"},HPe=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;fO=(t,e)=>{let n=kp(e);Wa({event_name:"error",event_scope:Ha.COMMAND,event_result:Va.FAIL,error_message:`${t} ${n.message}`.trim(),error_stack:n.stack})},lO=500,zPe=2e3});var lS,l2,pO=mt(()=>{lS={NEXTJS:"nextjs",NUXTJS:"nuxtjs",ASTRO:"astro",UNKNOWN:"unknown"},l2={FRAMEWORK_DETECT:"framework_detect",PLUGIN_RESOLVE:"plugin_resolve",PLUGIN_LOAD:"plugin_load",PLUGIN_HOOK:"plugin_hook",CONFIG_LOAD:"config_load"}});function KPe(t){if((t==null?void 0:t.code)===YPe)return!0;let e=typeof t=="string"?t:t==null?void 0:t.message;return e==null?void 0:e.includes(GPe)}async function cS(t=!1){try{let e=await Sj(t);return Wa({event_name:"Config:Load:Success",event_scope:Ha.LOCAL_FLOW,event_phase:l2.CONFIG_LOAD,event_result:Va.SUCCESS,has_build_command:(e==null?void 0:e.buildCommand)!=null,has_install_command:(e==null?void 0:e.installCommand)!=null,has_output_directory:(e==null?void 0:e.outputDirectory)!=null,has_node_version:(e==null?void 0:e.nodeVersion)!=null}),e}catch(e){let n=kp(e);if(Wa({event_name:"Config:Load:Fail",event_scope:Ha.LOCAL_FLOW,event_phase:l2.CONFIG_LOAD,event_result:Va.FAIL,error_message:n.message}),KPe(e))throw e;return bp()&&console.error("%c [ error ]-80","font-size:13px; background:pink; color:#bf2c9f;",e),null}}var GPe,YPe,rH=mt(()=>{Iw();ww();xm();pO();GPe="[BLOCKING_CONFIG_ERROR]",YPe="BLOCKING_CONFIG_ERROR"});var nH,qc,dO=mt(()=>{nH=[{funcName:"onRequestGet",method:"GET"},{funcName:"onRequestPost",method:"POST"},{funcName:"onRequestDelete",method:"DELETE"},{funcName:"onRequestPatch",method:"PATCH"},{funcName:"onRequestPut",method:"PUT"},{funcName:"onRequestHead",method:"HEAD"},{funcName:"onRequestOptions",method:"OPTIONS"}],qc=["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]});async function JPe(t){let e;bb.default.statSync(t).isFile()?e=c2.default.resolve(c2.default.dirname(t)):e=t;let n=c2.default.parse(e).root;if(e===n)return null;for(;e!==n;){let o=c2.default.join(e,"package.json");try{return await bb.default.promises.access(o),o}catch{if(e=c2.default.dirname(e),e===n)break}}return null}async function Pb(t){if(t.endsWith(".mjs"))return"esm";if(t.endsWith(".cjs"))return"commonjs";try{let e=await JPe(t);if(e&&JSON.parse(await bb.default.promises.readFile(e,"utf-8")).type==="module")return"esm"}catch(e){console.warn("Failed to read package.json:",e)}return"commonjs"}var bb,c2,Db=mt(()=>{bb=cr(require("fs")),c2=cr(require("path"))});function QPe(t){let e=hO.default.extname(t);return ZPe[e]||"ts"}async function sH(t,e,n,o){let u=`mod_${eDe++}`,f=(await iH.default.build({stdin:{contents:t,loader:QPe(n),resolveDir:hO.default.dirname(n)},write:!1,bundle:!0,format:"esm",platform:"node",target:"node14",minify:!1,resolveExtensions:[".ts",".js",".mjs",".json"],nodePaths:[process.cwd()],absWorkingDir:process.cwd(),external:(o==null?void 0:o.externalModules)||[]})).outputFiles[0].text,p=[];f=f.replace(/^import\s+[^'"]*['"][^'"]*['"]\s*;?\n/gm,C=>(p.push(C),"")),f=f.replace(/export (async )?function/g,"$1function"),f=f.replace(/export const/g,"const"),f=f.replace(/export let/g,"let"),f=f.replace(/export var/g,"var"),f=f.replace(/export default/g,""),f=f.replace(/export \{[^}]+\};?/g,""),f=f.replace(/export class/g,"class");let y=/const\s+app\s*=/.test(f),m=`${p.join(`
144
+ `+new Error().stack),M=!1}return k.apply(this,arguments)},k)}var Le={};function Ct(T,k){e.deprecationHandler!=null&&e.deprecationHandler(T,k),Le[T]||(He(k),Le[T]=!0)}e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;function gt(T){return typeof Function<"u"&&T instanceof Function||Object.prototype.toString.call(T)==="[object Function]"}function ct(T){var k,M;for(M in T)r(T,M)&&(k=T[M],gt(k)?this[M]=k:this["_"+M]=k);this._config=T,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function qe(T,k){var M=C({},T),W;for(W in k)r(k,W)&&(u(T[W])&&u(k[W])?(M[W]={},C(M[W],T[W]),C(M[W],k[W])):k[W]!=null?M[W]=k[W]:delete M[W]);for(W in T)r(T,W)&&!r(k,W)&&u(T[W])&&(M[W]=C({},M[W]));return M}function oe(T){T!=null&&this.set(T)}var Ae;Object.keys?Ae=Object.keys:Ae=function(T){var k,M=[];for(k in T)r(T,k)&&M.push(k);return M};var Ke={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function Se(T,k,M){var W=this._calendar[T]||this._calendar.sameElse;return gt(W)?W.call(k,M):W}function we(T,k,M){var W=""+Math.abs(T),ee=k-W.length,be=T>=0;return(be?M?"+":"":"-")+Math.pow(10,Math.max(0,ee)).toString().substr(1)+W}var Oe=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ut=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Lt={},er={};function at(T,k,M,W){var ee=W;typeof W=="string"&&(ee=function(){return this[W]()}),T&&(er[T]=ee),k&&(er[k[0]]=function(){return we(ee.apply(this,arguments),k[1],k[2])}),M&&(er[M]=function(){return this.localeData().ordinal(ee.apply(this,arguments),T)})}function zt(T){return T.match(/\[[\s\S]/)?T.replace(/^\[|\]$/g,""):T.replace(/\\/g,"")}function Ie(T){var k=T.match(Oe),M,W;for(M=0,W=k.length;M<W;M++)er[k[M]]?k[M]=er[k[M]]:k[M]=zt(k[M]);return function(ee){var be="",ft;for(ft=0;ft<W;ft++)be+=gt(k[ft])?k[ft].call(ee,T):k[ft];return be}}function Qe(T,k){return T.isValid()?(k=st(k,T.localeData()),Lt[k]=Lt[k]||Ie(k),Lt[k](T)):T.localeData().invalidDate()}function st(T,k){var M=5;function W(ee){return k.longDateFormat(ee)||ee}for(ut.lastIndex=0;M>=0&&ut.test(T);)T=T.replace(ut,W),ut.lastIndex=0,M-=1;return T}var $t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Dr(T){var k=this._longDateFormat[T],M=this._longDateFormat[T.toUpperCase()];return k||!M?k:(this._longDateFormat[T]=M.match(Oe).map(function(W){return W==="MMMM"||W==="MM"||W==="DD"||W==="dddd"?W.slice(1):W}).join(""),this._longDateFormat[T])}var ar="Invalid date";function tr(){return this._invalidDate}var P="%d",Xt=/\d{1,2}/;function lr(T){return this._ordinal.replace("%d",T)}var Bn={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Pt(T,k,M,W){var ee=this._relativeTime[M];return gt(ee)?ee(T,k,M,W):ee.replace(/%d/i,T)}function _t(T,k){var M=this._relativeTime[T>0?"future":"past"];return gt(M)?M(k):M.replace(/%s/i,k)}var Yt={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function me(T){return typeof T=="string"?Yt[T]||Yt[T.toLowerCase()]:void 0}function ze(T){var k={},M,W;for(W in T)r(T,W)&&(M=me(W),M&&(k[M]=T[W]));return k}var kt={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function Ht(T){var k=[],M;for(M in T)r(T,M)&&k.push({unit:M,priority:kt[M]});return k.sort(function(W,ee){return W.priority-ee.priority}),k}var Rr=/\d/,Lr=/\d\d/,Rn=/\d{3}/,kn=/\d{4}/,Vn=/[+-]?\d{6}/,dn=/\d\d?/,wo=/\d\d\d\d?/,Bo=/\d\d\d\d\d\d?/,Yi=/\d{1,3}/,bo=/\d{1,4}/,_u=/[+-]?\d{1,6}/,Da=/\d+/,Xe=/[+-]?\d+/,wt=/Z|[+-]\d\d:?\d\d/gi,vt=/Z|[+-]\d\d(?::?\d\d)?/gi,jt=/[+-]?\d+(\.\d{1,3})?/,Pr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,dr=/^[1-9]\d?/,Tn=/^([1-9]\d|\d)/,li;li={};function bt(T,k,M){li[T]=gt(k)?k:function(W,ee){return W&&M?M:k}}function gi(T,k){return r(li,T)?li[T](k._strict,k._locale):new RegExp(ls(T))}function ls(T){return vi(T.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(k,M,W,ee,be){return M||W||ee||be}))}function vi(T){return T.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ci(T){return T<0?Math.ceil(T)||0:Math.floor(T)}function Kr(T){var k=+T,M=0;return k!==0&&isFinite(k)&&(M=ci(k)),M}var As={};function En(T,k){var M,W=k,ee;for(typeof T=="string"&&(T=[T]),y(k)&&(W=function(be,ft){ft[k]=Kr(be)}),ee=T.length,M=0;M<ee;M++)As[T[M]]=W}function rs(T,k){En(T,function(M,W,ee,be){ee._w=ee._w||{},k(M,ee._w,ee,be)})}function Su(T,k,M){k!=null&&r(As,T)&&As[T](k,M._a,M,T)}function Bs(T){return T%4===0&&T%100!==0||T%400===0}var Zt=0,co=1,Ws=2,cs=3,fo=4,zs=5,Ts=6,Pl=7,za=8;at("Y",0,0,function(){var T=this.year();return T<=9999?we(T,4):"+"+T}),at(0,["YY",2],0,function(){return this.year()%100}),at(0,["YYYY",4],0,"year"),at(0,["YYYYY",5],0,"year"),at(0,["YYYYYY",6,!0],0,"year"),bt("Y",Xe),bt("YY",dn,Lr),bt("YYYY",bo,kn),bt("YYYYY",_u,Vn),bt("YYYYYY",_u,Vn),En(["YYYYY","YYYYYY"],Zt),En("YYYY",function(T,k){k[Zt]=T.length===2?e.parseTwoDigitYear(T):Kr(T)}),En("YY",function(T,k){k[Zt]=e.parseTwoDigitYear(T)}),En("Y",function(T,k){k[Zt]=parseInt(T,10)});function pa(T){return Bs(T)?366:365}e.parseTwoDigitYear=function(T){return Kr(T)+(Kr(T)>68?1900:2e3)};var Tu=zr("FullYear",!0);function ac(){return Bs(this.year())}function zr(T,k){return function(M){return M!=null?(Dl(this,T,M),e.updateOffset(this,k),this):Ku(this,T)}}function Ku(T,k){if(!T.isValid())return NaN;var M=T._d,W=T._isUTC;switch(k){case"Milliseconds":return W?M.getUTCMilliseconds():M.getMilliseconds();case"Seconds":return W?M.getUTCSeconds():M.getSeconds();case"Minutes":return W?M.getUTCMinutes():M.getMinutes();case"Hours":return W?M.getUTCHours():M.getHours();case"Date":return W?M.getUTCDate():M.getDate();case"Day":return W?M.getUTCDay():M.getDay();case"Month":return W?M.getUTCMonth():M.getMonth();case"FullYear":return W?M.getUTCFullYear():M.getFullYear();default:return NaN}}function Dl(T,k,M){var W,ee,be,ft,ir;if(!(!T.isValid()||isNaN(M))){switch(W=T._d,ee=T._isUTC,k){case"Milliseconds":return void(ee?W.setUTCMilliseconds(M):W.setMilliseconds(M));case"Seconds":return void(ee?W.setUTCSeconds(M):W.setSeconds(M));case"Minutes":return void(ee?W.setUTCMinutes(M):W.setMinutes(M));case"Hours":return void(ee?W.setUTCHours(M):W.setHours(M));case"Date":return void(ee?W.setUTCDate(M):W.setDate(M));case"FullYear":break;default:return}be=M,ft=T.month(),ir=T.date(),ir=ir===29&&ft===1&&!Bs(be)?28:ir,ee?W.setUTCFullYear(be,ft,ir):W.setFullYear(be,ft,ir)}}function Ga(T){return T=me(T),gt(this[T])?this[T]():this}function Ki(T,k){if(typeof T=="object"){T=ze(T);var M=Ht(T),W,ee=M.length;for(W=0;W<ee;W++)this[M[W].unit](T[M[W].unit])}else if(T=me(T),gt(this[T]))return this[T](k);return this}function Li(T,k){return(T%k+k)%k}var Pi;Array.prototype.indexOf?Pi=Array.prototype.indexOf:Pi=function(T){var k;for(k=0;k<this.length;++k)if(this[k]===T)return k;return-1};function ks(T,k){if(isNaN(T)||isNaN(k))return NaN;var M=Li(k,12);return T+=(k-M)/12,M===1?Bs(T)?29:28:31-M%7%2}at("M",["MM",2],"Mo",function(){return this.month()+1}),at("MMM",0,0,function(T){return this.localeData().monthsShort(this,T)}),at("MMMM",0,0,function(T){return this.localeData().months(this,T)}),bt("M",dn,dr),bt("MM",dn,Lr),bt("MMM",function(T,k){return k.monthsShortRegex(T)}),bt("MMMM",function(T,k){return k.monthsRegex(T)}),En(["M","MM"],function(T,k){k[co]=Kr(T)-1}),En(["MMM","MMMM"],function(T,k,M,W){var ee=M._locale.monthsParse(T,W,M._strict);ee!=null?k[co]=ee:v(M).invalidMonth=T});var po="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),da="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),jo=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,ho=Pr,uc=Pr;function i0(T,k){return T?o(this._months)?this._months[T.month()]:this._months[(this._months.isFormat||jo).test(k)?"format":"standalone"][T.month()]:o(this._months)?this._months:this._months.standalone}function Xc(T,k){return T?o(this._monthsShort)?this._monthsShort[T.month()]:this._monthsShort[jo.test(k)?"format":"standalone"][T.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function lc(T,k,M){var W,ee,be,ft=T.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],W=0;W<12;++W)be=A([2e3,W]),this._shortMonthsParse[W]=this.monthsShort(be,"").toLocaleLowerCase(),this._longMonthsParse[W]=this.months(be,"").toLocaleLowerCase();return M?k==="MMM"?(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:null):(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:null):k==="MMM"?(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:null)):(ee=Pi.call(this._longMonthsParse,ft),ee!==-1?ee:(ee=Pi.call(this._shortMonthsParse,ft),ee!==-1?ee:null))}function Zo(T,k,M){var W,ee,be;if(this._monthsParseExact)return lc.call(this,T,k,M);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),W=0;W<12;W++){if(ee=A([2e3,W]),M&&!this._longMonthsParse[W]&&(this._longMonthsParse[W]=new RegExp("^"+this.months(ee,"").replace(".","")+"$","i"),this._shortMonthsParse[W]=new RegExp("^"+this.monthsShort(ee,"").replace(".","")+"$","i")),!M&&!this._monthsParse[W]&&(be="^"+this.months(ee,"")+"|^"+this.monthsShort(ee,""),this._monthsParse[W]=new RegExp(be.replace(".",""),"i")),M&&k==="MMMM"&&this._longMonthsParse[W].test(T))return W;if(M&&k==="MMM"&&this._shortMonthsParse[W].test(T))return W;if(!M&&this._monthsParse[W].test(T))return W}}function At(T,k){if(!T.isValid())return T;if(typeof k=="string"){if(/^\d+$/.test(k))k=Kr(k);else if(k=T.localeData().monthsParse(k),!y(k))return T}var M=k,W=T.date();return W=W<29?W:Math.min(W,ks(T.year(),M)),T._isUTC?T._d.setUTCMonth(M,W):T._d.setMonth(M,W),T}function Ya(T){return T!=null?(At(this,T),e.updateOffset(this,!0),this):Ku(this,"Month")}function s0(){return ks(this.year(),this.month())}function Zc(T){return this._monthsParseExact?(r(this,"_monthsRegex")||Ju.call(this),T?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=ho),this._monthsShortStrictRegex&&T?this._monthsShortStrictRegex:this._monthsShortRegex)}function Ui(T){return this._monthsParseExact?(r(this,"_monthsRegex")||Ju.call(this),T?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=uc),this._monthsStrictRegex&&T?this._monthsStrictRegex:this._monthsRegex)}function Ju(){function T(rn,ti){return ti.length-rn.length}var k=[],M=[],W=[],ee,be,ft,ir;for(ee=0;ee<12;ee++)be=A([2e3,ee]),ft=vi(this.monthsShort(be,"")),ir=vi(this.months(be,"")),k.push(ft),M.push(ir),W.push(ir),W.push(ft);k.sort(T),M.sort(T),W.sort(T),this._monthsRegex=new RegExp("^("+W.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+M.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+k.join("|")+")","i")}function Gd(T,k,M,W,ee,be,ft){var ir;return T<100&&T>=0?(ir=new Date(T+400,k,M,W,ee,be,ft),isFinite(ir.getFullYear())&&ir.setFullYear(T)):ir=new Date(T,k,M,W,ee,be,ft),ir}function Uf(T){var k,M;return T<100&&T>=0?(M=Array.prototype.slice.call(arguments),M[0]=T+400,k=new Date(Date.UTC.apply(null,M)),isFinite(k.getUTCFullYear())&&k.setUTCFullYear(T)):k=new Date(Date.UTC.apply(null,arguments)),k}function Cl(T,k,M){var W=7+k-M,ee=(7+Uf(T,0,W).getUTCDay()-k)%7;return-ee+W-1}function Vp(T,k,M,W,ee){var be=(7+M-W)%7,ft=Cl(T,W,ee),ir=1+7*(k-1)+be+ft,rn,ti;return ir<=0?(rn=T-1,ti=pa(rn)+ir):ir>pa(T)?(rn=T+1,ti=ir-pa(T)):(rn=T,ti=ir),{year:rn,dayOfYear:ti}}function Kt(T,k,M){var W=Cl(T.year(),k,M),ee=Math.floor((T.dayOfYear()-W-1)/7)+1,be,ft;return ee<1?(ft=T.year()-1,be=ee+Di(ft,k,M)):ee>Di(T.year(),k,M)?(be=ee-Di(T.year(),k,M),ft=T.year()+1):(ft=T.year(),be=ee),{week:be,year:ft}}function Di(T,k,M){var W=Cl(T,k,M),ee=Cl(T+1,k,M);return(pa(T)-W+ee)/7}at("w",["ww",2],"wo","week"),at("W",["WW",2],"Wo","isoWeek"),bt("w",dn,dr),bt("ww",dn,Lr),bt("W",dn,dr),bt("WW",dn,Lr),rs(["w","ww","W","WW"],function(T,k,M,W){k[W.substr(0,1)]=Kr(T)});function Wp(T){return Kt(T,this._week.dow,this._week.doy).week}var cc={dow:0,doy:6};function Ka(){return this._week.dow}function $f(){return this._week.doy}function o0(T){var k=this.localeData().week(this);return T==null?k:this.add((T-k)*7,"d")}function Yd(T){var k=Kt(this,1,4).week;return T==null?k:this.add((T-k)*7,"d")}at("d",0,"do","day"),at("dd",0,0,function(T){return this.localeData().weekdaysMin(this,T)}),at("ddd",0,0,function(T){return this.localeData().weekdaysShort(this,T)}),at("dddd",0,0,function(T){return this.localeData().weekdays(this,T)}),at("e",0,0,"weekday"),at("E",0,0,"isoWeekday"),bt("d",dn),bt("e",dn),bt("E",dn),bt("dd",function(T,k){return k.weekdaysMinRegex(T)}),bt("ddd",function(T,k){return k.weekdaysShortRegex(T)}),bt("dddd",function(T,k){return k.weekdaysRegex(T)}),rs(["dd","ddd","dddd"],function(T,k,M,W){var ee=M._locale.weekdaysParse(T,W,M._strict);ee!=null?k.d=ee:v(M).invalidWeekday=T}),rs(["d","e","E"],function(T,k,M,W){k[W]=Kr(T)});function a0(T,k){return typeof T!="string"?T:isNaN(T)?(T=k.weekdaysParse(T),typeof T=="number"?T:null):parseInt(T,10)}function ha(T,k){return typeof T=="string"?k.weekdaysParse(T)%7||7:isNaN(T)?null:T}function ma(T,k){return T.slice(k,7).concat(T.slice(0,k))}var Kd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Jd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Qc="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qo=Pr,ef=Pr,ya=Pr;function Al(T,k){var M=o(this._weekdays)?this._weekdays:this._weekdays[T&&T!==!0&&this._weekdays.isFormat.test(k)?"format":"standalone"];return T===!0?ma(M,this._week.dow):T?M[T.day()]:M}function Ja(T){return T===!0?ma(this._weekdaysShort,this._week.dow):T?this._weekdaysShort[T.day()]:this._weekdaysShort}function Eu(T){return T===!0?ma(this._weekdaysMin,this._week.dow):T?this._weekdaysMin[T.day()]:this._weekdaysMin}function Xu(T,k,M){var W,ee,be,ft=T.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],W=0;W<7;++W)be=A([2e3,1]).day(W),this._minWeekdaysParse[W]=this.weekdaysMin(be,"").toLocaleLowerCase(),this._shortWeekdaysParse[W]=this.weekdaysShort(be,"").toLocaleLowerCase(),this._weekdaysParse[W]=this.weekdays(be,"").toLocaleLowerCase();return M?k==="dddd"?(ee=Pi.call(this._weekdaysParse,ft),ee!==-1?ee:null):k==="ddd"?(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1?ee:null):(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null):k==="dddd"?(ee=Pi.call(this._weekdaysParse,ft),ee!==-1||(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null)):k==="ddd"?(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1||(ee=Pi.call(this._weekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1?ee:null)):(ee=Pi.call(this._minWeekdaysParse,ft),ee!==-1||(ee=Pi.call(this._weekdaysParse,ft),ee!==-1)?ee:(ee=Pi.call(this._shortWeekdaysParse,ft),ee!==-1?ee:null))}function Zu(T,k,M){var W,ee,be;if(this._weekdaysParseExact)return Xu.call(this,T,k,M);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),W=0;W<7;W++){if(ee=A([2e3,1]).day(W),M&&!this._fullWeekdaysParse[W]&&(this._fullWeekdaysParse[W]=new RegExp("^"+this.weekdays(ee,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[W]=new RegExp("^"+this.weekdaysShort(ee,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[W]=new RegExp("^"+this.weekdaysMin(ee,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[W]||(be="^"+this.weekdays(ee,"")+"|^"+this.weekdaysShort(ee,"")+"|^"+this.weekdaysMin(ee,""),this._weekdaysParse[W]=new RegExp(be.replace(".",""),"i")),M&&k==="dddd"&&this._fullWeekdaysParse[W].test(T))return W;if(M&&k==="ddd"&&this._shortWeekdaysParse[W].test(T))return W;if(M&&k==="dd"&&this._minWeekdaysParse[W].test(T))return W;if(!M&&this._weekdaysParse[W].test(T))return W}}function ys(T){if(!this.isValid())return T!=null?this:NaN;var k=Ku(this,"Day");return T!=null?(T=a0(T,this.localeData()),this.add(T-k,"d")):k}function hn(T){if(!this.isValid())return T!=null?this:NaN;var k=(this.day()+7-this.localeData()._week.dow)%7;return T==null?k:this.add(T-k,"d")}function wu(T){if(!this.isValid())return T!=null?this:NaN;if(T!=null){var k=ha(T,this.localeData());return this.day(this.day()%7?k:k-7)}else return this.day()||7}function Xd(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=qo),this._weekdaysStrictRegex&&T?this._weekdaysStrictRegex:this._weekdaysRegex)}function Is(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ef),this._weekdaysShortStrictRegex&&T?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function fc(T){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||pc.call(this),T?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ya),this._weekdaysMinStrictRegex&&T?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function pc(){function T(Vo,Ra){return Ra.length-Vo.length}var k=[],M=[],W=[],ee=[],be,ft,ir,rn,ti;for(be=0;be<7;be++)ft=A([2e3,1]).day(be),ir=vi(this.weekdaysMin(ft,"")),rn=vi(this.weekdaysShort(ft,"")),ti=vi(this.weekdays(ft,"")),k.push(ir),M.push(rn),W.push(ti),ee.push(ir),ee.push(rn),ee.push(ti);k.sort(T),M.sort(T),W.sort(T),ee.sort(T),this._weekdaysRegex=new RegExp("^("+ee.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+W.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+M.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+k.join("|")+")","i")}function ga(){return this.hours()%12||12}function tf(){return this.hours()||24}at("H",["HH",2],0,"hour"),at("h",["hh",2],0,ga),at("k",["kk",2],0,tf),at("hmm",0,0,function(){return""+ga.apply(this)+we(this.minutes(),2)}),at("hmmss",0,0,function(){return""+ga.apply(this)+we(this.minutes(),2)+we(this.seconds(),2)}),at("Hmm",0,0,function(){return""+this.hours()+we(this.minutes(),2)}),at("Hmmss",0,0,function(){return""+this.hours()+we(this.minutes(),2)+we(this.seconds(),2)});function mo(T,k){at(T,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),k)})}mo("a",!0),mo("A",!1);function rf(T,k){return k._meridiemParse}bt("a",rf),bt("A",rf),bt("H",dn,Tn),bt("h",dn,dr),bt("k",dn,dr),bt("HH",dn,Lr),bt("hh",dn,Lr),bt("kk",dn,Lr),bt("hmm",wo),bt("hmmss",Bo),bt("Hmm",wo),bt("Hmmss",Bo),En(["H","HH"],cs),En(["k","kk"],function(T,k,M){var W=Kr(T);k[cs]=W===24?0:W}),En(["a","A"],function(T,k,M){M._isPm=M._locale.isPM(T),M._meridiem=T}),En(["h","hh"],function(T,k,M){k[cs]=Kr(T),v(M).bigHour=!0}),En("hmm",function(T,k,M){var W=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W)),v(M).bigHour=!0}),En("hmmss",function(T,k,M){var W=T.length-4,ee=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W,2)),k[zs]=Kr(T.substr(ee)),v(M).bigHour=!0}),En("Hmm",function(T,k,M){var W=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W))}),En("Hmmss",function(T,k,M){var W=T.length-4,ee=T.length-2;k[cs]=Kr(T.substr(0,W)),k[fo]=Kr(T.substr(W,2)),k[zs]=Kr(T.substr(ee))});function Zd(T){return(T+"").toLowerCase().charAt(0)==="p"}var Ca=/[ap]\.?m?\.?/i,Qo=zr("Hours",!0);function nf(T,k,M){return T>11?M?"pm":"PM":M?"am":"AM"}var kl={calendar:Ke,longDateFormat:$t,invalidDate:ar,ordinal:P,dayOfMonthOrdinalParse:Xt,relativeTime:Bn,months:po,monthsShort:da,week:cc,weekdays:Kd,weekdaysMin:Qc,weekdaysShort:Jd,meridiemParse:Ca},ns={},js={},bu;function Hf(T,k){var M,W=Math.min(T.length,k.length);for(M=0;M<W;M+=1)if(T[M]!==k[M])return M;return W}function Xa(T){return T&&T.toLowerCase().replace("_","-")}function Il(T){for(var k=0,M,W,ee,be;k<T.length;){for(be=Xa(T[k]).split("-"),M=be.length,W=Xa(T[k+1]),W=W?W.split("-"):null;M>0;){if(ee=Q(be.slice(0,M).join("-")),ee)return ee;if(W&&W.length>=M&&Hf(be,W)>=M-1)break;M--}k++}return bu}function ie(T){return!!(T&&T.match("^[^/\\\\]*$"))}function Q(T){var k=null,M;if(ns[T]===void 0&&typeof u2<"u"&&u2&&u2.exports&&ie(T))try{k=bu._abbr,M=require,M("./locale/"+T),ne(k)}catch{ns[T]=null}return ns[T]}function ne(T,k){var M;return T&&(p(k)?M=Ge(T):M=ke(T,k),M?bu=M:typeof console<"u"&&console.warn&&console.warn("Locale "+T+" not found. Did you forget to load it?")),bu._abbr}function ke(T,k){if(k!==null){var M,W=kl;if(k.abbr=T,ns[T]!=null)Ct("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),W=ns[T]._config;else if(k.parentLocale!=null)if(ns[k.parentLocale]!=null)W=ns[k.parentLocale]._config;else if(M=Q(k.parentLocale),M!=null)W=M._config;else return js[k.parentLocale]||(js[k.parentLocale]=[]),js[k.parentLocale].push({name:T,config:k}),null;return ns[T]=new oe(qe(W,k)),js[T]&&js[T].forEach(function(ee){ke(ee.name,ee.config)}),ne(T),ns[T]}else return delete ns[T],null}function Ze(T,k){if(k!=null){var M,W,ee=kl;ns[T]!=null&&ns[T].parentLocale!=null?ns[T].set(qe(ns[T]._config,k)):(W=Q(T),W!=null&&(ee=W._config),k=qe(ee,k),W==null&&(k.abbr=T),M=new oe(k),M.parentLocale=ns[T],ns[T]=M),ne(T)}else ns[T]!=null&&(ns[T].parentLocale!=null?(ns[T]=ns[T].parentLocale,T===ne()&&ne(T)):ns[T]!=null&&delete ns[T]);return ns[T]}function Ge(T){var k;if(T&&T._locale&&T._locale._abbr&&(T=T._locale._abbr),!T)return bu;if(!o(T)){if(k=Q(T),k)return k;T=[T]}return Il(T)}function lt(){return Ae(ns)}function pt(T){var k,M=T._a;return M&&v(T).overflow===-2&&(k=M[co]<0||M[co]>11?co:M[Ws]<1||M[Ws]>ks(M[Zt],M[co])?Ws:M[cs]<0||M[cs]>24||M[cs]===24&&(M[fo]!==0||M[zs]!==0||M[Ts]!==0)?cs:M[fo]<0||M[fo]>59?fo:M[zs]<0||M[zs]>59?zs:M[Ts]<0||M[Ts]>999?Ts:-1,v(T)._overflowDayOfYear&&(k<Zt||k>Ws)&&(k=Ws),v(T)._overflowWeeks&&k===-1&&(k=Pl),v(T)._overflowWeekday&&k===-1&&(k=za),v(T).overflow=k),T}var It=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,hr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vn=/Z|[+-]\d\d(?::?\d\d)?/,Wn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],wn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],va=/^\/?Date\((-?\d+)/i,dc=/^(?:(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{4}))$/,ea={UT:0,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 yo(T){var k,M,W=T._i,ee=It.exec(W)||hr.exec(W),be,ft,ir,rn,ti=Wn.length,Vo=wn.length;if(ee){for(v(T).iso=!0,k=0,M=ti;k<M;k++)if(Wn[k][1].exec(ee[1])){ft=Wn[k][0],be=Wn[k][2]!==!1;break}if(ft==null){T._isValid=!1;return}if(ee[3]){for(k=0,M=Vo;k<M;k++)if(wn[k][1].exec(ee[3])){ir=(ee[2]||" ")+wn[k][0];break}if(ir==null){T._isValid=!1;return}}if(!be&&ir!=null){T._isValid=!1;return}if(ee[4])if(vn.exec(ee[4]))rn="Z";else{T._isValid=!1;return}T._f=ft+(ir||"")+(rn||""),Po(T)}else T._isValid=!1}function Zn(T,k,M,W,ee,be){var ft=[Jr(T),da.indexOf(k),parseInt(M,10),parseInt(W,10),parseInt(ee,10)];return be&&ft.push(parseInt(be,10)),ft}function Jr(T){var k=parseInt(T,10);return k<=49?2e3+k:k<=999?1900+k:k}function Cr(T){return T.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Gr(T,k,M){if(T){var W=Jd.indexOf(T),ee=new Date(k[0],k[1],k[2]).getDay();if(W!==ee)return v(M).weekdayMismatch=!0,M._isValid=!1,!1}return!0}function zn(T,k,M){if(T)return ea[T];if(k)return 0;var W=parseInt(M,10),ee=W%100,be=(W-ee)/100;return be*60+ee}function _i(T){var k=dc.exec(Cr(T._i)),M;if(k){if(M=Zn(k[4],k[3],k[2],k[5],k[6],k[7]),!Gr(k[1],M,T))return;T._a=M,T._tzm=zn(k[8],k[9],k[10]),T._d=Uf.apply(null,T._a),T._d.setUTCMinutes(T._d.getUTCMinutes()-T._tzm),v(T).rfc2822=!0}else T._isValid=!1}function Os(T){var k=va.exec(T._i);if(k!==null){T._d=new Date(+k[1]);return}if(yo(T),T._isValid===!1)delete T._isValid;else return;if(_i(T),T._isValid===!1)delete T._isValid;else return;T._strict?T._isValid=!1:e.createFromInputFallback(T)}e.createFromInputFallback=tt("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(T){T._d=new Date(T._i+(T._useUTC?" UTC":""))});function no(T,k,M){return T!=null?T:k!=null?k:M}function Qu(T){var k=new Date(e.now());return T._useUTC?[k.getUTCFullYear(),k.getUTCMonth(),k.getUTCDate()]:[k.getFullYear(),k.getMonth(),k.getDate()]}function qs(T){var k,M,W=[],ee,be,ft;if(!T._d){for(ee=Qu(T),T._w&&T._a[Ws]==null&&T._a[co]==null&&xa(T),T._dayOfYear!=null&&(ft=no(T._a[Zt],ee[Zt]),(T._dayOfYear>pa(ft)||T._dayOfYear===0)&&(v(T)._overflowDayOfYear=!0),M=Uf(ft,0,T._dayOfYear),T._a[co]=M.getUTCMonth(),T._a[Ws]=M.getUTCDate()),k=0;k<3&&T._a[k]==null;++k)T._a[k]=W[k]=ee[k];for(;k<7;k++)T._a[k]=W[k]=T._a[k]==null?k===2?1:0:T._a[k];T._a[cs]===24&&T._a[fo]===0&&T._a[zs]===0&&T._a[Ts]===0&&(T._nextDay=!0,T._a[cs]=0),T._d=(T._useUTC?Uf:Gd).apply(null,W),be=T._useUTC?T._d.getUTCDay():T._d.getDay(),T._tzm!=null&&T._d.setUTCMinutes(T._d.getUTCMinutes()-T._tzm),T._nextDay&&(T._a[cs]=24),T._w&&typeof T._w.d<"u"&&T._w.d!==be&&(v(T).weekdayMismatch=!0)}}function xa(T){var k,M,W,ee,be,ft,ir,rn,ti;k=T._w,k.GG!=null||k.W!=null||k.E!=null?(be=1,ft=4,M=no(k.GG,T._a[Zt],Kt(mn(),1,4).year),W=no(k.W,1),ee=no(k.E,1),(ee<1||ee>7)&&(rn=!0)):(be=T._locale._week.dow,ft=T._locale._week.doy,ti=Kt(mn(),be,ft),M=no(k.gg,T._a[Zt],ti.year),W=no(k.w,ti.week),k.d!=null?(ee=k.d,(ee<0||ee>6)&&(rn=!0)):k.e!=null?(ee=k.e+be,(k.e<0||k.e>6)&&(rn=!0)):ee=be),W<1||W>Di(M,be,ft)?v(T)._overflowWeeks=!0:rn!=null?v(T)._overflowWeekday=!0:(ir=Vp(M,W,ee,be,ft),T._a[Zt]=ir.year,T._dayOfYear=ir.dayOfYear)}e.ISO_8601=function(){},e.RFC_2822=function(){};function Po(T){if(T._f===e.ISO_8601){yo(T);return}if(T._f===e.RFC_2822){_i(T);return}T._a=[],v(T).empty=!0;var k=""+T._i,M,W,ee,be,ft,ir=k.length,rn=0,ti,Vo;for(ee=st(T._f,T._locale).match(Oe)||[],Vo=ee.length,M=0;M<Vo;M++)be=ee[M],W=(k.match(gi(be,T))||[])[0],W&&(ft=k.substr(0,k.indexOf(W)),ft.length>0&&v(T).unusedInput.push(ft),k=k.slice(k.indexOf(W)+W.length),rn+=W.length),er[be]?(W?v(T).empty=!1:v(T).unusedTokens.push(be),Su(be,W,T)):T._strict&&!W&&v(T).unusedTokens.push(be);v(T).charsLeftOver=ir-rn,k.length>0&&v(T).unusedInput.push(k),T._a[cs]<=12&&v(T).bigHour===!0&&T._a[cs]>0&&(v(T).bigHour=void 0),v(T).parsedDateParts=T._a.slice(0),v(T).meridiem=T._meridiem,T._a[cs]=hc(T._locale,T._a[cs],T._meridiem),ti=v(T).era,ti!==null&&(T._a[Zt]=T._locale.erasConvertYear(ti,T._a[Zt])),qs(T),pt(T)}function hc(T,k,M){var W;return M==null?k:T.meridiemHour!=null?T.meridiemHour(k,M):(T.isPM!=null&&(W=T.isPM(M),W&&k<12&&(k+=12),!W&&k===12&&(k=0)),k)}function sf(T){var k,M,W,ee,be,ft,ir=!1,rn=T._f.length;if(rn===0){v(T).invalidFormat=!0,T._d=new Date(NaN);return}for(ee=0;ee<rn;ee++)be=0,ft=!1,k=de({},T),T._useUTC!=null&&(k._useUTC=T._useUTC),k._f=T._f[ee],Po(k),$(k)&&(ft=!0),be+=v(k).charsLeftOver,be+=v(k).unusedTokens.length*10,v(k).score=be,ir?be<W&&(W=be,M=k):(W==null||be<W||ft)&&(W=be,M=k,ft&&(ir=!0));C(T,M||k)}function Pu(T){if(!T._d){var k=ze(T._i),M=k.day===void 0?k.date:k.day;T._a=S([k.year,k.month,M,k.hour,k.minute,k.second,k.millisecond],function(W){return W&&parseInt(W,10)}),qs(T)}}function of(T){var k=new ye(pt(Do(T)));return k._nextDay&&(k.add(1,"d"),k._nextDay=void 0),k}function Do(T){var k=T._i,M=T._f;return T._locale=T._locale||Ge(T._l),k===null||M===void 0&&k===""?j({nullInput:!0}):(typeof k=="string"&&(T._i=k=T._locale.preparse(k)),Fe(k)?new ye(pt(k)):(m(k)?T._d=k:o(M)?sf(T):M?Po(T):Ci(T),$(T)||(T._d=null),T))}function Ci(T){var k=T._i;p(k)?T._d=new Date(e.now()):m(k)?T._d=new Date(k.valueOf()):typeof k=="string"?Os(T):o(k)?(T._a=S(k.slice(0),function(M){return parseInt(M,10)}),qs(T)):u(k)?Pu(T):y(k)?T._d=new Date(k):e.createFromInputFallback(T)}function Qd(T,k,M,W,ee){var be={};return(k===!0||k===!1)&&(W=k,k=void 0),(M===!0||M===!1)&&(W=M,M=void 0),(u(T)&&f(T)||o(T)&&T.length===0)&&(T=void 0),be._isAMomentObject=!0,be._useUTC=be._isUTC=ee,be._l=M,be._i=T,be._f=k,be._strict=W,of(be)}function mn(T,k,M,W){return Qd(T,k,M,W,!1)}var eh=tt("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var T=mn.apply(null,arguments);return this.isValid()&&T.isValid()?T<this?this:T:j()}),Co=tt("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var T=mn.apply(null,arguments);return this.isValid()&&T.isValid()?T>this?this:T:j()});function Jn(T,k){var M,W;if(k.length===1&&o(k[0])&&(k=k[0]),!k.length)return mn();for(M=k[0],W=1;W<k.length;++W)(!k[W].isValid()||k[W][T](M))&&(M=k[W]);return M}function Aa(){var T=[].slice.call(arguments,0);return Jn("isBefore",T)}function zp(){var T=[].slice.call(arguments,0);return Jn("isAfter",T)}var Vf=function(){return Date.now?Date.now():+new Date},Wf=["year","quarter","month","week","day","hour","minute","second","millisecond"];function vg(T){var k,M=!1,W,ee=Wf.length;for(k in T)if(r(T,k)&&!(Pi.call(Wf,k)!==-1&&(T[k]==null||!isNaN(T[k]))))return!1;for(W=0;W<ee;++W)if(T[Wf[W]]){if(M)return!1;parseFloat(T[Wf[W]])!==Kr(T[Wf[W]])&&(M=!0)}return!0}function Gp(){return this._isValid}function u0(){return io(NaN)}function el(T){var k=ze(T),M=k.year||0,W=k.quarter||0,ee=k.month||0,be=k.week||k.isoWeek||0,ft=k.day||0,ir=k.hour||0,rn=k.minute||0,ti=k.second||0,Vo=k.millisecond||0;this._isValid=vg(k),this._milliseconds=+Vo+ti*1e3+rn*6e4+ir*1e3*60*60,this._days=+ft+be*7,this._months=+ee+W*3+M*12,this._data={},this._locale=Ge(),this._bubble()}function Sa(T){return T instanceof el}function Ol(T){return T<0?Math.round(-1*T)*-1:Math.round(T)}function ka(T,k,M){var W=Math.min(T.length,k.length),ee=Math.abs(T.length-k.length),be=0,ft;for(ft=0;ft<W;ft++)(M&&T[ft]!==k[ft]||!M&&Kr(T[ft])!==Kr(k[ft]))&&be++;return be+ee}function af(T,k){at(T,0,0,function(){var M=this.utcOffset(),W="+";return M<0&&(M=-M,W="-"),W+we(~~(M/60),2)+k+we(~~M%60,2)})}af("Z",":"),af("ZZ",""),bt("Z",vt),bt("ZZ",vt),En(["Z","ZZ"],function(T,k,M){M._useUTC=!0,M._tzm=go(vt,T)});var Ns=/([\+\-]|\d\d)/gi;function go(T,k){var M=(k||"").match(T),W,ee,be;return M===null?null:(W=M[M.length-1]||[],ee=(W+"").match(Ns)||["-",0,0],be=+(ee[1]*60)+Kr(ee[2]),be===0?0:ee[0]==="+"?be:-be)}function Us(T,k){var M,W;return k._isUTC?(M=k.clone(),W=(Fe(T)||m(T)?T.valueOf():mn(T).valueOf())-M.valueOf(),M._d.setTime(M._d.valueOf()+W),e.updateOffset(M,!1),M):mn(T).local()}function tl(T){return-Math.round(T._d.getTimezoneOffset())}e.updateOffset=function(){};function zf(T,k,M){var W=this._offset||0,ee;if(!this.isValid())return T!=null?this:NaN;if(T!=null){if(typeof T=="string"){if(T=go(vt,T),T===null)return this}else Math.abs(T)<16&&!M&&(T=T*60);return!this._isUTC&&k&&(ee=tl(this)),this._offset=T,this._isUTC=!0,ee!=null&&this.add(ee,"m"),W!==T&&(!k||this._changeInProgress?ra(this,io(T-W,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?W:tl(this)}function fi(T,k){return T!=null?(typeof T!="string"&&(T=-T),this.utcOffset(T,k),this):-this.utcOffset()}function l0(T){return this.utcOffset(0,T)}function c0(T){return this._isUTC&&(this.utcOffset(0,T),this._isUTC=!1,T&&this.subtract(tl(this),"m")),this}function Uo(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var T=go(wt,this._i);T!=null?this.utcOffset(T):this.utcOffset(0,!0)}return this}function ta(T){return this.isValid()?(T=T?mn(T).utcOffset():0,(this.utcOffset()-T)%60===0):!1}function Ia(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function mc(){if(!p(this._isDSTShifted))return this._isDSTShifted;var T={},k;return de(T,this),T=Do(T),T._a?(k=T._isUTC?A(T._a):mn(T._a),this._isDSTShifted=this.isValid()&&ka(T._a,k.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function yc(){return this.isValid()?!this._isUTC:!1}function gc(){return this.isValid()?this._isUTC:!1}function pi(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Du=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,vc=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function io(T,k){var M=T,W=null,ee,be,ft;return Sa(T)?M={ms:T._milliseconds,d:T._days,M:T._months}:y(T)||!isNaN(+T)?(M={},k?M[k]=+T:M.milliseconds=+T):(W=Du.exec(T))?(ee=W[1]==="-"?-1:1,M={y:0,d:Kr(W[Ws])*ee,h:Kr(W[cs])*ee,m:Kr(W[fo])*ee,s:Kr(W[zs])*ee,ms:Kr(Ol(W[Ts]*1e3))*ee}):(W=vc.exec(T))?(ee=W[1]==="-"?-1:1,M={y:Nl(W[2],ee),M:Nl(W[3],ee),w:Nl(W[4],ee),d:Nl(W[5],ee),h:Nl(W[6],ee),m:Nl(W[7],ee),s:Nl(W[8],ee)}):M==null?M={}:typeof M=="object"&&("from"in M||"to"in M)&&(ft=f0(mn(M.from),mn(M.to)),M={},M.ms=ft.milliseconds,M.M=ft.months),be=new el(M),Sa(T)&&r(T,"_locale")&&(be._locale=T._locale),Sa(T)&&r(T,"_isValid")&&(be._isValid=T._isValid),be}io.fn=el.prototype,io.invalid=u0;function Nl(T,k){var M=T&&parseFloat(T.replace(",","."));return(isNaN(M)?0:M)*k}function Cu(T,k){var M={};return M.months=k.month()-T.month()+(k.year()-T.year())*12,T.clone().add(M.months,"M").isAfter(k)&&--M.months,M.milliseconds=+k-+T.clone().add(M.months,"M"),M}function f0(T,k){var M;return T.isValid()&&k.isValid()?(k=Us(k,T),T.isBefore(k)?M=Cu(T,k):(M=Cu(k,T),M.milliseconds=-M.milliseconds,M.months=-M.months),M):{milliseconds:0,months:0}}function uf(T,k){return function(M,W){var ee,be;return W!==null&&!isNaN(+W)&&(Ct(k,"moment()."+k+"(period, number) is deprecated. Please use moment()."+k+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),be=M,M=W,W=be),ee=io(M,W),ra(this,ee,T),this}}function ra(T,k,M,W){var ee=k._milliseconds,be=Ol(k._days),ft=Ol(k._months);T.isValid()&&(W=W==null?!0:W,ft&&At(T,Ku(T,"Month")+ft*M),be&&Dl(T,"Date",Ku(T,"Date")+be*M),ee&&T._d.setTime(T._d.valueOf()+ee*M),W&&e.updateOffset(T,be||ft))}var Gn=uf(1,"add"),Yp=uf(-1,"subtract");function th(T){return typeof T=="string"||T instanceof String}function rh(T){return Fe(T)||m(T)||th(T)||y(T)||Xm(T)||Jm(T)||T===null||T===void 0}function Jm(T){var k=u(T)&&!f(T),M=!1,W=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],ee,be,ft=W.length;for(ee=0;ee<ft;ee+=1)be=W[ee],M=M||r(T,be);return k&&M}function Xm(T){var k=o(T),M=!1;return k&&(M=T.filter(function(W){return!y(W)&&th(T)}).length===0),k&&M}function xg(T){var k=u(T)&&!f(T),M=!1,W=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],ee,be;for(ee=0;ee<W.length;ee+=1)be=W[ee],M=M||r(T,be);return k&&M}function cv(T,k){var M=T.diff(k,"days",!0);return M<-6?"sameElse":M<-1?"lastWeek":M<0?"lastDay":M<1?"sameDay":M<2?"nextDay":M<7?"nextWeek":"sameElse"}function p0(T,k){arguments.length===1&&(arguments[0]?rh(arguments[0])?(T=arguments[0],k=void 0):xg(arguments[0])&&(k=arguments[0],T=void 0):(T=void 0,k=void 0));var M=T||mn(),W=Us(M,this).startOf("day"),ee=e.calendarFormat(this,W)||"sameElse",be=k&&(gt(k[ee])?k[ee].call(this,M):k[ee]);return this.format(be||this.localeData().calendar(ee,this,mn(M)))}function nh(){return new ye(this)}function _g(T,k){var M=Fe(T)?T:mn(T);return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()>M.valueOf():M.valueOf()<this.clone().startOf(k).valueOf()):!1}function Au(T,k){var M=Fe(T)?T:mn(T);return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()<M.valueOf():this.clone().endOf(k).valueOf()<M.valueOf()):!1}function xc(T,k,M,W){var ee=Fe(T)?T:mn(T),be=Fe(k)?k:mn(k);return this.isValid()&&ee.isValid()&&be.isValid()?(W=W||"()",(W[0]==="("?this.isAfter(ee,M):!this.isBefore(ee,M))&&(W[1]===")"?this.isBefore(be,M):!this.isAfter(be,M))):!1}function na(T,k){var M=Fe(T)?T:mn(T),W;return this.isValid()&&M.isValid()?(k=me(k)||"millisecond",k==="millisecond"?this.valueOf()===M.valueOf():(W=M.valueOf(),this.clone().startOf(k).valueOf()<=W&&W<=this.clone().endOf(k).valueOf())):!1}function Za(T,k){return this.isSame(T,k)||this.isAfter(T,k)}function ia(T,k){return this.isSame(T,k)||this.isBefore(T,k)}function lf(T,k,M){var W,ee,be;if(!this.isValid())return NaN;if(W=Us(T,this),!W.isValid())return NaN;switch(ee=(W.utcOffset()-this.utcOffset())*6e4,k=me(k),k){case"year":be=Qa(this,W)/12;break;case"month":be=Qa(this,W);break;case"quarter":be=Qa(this,W)/3;break;case"second":be=(this-W)/1e3;break;case"minute":be=(this-W)/6e4;break;case"hour":be=(this-W)/36e5;break;case"day":be=(this-W-ee)/864e5;break;case"week":be=(this-W-ee)/6048e5;break;default:be=this-W}return M?be:ci(be)}function Qa(T,k){if(T.date()<k.date())return-Qa(k,T);var M=(k.year()-T.year())*12+(k.month()-T.month()),W=T.clone().add(M,"months"),ee,be;return k-W<0?(ee=T.clone().add(M-1,"months"),be=(k-W)/(W-ee)):(ee=T.clone().add(M+1,"months"),be=(k-W)/(ee-W)),-(M+be)||0}e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function Fl(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Gf(T){if(!this.isValid())return null;var k=T!==!0,M=k?this.clone().utc():this;return M.year()<0||M.year()>9999?Qe(M,k?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):gt(Date.prototype.toISOString)?k?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Qe(M,"Z")):Qe(M,k?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Yf(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var T="moment",k="",M,W,ee,be;return this.isLocal()||(T=this.utcOffset()===0?"moment.utc":"moment.parseZone",k="Z"),M="["+T+'("]',W=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",ee="-MM-DD[T]HH:mm:ss.SSS",be=k+'[")]',this.format(M+W+ee+be)}function Kp(T){T||(T=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var k=Qe(this,T);return this.localeData().postformat(k)}function Zm(T,k){return this.isValid()&&(Fe(T)&&T.isValid()||mn(T).isValid())?io({to:this,from:T}).locale(this.locale()).humanize(!k):this.localeData().invalidDate()}function d0(T){return this.from(mn(),T)}function Kf(T,k){return this.isValid()&&(Fe(T)&&T.isValid()||mn(T).isValid())?io({from:this,to:T}).locale(this.locale()).humanize(!k):this.localeData().invalidDate()}function _c(T){return this.to(mn(),T)}function h0(T){var k;return T===void 0?this._locale._abbr:(k=Ge(T),k!=null&&(this._locale=k),this)}var eu=tt("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(T){return T===void 0?this.localeData():this.locale(T)});function m0(){return this._locale}var Rl=1e3,rl=60*Rl,Sc=60*rl,Qm=(365*400+97)*24*Sc;function di(T,k){return(T%k+k)%k}function vo(T,k,M){return T<100&&T>=0?new Date(T+400,k,M)-Qm:new Date(T,k,M).valueOf()}function tu(T,k,M){return T<100&&T>=0?Date.UTC(T+400,k,M)-Qm:Date.UTC(T,k,M)}function ku(T){var k,M;if(T=me(T),T===void 0||T==="millisecond"||!this.isValid())return this;switch(M=this._isUTC?tu:vo,T){case"year":k=M(this.year(),0,1);break;case"quarter":k=M(this.year(),this.month()-this.month()%3,1);break;case"month":k=M(this.year(),this.month(),1);break;case"week":k=M(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":k=M(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":k=M(this.year(),this.month(),this.date());break;case"hour":k=this._d.valueOf(),k-=di(k+(this._isUTC?0:this.utcOffset()*rl),Sc);break;case"minute":k=this._d.valueOf(),k-=di(k,rl);break;case"second":k=this._d.valueOf(),k-=di(k,Rl);break}return this._d.setTime(k),e.updateOffset(this,!0),this}function Ll(T){var k,M;if(T=me(T),T===void 0||T==="millisecond"||!this.isValid())return this;switch(M=this._isUTC?tu:vo,T){case"year":k=M(this.year()+1,0,1)-1;break;case"quarter":k=M(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":k=M(this.year(),this.month()+1,1)-1;break;case"week":k=M(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":k=M(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":k=M(this.year(),this.month(),this.date()+1)-1;break;case"hour":k=this._d.valueOf(),k+=Sc-di(k+(this._isUTC?0:this.utcOffset()*rl),Sc)-1;break;case"minute":k=this._d.valueOf(),k+=rl-di(k,rl)-1;break;case"second":k=this._d.valueOf(),k+=Rl-di(k,Rl)-1;break}return this._d.setTime(k),e.updateOffset(this,!0),this}function Oa(){return this._d.valueOf()-(this._offset||0)*6e4}function cf(){return Math.floor(this.valueOf()/1e3)}function Ml(){return new Date(this.valueOf())}function Sg(){var T=this;return[T.year(),T.month(),T.date(),T.hour(),T.minute(),T.second(),T.millisecond()]}function y0(){var T=this;return{years:T.year(),months:T.month(),date:T.date(),hours:T.hours(),minutes:T.minutes(),seconds:T.seconds(),milliseconds:T.milliseconds()}}function Jf(){return this.isValid()?this.toISOString():null}function Jp(){return $(this)}function fv(){return C({},v(this))}function ey(){return v(this).overflow}function ih(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}at("N",0,0,"eraAbbr"),at("NN",0,0,"eraAbbr"),at("NNN",0,0,"eraAbbr"),at("NNNN",0,0,"eraName"),at("NNNNN",0,0,"eraNarrow"),at("y",["y",1],"yo","eraYear"),at("y",["yy",2],0,"eraYear"),at("y",["yyy",3],0,"eraYear"),at("y",["yyyy",4],0,"eraYear"),bt("N",Zp),bt("NN",Zp),bt("NNN",Zp),bt("NNNN",oh),bt("NNNNN",ah),En(["N","NN","NNN","NNNN","NNNNN"],function(T,k,M,W){var ee=M._locale.erasParse(T,W,M._strict);ee?v(M).era=ee:v(M).invalidEra=T}),bt("y",Da),bt("yy",Da),bt("yyy",Da),bt("yyyy",Da),bt("yo",v0),En(["y","yy","yyy","yyyy"],Zt),En(["yo"],function(T,k,M,W){var ee;M._locale._eraYearOrdinalRegex&&(ee=T.match(M._locale._eraYearOrdinalRegex)),M._locale.eraYearOrdinalParse?k[Zt]=M._locale.eraYearOrdinalParse(T,ee):k[Zt]=parseInt(T,10)});function ty(T,k){var M,W,ee,be=this._eras||Ge("en")._eras;for(M=0,W=be.length;M<W;++M){switch(typeof be[M].since){case"string":ee=e(be[M].since).startOf("day"),be[M].since=ee.valueOf();break}switch(typeof be[M].until){case"undefined":be[M].until=1/0;break;case"string":ee=e(be[M].until).startOf("day").valueOf(),be[M].until=ee.valueOf();break}}return be}function ry(T,k,M){var W,ee,be=this.eras(),ft,ir,rn;for(T=T.toUpperCase(),W=0,ee=be.length;W<ee;++W)if(ft=be[W].name.toUpperCase(),ir=be[W].abbr.toUpperCase(),rn=be[W].narrow.toUpperCase(),M)switch(k){case"N":case"NN":case"NNN":if(ir===T)return be[W];break;case"NNNN":if(ft===T)return be[W];break;case"NNNNN":if(rn===T)return be[W];break}else if([ft,ir,rn].indexOf(T)>=0)return be[W]}function g0(T,k){var M=T.since<=T.until?1:-1;return k===void 0?e(T.since).year():e(T.since).year()+(k-T.offset)*M}function ff(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].name;return""}function ny(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].narrow;return""}function Tg(){var T,k,M,W=this.localeData().eras();for(T=0,k=W.length;T<k;++T)if(M=this.clone().startOf("day").valueOf(),W[T].since<=M&&M<=W[T].until||W[T].until<=M&&M<=W[T].since)return W[T].abbr;return""}function Xp(){var T,k,M,W,ee=this.localeData().eras();for(T=0,k=ee.length;T<k;++T)if(M=ee[T].since<=ee[T].until?1:-1,W=this.clone().startOf("day").valueOf(),ee[T].since<=W&&W<=ee[T].until||ee[T].until<=W&&W<=ee[T].since)return(this.year()-e(ee[T].since).year())*M+ee[T].offset;return this.year()}function sa(T){return r(this,"_erasNameRegex")||Zf.call(this),T?this._erasNameRegex:this._erasRegex}function sh(T){return r(this,"_erasAbbrRegex")||Zf.call(this),T?this._erasAbbrRegex:this._erasRegex}function Xf(T){return r(this,"_erasNarrowRegex")||Zf.call(this),T?this._erasNarrowRegex:this._erasRegex}function Zp(T,k){return k.erasAbbrRegex(T)}function oh(T,k){return k.erasNameRegex(T)}function ah(T,k){return k.erasNarrowRegex(T)}function v0(T,k){return k._eraYearOrdinalRegex||Da}function Zf(){var T=[],k=[],M=[],W=[],ee,be,ft,ir,rn,ti=this.eras();for(ee=0,be=ti.length;ee<be;++ee)ft=vi(ti[ee].name),ir=vi(ti[ee].abbr),rn=vi(ti[ee].narrow),k.push(ft),T.push(ir),M.push(rn),W.push(ft),W.push(ir),W.push(rn);this._erasRegex=new RegExp("^("+W.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+k.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+T.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+M.join("|")+")","i")}at(0,["gg",2],0,function(){return this.weekYear()%100}),at(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Qf(T,k){at(0,[T,T.length],0,k)}Qf("gggg","weekYear"),Qf("ggggg","weekYear"),Qf("GGGG","isoWeekYear"),Qf("GGGGG","isoWeekYear"),bt("G",Xe),bt("g",Xe),bt("GG",dn,Lr),bt("gg",dn,Lr),bt("GGGG",bo,kn),bt("gggg",bo,kn),bt("GGGGG",_u,Vn),bt("ggggg",_u,Vn),rs(["gggg","ggggg","GGGG","GGGGG"],function(T,k,M,W){k[W.substr(0,2)]=Kr(T)}),rs(["gg","GG"],function(T,k,M,W){k[W]=e.parseTwoDigitYear(T)});function ep(T){return ru.call(this,T,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function iy(T){return ru.call(this,T,this.isoWeek(),this.isoWeekday(),1,4)}function uh(){return Di(this.year(),1,4)}function lh(){return Di(this.isoWeekYear(),1,4)}function Tc(){var T=this.localeData()._week;return Di(this.year(),T.dow,T.doy)}function pf(){var T=this.localeData()._week;return Di(this.weekYear(),T.dow,T.doy)}function ru(T,k,M,W,ee){var be;return T==null?Kt(this,W,ee).year:(be=Di(T,W,ee),k>be&&(k=be),df.call(this,T,k,M,W,ee))}function df(T,k,M,W,ee){var be=Vp(T,k,M,W,ee),ft=Uf(be.year,0,be.dayOfYear);return this.year(ft.getUTCFullYear()),this.month(ft.getUTCMonth()),this.date(ft.getUTCDate()),this}at("Q",0,"Qo","quarter"),bt("Q",Rr),En("Q",function(T,k){k[co]=(Kr(T)-1)*3});function x0(T){return T==null?Math.ceil((this.month()+1)/3):this.month((T-1)*3+this.month()%3)}at("D",["DD",2],"Do","date"),bt("D",dn,dr),bt("DD",dn,Lr),bt("Do",function(T,k){return T?k._dayOfMonthOrdinalParse||k._ordinalParse:k._dayOfMonthOrdinalParseLenient}),En(["D","DD"],Ws),En("Do",function(T,k){k[Ws]=Kr(T.match(dn)[0])});var Ec=zr("Date",!0);at("DDD",["DDDD",3],"DDDo","dayOfYear"),bt("DDD",Yi),bt("DDDD",Rn),En(["DDD","DDDD"],function(T,k,M){M._dayOfYear=Kr(T)});function nl(T){var k=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return T==null?k:this.add(T-k,"d")}at("m",["mm",2],0,"minute"),bt("m",dn,Tn),bt("mm",dn,Lr),En(["m","mm"],fo);var _0=zr("Minutes",!1);at("s",["ss",2],0,"second"),bt("s",dn,Tn),bt("ss",dn,Lr),En(["s","ss"],zs);var Qp=zr("Seconds",!1);at("S",0,0,function(){return~~(this.millisecond()/100)}),at(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),at(0,["SSS",3],0,"millisecond"),at(0,["SSSS",4],0,function(){return this.millisecond()*10}),at(0,["SSSSS",5],0,function(){return this.millisecond()*100}),at(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),at(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),at(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),at(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),bt("S",Yi,Rr),bt("SS",Yi,Lr),bt("SSS",Yi,Rn);var Iu,S0;for(Iu="SSSS";Iu.length<=9;Iu+="S")bt(Iu,Da);function sy(T,k){k[Ts]=Kr(("0."+T)*1e3)}for(Iu="S";Iu.length<=9;Iu+="S")En(Iu,sy);S0=zr("Milliseconds",!1),at("z",0,0,"zoneAbbr"),at("zz",0,0,"zoneName");function ch(){return this._isUTC?"UTC":""}function fh(){return this._isUTC?"Coordinated Universal Time":""}var Bt=ye.prototype;Bt.add=Gn,Bt.calendar=p0,Bt.clone=nh,Bt.diff=lf,Bt.endOf=Ll,Bt.format=Kp,Bt.from=Zm,Bt.fromNow=d0,Bt.to=Kf,Bt.toNow=_c,Bt.get=Ga,Bt.invalidAt=ey,Bt.isAfter=_g,Bt.isBefore=Au,Bt.isBetween=xc,Bt.isSame=na,Bt.isSameOrAfter=Za,Bt.isSameOrBefore=ia,Bt.isValid=Jp,Bt.lang=eu,Bt.locale=h0,Bt.localeData=m0,Bt.max=Co,Bt.min=eh,Bt.parsingFlags=fv,Bt.set=Ki,Bt.startOf=ku,Bt.subtract=Yp,Bt.toArray=Sg,Bt.toObject=y0,Bt.toDate=Ml,Bt.toISOString=Gf,Bt.inspect=Yf,typeof Symbol<"u"&&Symbol.for!=null&&(Bt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Bt.toJSON=Jf,Bt.toString=Fl,Bt.unix=cf,Bt.valueOf=Oa,Bt.creationData=ih,Bt.eraName=ff,Bt.eraNarrow=ny,Bt.eraAbbr=Tg,Bt.eraYear=Xp,Bt.year=Tu,Bt.isLeapYear=ac,Bt.weekYear=ep,Bt.isoWeekYear=iy,Bt.quarter=Bt.quarters=x0,Bt.month=Ya,Bt.daysInMonth=s0,Bt.week=Bt.weeks=o0,Bt.isoWeek=Bt.isoWeeks=Yd,Bt.weeksInYear=Tc,Bt.weeksInWeekYear=pf,Bt.isoWeeksInYear=uh,Bt.isoWeeksInISOWeekYear=lh,Bt.date=Ec,Bt.day=Bt.days=ys,Bt.weekday=hn,Bt.isoWeekday=wu,Bt.dayOfYear=nl,Bt.hour=Bt.hours=Qo,Bt.minute=Bt.minutes=_0,Bt.second=Bt.seconds=Qp,Bt.millisecond=Bt.milliseconds=S0,Bt.utcOffset=zf,Bt.utc=l0,Bt.local=c0,Bt.parseZone=Uo,Bt.hasAlignedHourOffset=ta,Bt.isDST=Ia,Bt.isLocal=yc,Bt.isUtcOffset=gc,Bt.isUtc=pi,Bt.isUTC=pi,Bt.zoneAbbr=ch,Bt.zoneName=fh,Bt.dates=tt("dates accessor is deprecated. Use date instead.",Ec),Bt.months=tt("months accessor is deprecated. Use month instead",Ya),Bt.years=tt("years accessor is deprecated. Use year instead",Tu),Bt.zone=tt("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",fi),Bt.isDSTShifted=tt("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",mc);function tn(T){return mn(T*1e3)}function $o(){return mn.apply(null,arguments).parseZone()}function Gs(T){return T}var yn=oe.prototype;yn.calendar=Se,yn.longDateFormat=Dr,yn.invalidDate=tr,yn.ordinal=lr,yn.preparse=Gs,yn.postformat=Gs,yn.relativeTime=Pt,yn.pastFuture=_t,yn.set=ct,yn.eras=ty,yn.erasParse=ry,yn.erasConvertYear=g0,yn.erasAbbrRegex=sh,yn.erasNameRegex=sa,yn.erasNarrowRegex=Xf,yn.months=i0,yn.monthsShort=Xc,yn.monthsParse=Zo,yn.monthsRegex=Ui,yn.monthsShortRegex=Zc,yn.week=Wp,yn.firstDayOfYear=$f,yn.firstDayOfWeek=Ka,yn.weekdays=Al,yn.weekdaysMin=Eu,yn.weekdaysShort=Ja,yn.weekdaysParse=Zu,yn.weekdaysRegex=Xd,yn.weekdaysShortRegex=Is,yn.weekdaysMinRegex=fc,yn.isPM=Zd,yn.meridiem=nf;function Ta(T,k,M,W){var ee=Ge(),be=A().set(W,k);return ee[M](be,T)}function ed(T,k,M){if(y(T)&&(k=T,T=void 0),T=T||"",k!=null)return Ta(T,k,M,"month");var W,ee=[];for(W=0;W<12;W++)ee[W]=Ta(T,W,M,"month");return ee}function Fs(T,k,M,W){typeof T=="boolean"?(y(k)&&(M=k,k=void 0),k=k||""):(k=T,M=k,T=!1,y(k)&&(M=k,k=void 0),k=k||"");var ee=Ge(),be=T?ee._week.dow:0,ft,ir=[];if(M!=null)return Ta(k,(M+be)%7,W,"day");for(ft=0;ft<7;ft++)ir[ft]=Ta(k,(ft+be)%7,W,"day");return ir}function td(T,k){return ed(T,k,"months")}function bn(T,k){return ed(T,k,"monthsShort")}function tp(T,k,M){return Fs(T,k,M,"weekdays")}function hf(T,k,M){return Fs(T,k,M,"weekdaysShort")}function T0(T,k,M){return Fs(T,k,M,"weekdaysMin")}ne("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(T){var k=T%10,M=Kr(T%100/10)===1?"th":k===1?"st":k===2?"nd":k===3?"rd":"th";return T+M}}),e.lang=tt("moment.lang is deprecated. Use moment.locale instead.",ne),e.langData=tt("moment.langData is deprecated. Use moment.localeData instead.",Ge);var il=Math.abs;function E0(){var T=this._data;return this._milliseconds=il(this._milliseconds),this._days=il(this._days),this._months=il(this._months),T.milliseconds=il(T.milliseconds),T.seconds=il(T.seconds),T.minutes=il(T.minutes),T.hours=il(T.hours),T.months=il(T.months),T.years=il(T.years),this}function ph(T,k,M,W){var ee=io(k,M);return T._milliseconds+=W*ee._milliseconds,T._days+=W*ee._days,T._months+=W*ee._months,T._bubble()}function wc(T,k){return ph(this,T,k,1)}function Er(T,k){return ph(this,T,k,-1)}function mf(T){return T<0?Math.floor(T):Math.ceil(T)}function w0(){var T=this._milliseconds,k=this._days,M=this._months,W=this._data,ee,be,ft,ir,rn;return T>=0&&k>=0&&M>=0||T<=0&&k<=0&&M<=0||(T+=mf(sl(M)+k)*864e5,k=0,M=0),W.milliseconds=T%1e3,ee=ci(T/1e3),W.seconds=ee%60,be=ci(ee/60),W.minutes=be%60,ft=ci(be/60),W.hours=ft%24,k+=ci(ft/24),rn=ci(nu(k)),M+=rn,k-=mf(sl(rn)),ir=ci(M/12),M%=12,W.days=k,W.months=M,W.years=ir,this}function nu(T){return T*4800/146097}function sl(T){return T*146097/4800}function rd(T){if(!this.isValid())return NaN;var k,M,W=this._milliseconds;if(T=me(T),T==="month"||T==="quarter"||T==="year")switch(k=this._days+W/864e5,M=this._months+nu(k),T){case"month":return M;case"quarter":return M/3;case"year":return M/12}else switch(k=this._days+Math.round(sl(this._months)),T){case"week":return k/7+W/6048e5;case"day":return k+W/864e5;case"hour":return k*24+W/36e5;case"minute":return k*1440+W/6e4;case"second":return k*86400+W/1e3;case"millisecond":return Math.floor(k*864e5)+W;default:throw new Error("Unknown unit "+T)}}function Na(T){return function(){return this.as(T)}}var rp=Na("ms"),b0=Na("s"),Bl=Na("m"),nd=Na("h"),yf=Na("d"),np=Na("w"),Ou=Na("M"),ol=Na("Q"),id=Na("y"),gf=rp;function oa(){return io(this)}function Ai(T){return T=me(T),this.isValid()?this[T+"s"]():NaN}function Si(T){return function(){return this.isValid()?this._data[T]:NaN}}var dh=Si("milliseconds"),Fa=Si("seconds"),oy=Si("minutes"),ip=Si("hours"),P0=Si("days"),Eg=Si("months"),D0=Si("years");function hh(){return ci(this.days()/7)}var iu=Math.round,bc={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function sp(T,k,M,W,ee){return ee.relativeTime(k||1,!!M,T,W)}function ay(T,k,M,W){var ee=io(T).abs(),be=iu(ee.as("s")),ft=iu(ee.as("m")),ir=iu(ee.as("h")),rn=iu(ee.as("d")),ti=iu(ee.as("M")),Vo=iu(ee.as("w")),Ra=iu(ee.as("y")),Es=be<=M.ss&&["s",be]||be<M.s&&["ss",be]||ft<=1&&["m"]||ft<M.m&&["mm",ft]||ir<=1&&["h"]||ir<M.h&&["hh",ir]||rn<=1&&["d"]||rn<M.d&&["dd",rn];return M.w!=null&&(Es=Es||Vo<=1&&["w"]||Vo<M.w&&["ww",Vo]),Es=Es||ti<=1&&["M"]||ti<M.M&&["MM",ti]||Ra<=1&&["y"]||["yy",Ra],Es[2]=k,Es[3]=+T>0,Es[4]=W,sp.apply(null,Es)}function uy(T){return T===void 0?iu:typeof T=="function"?(iu=T,!0):!1}function sd(T,k){return bc[T]===void 0?!1:k===void 0?bc[T]:(bc[T]=k,T==="s"&&(bc.ss=k-1),!0)}function wg(T,k){if(!this.isValid())return this.localeData().invalidDate();var M=!1,W=bc,ee,be;return typeof T=="object"&&(k=T,T=!1),typeof T=="boolean"&&(M=T),typeof k=="object"&&(W=Object.assign({},bc,k),k.s!=null&&k.ss==null&&(W.ss=k.s-1)),ee=this.localeData(),be=ay(this,!M,W,ee),M&&(be=ee.pastFuture(+this,be)),ee.postformat(be)}var mh=Math.abs;function Pc(T){return(T>0)-(T<0)||+T}function Ho(){if(!this.isValid())return this.localeData().invalidDate();var T=mh(this._milliseconds)/1e3,k=mh(this._days),M=mh(this._months),W,ee,be,ft,ir=this.asSeconds(),rn,ti,Vo,Ra;return ir?(W=ci(T/60),ee=ci(W/60),T%=60,W%=60,be=ci(M/12),M%=12,ft=T?T.toFixed(3).replace(/\.?0+$/,""):"",rn=ir<0?"-":"",ti=Pc(this._months)!==Pc(ir)?"-":"",Vo=Pc(this._days)!==Pc(ir)?"-":"",Ra=Pc(this._milliseconds)!==Pc(ir)?"-":"",rn+"P"+(be?ti+be+"Y":"")+(M?ti+M+"M":"")+(k?Vo+k+"D":"")+(ee||W||T?"T":"")+(ee?Ra+ee+"H":"")+(W?Ra+W+"M":"")+(T?Ra+ft+"S":"")):"P0D"}var In=el.prototype;In.isValid=Gp,In.abs=E0,In.add=wc,In.subtract=Er,In.as=rd,In.asMilliseconds=rp,In.asSeconds=b0,In.asMinutes=Bl,In.asHours=nd,In.asDays=yf,In.asWeeks=np,In.asMonths=Ou,In.asQuarters=ol,In.asYears=id,In.valueOf=gf,In._bubble=w0,In.clone=oa,In.get=Ai,In.milliseconds=dh,In.seconds=Fa,In.minutes=oy,In.hours=ip,In.days=P0,In.weeks=hh,In.months=Eg,In.years=D0,In.humanize=wg,In.toISOString=Ho,In.toString=Ho,In.toJSON=Ho,In.locale=h0,In.localeData=m0,In.toIsoString=tt("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ho),In.lang=eu,at("X",0,0,"unix"),at("x",0,0,"valueOf"),bt("x",Xe),bt("X",jt),En("X",function(T,k,M){M._d=new Date(parseFloat(T)*1e3)}),En("x",function(T,k,M){M._d=new Date(Kr(T))});return e.version="2.30.1",n(mn),e.fn=Bt,e.min=Aa,e.max=zp,e.now=Vf,e.utc=A,e.unix=tn,e.months=td,e.isDate=m,e.locale=ne,e.invalid=j,e.duration=io,e.isMoment=Fe,e.weekdays=tp,e.parseZone=$o,e.localeData=Ge,e.isDuration=Sa,e.monthsShort=bn,e.weekdaysMin=T0,e.defineLocale=ke,e.updateLocale=Ze,e.locales=lt,e.weekdaysShort=hf,e.normalizeUnits=me,e.relativeTimeRounding=uy,e.relativeTimeThreshold=sd,e.calendarFormat=cv,e.prototype=Bt,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e})});function $y(){return!process.stdout.isTTY||process.env.FORCE_NON_TTY==="1"}function Eb({prefix:t="cli"}){return Ps.default.createElement(Ss.Text,{color:"grey"},"[",t,"]")}function ss(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[31m[\u2718] \x1B[0m${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"red"},"[\u2718] "),t));n()}function uS(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[32m[\u2714] \x1B[0m${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"green"},"[\u2714] "),t));n()}function vm(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m \x1B[33mWARNING:\x1B[0m ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,null,Ps.default.createElement(Eb,{prefix:e}),Ps.default.createElement(Ss.Text,{color:"orange"},"\u2757\uFE0F "),t));n()}function X$(t){if($y()){console.log(t);return}let{unmount:e}=(0,Ss.render)(Ps.default.createElement(Ss.Text,{color:"cyan"},t));e()}function Wr(t,e="cli"){if($y()){console.log(`\x1B[90m[${e}]\x1B[0m\x1B[37m ${t}\x1B[0m`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Text,{color:"white"},Ps.default.createElement(Eb,{prefix:e}),t));n()}function aO({timestamp:t}){return Ps.default.createElement(Ss.Box,{width:13},Ps.default.createElement(Ss.Text,{color:"grey"},(0,aS.default)(t).format("HH:mm:ss.SSS")))}function Z$(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white"},t)));n()}function Q$(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} [WARNING] ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white",backgroundColor:"yellow"},"[WARNING]"),Ps.default.createElement(Ss.Text,null," ",t)));n()}function uO(t,e){if($y()){console.log(`${(0,aS.default)(e).format("HH:mm:ss.SSS")} [ERROR] ${t}`);return}let{unmount:n}=(0,Ss.render)(Ps.default.createElement(Ss.Box,null,Ps.default.createElement(aO,{timestamp:e}),Ps.default.createElement(Ss.Text,{color:"white",backgroundColor:"red"},"[ERROR]"),Ps.default.createElement(Ss.Text,{color:"white"}," ",t)));n()}var Ss,Ps,aS,Hu=mt(()=>{Ss=cr(Tb()),Ps=cr(Xs()),aS=cr(J$())});var tH,eH=mt(()=>{tH={name:"edgeone",version:"1.4.6-beta.1",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/templates","./edgeone-dist/pages/dev/runner-worker.js"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build",prepublishOnly:"npm run build",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/is-spa":"^0.0.2","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.2",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}}});function VPe(){var t,e;return{run_id:HPe,cli_version:(e=(t=tH)==null?void 0:t.version)!=null?e:"unknown",node_version:process.version,os_platform:cO.default.platform(),os_arch:cO.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function WPe(t,e){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:t,value:JSON.stringify(e)}))}catch{}}function Wa(t){var n;let e={...VPe(),...t};WPe((n=e.event_name)!=null?n:"unknown",e)}function kp(t){if(t==null)return{message:"unknown error",stack:""};if(typeof t=="string")return{message:wb(t,lO),stack:""};if(typeof t=="object"){let e=t,n=wb(typeof e.message=="string"?e.message:String(e),lO),o=wb(typeof e.stack=="string"?e.stack:"",zPe);return{message:n,stack:o}}return{message:wb(String(t),lO),stack:""}}function wb(t,e){return t.length>e?t.slice(0,e)+"\u2026[truncated]":t}var cO,Ha,Va,HPe,fO,lO,zPe,xm=mt(()=>{cO=cr(require("os"));eH();Ha={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},Va={SUCCESS:"success",FAIL:"fail",START:"start"},HPe=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;fO=(t,e)=>{let n=kp(e);Wa({event_name:"error",event_scope:Ha.COMMAND,event_result:Va.FAIL,error_message:`${t} ${n.message}`.trim(),error_stack:n.stack})},lO=500,zPe=2e3});var lS,l2,pO=mt(()=>{lS={NEXTJS:"nextjs",NUXTJS:"nuxtjs",ASTRO:"astro",UNKNOWN:"unknown"},l2={FRAMEWORK_DETECT:"framework_detect",PLUGIN_RESOLVE:"plugin_resolve",PLUGIN_LOAD:"plugin_load",PLUGIN_HOOK:"plugin_hook",CONFIG_LOAD:"config_load"}});function KPe(t){if((t==null?void 0:t.code)===YPe)return!0;let e=typeof t=="string"?t:t==null?void 0:t.message;return e==null?void 0:e.includes(GPe)}async function cS(t=!1){try{let e=await Sj(t);return Wa({event_name:"Config:Load:Success",event_scope:Ha.LOCAL_FLOW,event_phase:l2.CONFIG_LOAD,event_result:Va.SUCCESS,has_build_command:(e==null?void 0:e.buildCommand)!=null,has_install_command:(e==null?void 0:e.installCommand)!=null,has_output_directory:(e==null?void 0:e.outputDirectory)!=null,has_node_version:(e==null?void 0:e.nodeVersion)!=null}),e}catch(e){let n=kp(e);if(Wa({event_name:"Config:Load:Fail",event_scope:Ha.LOCAL_FLOW,event_phase:l2.CONFIG_LOAD,event_result:Va.FAIL,error_message:n.message}),KPe(e))throw e;return bp()&&console.error("%c [ error ]-80","font-size:13px; background:pink; color:#bf2c9f;",e),null}}var GPe,YPe,rH=mt(()=>{Iw();ww();xm();pO();GPe="[BLOCKING_CONFIG_ERROR]",YPe="BLOCKING_CONFIG_ERROR"});var nH,qc,dO=mt(()=>{nH=[{funcName:"onRequestGet",method:"GET"},{funcName:"onRequestPost",method:"POST"},{funcName:"onRequestDelete",method:"DELETE"},{funcName:"onRequestPatch",method:"PATCH"},{funcName:"onRequestPut",method:"PUT"},{funcName:"onRequestHead",method:"HEAD"},{funcName:"onRequestOptions",method:"OPTIONS"}],qc=["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]});async function JPe(t){let e;bb.default.statSync(t).isFile()?e=c2.default.resolve(c2.default.dirname(t)):e=t;let n=c2.default.parse(e).root;if(e===n)return null;for(;e!==n;){let o=c2.default.join(e,"package.json");try{return await bb.default.promises.access(o),o}catch{if(e=c2.default.dirname(e),e===n)break}}return null}async function Pb(t){if(t.endsWith(".mjs"))return"esm";if(t.endsWith(".cjs"))return"commonjs";try{let e=await JPe(t);if(e&&JSON.parse(await bb.default.promises.readFile(e,"utf-8")).type==="module")return"esm"}catch(e){console.warn("Failed to read package.json:",e)}return"commonjs"}var bb,c2,Db=mt(()=>{bb=cr(require("fs")),c2=cr(require("path"))});function QPe(t){let e=hO.default.extname(t);return ZPe[e]||"ts"}async function sH(t,e,n,o){let u=`mod_${eDe++}`,f=(await iH.default.build({stdin:{contents:t,loader:QPe(n),resolveDir:hO.default.dirname(n)},write:!1,bundle:!0,format:"esm",platform:"node",target:"node14",minify:!1,resolveExtensions:[".ts",".js",".mjs",".json"],nodePaths:[process.cwd()],absWorkingDir:process.cwd(),external:(o==null?void 0:o.externalModules)||[]})).outputFiles[0].text,p=[];f=f.replace(/^import\s+[^'"]*['"][^'"]*['"]\s*;?\n/gm,C=>(p.push(C),"")),f=f.replace(/export (async )?function/g,"$1function"),f=f.replace(/export const/g,"const"),f=f.replace(/export let/g,"let"),f=f.replace(/export var/g,"var"),f=f.replace(/export default/g,""),f=f.replace(/export \{[^}]+\};?/g,""),f=f.replace(/export class/g,"class");let y=/const\s+app\s*=/.test(f),m=`${p.join(`
145
145
  `)}`;return{code:o!=null&&o.isFramework?`
146
146
  const ${u} = (() => {
147
147
 
@@ -3849,7 +3849,7 @@ export = cryptoShim;
3849
3849
  `+Object.keys(o).map(u=>`${u}: ${o[u]}`).join(`\r
3850
3850
  `)+`\r
3851
3851
  \r
3852
- `+n)}function lv(t,e,n,o,u,r){if(t.listenerCount("wsClientError")){let f=new Error(u);Error.captureStackTrace(f,lv),t.emit("wsClientError",f,n,e)}else aE(n,o,u,r)}});var t0t,r0t,n0t,tue,i0t,rue,nue=mt(()=>{t0t=cr(Wae(),1),r0t=cr(O6(),1),n0t=cr(R6(),1),tue=cr(UC(),1),i0t=cr(eue(),1),rue=tue.default});function iue(t){return new Promise((e,n)=>{let o=new rue(t);o.on("error",console.error),o.on("open",function(){e(!0)}),o.on("close",function(){Wr("Function log server disconnected")}),o.on("message",function(r){let{logs:f,event_info:p,exceptions:y}=JSON.parse(r.toString());f.forEach(m=>{let{timestamp:S,level:C,content:A}=m;C==="INFO"?Z$(A,S):C==="WARN"?Q$(A,S):C==="ERROR"&&uO(A,S)}),y.forEach(m=>{uO(m.content,m.timestamp)})})})}function V6(t){let e=Buffer.byteLength(t||"","utf8"),n=(e/(1024*1024)).toFixed(2),o=(H6.CODE_SIZE/(1024*1024)).toFixed(0);e>H6.CODE_SIZE&&ss(`Code package size (${n} MB) exceeds the limit of ${o} MB. Please reduce your code size.`),e>H6.CODE_SIZE*.8&&vm(`Code package size (${n} MB) is approaching the limit of ${o} MB. Consider optimizing your code.`)}var H6,HC=mt(()=>{nue();Hu();Ph();m6();H6={CODE_SIZE:5*1024*1024}});async function s0t(t,e,n){let o=await iv("CreateDebugFunction",{JSContent:t,ProjectId:e,MetaData:n});if(o!=null&&o.Error)throw new Error("Start remote dev server failed: "+o.Error.Message);if(!o||!o.WsLogUrl||!o.DebugUrl||!o.SessionId)throw process.env.DEBUG&&console.error("Start remote dev server failed.",o),new Error("Start remote dev server failed.");return o}var xx,W6=mt(()=>{Joe();Hu();xC();HC();uE();HC();xx=class{devSessionId;config;destUrl;routes;constructor(e){this.devConfig=e,this.config={...e,watchPaths:yg(this)};let n=new AC({mode:"dev",env:e.env});this.buildInstance=n}async buildAndGetBundle(){let{bundle:e,meta:n}=await this.buildInstance.build();return{jsBundle:e,meta:n}}async start(){try{let{jsBundle:e,meta:n}=await this.buildAndGetBundle();if(!e)throw new Error("Build error, please check your edge-functions code!");V6(e),Wr("Waiting for edge-function dev server start...");let o=JSON.parse(n);this.routes=o.routes;let{DebugUrl:u,SessionId:r,WsLogUrl:f}=await s0t(e,this.devConfig.ProjectId,n);return this.devSessionId=r,this.destUrl=u,await iue(f),{destUrl:this.destUrl,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:this.routes,status:"started"}}catch(e){return{destUrl:null,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:[],status:"startFailed",error:e.message||String(e)}}}async handleFileChange(){let{jsBundle:e,meta:n}=await this.buildAndGetBundle();if(!e)throw new Error("Build error, please check your edge-functions code!");V6(e);let o=await iv("ModifyDebugFunction",{JSContent:e,SessionId:this.devSessionId,MetaData:n}).catch(u=>{throw console.log("Modify debug function failed",u),new Error(u)});if(o){o!=null&&o.Message&&ss(`Rebuild remote dev server failed: ${o.Message}`);let u=JSON.parse(n);this.routes=u.routes}return{destUrl:this.destUrl,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:this.routes}}stop(){}}});function a0t(t){let e=ui.default.extname(t).toLowerCase();return!(!aue.includes(e)&&!o0t.includes(e)||ui.default.basename(t).toLowerCase().endsWith(".sh"))}function sue(t){let e=ui.default.extname(t);return aue.includes(e)}var Ur,ui,oue,ro,aue,o0t,Yu,VC,uue=mt(()=>{Ur=cr(require("fs")),ui=cr(require("path")),oue=cr(require("os"));Ph();Hu();ro={FUNCTION:"./cloud-functions",OUTPUT_DIR:"./.edgeone/cloud-functions/api-python",OUTPUT_APP:"./.edgeone/cloud-functions/api-python/app.py",OUTPUT_META:"./.edgeone/cloud-functions/api-python/config.json",OUTPUT_REQUIREMENTS:"./.edgeone/cloud-functions/api-python/requirements.txt",DEPS_CACHE_FILE:"./.edgeone/cloud-functions/api-python/.deps-cache.json",CLOUD_FUNCTIONS_DIR:"./.edgeone/cloud-functions"},aue=[".py"],o0t=[".json",".yaml",".yml",".txt",".toml",".ini",".env"],Yu="3.10";VC=class{mode;env;silent;functionList;wrapPort=9e3;uvPath=null;uvFailed=!1;pythonPath=null;getPythonCommand(){try{return this.ensurePython()}catch{let e=this.detectPythonCommand();return(e==null?void 0:e.cmd)||null}}static async decide(){try{let e=Sn(ro.FUNCTION);if(!Ur.default.existsSync(e))return!1;let n=o=>{let u=Ur.default.readdirSync(o,{withFileTypes:!0});for(let r of u){let f=ui.default.join(o,r.name);if(r.isDirectory()){if(n(f))return!0}else if(r.isFile()&&sue(r.name))return!0}return!1};return n(e)}catch{return!1}}constructor(e){this.mode=e.mode||"prod",this.env=e.env||{},this.mode==="dev"&&(this.silent=!0),this.silent=e.silent||!1,this.functionList=[]}log(e){this.silent||Wr(e,"PythonFunctionBuilder")}warn(e){this.silent||vm(e,"PythonFunctionBuilder")}error(e){ss(e,"PythonFunctionBuilder")}scanPythonFiles(e,n=""){let o=[],u=Ur.default.readdirSync(e,{withFileTypes:!0});for(let f of u){let p=ui.default.join(e,f.name),y=n?ui.default.join(n,f.name):f.name;if(f.isDirectory())o.push(...this.scanPythonFiles(p,y));else if(f.isFile()&&sue(f.name)){let m=Ur.default.readFileSync(p,"utf-8");if(!this.hasFunctionEntryPoint(m))continue;let S=ui.default.basename(f.name,ui.default.extname(f.name)),C;S==="index"?C=n?`/${n.replace(/\\/g,"/")}`:"/":C=`/${y.replace(/\.py$/,"").replace(/\\/g,"/")}`;let A=[];C=C.replace(/\/\[\[([^\]]+)\]\]/g,($,j)=>(A.push(j),`/:${j}*`)).replace(/\/\[([^\]]+)\]/g,($,j)=>(A.push(j),`/:${j}`));let R=A.length>0,{methods:v,isFramework:z}=this.detectPythonHttpMethods(m);o.push({route:C,filePath:y.replace(/\\/g,"/"),fileName:S,isDynamic:R,paramNames:A,methods:v,isFramework:z})}}let r=new Map;for(let f of o){let p=r.get(f.route);p?(this.warn(`Route conflict detected! Route: ${f.route}`),this.warn(` File 1: ${p}`),this.warn(` File 2: ${f.filePath}`),this.warn(" Only the first file will be used.")):r.set(f.route,f.filePath)}return o}hasFunctionEntryPoint(e){return[/^def\s+handler\s*\(/m,/^def\s+Handler\s*\(/m,/^class\s+handler\s*\(/m,/^class\s+Handler\s*\(/m,/^app\s*(?::\s*\S+\s*)?=\s*/m,/^application\s*(?::\s*\S+\s*)?=\s*/m,/^urlpatterns\s*=\s*/m,/get_wsgi_application\s*\(/,/get_asgi_application\s*\(/].some(o=>o.test(e))}detectPythonHttpMethods(e){if([/^app\s*(?::\s*\S+\s*)?=\s*/m,/^application\s*(?::\s*\S+\s*)?=\s*/m,/^urlpatterns\s*=\s*/m,/get_wsgi_application\s*\(/,/get_asgi_application\s*\(/].some(u=>u.test(e)))return{methods:[],isFramework:!0};if(/^class\s+(?:handler|Handler)\s*\([\s\S]*?BaseHTTPRequestHandler/m.test(e)){let u=[{pattern:/def\s+do_GET\s*\(/m,method:"GET"},{pattern:/def\s+do_POST\s*\(/m,method:"POST"},{pattern:/def\s+do_PUT\s*\(/m,method:"PUT"},{pattern:/def\s+do_DELETE\s*\(/m,method:"DELETE"},{pattern:/def\s+do_PATCH\s*\(/m,method:"PATCH"},{pattern:/def\s+do_HEAD\s*\(/m,method:"HEAD"},{pattern:/def\s+do_OPTIONS\s*\(/m,method:"OPTIONS"}],r=[];for(let{pattern:f,method:p}of u)f.test(e)&&r.push(p);return{methods:r.length>0?r:["GET"],isFramework:!1}}return{methods:[],isFramework:!1}}checkFileNameConflicts(){let e=new Set(["fastapi","flask","django","starlette","uvicorn","pydantic","requests","httpx","aiohttp","urllib3","numpy","pandas","sqlalchemy","redis","celery","boto3","pillow","pytest","json","os","sys","io","re","typing","collections","datetime","time","random","math","string","logging","asyncio","functools","itertools","pathlib","shutil","tempfile","subprocess","threading","multiprocessing","socket","email","http","html","xml","csv","base64","hashlib","hmac","secrets","uuid","copy","pickle","sqlite3","contextlib","abc","dataclasses","enum","types"]),n=Sn(ro.FUNCTION),o=[],u=(r,f="")=>{if(!Ur.default.existsSync(r))return;let p=Ur.default.readdirSync(r,{withFileTypes:!0});for(let y of p)if(y.isFile()&&y.name.endsWith(".py")){let m=y.name.replace(/\.py$/,"");if(e.has(m.toLowerCase())){let S=f?ui.default.join(f,y.name):y.name;o.push(S)}}else if(y.isDirectory()&&!["__pycache__",".git","node_modules","venv",".venv","scripts","tests",".pytest_cache"].includes(y.name)){if(e.has(y.name.toLowerCase())){let S=f?ui.default.join(f,y.name):y.name;o.push(S+"/")}u(ui.default.join(r,y.name),f?ui.default.join(f,y.name):y.name)}};if(u(n),o.length>0){this.error("File name conflict detected!"),this.error("The following files/directories have names that conflict with Python modules:");for(let r of o)this.error(` - ${r}`);throw this.error('This will cause "cannot import name" errors when Python tries to import these modules.'),this.error("Please rename these files/directories to avoid conflicts."),this.error('For example: "fastapi.py" \u2192 "api.py" or "my_fastapi.py"'),new Error(`File name conflict: ${o.join(", ")}`)}}prepareOutputDirectory(e){if(!Ur.default.existsSync(e)){Ur.default.mkdirSync(e,{recursive:!0});return}let n=[/\.dist-info$/,/\.egg-info$/,/\.deps-cache\.json$/],o=new Set(["typing_extensions.py","six.py","bottle.py","colorsys.py"]),u=new Set(["app.py","config.json","requirements.txt"]),r=this.getUserPyFileNames(),f=new Set;for(let y of r)!y.includes(ui.default.sep)&&!y.includes("/")&&f.add(y);let p=Ur.default.readdirSync(e,{withFileTypes:!0});for(let y of p){let m=ui.default.join(e,y.name);if(!n.some(S=>S.test(y.name))&&!o.has(y.name)){if(u.has(y.name)){y.isDirectory()?Ur.default.rmSync(m,{recursive:!0,force:!0}):Ur.default.unlinkSync(m);continue}if(y.name.endsWith(".py")&&f.has(y.name)){Ur.default.unlinkSync(m);continue}y.isDirectory()&&this.getUserDirNames().has(y.name)&&Ur.default.rmSync(m,{recursive:!0,force:!0})}}}getUserPyFileNames(){let e=Sn(ro.FUNCTION),n=new Set;if(!Ur.default.existsSync(e))return n;let o=(u,r="")=>{let f=Ur.default.readdirSync(u,{withFileTypes:!0});for(let p of f)if(p.isFile()&&p.name.endsWith(".py")){let y=r?ui.default.join(r,p.name):p.name;n.add(y)}else p.isDirectory()&&!p.name.startsWith(".")&&p.name!=="__pycache__"&&o(ui.default.join(u,p.name),r?ui.default.join(r,p.name):p.name)};return o(e),n}getUserDirNames(){let e=Sn(ro.FUNCTION),n=new Set;if(!Ur.default.existsSync(e))return n;let o=Ur.default.readdirSync(e,{withFileTypes:!0});for(let u of o)u.isDirectory()&&!u.name.startsWith(".")&&u.name!=="__pycache__"&&n.add(u.name);return n}copyUserFiles(){this.checkFileNameConflicts();let e=Sn(ro.FUNCTION),n=Sn(ro.OUTPUT_DIR),o=(u,r,f="")=>{let p=Ur.default.readdirSync(u,{withFileTypes:!0});for(let y of p){let m=ui.default.join(u,y.name),S=ui.default.join(r,y.name);if(y.isDirectory()){if(["__pycache__",".git","node_modules","venv",".venv","scripts","tests",".pytest_cache"].includes(y.name))continue;Ur.default.existsSync(S)||Ur.default.mkdirSync(S,{recursive:!0}),o(m,S,ui.default.join(f,y.name))}else y.isFile()&&a0t(y.name)&&Ur.default.copyFileSync(m,S)}};o(e,n)}routeToRegex(e){return`^${e.replace(/:([^/]+)\*/g,"(.+)").replace(/:([^/]+)/g,"([^/]+)")}$`}generateMetaJson(){let o={routes:[...this.functionList].sort((r,f)=>{if(!r.isDynamic&&f.isDynamic)return-1;if(r.isDynamic&&!f.isDynamic)return 1;let p=r.route.includes(":")&&r.route.includes("*"),y=f.route.includes(":")&&f.route.includes("*");return!p&&y?-1:p&&!y?1:f.route.length-r.route.length}).map(r=>{let f=r.route.includes(":")&&r.route.includes("*"),p={src:r.isDynamic?this.routeToRegex(r.route):`^${r.route}$`,path:r.route,file:r.filePath};return r.isDynamic&&r.paramNames.length>0&&(p.params=r.paramNames),f&&(p.isCatchAll=!0),p.method=r.methods,p.isFramework=r.isFramework,p})},u=Sn(ro.OUTPUT_META);Ur.default.writeFileSync(u,JSON.stringify(o,null,2))}detectFrameworksFromCode(){let e=[],n=Sn(ro.FUNCTION),o={fastapi:"fastapi>=0.100.0",django:"django>=4.0",starlette:"starlette>=0.27.0",sanic:"sanic>=21.0",httptools:"httptools>=0.5.0",quart:"quart>=0.18.0",tornado:"tornado>=6.0",aiohttp:"aiohttp>=3.8.0",bottle:"bottle>=0.12.0",falcon:"falcon>=3.0.0",httpx:"httpx>=0.24.0",requests:"requests>=2.28.0",pydantic:"pydantic>=2.0.0",sqlalchemy:"sqlalchemy>=2.0.0",redis:"redis>=4.0.0",pymongo:"pymongo>=4.0.0",psycopg2:"psycopg2-binary>=2.9.0",mysql:"mysql-connector-python>=8.0.0",celery:"celery>=5.0.0",jwt:"pyjwt>=2.0.0",bcrypt:"bcrypt>=4.0.0",cryptography:"cryptography>=40.0.0",pillow:"pillow>=9.0.0",numpy:"numpy>=1.24.0",pandas:"pandas>=2.0.0"},u={sanic:["httptools>=0.5.0",'uvloop>=0.17.0;sys_platform!="win32"'],uvicorn:["httptools>=0.5.0",'uvloop>=0.17.0;sys_platform!="win32"']},r=p=>{if(Ur.default.existsSync(p))for(let y of Ur.default.readdirSync(p,{withFileTypes:!0})){let m=ui.default.join(p,y.name);if(y.isDirectory())["__pycache__",".venv","venv","node_modules",".git","scripts","tests",".pytest_cache"].includes(y.name)||r(m);else if(y.isFile()&&y.name.endsWith(".py"))try{let S=Ur.default.readFileSync(m,"utf-8"),C=/(?:^|\n)\s*(?:from\s+(\w+)|import\s+(\w+))/g,A;for(;(A=C.exec(S))!==null;){let R=(A[1]||A[2]).toLowerCase();o[R]&&!e.includes(o[R])&&e.push(o[R])}}catch{}}};r(n);let f=e.map(p=>p.split(/[>=<]/)[0].toLowerCase());for(let[p,y]of Object.entries(u))if(f.includes(p))for(let m of y)e.includes(m)||e.push(m);return e}generateRequirements(){let e=["werkzeug>=2.0.0","flask>=2.0.0","uvicorn>=0.20.0"],n=this.detectFrameworksFromCode(),o=Sn("requirements.txt"),u=Sn(ui.default.join(ro.FUNCTION,"requirements.txt")),r=[];Ur.default.existsSync(u)?r=Ur.default.readFileSync(u,"utf-8").split(`
3852
+ `+n)}function lv(t,e,n,o,u,r){if(t.listenerCount("wsClientError")){let f=new Error(u);Error.captureStackTrace(f,lv),t.emit("wsClientError",f,n,e)}else aE(n,o,u,r)}});var t0t,r0t,n0t,tue,i0t,rue,nue=mt(()=>{t0t=cr(Wae(),1),r0t=cr(O6(),1),n0t=cr(R6(),1),tue=cr(UC(),1),i0t=cr(eue(),1),rue=tue.default});function iue(t){return new Promise((e,n)=>{let o=new rue(t);o.on("error",console.error),o.on("open",function(){e(!0)}),o.on("close",function(){Wr("Function log server disconnected")}),o.on("message",function(r){let{logs:f,event_info:p,exceptions:y}=JSON.parse(r.toString());f.forEach(m=>{let{timestamp:S,level:C,content:A}=m;C==="INFO"?Z$(A,S):C==="WARN"?Q$(A,S):C==="ERROR"&&uO(A,S)}),y.forEach(m=>{uO(m.content,m.timestamp)})})})}function V6(t){let e=Buffer.byteLength(t||"","utf8"),n=(e/(1024*1024)).toFixed(2),o=(H6.CODE_SIZE/(1024*1024)).toFixed(0);e>H6.CODE_SIZE&&ss(`Code package size (${n} MB) exceeds the limit of ${o} MB. Please reduce your code size.`),e>H6.CODE_SIZE*.8&&vm(`Code package size (${n} MB) is approaching the limit of ${o} MB. Consider optimizing your code.`)}var H6,HC=mt(()=>{nue();Hu();Ph();m6();H6={CODE_SIZE:5*1024*1024}});async function s0t(t,e,n){let o=await iv("CreateDebugFunction",{JSContent:t,ProjectId:e,MetaData:n});if(o!=null&&o.Error)throw new Error("Start remote dev server failed: "+o.Error.Message);if(!o||!o.WsLogUrl||!o.DebugUrl||!o.SessionId)throw process.env.DEBUG&&console.error("Start remote dev server failed.",o),new Error("Start remote dev server failed.");return o}var xx,W6=mt(()=>{Joe();Hu();xC();HC();uE();HC();xx=class{devSessionId;config;destUrl;routes;constructor(e){this.devConfig=e,this.config={...e,watchPaths:yg(this)};let n=new AC({mode:"dev",env:e.env});this.buildInstance=n}async buildAndGetBundle(){let{bundle:e,meta:n}=await this.buildInstance.build();return{jsBundle:e,meta:n}}async start(){try{let{jsBundle:e,meta:n}=await this.buildAndGetBundle();if(!e)throw new Error("Build error, please check your edge-functions code!");V6(e),Wr("Waiting for edge-function dev server start...");let o=JSON.parse(n);this.routes=o.routes;let{DebugUrl:u,SessionId:r,WsLogUrl:f}=await s0t(e,this.devConfig.ProjectId,n);return this.devSessionId=r,this.destUrl=u,await iue(f),{destUrl:this.destUrl,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:this.routes,status:"started"}}catch(e){return{destUrl:null,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:[],status:"startFailed",error:e.message||String(e)}}}async handleFileChange(){let{jsBundle:e,meta:n}=await this.buildAndGetBundle();if(!e)throw new Error("Build error, please check your edge-functions code!");V6(e);let o=await iv("ModifyDebugFunction",{JSContent:e,SessionId:this.devSessionId,MetaData:n}).catch(u=>{throw console.log("Modify debug function failed",u),new Error(u)});if(o){o!=null&&o.Message&&ss(`Rebuild remote dev server failed: ${o.Message}`);let u=JSON.parse(n);this.routes=u.routes}return{destUrl:this.destUrl,builder:this.buildInstance,runner:this,watch:this.config.watchPaths,type:"edge-function",config:this.config,routes:this.routes}}stop(){}}});function a0t(t){let e=ui.default.extname(t).toLowerCase();return!(!aue.includes(e)&&!o0t.includes(e)||ui.default.basename(t).toLowerCase().endsWith(".sh"))}function sue(t){let e=ui.default.extname(t);return aue.includes(e)}var Ur,ui,oue,ro,aue,o0t,Yu,VC,uue=mt(()=>{Ur=cr(require("fs")),ui=cr(require("path")),oue=cr(require("os"));Ph();Hu();ro={FUNCTION:"./cloud-functions",OUTPUT_DIR:"./.edgeone/cloud-functions/api-python",OUTPUT_APP:"./.edgeone/cloud-functions/api-python/app.py",OUTPUT_META:"./.edgeone/cloud-functions/api-python/config.json",OUTPUT_REQUIREMENTS:"./.edgeone/cloud-functions/api-python/requirements.txt",DEPS_CACHE_FILE:"./.edgeone/cloud-functions/api-python/.deps-cache.json",CLOUD_FUNCTIONS_DIR:"./.edgeone/cloud-functions"},aue=[".py"],o0t=[".json",".yaml",".yml",".txt",".toml",".ini",".env"],Yu="3.10";VC=class{mode;env;silent;functionList;wrapPort=9e3;uvPath=null;uvFailed=!1;pythonPath=null;getPythonCommand(){try{return this.ensurePython()}catch{let e=this.detectPythonCommand();return(e==null?void 0:e.cmd)||null}}static async decide(){try{let e=Sn(ro.FUNCTION);if(!Ur.default.existsSync(e))return!1;let n=o=>{let u=Ur.default.readdirSync(o,{withFileTypes:!0});for(let r of u){let f=ui.default.join(o,r.name);if(r.isDirectory()){if(n(f))return!0}else if(r.isFile()&&sue(r.name))return!0}return!1};return n(e)}catch{return!1}}constructor(e){this.mode=e.mode||"prod",this.env=e.env||{},this.mode==="dev"&&(this.silent=!0),this.silent=e.silent||!1,this.functionList=[]}log(e){this.silent||Wr(e,"PythonFunctionBuilder")}warn(e){this.silent||vm(e,"PythonFunctionBuilder")}error(e){ss(e,"PythonFunctionBuilder")}scanPythonFiles(e,n=""){let o=[],u=Ur.default.readdirSync(e,{withFileTypes:!0});for(let f of u){let p=ui.default.join(e,f.name),y=n?ui.default.join(n,f.name):f.name;if(f.isDirectory())o.push(...this.scanPythonFiles(p,y));else if(f.isFile()&&sue(f.name)){let m=Ur.default.readFileSync(p,"utf-8");if(!this.hasFunctionEntryPoint(m))continue;let S=ui.default.basename(f.name,ui.default.extname(f.name)),C;S==="index"?C=n?`/${n.replace(/\\/g,"/")}`:"/":C=`/${y.replace(/\.py$/,"").replace(/\\/g,"/")}`;let A=[];C=C.replace(/\/\[\[([^\]]+)\]\]/g,($,j)=>(A.push(j),`/:${j}*`)).replace(/\/\[([^\]]+)\]/g,($,j)=>(A.push(j),`/:${j}`));let R=A.length>0,{methods:v,isFramework:z}=this.detectPythonHttpMethods(m);o.push({route:C,filePath:y.replace(/\\/g,"/"),fileName:S,isDynamic:R,paramNames:A,methods:v,isFramework:z})}}let r=new Map;for(let f of o){let p=r.get(f.route);p?(this.warn(`Route conflict detected! Route: ${f.route}`),this.warn(` File 1: ${p}`),this.warn(` File 2: ${f.filePath}`),this.warn(" Only the first file will be used.")):r.set(f.route,f.filePath)}return o}hasFunctionEntryPoint(e){return[/^def\s+handler\s*\(/m,/^def\s+Handler\s*\(/m,/^class\s+handler\s*\(/m,/^class\s+Handler\s*\(/m,/^app\s*(?::\s*\S+\s*)?=\s*/m,/^application\s*(?::\s*\S+\s*)?=\s*/m,/^urlpatterns\s*=\s*/m,/get_wsgi_application\s*\(/,/get_asgi_application\s*\(/].some(o=>o.test(e))}detectPythonHttpMethods(e){if([/^app\s*(?::\s*\S+\s*)?=\s*/m,/^application\s*(?::\s*\S+\s*)?=\s*/m,/^urlpatterns\s*=\s*/m,/get_wsgi_application\s*\(/,/get_asgi_application\s*\(/].some(u=>u.test(e)))return{methods:[],isFramework:!0};if(/^class\s+(?:handler|Handler)\s*\([\s\S]*?BaseHTTPRequestHandler/m.test(e)){let u=[{pattern:/def\s+do_GET\s*\(/m,method:"GET"},{pattern:/def\s+do_POST\s*\(/m,method:"POST"},{pattern:/def\s+do_PUT\s*\(/m,method:"PUT"},{pattern:/def\s+do_DELETE\s*\(/m,method:"DELETE"},{pattern:/def\s+do_PATCH\s*\(/m,method:"PATCH"},{pattern:/def\s+do_HEAD\s*\(/m,method:"HEAD"},{pattern:/def\s+do_OPTIONS\s*\(/m,method:"OPTIONS"}],r=[];for(let{pattern:f,method:p}of u)f.test(e)&&r.push(p);return{methods:r.length>0?r:["GET"],isFramework:!1}}return{methods:[],isFramework:!1}}checkFileNameConflicts(){let e=new Set(["fastapi","flask","django","starlette","uvicorn","pydantic","requests","httpx","aiohttp","urllib3","numpy","pandas","sqlalchemy","redis","celery","boto3","pillow","pytest","json","os","sys","io","re","typing","collections","datetime","time","random","math","string","logging","asyncio","functools","itertools","pathlib","shutil","tempfile","subprocess","threading","multiprocessing","socket","email","http","html","xml","csv","base64","hashlib","hmac","secrets","uuid","copy","pickle","sqlite3","contextlib","abc","dataclasses","enum","types"]),n=Sn(ro.FUNCTION),o=[],u=(r,f="")=>{if(!Ur.default.existsSync(r))return;let p=Ur.default.readdirSync(r,{withFileTypes:!0});for(let y of p)if(y.isFile()&&y.name.endsWith(".py")){let m=y.name.replace(/\.py$/,"");if(e.has(m.toLowerCase())){let S=f?ui.default.join(f,y.name):y.name;o.push(S)}}else if(y.isDirectory()&&!["__pycache__",".git","node_modules","venv",".venv","scripts","tests",".pytest_cache"].includes(y.name)){if(e.has(y.name.toLowerCase())){let S=f?ui.default.join(f,y.name):y.name;o.push(S+"/")}u(ui.default.join(r,y.name),f?ui.default.join(f,y.name):y.name)}};if(u(n),o.length>0){this.error("File name conflict detected!"),this.error("The following files/directories have names that conflict with Python modules:");for(let r of o)this.error(` - ${r}`);throw this.error('This will cause "cannot import name" errors when Python tries to import these modules.'),this.error("Please rename these files/directories to avoid conflicts."),this.error('For example: "fastapi.py" \u2192 "api.py" or "my_fastapi.py"'),new Error(`File name conflict: ${o.join(", ")}`)}}prepareOutputDirectory(e){if(!Ur.default.existsSync(e)){Ur.default.mkdirSync(e,{recursive:!0});return}let n=[/\.dist-info$/,/\.egg-info$/,/\.deps-cache\.json$/],o=new Set(["typing_extensions.py","six.py","bottle.py","colorsys.py"]),u=new Set(["app.py","config.json","requirements.txt"]),r=this.getUserPyFileNames(),f=new Set;for(let y of r)!y.includes(ui.default.sep)&&!y.includes("/")&&f.add(y);let p=Ur.default.readdirSync(e,{withFileTypes:!0});for(let y of p){let m=ui.default.join(e,y.name);if(!n.some(S=>S.test(y.name))&&!o.has(y.name)){if(u.has(y.name)){y.isDirectory()?Ur.default.rmSync(m,{recursive:!0,force:!0}):Ur.default.unlinkSync(m);continue}if(y.name.endsWith(".py")&&f.has(y.name)){Ur.default.unlinkSync(m);continue}y.isDirectory()&&this.getUserDirNames().has(y.name)&&Ur.default.rmSync(m,{recursive:!0,force:!0})}}}getUserPyFileNames(){let e=Sn(ro.FUNCTION),n=new Set;if(!Ur.default.existsSync(e))return n;let o=(u,r="")=>{let f=Ur.default.readdirSync(u,{withFileTypes:!0});for(let p of f)if(p.isFile()&&p.name.endsWith(".py")){let y=r?ui.default.join(r,p.name):p.name;n.add(y)}else p.isDirectory()&&!p.name.startsWith(".")&&p.name!=="__pycache__"&&o(ui.default.join(u,p.name),r?ui.default.join(r,p.name):p.name)};return o(e),n}getUserDirNames(){let e=Sn(ro.FUNCTION),n=new Set;if(!Ur.default.existsSync(e))return n;let o=Ur.default.readdirSync(e,{withFileTypes:!0});for(let u of o)u.isDirectory()&&!u.name.startsWith(".")&&u.name!=="__pycache__"&&n.add(u.name);return n}copyUserFiles(){this.checkFileNameConflicts();let e=Sn(ro.FUNCTION),n=Sn(ro.OUTPUT_DIR),o=(u,r,f="")=>{let p=Ur.default.readdirSync(u,{withFileTypes:!0});for(let y of p){let m=ui.default.join(u,y.name),S=ui.default.join(r,y.name);if(y.isDirectory()){if(["__pycache__",".git","node_modules","venv",".venv","scripts","tests",".pytest_cache"].includes(y.name))continue;Ur.default.existsSync(S)||Ur.default.mkdirSync(S,{recursive:!0}),o(m,S,ui.default.join(f,y.name))}else y.isFile()&&a0t(y.name)&&Ur.default.copyFileSync(m,S)}};o(e,n)}routeToRegex(e){let n=/:([^/]+)\*/.test(e),o=e.replace(/:([^/]+)\*/g,"(.*)").replace(/:([^/]+)/g,"([^/]+)");return n&&(o=o.replace(/\/\(\.\*\)/,"(?:/(.*))?")),`^${o}$`}generateMetaJson(){let o={routes:[...this.functionList].sort((r,f)=>{if(!r.isDynamic&&f.isDynamic)return-1;if(r.isDynamic&&!f.isDynamic)return 1;let p=r.route.includes(":")&&r.route.includes("*"),y=f.route.includes(":")&&f.route.includes("*");return!p&&y?-1:p&&!y?1:f.route.length-r.route.length}).map(r=>{let f=r.route.includes(":")&&r.route.includes("*"),p={src:r.isDynamic?this.routeToRegex(r.route):`^${r.route}(?:/.*)?$`,path:r.route,file:r.filePath};return r.isDynamic&&r.paramNames.length>0&&(p.params=r.paramNames),f&&(p.isCatchAll=!0),p.method=r.methods,p.isFramework=r.isFramework,p})},u=Sn(ro.OUTPUT_META);Ur.default.writeFileSync(u,JSON.stringify(o,null,2))}detectFrameworksFromCode(){let e=[],n=Sn(ro.FUNCTION),o={fastapi:"fastapi>=0.100.0",django:"django>=4.0",starlette:"starlette>=0.27.0",sanic:"sanic>=21.0",httptools:"httptools>=0.5.0",quart:"quart>=0.18.0",tornado:"tornado>=6.0",aiohttp:"aiohttp>=3.8.0",bottle:"bottle>=0.12.0",falcon:"falcon>=3.0.0",httpx:"httpx>=0.24.0",requests:"requests>=2.28.0",pydantic:"pydantic>=2.0.0",sqlalchemy:"sqlalchemy>=2.0.0",redis:"redis>=4.0.0",pymongo:"pymongo>=4.0.0",psycopg2:"psycopg2-binary>=2.9.0",mysql:"mysql-connector-python>=8.0.0",celery:"celery>=5.0.0",jwt:"pyjwt>=2.0.0",bcrypt:"bcrypt>=4.0.0",cryptography:"cryptography>=40.0.0",pillow:"pillow>=9.0.0",numpy:"numpy>=1.24.0",pandas:"pandas>=2.0.0"},u={sanic:["httptools>=0.5.0",'uvloop>=0.17.0;sys_platform!="win32"'],uvicorn:["httptools>=0.5.0",'uvloop>=0.17.0;sys_platform!="win32"']},r=p=>{if(Ur.default.existsSync(p))for(let y of Ur.default.readdirSync(p,{withFileTypes:!0})){let m=ui.default.join(p,y.name);if(y.isDirectory())["__pycache__",".venv","venv","node_modules",".git","scripts","tests",".pytest_cache"].includes(y.name)||r(m);else if(y.isFile()&&y.name.endsWith(".py"))try{let S=Ur.default.readFileSync(m,"utf-8"),C=/(?:^|\n)\s*(?:from\s+(\w+)|import\s+(\w+))/g,A;for(;(A=C.exec(S))!==null;){let R=(A[1]||A[2]).toLowerCase();o[R]&&!e.includes(o[R])&&e.push(o[R])}}catch{}}};r(n);let f=e.map(p=>p.split(/[>=<]/)[0].toLowerCase());for(let[p,y]of Object.entries(u))if(f.includes(p))for(let m of y)e.includes(m)||e.push(m);return e}generateRequirements(){let e=["werkzeug>=2.0.0","flask>=2.0.0","uvicorn>=0.20.0"],n=this.detectFrameworksFromCode(),o=Sn("requirements.txt"),u=Sn(ui.default.join(ro.FUNCTION,"requirements.txt")),r=[];Ur.default.existsSync(u)?r=Ur.default.readFileSync(u,"utf-8").split(`
3853
3853
  `).filter(m=>m.trim()&&!m.startsWith("#")):Ur.default.existsSync(o)&&(r=Ur.default.readFileSync(o,"utf-8").split(`
3854
3854
  `).filter(m=>m.trim()&&!m.startsWith("#")));let f=[...new Set([...e,...n,...r])],p=Sn(ro.OUTPUT_REQUIREMENTS);Ur.default.writeFileSync(p,f.join(`
3855
3855
  `))}getPythonVersion(e){try{let{execSync:n}=require("child_process"),u=n(`${e} --version`,{encoding:"utf-8",stdio:"pipe"}).match(/Python (\d+\.\d+)/);return u?u[1]:null}catch{return null}}ensureUv(){if(this.uvPath)return this.uvPath;if(this.uvFailed)throw new Error("uv installation previously failed, skipping retry");let{execSync:e}=require("child_process"),n=["uv"],o=process.env.HOME||process.env.USERPROFILE||"";o&&(n.push(ui.default.join(o,".local","bin","uv")),n.push(ui.default.join(o,".cargo","bin","uv")));let u=ui.default.join(oue.default.tmpdir(),"edgeone-uv"),r=ui.default.join(u,"bin","uv");n.push(r);for(let y of n)try{let m=e(`${y} --version`,{encoding:"utf-8",stdio:"pipe"}).trim();return this.log(`Using ${m}`),this.uvPath=y,y}catch{continue}this.log("uv not found, installing...");try{Ur.default.mkdirSync(u,{recursive:!0}),process.platform==="win32"?e('powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"',{stdio:"pipe",env:{...process.env,UV_NO_MODIFY_PATH:"1",UV_INSTALL_DIR:u}}):e("curl -LsSf https://astral.sh/uv/install.sh | sh",{stdio:"pipe",env:{...process.env,UV_NO_MODIFY_PATH:"1",UV_INSTALL_DIR:u}});for(let y of n)try{let m=e(`${y} --version`,{encoding:"utf-8",stdio:"pipe"}).trim();return this.log(`Installed ${m}`),this.uvPath=y,y}catch{continue}}catch(y){this.warn(`Shell installation failed: ${y.message}`)}this.log("Trying pip install uv as fallback...");let f=["pip3","pip","python3 -m pip","python -m pip"],p=ui.default.join(u,"pip-packages");for(let y of f){let m=[`${y} install uv --quiet --target ${p}`,`${y} install uv --quiet --user`,`${y} install uv --quiet`];for(let S of m)try{e(S,{stdio:"pipe",env:{...process.env}});let C=["uv",ui.default.join(p,"bin","uv"),ui.default.join(p,"uv")];for(let A of C)try{let R=e(`${A} --version`,{encoding:"utf-8",stdio:"pipe"}).trim();return this.log(`Installed ${R} (via pip)`),this.uvPath=A,A}catch{continue}}catch{continue}}throw this.uvFailed=!0,new Error(`Failed to install uv. Please install manually:
@@ -4284,6 +4284,12 @@ class ASGIPathStripMiddleware:
4284
4284
  self.mount_path = mount_path
4285
4285
  # \u63D0\u53D6\u9759\u6001\u524D\u7F00\u7528\u4E8E\u8DEF\u5F84\u5265\u79BB
4286
4286
  self.static_prefix = _extract_static_prefix(mount_path)
4287
+ # \u7981\u7528 FastAPI/Starlette \u7684 redirect_slashes
4288
+ # \u907F\u514D 307 \u91CD\u5B9A\u5411\u5230\u5185\u90E8\u57DF\u540D\u5BFC\u81F4\u5BA2\u6237\u7AEF 404
4289
+ # \u6539\u4E3A\u5728\u4E2D\u95F4\u4EF6\u5C42\u81EA\u52A8\u5904\u7406\u5C3E\u90E8\u659C\u6760\u5339\u914D
4290
+ router = getattr(app, 'router', None)
4291
+ if router and hasattr(router, 'redirect_slashes'):
4292
+ router.redirect_slashes = False
4287
4293
 
4288
4294
  async def __call__(self, scope, receive, send):
4289
4295
  if scope['type'] in ('http', 'websocket'):
@@ -4304,23 +4310,80 @@ class ASGIPathStripMiddleware:
4304
4310
  if raw_path and raw_path.startswith(prefix_bytes):
4305
4311
  scope['raw_path'] = raw_path[len(prefix_bytes):] or b'/'
4306
4312
 
4307
- # \u5305\u88C5 send \u6CE8\u5165 Pages header \u548C\u65E5\u5FD7
4308
- response_logged = False
4309
- async def pages_send(message):
4310
- nonlocal response_logged
4311
- if message['type'] == 'http.response.start':
4312
- status_code = message.get('status', 200)
4313
- headers = list(message.get('headers', []))
4314
- _pages_inject_asgi_headers(headers, status_code)
4315
- message = dict(message)
4316
- message['headers'] = headers
4317
- if not response_logged:
4318
- response_logged = True
4319
- elapsed_ms = (time.time() - start_time) * 1000
4320
- _pages_log_response(request_method, request_path, status_code, elapsed_ms)
4321
- await send(message)
4322
-
4323
- await self.app(scope, receive, pages_send)
4313
+ # \u5148\u7528\u539F\u8DEF\u5F84\u5C1D\u8BD5\uFF0C\u5982\u679C 404 \u4E14\u8DEF\u5F84\u4E0D\u4EE5 / \u7ED3\u5C3E\uFF0C\u81EA\u52A8\u8865 / \u91CD\u8BD5
4314
+ # \u89E3\u51B3 redirect_slashes \u7981\u7528\u540E /items \u5339\u914D\u4E0D\u5230 /items/ \u7684\u95EE\u9898
4315
+ # \u6CE8\u610F\uFF1A\u53EA\u5BF9\u65E0 body \u7684\u8BF7\u6C42\uFF08GET/HEAD/OPTIONS\uFF09\u505A probe+retry
4316
+ # \u6709 body \u7684\u8BF7\u6C42\uFF08POST/PUT/PATCH/DELETE\uFF09\u4E0D\u80FD\u91CD\u8BD5\uFF0C\u56E0\u4E3A receive \u6D41\u4F1A\u88AB\u6D88\u8D39
4317
+ current_path = scope.get('path', '/')
4318
+ method = scope.get('method', 'GET').upper()
4319
+ can_retry = method in ('GET', 'HEAD', 'OPTIONS') and current_path != '/' and not current_path.endswith('/')
4320
+
4321
+ if can_retry:
4322
+ probe_status = None
4323
+ probe_messages = []
4324
+
4325
+ async def probe_send(message):
4326
+ nonlocal probe_status
4327
+ if message['type'] == 'http.response.start':
4328
+ probe_status = message.get('status', 200)
4329
+ probe_messages.append(message)
4330
+
4331
+ await self.app(dict(scope), receive, probe_send)
4332
+
4333
+ # \u5982\u679C 404\uFF0C\u5C1D\u8BD5\u8865 / \u91CD\u8BD5
4334
+ if probe_status == 404:
4335
+ retry_scope = dict(scope)
4336
+ retry_scope['path'] = current_path + '/'
4337
+ retry_raw = scope.get('raw_path', b'')
4338
+ if retry_raw:
4339
+ retry_scope['raw_path'] = retry_raw + b'/'
4340
+
4341
+ retry_status = None
4342
+ retry_messages = []
4343
+
4344
+ async def retry_send(message):
4345
+ nonlocal retry_status
4346
+ if message['type'] == 'http.response.start':
4347
+ retry_status = message.get('status', 200)
4348
+ retry_messages.append(message)
4349
+
4350
+ await self.app(retry_scope, receive, retry_send)
4351
+
4352
+ # \u91CD\u8BD5\u6210\u529F\uFF08\u975E 404\uFF09\uFF0C\u4F7F\u7528\u91CD\u8BD5\u7ED3\u679C
4353
+ if retry_status != 404:
4354
+ probe_messages = retry_messages
4355
+
4356
+ # \u53D1\u9001\u6700\u7EC8\u7ED3\u679C\uFF0C\u6CE8\u5165 Pages header \u548C\u65E5\u5FD7
4357
+ response_logged = False
4358
+ for message in probe_messages:
4359
+ if message['type'] == 'http.response.start':
4360
+ status_code = message.get('status', 200)
4361
+ headers = list(message.get('headers', []))
4362
+ _pages_inject_asgi_headers(headers, status_code)
4363
+ message = dict(message)
4364
+ message['headers'] = headers
4365
+ if not response_logged:
4366
+ response_logged = True
4367
+ elapsed_ms = (time.time() - start_time) * 1000
4368
+ _pages_log_response(request_method, request_path, status_code, elapsed_ms)
4369
+ await send(message)
4370
+ else:
4371
+ # \u6709 body \u7684\u8BF7\u6C42\u6216\u5DF2\u5E26\u5C3E\u90E8\u659C\u6760\uFF1A\u76F4\u63A5\u8C03\u7528\uFF0C\u4E0D\u505A probe+retry
4372
+ response_logged = False
4373
+ async def pages_send(message):
4374
+ nonlocal response_logged
4375
+ if message['type'] == 'http.response.start':
4376
+ status_code = message.get('status', 200)
4377
+ headers = list(message.get('headers', []))
4378
+ _pages_inject_asgi_headers(headers, status_code)
4379
+ message = dict(message)
4380
+ message['headers'] = headers
4381
+ if not response_logged:
4382
+ response_logged = True
4383
+ elapsed_ms = (time.time() - start_time) * 1000
4384
+ _pages_log_response(request_method, request_path, status_code, elapsed_ms)
4385
+ await send(message)
4386
+ await self.app(scope, receive, pages_send)
4324
4387
  else:
4325
4388
  # lifespan \u7B49\u4E8B\u4EF6\u900F\u4F20\u7ED9\u5E95\u5C42\u5E94\u7528
4326
4389
  await self.app(scope, receive, send)
@@ -5349,7 +5412,7 @@ if __name__ == '__main__':
5349
5412
  warnings.filterwarnings("ignore", category=DeprecationWarning)
5350
5413
  `,n=ui.default.join(Sn(ro.OUTPUT_DIR),"sitecustomize.py");Ur.default.writeFileSync(n,e)}generateScfBootstrap(){let e=`#!/bin/bash
5351
5414
  /var/lang/python310/bin/python3 -W ignore -u app.py
5352
- `,n=Sn(ui.default.join(ro.OUTPUT_DIR,"scf_bootstrap"));Ur.default.writeFileSync(n,e,{mode:493})}async packageToZip(){let{execSync:e}=require("child_process"),n=Sn(ro.OUTPUT_DIR),o=Sn(ui.default.join(ro.CLOUD_FUNCTIONS_DIR,"python.zip"));Ur.default.existsSync(o)&&Ur.default.unlinkSync(o);try{e(`cd "${n}" && zip -rq "${o}" .`,{stdio:this.silent?"pipe":"inherit"});let r=(Ur.default.statSync(o).size/1024/1024).toFixed(1);this.log(`Packaged to python.zip (${r}MB)`)}catch(u){throw this.error(`Failed to create zip package: ${u.message}`),u}}async build(e={}){e.port&&(this.wrapPort=e.port);let n=Sn(ro.OUTPUT_DIR);this.prepareOutputDirectory(n);let o=Sn(ro.FUNCTION);if(this.functionList=this.scanPythonFiles(o),this.functionList.length===0)return this.log("No Python functions found"),{routes:[],watch:[]};this.log(`Found ${this.functionList.length} Python functions`),this.copyUserFiles(),this.generateAppPy(),this.generateSiteCustomize(),this.generateMetaJson(),this.generateRequirements(),await this.installDependencies();let r=[...this.functionList].sort((f,p)=>{if(!f.isDynamic&&p.isDynamic)return-1;if(f.isDynamic&&!p.isDynamic)return 1;let y=f.route.includes(":")&&f.route.includes("*"),m=p.route.includes(":")&&p.route.includes("*");return!y&&m?-1:y&&!m?1:p.route.length-f.route.length}).map(f=>{let p=f.route.includes(":")&&f.route.includes("*"),y={src:f.isDynamic?this.routeToRegex(f.route):`^${f.route}$`,path:f.route,file:f.filePath};return f.isDynamic&&f.paramNames.length>0&&(y.params=f.paramNames),p&&(y.isCatchAll=!0),y.method=f.methods,y.isFramework=f.isFramework,y});return Wr(`\u2728 Python functions build completed: ${this.functionList.length} functions`),{routes:r,watch:[Sn(ro.FUNCTION)]}}getRoutes(){return[...this.functionList].sort((n,o)=>{if(!n.isDynamic&&o.isDynamic)return-1;if(n.isDynamic&&!o.isDynamic)return 1;let u=n.route.includes(":")&&n.route.includes("*"),r=o.route.includes(":")&&o.route.includes("*");return!u&&r?-1:u&&!r?1:o.route.length-n.route.length}).map(n=>{let o=n.route.includes(":")&&n.route.includes("*"),u={src:n.isDynamic?this.routeToRegex(n.route):`^${n.route}$`,path:n.route,file:n.filePath};return n.isDynamic&&n.paramNames.length>0&&(u.params=n.paramNames),o&&(u.isCatchAll=!0),u.method=n.methods,u.isFramework=n.isFramework,u})}}});var WC,lue,_x,z6=mt(()=>{uue();Hu();WC=cr(require("path")),lue=require("child_process");uE();_x=class{devConfig;buildInstance;config;server=null;isStarting=!1;constructor(e){this.devConfig=e,this.config={...e,watchPaths:yg(this)},this.buildInstance=new VC({mode:"dev",env:e.env})}async start(e={}){if(this.isStarting)return console.log("[dev] Python function server is already starting, skipping..."),{destUrl:this.server?`http://127.0.0.1:${this.buildInstance.wrapPort}`:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"starting"};if(this.server&&!this.server.killed)return console.log("[dev] Python function server is already running, skipping..."),{destUrl:`http://127.0.0.1:${this.buildInstance.wrapPort}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:this.buildInstance.getRoutes().map(o=>{var u;return{src:o.src,routePath:o.path,method:o.method||["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"],isFramework:(u=o.isFramework)!=null?u:!o.isCatchAll}}),status:"running"};this.isStarting=!0;let n=await Sx(9100);try{let o;if(e.skipBuild?o={routes:this.buildInstance.getRoutes()}:o=await this.buildInstance.build({port:n}),o.routes.length===0)return{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"no-routes"};this.server&&await this.stop();let u=WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python/app.py"),r=this.detectPythonCommand(),f=(0,lue.spawn)(r,[u],{stdio:["pipe","inherit","inherit"],env:{...process.env,...this.devConfig.env,PYTHONPATH:WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python"),PORT:String(n)},cwd:WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python")});await new Promise((y,m)=>{f.on("spawn",()=>{y(void 0)}),f.on("error",S=>{ss("Failed to start Python dev server:",S.message),m(S)})}),this.server=f,this.isStarting=!1;let p=o.routes.map(y=>{var m;return{src:y.src,routePath:y.path,method:y.method||["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"],isFramework:(m=y.isFramework)!=null?m:!y.isCatchAll}});return{destUrl:`http://127.0.0.1:${n}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:p,status:"started"}}catch(o){return this.isStarting=!1,{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"startFailed",error:o.message}}}async stop(){if(this.server){let e=this.server;return this.server=null,new Promise(n=>{let o=setTimeout(()=>{console.log("[dev] Python server kill timeout, force killing...");try{e.kill("SIGKILL")}catch{}n()},3e3);e.once("exit",()=>{clearTimeout(o),console.log("[dev] Python function dev server stopped"),n()});try{e.kill("SIGTERM")}catch{clearTimeout(o),n()}})}}async handleFileChange(e){try{Wr(`[dev] Python function file changed: ${e}`),this.isStarting=!1,await this.stop();let n=await this.start({skipBuild:!1});return n.status==="startFailed"?{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:n.routes,status:"rebuildFailed",error:n.error}:{destUrl:`http://127.0.0.1:${this.buildInstance.wrapPort}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:n.routes,status:"rebuilt"}}catch(n){return{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"rebuildFailed",error:n.message}}}detectPythonCommand(){let e=this.buildInstance.getPythonCommand();if(e)return e;throw new Error(`Python 3.10+ is not available.
5415
+ `,n=Sn(ui.default.join(ro.OUTPUT_DIR,"scf_bootstrap"));Ur.default.writeFileSync(n,e,{mode:493})}async packageToZip(){let{execSync:e}=require("child_process"),n=Sn(ro.OUTPUT_DIR),o=Sn(ui.default.join(ro.CLOUD_FUNCTIONS_DIR,"python.zip"));Ur.default.existsSync(o)&&Ur.default.unlinkSync(o);try{e(`cd "${n}" && zip -rq "${o}" .`,{stdio:this.silent?"pipe":"inherit"});let r=(Ur.default.statSync(o).size/1024/1024).toFixed(1);this.log(`Packaged to python.zip (${r}MB)`)}catch(u){throw this.error(`Failed to create zip package: ${u.message}`),u}}async build(e={}){e.port&&(this.wrapPort=e.port);let n=Sn(ro.OUTPUT_DIR);this.prepareOutputDirectory(n);let o=Sn(ro.FUNCTION);if(this.functionList=this.scanPythonFiles(o),this.functionList.length===0)return this.log("No Python functions found"),{routes:[],watch:[]};this.log(`Found ${this.functionList.length} Python functions`),this.copyUserFiles(),this.generateAppPy(),this.generateSiteCustomize(),this.generateMetaJson(),this.generateRequirements(),await this.installDependencies();let r=[...this.functionList].sort((f,p)=>{if(!f.isDynamic&&p.isDynamic)return-1;if(f.isDynamic&&!p.isDynamic)return 1;let y=f.route.includes(":")&&f.route.includes("*"),m=p.route.includes(":")&&p.route.includes("*");return!y&&m?-1:y&&!m?1:p.route.length-f.route.length}).map(f=>{let p=f.route.includes(":")&&f.route.includes("*"),y={src:f.isDynamic?this.routeToRegex(f.route):`^${f.route}(?:/.*)?$`,path:f.route,file:f.filePath};return f.isDynamic&&f.paramNames.length>0&&(y.params=f.paramNames),p&&(y.isCatchAll=!0),y.method=f.methods,y.isFramework=f.isFramework,y});return Wr(`\u2728 Python functions build completed: ${this.functionList.length} functions`),{routes:r,watch:[Sn(ro.FUNCTION)]}}getRoutes(){return[...this.functionList].sort((n,o)=>{if(!n.isDynamic&&o.isDynamic)return-1;if(n.isDynamic&&!o.isDynamic)return 1;let u=n.route.includes(":")&&n.route.includes("*"),r=o.route.includes(":")&&o.route.includes("*");return!u&&r?-1:u&&!r?1:o.route.length-n.route.length}).map(n=>{let o=n.route.includes(":")&&n.route.includes("*"),u={src:n.isDynamic?this.routeToRegex(n.route):`^${n.route}(?:/.*)?$`,path:n.route,file:n.filePath};return n.isDynamic&&n.paramNames.length>0&&(u.params=n.paramNames),o&&(u.isCatchAll=!0),u.method=n.methods,u.isFramework=n.isFramework,u})}}});var WC,lue,_x,z6=mt(()=>{uue();Hu();WC=cr(require("path")),lue=require("child_process");uE();_x=class{devConfig;buildInstance;config;server=null;isStarting=!1;constructor(e){this.devConfig=e,this.config={...e,watchPaths:yg(this)},this.buildInstance=new VC({mode:"dev",env:e.env})}async start(e={}){if(this.isStarting)return console.log("[dev] Python function server is already starting, skipping..."),{destUrl:this.server?`http://127.0.0.1:${this.buildInstance.wrapPort}`:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"starting"};if(this.server&&!this.server.killed)return console.log("[dev] Python function server is already running, skipping..."),{destUrl:`http://127.0.0.1:${this.buildInstance.wrapPort}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:this.buildInstance.getRoutes().map(o=>{var u;return{src:o.src,routePath:o.path,method:o.method||["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"],isFramework:(u=o.isFramework)!=null?u:!o.isCatchAll}}),status:"running"};this.isStarting=!0;let n=await Sx(9100);try{let o;if(e.skipBuild?o={routes:this.buildInstance.getRoutes()}:o=await this.buildInstance.build({port:n}),o.routes.length===0)return{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"no-routes"};this.server&&await this.stop();let u=WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python/app.py"),r=this.detectPythonCommand(),f=(0,lue.spawn)(r,[u],{stdio:["pipe","inherit","inherit"],env:{...process.env,...this.devConfig.env,PYTHONPATH:WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python"),PORT:String(n)},cwd:WC.default.join(process.cwd(),".edgeone/cloud-functions/api-python")});await new Promise((y,m)=>{f.on("spawn",()=>{y(void 0)}),f.on("error",S=>{ss("Failed to start Python dev server:",S.message),m(S)})}),this.server=f,this.isStarting=!1;let p=o.routes.map(y=>{var m;return{src:y.src,routePath:y.path,method:y.method||["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"],isFramework:(m=y.isFramework)!=null?m:!y.isCatchAll}});return{destUrl:`http://127.0.0.1:${n}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:p,status:"started"}}catch(o){return this.isStarting=!1,{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"startFailed",error:o.message}}}async stop(){if(this.server){let e=this.server;return this.server=null,new Promise(n=>{let o=setTimeout(()=>{console.log("[dev] Python server kill timeout, force killing...");try{e.kill("SIGKILL")}catch{}n()},3e3);e.once("exit",()=>{clearTimeout(o),console.log("[dev] Python function dev server stopped"),n()});try{e.kill("SIGTERM")}catch{clearTimeout(o),n()}})}}async handleFileChange(e){try{Wr(`[dev] Python function file changed: ${e}`),this.isStarting=!1,await this.stop();let n=await this.start({skipBuild:!1});return n.status==="startFailed"?{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:n.routes,status:"rebuildFailed",error:n.error}:{destUrl:`http://127.0.0.1:${this.buildInstance.wrapPort}`,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:n.routes,status:"rebuilt"}}catch(n){return{destUrl:null,watch:this.config.watchPaths,type:"python-function",config:this.config,routes:[],status:"rebuildFailed",error:n.message}}}detectPythonCommand(){let e=this.buildInstance.getPythonCommand();if(e)return e;throw new Error(`Python 3.10+ is not available.
5353
5416
  Please install Python 3.10:
5354
5417
  macOS: brew install python@3.10
5355
5418
  Ubuntu: sudo apt install python3.10