diff --git a/.eslintignore b/.eslintignore index 9c8cf245..0229b5bf 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,4 +5,6 @@ dest comp-entry.ts config-entry.ts -value-entry.ts \ No newline at end of file +value-entry.ts + +magic-admin/web/public/runtime \ No newline at end of file diff --git a/magic-admin/setup.sh b/magic-admin/setup.sh index 6a3eb15a..85c04863 100755 --- a/magic-admin/setup.sh +++ b/magic-admin/setup.sh @@ -15,10 +15,11 @@ npm run build echo "magic依赖安装完毕 & 打包完毕" # 移动runtime打包产物到web -rm -rf ${WORKSPACE}/magic-admin/web/public/runtime -mv -f ${WORKSPACE}/playground/dist/runtime/ ${WORKSPACE}/magic-admin/web/public +# 管理端demo已包含打包产物,开发者自建流水线打包时可参考产物 +#rm -rf ${WORKSPACE}/magic-admin/web/public/runtime +#mv -f ${WORKSPACE}/playground/dist/runtime/ ${WORKSPACE}/magic-admin/web/public -echo "移动runtime打包产物到web完毕" +#echo "移动runtime打包产物到web完毕" # magic-admin依赖安装 cd ${WORKSPACE}/magic-admin diff --git a/magic-admin/web/.eslintignore b/magic-admin/web/.eslintignore index f2c76842..e668d97b 100644 --- a/magic-admin/web/.eslintignore +++ b/magic-admin/web/.eslintignore @@ -3,4 +3,5 @@ node_modules/ babel.config.js vue.config.js jest.config.js -tscofnig.json \ No newline at end of file +tscofnig.json +public/runtime/ \ No newline at end of file diff --git a/magic-admin/web/.gitignore b/magic-admin/web/.gitignore index 553d28ec..e820bcfb 100644 --- a/magic-admin/web/.gitignore +++ b/magic-admin/web/.gitignore @@ -1,8 +1,6 @@ .DS_Store node_modules /dist -/public/runtime - # local env files .env.local diff --git a/magic-admin/web/public/runtime/react/assets/Text.000ec384.js b/magic-admin/web/public/runtime/react/assets/Text.000ec384.js new file mode 100644 index 00000000..e19174cc --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/Text.000ec384.js @@ -0,0 +1,12 @@ +var J=Object.defineProperty,K=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;var P=(e,t,r)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))W.call(t,r)&&P(e,r,t[r]);if(w)for(var r of w(t))Y.call(t,r)&&P(e,r,t[r]);return e},R=(e,t)=>K(e,Q(t));var y={exports:{}},s={};/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var b=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;function ee(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function te(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(u){return t[u]});if(n.join("")!=="0123456789")return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(u){o[u]=u}),Object.keys(Object.assign({},o)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var re=te()?Object.assign:function(e,t){for(var r,n=ee(e),o,u=1;u({show:()=>{e.style.display="initial"},hide:()=>{e.style.display="none"}}),S=({config:e,methods:t})=>{var i;const r=y.exports.useContext(ae),n=(i=r==null?void 0:r.page)==null?void 0:i.getNode(e.id),[o,u]=y.exports.useState(!1),a=y.exports.useRef(null);return o||(u(!0),n==null||n.emit("created",{methods:t})),y.exports.useEffect(()=>{const c=a.current,l=R(_(_({},ce(c)),t),{$el:c});return n==null||n.emit("mounted",l),()=>{n==null||n.emit("destroy",l)}},[]),{app:r,ref:a}};const le=({config:e})=>{const{app:t,ref:r}=S({config:e});if(!t)return null;const n=t.resolveComponent("text");return m.createElement("button",{ref:r,className:"magic-ui-button",style:t.transformStyle(e.style||{}),id:e.id},m.createElement(n,{config:{text:e.text}}))};le.displayName="maigc-ui-button";const fe=({config:e})=>{var n;const{app:t,ref:r}=S({config:e});return t?m.createElement("div",{ref:r,id:`${e.id}`,className:`magic-ui-container${e.className?` ${e.className}`:""}`,style:t.transformStyle(e.style||{})},(n=e.items)==null?void 0:n.map(o=>{const u=t.resolveComponent(o.type||"container");return u?m.createElement(u,{id:`${o.id}`,key:o.id,config:o,className:`magic-ui-component${e.className?` ${e.className}`:""}`,style:t.transformStyle(o.style||{})}):null})):null};fe.displayName="magic-ui-container";const pe=({config:e})=>{const{app:t}=S({config:e});if(!t)return null;const r=t.resolveComponent("container");return m.createElement(r,{config:_({className:"magic-ui-page"},e)})};pe.displayName="maigc-ui-page";const ye=({config:e})=>{const{app:t,ref:r}=S({config:e});if(!t)return null;const[n]=y.exports.useState(e.text);return m.createElement("p",{ref:r,className:"magic-ui-text",style:t.transformStyle(e.style||{}),id:e.id},n)};ye.displayName="maigc-ui-text";export{ae as A,fe as C,pe as P,m as R,ye as T,le as a,y as r}; diff --git a/magic-admin/web/public/runtime/react/assets/components.js b/magic-admin/web/public/runtime/react/assets/components.js new file mode 100644 index 00000000..690e001d --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/components.js @@ -0,0 +1 @@ +import{P as t,C as n,a as e,T as o}from"./Text.000ec384.js";const a={page:t,container:n,button:e,text:o},s={},r={components:a,plugins:s};window.magicPresetComponents=r;export{r as e}; diff --git a/magic-admin/web/public/runtime/react/assets/config.js b/magic-admin/web/public/runtime/react/assets/config.js new file mode 100644 index 00000000..acd5b44a --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/config.js @@ -0,0 +1 @@ +var n=[],a=[],o=[],e=[];(function(){const t={page:o,container:a,button:n,text:e};window.magicPresetConfigs=t})(); diff --git a/magic-admin/web/public/runtime/react/assets/event.js b/magic-admin/web/public/runtime/react/assets/event.js new file mode 100644 index 00000000..0168eb76 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/event.js @@ -0,0 +1 @@ +(function(){const n={};window.magicPresetEvents=n})(); diff --git a/magic-admin/web/public/runtime/react/assets/index.144d287e.js b/magic-admin/web/public/runtime/react/assets/index.144d287e.js new file mode 100644 index 00000000..bc1c5e8b --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/index.144d287e.js @@ -0,0 +1,36 @@ +var _d=Object.defineProperty;var du=Object.getOwnPropertySymbols;var Sd=Object.prototype.hasOwnProperty,kd=Object.prototype.propertyIsEnumerable;var hu=(e,t,n)=>t in e?_d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pu=(e,t)=>{for(var n in t||(t={}))Sd.call(t,n)&&hu(e,n,t[n]);if(du)for(var n of du(t))kd.call(t,n)&&hu(e,n,t[n]);return e};import{r as Ed}from"./Text.000ec384.js";const Md=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerpolicy&&(l.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?l.credentials="include":i.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}};Md();var ja={exports:{}},Ie={};/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var mu=Object.getOwnPropertySymbols,Od=Object.prototype.hasOwnProperty,xd=Object.prototype.propertyIsEnumerable;function Dd(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Td(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(l){return t[l]});if(r.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(l){i[l]=l}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var Nd=Td()?Object.assign:function(e,t){for(var n,r=Dd(e),i,l=1;l=c},i=function(){},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):a=0<_?Math.floor(1e3/_):5};var h=new MessageChannel,p=h.port2;h.port1.onmessage=function(){if(D!==null){var _=e.unstable_now();c=_+a;try{D(!0,_)?p.postMessage(null):(N=!1,D=null)}catch(Y){throw p.postMessage(null),Y}}else N=!1},t=function(_){D=_,N||(N=!0,p.postMessage(null))},n=function(_,Y){d=O(function(){_(e.unstable_now())},Y)},r=function(){m(d),d=-1}}function P(_,Y){var W=_.length;_.push(Y);e:for(;;){var q=W-1>>>1,se=_[q];if(se!==void 0&&0R(zt,W))sn!==void 0&&0>R(sn,zt)?(_[q]=sn,_[Bn]=W,q=Bn):(_[q]=zt,_[jt]=W,q=jt);else if(sn!==void 0&&0>R(sn,W))_[q]=sn,_[Bn]=W,q=Bn;else break e}}return Y}return null}function R(_,Y){var W=_.sortIndex-Y.sortIndex;return W!==0?W:_.id-Y.id}var T=[],le=[],Nl=1,Ne=null,fe=3,Jr=!1,Ut=!1,$n=!1;function Cl(_){for(var Y=w(le);Y!==null;){if(Y.callback===null)C(le);else if(Y.startTime<=_)C(le),Y.sortIndex=Y.expirationTime,P(T,Y);else break;Y=w(le)}}function Pl(_){if($n=!1,Cl(_),!Ut)if(w(T)!==null)Ut=!0,t(Ll);else{var Y=w(le);Y!==null&&n(Pl,Y.startTime-_)}}function Ll(_,Y){Ut=!1,$n&&($n=!1,r()),Jr=!0;var W=fe;try{for(Cl(Y),Ne=w(T);Ne!==null&&(!(Ne.expirationTime>Y)||_&&!e.unstable_shouldYield());){var q=Ne.callback;if(typeof q=="function"){Ne.callback=null,fe=Ne.priorityLevel;var se=q(Ne.expirationTime<=Y);Y=e.unstable_now(),typeof se=="function"?Ne.callback=se:Ne===w(T)&&C(T),Cl(Y)}else C(T);Ne=w(T)}if(Ne!==null)var jt=!0;else{var zt=w(le);zt!==null&&n(Pl,zt.startTime-Y),jt=!1}return jt}finally{Ne=null,fe=W,Jr=!1}}var wd=i;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.unstable_continueExecution=function(){Ut||Jr||(Ut=!0,t(Ll))},e.unstable_getCurrentPriorityLevel=function(){return fe},e.unstable_getFirstCallbackNode=function(){return w(T)},e.unstable_next=function(_){switch(fe){case 1:case 2:case 3:var Y=3;break;default:Y=fe}var W=fe;fe=Y;try{return _()}finally{fe=W}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=wd,e.unstable_runWithPriority=function(_,Y){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var W=fe;fe=_;try{return Y()}finally{fe=W}},e.unstable_scheduleCallback=function(_,Y,W){var q=e.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0q?(_.sortIndex=W,P(le,_),w(T)===null&&_===w(le)&&($n?r():$n=!0,n(Pl,W-q))):(_.sortIndex=se,P(T,_),Ut||Jr||(Ut=!0,t(Ll))),_},e.unstable_wrapCallback=function(_){var Y=fe;return function(){var W=fe;fe=Y;try{return _.apply(this,arguments)}finally{fe=W}}}})(Aa);za.exports=Aa;/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var tl=Ed.exports,K=Nd,ie=za.exports;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nt}return!1}function we(e,t,n,r,i,l,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var ae={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ae[e]=new we(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ae[t]=new we(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ae[e]=new we(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ae[e]=new we(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ae[e]=new we(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ae[e]=new we(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ae[e]=new we(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ae[e]=new we(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ae[e]=new we(e,5,!1,e.toLowerCase(),null,!1,!1)});var eo=/[\-:]([a-z])/g;function to(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(eo,to);ae[t]=new we(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(eo,to);ae[t]=new we(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(eo,to);ae[t]=new we(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ae[e]=new we(e,1,!1,e.toLowerCase(),null,!1,!1)});ae.xlinkHref=new we("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ae[e]=new we(e,1,!1,e.toLowerCase(),null,!0,!0)});function no(e,t,n,r){var i=ae.hasOwnProperty(t)?ae[t]:null,l=i!==null?i.type===0:r?!1:!(!(2o||i[s]!==l[o])return` +`+i[s].replace(" at new "," at ");while(1<=s&&0<=o);break}}}finally{Rl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?or(e):""}function Rd(e){switch(e.tag){case 5:return or(e.type);case 16:return or("Lazy");case 13:return or("Suspense");case 19:return or("SuspenseList");case 0:case 2:case 15:return e=qr(e.type,!1),e;case 11:return e=qr(e.type.render,!1),e;case 22:return e=qr(e.type._render,!1),e;case 1:return e=qr(e.type,!0),e;default:return""}}function wn(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case yt:return"Fragment";case Vt:return"Portal";case cr:return"Profiler";case ro:return"StrictMode";case dr:return"Suspense";case xi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case lo:return(e.displayName||"Context")+".Consumer";case io:return(e._context.displayName||"Context")+".Provider";case nl:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case rl:return wn(e.type);case oo:return wn(e._render);case so:t=e._payload,e=e._init;try{return wn(e(t))}catch{}}return null}function Pt(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function $a(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fd(e){var t=$a(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n!="undefined"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,l.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function br(e){e._valueTracker||(e._valueTracker=Fd(e))}function Ba(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=$a(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Di(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch{return e.body}}function os(e,t){var n=t.checked;return K({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function _u(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Pt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ga(e,t){t=t.checked,t!=null&&no(e,"checked",t,!1)}function us(e,t){Ga(e,t);var n=Pt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?as(e,t.type,n):t.hasOwnProperty("defaultValue")&&as(e,t.type,Pt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Su(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function as(e,t,n){(t!=="number"||Di(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Id(e){var t="";return tl.Children.forEach(e,function(n){n!=null&&(t+=n)}),t}function fs(e,t){return e=K({children:void 0},t),(t=Id(t.children))&&(e.children=t),e}function _n(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i=n.length))throw Error(g(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Pt(n)}}function Qa(e,t){var n=Pt(t.value),r=Pt(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Eu(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}var ds={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Za(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function hs(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Za(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ei,Ka=function(e){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==ds.svg||"innerHTML"in e)e.innerHTML=t;else{for(ei=ei||document.createElement("div"),ei.innerHTML=""+t.valueOf().toString()+"",t=ei.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function xr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var hr={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wd=["Webkit","ms","Moz","O"];Object.keys(hr).forEach(function(e){Wd.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),hr[t]=hr[e]})});function Xa(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||hr.hasOwnProperty(e)&&hr[e]?(""+t).trim():t+"px"}function Ja(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Xa(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Ud=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ps(e,t){if(t){if(Ud[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(g(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(g(60));if(!(typeof t.dangerouslySetInnerHTML=="object"&&"__html"in t.dangerouslySetInnerHTML))throw Error(g(61))}if(t.style!=null&&typeof t.style!="object")throw Error(g(62))}}function ms(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function fo(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ys=null,Sn=null,kn=null;function Mu(e){if(e=Vr(e)){if(typeof ys!="function")throw Error(g(280));var t=e.stateNode;t&&(t=al(t),ys(e.stateNode,e.type,t))}}function qa(e){Sn?kn?kn.push(e):kn=[e]:Sn=e}function ba(){if(Sn){var e=Sn,t=kn;if(kn=Sn=null,Mu(e),t)for(e=0;er?0:1<n;n++)t.push(e);return t}function ll(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,e=e.eventTimes,t=31-Lt(t),e[t]=n}var Lt=Math.clz32?Math.clz32:eh,qd=Math.log,bd=Math.LN2;function eh(e){return e===0?32:31-(qd(e)/bd|0)|0}var th=ie.unstable_UserBlockingPriority,nh=ie.unstable_runWithPriority,hi=!0;function rh(e,t,n,r){$t||ho();var i=go,l=$t;$t=!0;try{ef(i,e,t,n,r)}finally{($t=l)||po()}}function ih(e,t,n,r){nh(th,go.bind(null,e,t,n,r))}function go(e,t,n,r){if(hi){var i;if((i=(t&4)===0)&&0=mr),Ru=String.fromCharCode(32),Fu=!1;function gf(e,t){switch(e){case"keyup":return Dh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var hn=!1;function Nh(e,t){switch(e){case"compositionend":return wf(t);case"keypress":return t.which!==32?null:(Fu=!0,Ru);case"textInput":return e=t.data,e===Ru&&Fu?null:e;default:return null}}function Ch(e,t){if(hn)return e==="compositionend"||!Eo&&gf(e,t)?(e=yf(),pi=_o=vt=null,hn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ju(n)}}function Ef(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ef(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Au(){for(var e=window,t=Di();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Di(e.document)}return t}function Ss(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var zh=ct&&"documentMode"in document&&11>=document.documentMode,pn=null,ks=null,vr=null,Es=!1;function Hu(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Es||pn==null||pn!==Di(r)||(r=pn,"selectionStart"in r&&Ss(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),vr&&Lr(vr,r)||(vr=r,r=Pi(ks,"onSelect"),0yn||(e.current=Os[yn],Os[yn]=null,yn--)}function J(e,t){yn++,Os[yn]=e.current,e.current=t}var Yt={},me=It(Yt),Ee=It(!1),Jt=Yt;function Rn(e,t){var n=e.type.contextTypes;if(!n)return Yt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Me(e){return e=e.childContextTypes,e!=null}function Ri(){B(Ee),B(me)}function Ju(e,t,n){if(me.current!==Yt)throw Error(g(168));J(me,t),J(Ee,n)}function Pf(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(g(108,wn(t)||"Unknown",i));return K({},n,r)}function yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Yt,Jt=me.current,J(me,e),J(Ee,Ee.current),!0}function qu(e,t,n){var r=e.stateNode;if(!r)throw Error(g(169));n?(e=Pf(e,t,Jt),r.__reactInternalMemoizedMergedChildContext=e,B(Ee),B(me),J(me,e)):B(Ee),J(Ee,n)}var Oo=null,Kt=null,Vh=ie.unstable_runWithPriority,xo=ie.unstable_scheduleCallback,xs=ie.unstable_cancelCallback,$h=ie.unstable_shouldYield,bu=ie.unstable_requestPaint,Ds=ie.unstable_now,Bh=ie.unstable_getCurrentPriorityLevel,fl=ie.unstable_ImmediatePriority,Lf=ie.unstable_UserBlockingPriority,Yf=ie.unstable_NormalPriority,Rf=ie.unstable_LowPriority,Ff=ie.unstable_IdlePriority,Ql={},Gh=bu!==void 0?bu:function(){},rt=null,vi=null,Zl=!1,ea=Ds(),de=1e4>ea?Ds:function(){return Ds()-ea};function Fn(){switch(Bh()){case fl:return 99;case Lf:return 98;case Yf:return 97;case Rf:return 96;case Ff:return 95;default:throw Error(g(332))}}function If(e){switch(e){case 99:return fl;case 98:return Lf;case 97:return Yf;case 96:return Rf;case 95:return Ff;default:throw Error(g(332))}}function qt(e,t){return e=If(e),Vh(e,t)}function Rr(e,t,n){return e=If(e),xo(e,t,n)}function qe(){if(vi!==null){var e=vi;vi=null,xs(e)}Wf()}function Wf(){if(!Zl&&rt!==null){Zl=!0;var e=0;try{var t=rt;qt(99,function(){for(;eC?(R=w,w=null):R=w.sibling;var T=m(d,w,c[C],h);if(T===null){w===null&&(w=R);break}e&&w&&T.alternate===null&&t(d,w),a=l(T,a,C),P===null?p=T:P.sibling=T,P=T,w=R}if(C===c.length)return n(d,w),p;if(w===null){for(;CC?(R=w,w=null):R=w.sibling;var le=m(d,w,T.value,h);if(le===null){w===null&&(w=R);break}e&&w&&le.alternate===null&&t(d,w),a=l(le,a,C),P===null?p=le:P.sibling=le,P=le,w=R}if(T.done)return n(d,w),p;if(w===null){for(;!T.done;C++,T=c.next())T=O(d,T.value,h),T!==null&&(a=l(T,a,C),P===null?p=T:P.sibling=T,P=T);return p}for(w=r(d,w);!T.done;C++,T=c.next())T=M(w,d,C,T.value,h),T!==null&&(e&&T.alternate!==null&&w.delete(T.key===null?C:T.key),a=l(T,a,C),P===null?p=T:P.sibling=T,P=T);return e&&w.forEach(function(Nl){return t(d,Nl)}),p}return function(d,a,c,h){var p=typeof c=="object"&&c!==null&&c.type===yt&&c.key===null;p&&(c=c.props.children);var P=typeof c=="object"&&c!==null;if(P)switch(c.$$typeof){case sr:e:{for(P=c.key,p=a;p!==null;){if(p.key===P){switch(p.tag){case 7:if(c.type===yt){n(d,p.sibling),a=i(p,c.props.children),a.return=d,d=a;break e}break;default:if(p.elementType===c.type){n(d,p.sibling),a=i(p,c.props),a.ref=qn(d,p,c),a.return=d,d=a;break e}}n(d,p);break}else t(d,p);p=p.sibling}c.type===yt?(a=Tn(c.props.children,d.mode,h,c.key),a.return=d,d=a):(h=Si(c.type,c.key,c.props,null,d.mode,h),h.ref=qn(d,a,c),h.return=d,d=h)}return s(d);case Vt:e:{for(p=c.key;a!==null;){if(a.key===p)if(a.tag===4&&a.stateNode.containerInfo===c.containerInfo&&a.stateNode.implementation===c.implementation){n(d,a.sibling),a=i(a,c.children||[]),a.return=d,d=a;break e}else{n(d,a);break}else t(d,a);a=a.sibling}a=es(c,d.mode,h),a.return=d,d=a}return s(d)}if(typeof c=="string"||typeof c=="number")return c=""+c,a!==null&&a.tag===6?(n(d,a.sibling),a=i(a,c),a.return=d,d=a):(n(d,a),a=bl(c,d.mode,h),a.return=d,d=a),s(d);if(ri(c))return N(d,a,c,h);if(Gn(c))return D(d,a,c,h);if(P&&ii(d,c),typeof c=="undefined"&&!p)switch(d.tag){case 1:case 22:case 0:case 11:case 15:throw Error(g(152,wn(d.type)||"Component"))}return n(d,a)}}var ji=Hf(!0),Vf=Hf(!1),$r={},Ke=It($r),Ir=It($r),Wr=It($r);function Gt(e){if(e===$r)throw Error(g(174));return e}function Ns(e,t){switch(J(Wr,t),J(Ir,e),J(Ke,$r),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:hs(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=hs(t,e)}B(Ke),J(Ke,t)}function In(){B(Ke),B(Ir),B(Wr)}function la(e){Gt(Wr.current);var t=Gt(Ke.current),n=hs(t,e.type);t!==n&&(J(Ir,e),J(Ke,n))}function Co(e){Ir.current===e&&(B(Ke),B(Ir))}var X=It(0);function zi(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&64)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var lt=null,wt=null,Xe=!1;function $f(e,t){var n=Le(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,e.lastEffect!==null?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function sa(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,!0):!1;case 13:return!1;default:return!1}}function Cs(e){if(Xe){var t=wt;if(t){var n=t;if(!sa(e,t)){if(t=En(n.nextSibling),!t||!sa(e,t)){e.flags=e.flags&-1025|2,Xe=!1,lt=e;return}$f(lt,n)}lt=e,wt=En(t.firstChild)}else e.flags=e.flags&-1025|2,Xe=!1,lt=e}}function oa(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;lt=e}function li(e){if(e!==lt)return!1;if(!Xe)return oa(e),Xe=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!Ms(t,e.memoizedProps))for(t=wt;t;)$f(e,t),t=En(t.nextSibling);if(oa(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(g(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){wt=En(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}wt=null}}else wt=lt?En(e.stateNode.nextSibling):null;return!0}function Kl(){wt=lt=null,Xe=!1}var On=[];function Po(){for(var e=0;el))throw Error(g(301));l+=1,oe=ce=null,t.updateQueue=null,gr.current=Jh,e=n(r,i)}while(wr)}if(gr.current=Bi,t=ce!==null&&ce.next!==null,Ur=0,oe=ce=ee=null,Ai=!1,t)throw Error(g(300));return e}function Qt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return oe===null?ee.memoizedState=oe=e:oe=oe.next=e,oe}function rn(){if(ce===null){var e=ee.alternate;e=e!==null?e.memoizedState:null}else e=ce.next;var t=oe===null?ee.memoizedState:oe.next;if(t!==null)oe=t,ce=e;else{if(e===null)throw Error(g(310));ce=e,e={memoizedState:ce.memoizedState,baseState:ce.baseState,baseQueue:ce.baseQueue,queue:ce.queue,next:null},oe===null?ee.memoizedState=oe=e:oe=oe.next=e}return oe}function Qe(e,t){return typeof t=="function"?t(e):t}function bn(e){var t=rn(),n=t.queue;if(n===null)throw Error(g(311));n.lastRenderedReducer=e;var r=ce,i=r.baseQueue,l=n.pending;if(l!==null){if(i!==null){var s=i.next;i.next=l.next,l.next=s}r.baseQueue=i=l,n.pending=null}if(i!==null){i=i.next,r=r.baseState;var o=s=l=null,u=i;do{var f=u.lane;if((Ur&f)===f)o!==null&&(o=o.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var v={lane:f,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};o===null?(s=o=v,l=r):o=o.next=v,ee.lanes|=f,Br|=f}u=u.next}while(u!==null&&u!==i);o===null?l=r:o.next=s,Pe(r,t.memoizedState)||(ze=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=o,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function er(e){var t=rn(),n=t.queue;if(n===null)throw Error(g(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,l=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do l=e(l,s.action),s=s.next;while(s!==i);Pe(l,t.memoizedState)||(ze=!0),t.memoizedState=l,t.baseQueue===null&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function ua(e,t,n){var r=t._getVersion;r=r(t._source);var i=t._workInProgressVersionPrimary;if(i!==null?e=i===r:(e=e.mutableReadLanes,(e=(Ur&e)===e)&&(t._workInProgressVersionPrimary=r,On.push(t))),e)return n(t._source);throw On.push(t),Error(g(350))}function Bf(e,t,n,r){var i=ge;if(i===null)throw Error(g(349));var l=t._getVersion,s=l(t._source),o=gr.current,u=o.useState(function(){return ua(i,t,n)}),f=u[1],v=u[0];u=oe;var O=e.memoizedState,m=O.refs,M=m.getSnapshot,N=O.source;O=O.subscribe;var D=ee;return e.memoizedState={refs:m,source:t,subscribe:r},o.useEffect(function(){m.getSnapshot=n,m.setSnapshot=f;var d=l(t._source);if(!Pe(s,d)){d=n(t._source),Pe(v,d)||(f(d),d=Dt(D),i.mutableReadLanes|=d&i.pendingLanes),d=i.mutableReadLanes,i.entangledLanes|=d;for(var a=i.entanglements,c=d;0n?98:n,function(){e(!0)}),qt(97<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[gt]=t,e[Yi]=r,ec(e,t,!1,!1),t.stateNode=e,s=ms(n,r),n){case"dialog":$("cancel",e),$("close",e),i=r;break;case"iframe":case"object":case"embed":$("load",e),i=r;break;case"video":case"audio":for(i=0;izs&&(t.flags|=64,l=!0,nr(r,!1),t.lanes=33554432)}else{if(!l)if(e=zi(s),e!==null){if(t.flags|=64,l=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),nr(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!Xe)return t=t.lastEffect=r.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*de()-r.renderingStartTime>zs&&n!==1073741824&&(t.flags|=64,l=!0,nr(r,!1),t.lanes=33554432);r.isBackwards?(s.sibling=t.child,t.child=s):(n=r.last,n!==null?n.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=de(),n.sibling=null,t=X.current,J(X,l?t&1|2:t&1),n):null;case 23:case 24:return Ao(),e!==null&&e.memoizedState!==null!=(t.memoizedState!==null)&&r.mode!=="unstable-defer-without-hiding"&&(t.flags|=4),null}throw Error(g(156,t.tag))}function ep(e){switch(e.tag){case 1:Me(e.type)&&Ri();var t=e.flags;return t&4096?(e.flags=t&-4097|64,e):null;case 3:if(In(),B(Ee),B(me),Po(),t=e.flags,(t&64)!==0)throw Error(g(285));return e.flags=t&-4097|64,e;case 5:return Co(e),null;case 13:return B(X),t=e.flags,t&4096?(e.flags=t&-4097|64,e):null;case 19:return B(X),null;case 4:return In(),null;case 10:return To(e),null;case 23:case 24:return Ao(),null;default:return null}}function Wo(e,t){try{var n="",r=t;do n+=Rd(r),r=r.return;while(r);var i=n}catch(l){i=` +Error generating stack: `+l.message+` +`+l.stack}return{value:e,source:t,stack:i}}function Fs(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var tp=typeof WeakMap=="function"?WeakMap:Map;function rc(e,t,n){n=Ot(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Qi||(Qi=!0,As=r),Fs(e,t)},n}function ic(e,t,n){n=Ot(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return Fs(e,t),r(i)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch=="function"&&(n.callback=function(){typeof r!="function"&&(Ze===null?Ze=new Set([this]):Ze.add(this),Fs(e,t));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}var np=typeof WeakSet=="function"?WeakSet:Set;function Sa(e){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(n){Nt(e,n)}else t.current=null}function rp(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(t.flags&256&&e!==null){var n=e.memoizedProps,r=e.memoizedState;e=t.stateNode,t=e.getSnapshotBeforeUpdate(t.elementType===t.type?n:je(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:t.flags&256&&Mo(t.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(g(163))}function ip(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(t=n.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{if((e.tag&3)===3){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(t=n.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{var i=e;r=i.next,i=i.tag,(i&4)!==0&&(i&1)!==0&&(hc(n,e),dp(n,e)),e=r}while(e!==t)}return;case 1:e=n.stateNode,n.flags&4&&(t===null?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:je(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),t=n.updateQueue,t!==null&&na(n,t,e);return;case 3:if(t=n.updateQueue,t!==null){if(e=null,n.child!==null)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}na(n,t,e)}return;case 5:e=n.stateNode,t===null&&n.flags&4&&Nf(n.type,n.memoizedProps)&&e.focus();return;case 6:return;case 4:return;case 12:return;case 13:n.memoizedState===null&&(n=n.alternate,n!==null&&(n=n.memoizedState,n!==null&&(n=n.dehydrated,n!==null&&uf(n))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(g(163))}function ka(e,t){for(var n=e;;){if(n.tag===5){var r=n.stateNode;if(t)r=r.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var i=n.memoizedProps.style;i=i!=null&&i.hasOwnProperty("display")?i.display:null,r.style.display=Xa("display",i)}}else if(n.tag===6)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((n.tag!==23&&n.tag!==24||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function Ea(e,t){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(Oo,t)}catch{}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(e=t.updateQueue,e!==null&&(e=e.lastEffect,e!==null)){var n=e=e.next;do{var r=n,i=r.destroy;if(r=r.tag,i!==void 0)if((r&4)!==0)hc(t,n);else{r=t;try{i()}catch(l){Nt(r,l)}}n=n.next}while(n!==e)}break;case 1:if(Sa(t),e=t.stateNode,typeof e.componentWillUnmount=="function")try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(l){Nt(t,l)}break;case 5:Sa(t);break;case 4:lc(e,t)}}function Ma(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Oa(e){return e.tag===5||e.tag===3||e.tag===4}function xa(e){e:{for(var t=e.return;t!==null;){if(Oa(t))break e;t=t.return}throw Error(g(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:t=t.containerInfo,r=!0;break;case 4:t=t.containerInfo,r=!0;break;default:throw Error(g(161))}n.flags&16&&(xr(t,""),n.flags&=-17);e:t:for(n=e;;){for(;n.sibling===null;){if(n.return===null||Oa(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue t;n.child.return=n,n=n.child}if(!(n.flags&2)){n=n.stateNode;break e}}r?Is(e,n,t):Ws(e,n,t)}function Is(e,t,n){var r=e.tag,i=r===5||r===6;if(i)e=i?e.stateNode:e.stateNode.instance,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Li));else if(r!==4&&(e=e.child,e!==null))for(Is(e,t,n),e=e.sibling;e!==null;)Is(e,t,n),e=e.sibling}function Ws(e,t,n){var r=e.tag,i=r===5||r===6;if(i)e=i?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function lc(e,t){for(var n=t,r=!1,i,l;;){if(!r){r=n.return;e:for(;;){if(r===null)throw Error(g(160));switch(i=r.stateNode,r.tag){case 5:l=!1;break e;case 3:i=i.containerInfo,l=!0;break e;case 4:i=i.containerInfo,l=!0;break e}r=r.return}r=!0}if(n.tag===5||n.tag===6){e:for(var s=e,o=n,u=o;;)if(Ea(s,u),u.child!==null&&u.tag!==4)u.child.return=u,u=u.child;else{if(u===o)break e;for(;u.sibling===null;){if(u.return===null||u.return===o)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}l?(s=i,o=n.stateNode,s.nodeType===8?s.parentNode.removeChild(o):s.removeChild(o)):i.removeChild(n.stateNode)}else if(n.tag===4){if(n.child!==null){i=n.stateNode.containerInfo,l=!0,n.child.return=n,n=n.child;continue}}else if(Ea(e,n),n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return,n.tag===4&&(r=!1)}n.sibling.return=n.return,n=n.sibling}}function ql(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do(r.tag&3)===3&&(e=r.destroy,r.destroy=void 0,e!==void 0&&e()),r=r.next;while(r!==n)}return;case 1:return;case 5:if(n=t.stateNode,n!=null){r=t.memoizedProps;var i=e!==null?e.memoizedProps:r;e=t.type;var l=t.updateQueue;if(t.updateQueue=null,l!==null){for(n[Yi]=r,e==="input"&&r.type==="radio"&&r.name!=null&&Ga(n,r),ms(e,i),t=ms(e,r),i=0;ii&&(i=s),n&=~l}if(n=i,n=de()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*sp(n/1960))-n,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}ue!==5&&(ue=2),u=Wo(u,o),m=s;do{switch(m.tag){case 3:l=u,m.flags|=4096,t&=-t,m.lanes|=t;var P=rc(m,l,t);ta(m,P);break e;case 1:l=u;var w=m.type,C=m.stateNode;if((m.flags&64)===0&&(typeof w.getDerivedStateFromError=="function"||C!==null&&typeof C.componentDidCatch=="function"&&(Ze===null||!Ze.has(C)))){m.flags|=4096,t&=-t,m.lanes|=t;var R=ic(m,l,t);ta(m,R);break e}}m=m.return}while(m!==null)}dc(n)}catch(T){t=T,te===n&&n!==null&&(te=n=n.return);continue}break}while(1)}function fc(){var e=Gi.current;return Gi.current=Bi,e===null?Bi:e}function fr(e,t){var n=L;L|=16;var r=fc();ge===e&&he===t||Dn(e,t);do try{up();break}catch(i){ac(e,i)}while(1);if(Do(),L=n,Gi.current=r,te!==null)throw Error(g(261));return ge=null,he=0,ue}function up(){for(;te!==null;)cc(te)}function ap(){for(;te!==null&&!$h();)cc(te)}function cc(e){var t=pc(e.alternate,e,bt);e.memoizedProps=e.pendingProps,t===null?dc(e):te=t,Uo.current=null}function dc(e){var t=e;do{var n=t.alternate;if(e=t.return,(t.flags&2048)===0){if(n=bh(n,t,bt),n!==null){te=n;return}if(n=t,n.tag!==24&&n.tag!==23||n.memoizedState===null||(bt&1073741824)!==0||(n.mode&4)===0){for(var r=0,i=n.child;i!==null;)r|=i.lanes|i.childLanes,i=i.sibling;n.childLanes=r}e!==null&&(e.flags&2048)===0&&(e.firstEffect===null&&(e.firstEffect=t.firstEffect),t.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1s&&(o=s,s=P,P=o),o=zu(c,P),l=zu(c,s),o&&l&&(p.rangeCount!==1||p.anchorNode!==o.node||p.anchorOffset!==o.offset||p.focusNode!==l.node||p.focusOffset!==l.offset)&&(h=h.createRange(),h.setStart(o.node,o.offset),p.removeAllRanges(),P>s?(p.addRange(h),p.extend(l.node,l.offset)):(h.setEnd(l.node,l.offset),p.addRange(h)))))),h=[],p=c;p=p.parentNode;)p.nodeType===1&&h.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;cde()-zo?Dn(e,0):jo|=n),Fe(e,t)}function mp(e,t){var n=e.stateNode;n!==null&&n.delete(t),t=0,t===0&&(t=e.mode,(t&2)===0?t=1:(t&4)===0?t=Fn()===99?1:2:(it===0&&(it=jn),t=fn(62914560&~it),t===0&&(t=4194304))),n=xe(),e=hl(e,t),e!==null&&(ll(e,t,n),Fe(e,n))}var pc;pc=function(e,t,n){var r=t.lanes;if(e!==null)if(e.memoizedProps!==t.pendingProps||Ee.current)ze=!0;else if((n&r)!==0)ze=(e.flags&16384)!==0;else{switch(ze=!1,t.tag){case 3:pa(t),Kl();break;case 5:la(t);break;case 1:Me(t.type)&&yi(t);break;case 4:Ns(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var i=t.type._context;J(Fi,i._currentValue),i._currentValue=r;break;case 13:if(t.memoizedState!==null)return(n&t.child.childLanes)!==0?ma(e,t,n):(J(X,X.current&1),t=st(e,t,n),t!==null?t.sibling:null);J(X,X.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&64)!==0){if(r)return _a(e,t,n);t.flags|=64}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),J(X,X.current),r)break;return null;case 23:case 24:return t.lanes=0,Xl(e,t,n)}return st(e,t,n)}else ze=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=Rn(t,me.current),Mn(t,n),i=Yo(null,t,r,e,i,n),t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,Me(r)){var l=!0;yi(t)}else l=!1;t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,No(t);var s=r.getDerivedStateFromProps;typeof s=="function"&&Ui(t,r,s,e),i.updater=cl,t.stateNode=i,i._reactInternals=t,Ts(t,r,e,n),t=Ys(null,t,r,!0,l,n)}else t.tag=0,ke(null,t,i,n),t=t.child;return t;case 16:i=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,l=i._init,i=l(i._payload),t.type=i,l=t.tag=vp(i),e=je(i,e),l){case 0:t=Ls(null,t,i,e,n);break e;case 1:t=ha(null,t,i,e,n);break e;case 11:t=ca(null,t,i,e,n);break e;case 14:t=da(null,t,i,je(i.type,e),r,n);break e}throw Error(g(306,i,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:je(r,i),Ls(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:je(r,i),ha(e,t,r,i,n);case 3:if(pa(t),r=t.updateQueue,e===null||r===null)throw Error(g(282));if(r=t.pendingProps,i=t.memoizedState,i=i!==null?i.element:null,jf(e,t),Fr(t,r,null,n),r=t.memoizedState.element,r===i)Kl(),t=st(e,t,n);else{if(i=t.stateNode,(l=i.hydrate)&&(wt=En(t.stateNode.containerInfo.firstChild),lt=t,l=Xe=!0),l){if(e=i.mutableSourceEagerHydrationData,e!=null)for(i=0;i0&&(s=n[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=l[t];if(u===void 0)return!1;if(typeof u=="function")Ca(u,this,n);else for(var f=u.length,v=Ec(u,f),r=0;r0&&s.length>i&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,Mp(o)}return e}A.prototype.addListener=function(t,n){return wc(this,t,n,!1)};A.prototype.on=A.prototype.addListener;A.prototype.prependListener=function(t,n){return wc(this,t,n,!0)};function Op(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _c(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=Op.bind(r);return i.listener=n,r.wrapFn=i,i}A.prototype.once=function(t,n){return yl(n),this.on(t,_c(this,t,n)),this};A.prototype.prependOnceListener=function(t,n){return yl(n),this.prependListener(t,_c(this,t,n)),this};A.prototype.removeListener=function(t,n){var r,i,l,s,o;if(yl(n),i=this._events,i===void 0)return this;if(r=i[t],r===void 0)return this;if(r===n||r.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||n));else if(typeof r!="function"){for(l=-1,s=r.length-1;s>=0;s--)if(r[s]===n||r[s].listener===n){o=r[s].listener,l=s;break}if(l<0)return this;l===0?r.shift():xp(r,l),r.length===1&&(i[t]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",t,o||n)}return this};A.prototype.off=A.prototype.removeListener;A.prototype.removeAllListeners=function(t){var n,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[t]),this;if(arguments.length===0){var l=Object.keys(r),s;for(i=0;i=0;i--)this.removeListener(t,n[i]);return this};function Sc(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i=="function"?n?[i.listener||i]:[i]:n?Dp(i):Ec(i,i.length)}A.prototype.listeners=function(t){return Sc(this,t,!0)};A.prototype.rawListeners=function(t){return Sc(this,t,!1)};A.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):kc.call(e,t)};A.prototype.listenerCount=kc;function kc(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}A.prototype.eventNames=function(){return this._eventsCount>0?ki(this._events):[]};function Ec(e,t){for(var n=new Array(t),r=0;r=0,this.isIpad=/(iPad).*OS\s([\d_]+)/.test(t),this.isIos=this.isIphone||this.isIpad,this.isAndroid=t.indexOf("Android")>=0,this.isAnroidPad=this.isAndroid&&t.indexOf("Mobile")<0,this.isMac=t.indexOf("Macintosh")>=0,this.isWin=t.indexOf("Windows")>=0,this.isMqq=/QQ\/([\d.]+)/.test(t),this.isWechat=t.indexOf("MicroMessenger")>=0&&t.indexOf("wxwork")<0,this.isWeb=!this.isIos&&!this.isAndroid&&!/(WebOS|BlackBerry)/.test(t),Object.entries(n).forEach(([r,i])=>{this[r]=i})}}const Gs="magic:common:events:",Oc="magic:common:actions:",ai={SHOW:"show",HIDE:"hide",SCROLL_TO_VIEW:"scrollIntoView",SCROLL_TO_TOP:"scrollToTop"},Pp=[{label:"\u70B9\u51FB",value:`${Gs}click`}],xc=(e,t)=>{const n=`${e}:${t}`;return e.startsWith(Gs)?n:`${Gs}${n}`},Lp=e=>e.startsWith(Oc),Dc=(e,t)=>{var r;if(!e)return!1;if(!e.id)return Dc(e.parentElement,t);const n=(r=t.page)==null?void 0:r.getNode(e.id);return n||!1},La=(e,t,n)=>{const r=Dc(n.target,e);if(r){const{instance:i,data:l}=r;e.emit(xc(t,l.id),i)}},Yp=e=>{window.document.body.addEventListener("click",t=>{La(e,"click",t)}),window.document.body.addEventListener("click",t=>{La(e,"click:capture",t)},!0)},Rp=(e,t)=>{const{instance:n}=t;switch(e.replace(Oc,"")){case ai.SHOW:n.show();break;case ai.HIDE:n.hide();break;case ai.SCROLL_TO_VIEW:n.$el.scrollIntoView({behavior:"smooth"});break;case ai.SCROLL_TO_TOP:window.scrollTo({top:0,behavior:"smooth"});break}};class Ya extends ml.exports.EventEmitter{constructor(t){super();const{events:n}=t;this.data=t,this.events=n,this.listenLifeSafe(),this.once("destroy",()=>{this.instance=null,typeof this.data.destroy=="function"&&this.data.destroy(this),this.listenLifeSafe()})}listenLifeSafe(){this.once("created",t=>{this.instance=t,typeof this.data.created=="function"&&this.data.created(this)}),this.once("mounted",t=>{this.instance=t,typeof this.data.mounted=="function"&&this.data.mounted(this)})}}class Fp extends Ya{constructor(t){super(t.config),this.nodes=new Map,this.setNode(t.config.id,this),this.initNode(t.config)}initNode(t){var n;this.setNode(t.id,new Ya(t)),(n=t.items)==null||n.forEach(r=>{this.initNode(r)})}getNode(t){return this.nodes.get(t)}setNode(t,n){this.nodes.set(t,n)}deleteNode(t){this.nodes.delete(t)}}const Ip=e=>{if(typeof e!="string")return e;const t={};return e.split(";").forEach(n=>{if(!n)return;const r=n.split(":");let i=r.shift(),l=r.join(":");!i||(i=i.replace(/^\s*/,"").replace(/\s*$/,""),l=l.replace(/^\s*/,"").replace(/\s*$/,""),i=i.split("-").map((s,o)=>o>0?`${s[0].toUpperCase()}${s.substr(1)}`:s).join(""),t[i]=l)}),t},Wp=e=>e&&!/^url/.test(e)&&!/^linear-gradient/.test(e)?`url(${e})`:e;class Hv extends ml.exports.EventEmitter{constructor(t){if(super(),this.pages=new Map,this.platform="mobile",this.jsEngine="browser",this.components=new Map,this.env=new Cp(t.ua),t.platform&&(this.platform=t.platform),t.jsEngine&&(this.jsEngine=t.jsEngine),this.platform==="mobile"||this.platform==="editor"){const n=()=>{let{width:r}=document.documentElement.getBoundingClientRect();r=Math.min(800,r);const i=r/3.75;document.documentElement.style.fontSize=`${i}px`};n(),document.body.style.fontSize="14px",globalThis.addEventListener("resize",n)}t.transformStyle&&(this.transformStyle=t.transformStyle),t.config&&this.setConfig(t.config,t.curPage),Yp(this)}transformStyle(t){if(!t)return{};let n={};const r={};typeof t=="string"?n=Ip(t):n=pu({},t);const i=["zIndex","opacity","fontWeight"];return Object.entries(n).forEach(([l,s])=>{l==="backgroundImage"?s&&(r[l]=Wp(s)):!i.includes(l)&&s&&/^[-]?[0-9]*[.]?[0-9]*$/.test(s)?r[l]=`${s/100}rem`:r[l]=s}),r}setConfig(t,n){var r,i,l;this.pages=new Map,(r=t.items)==null||r.forEach(s=>{this.pages.set(s.id,new Fp({config:s}))}),this.setPage(n||((l=(i=this.page)==null?void 0:i.data)==null?void 0:l.id))}setPage(t){let n;t&&(n=this.pages.get(t)),n||(n=this.pages.get(this.pages.keys().next().value)),this.page=n,this.platform!=="magic"&&this.bindEvents()}registerComponent(t,n){this.components.set(t,n)}unregisterComponent(t){this.components.delete(t)}resolveComponent(t){return this.components.get(t)}bindEvents(){var t;if(!!this.page){this.removeAllListeners();for(const[,n]of this.page.nodes)(t=n.events)==null||t.forEach(r=>{let{name:i}=r;Pp.findIndex(l=>l.value===i)>-1&&(i=xc(i,`${n.data.id}`)),this.on(i,(l,...s)=>{var f;if(!this.page)throw new Error("\u5F53\u524D\u6CA1\u6709\u9875\u9762");const o=this.page.getNode(r.to);if(!o)throw`ID\u4E3A${r.to}\u7684\u7EC4\u4EF6\u4E0D\u5B58\u5728`;const{method:u}=r;if(Lp(u))return Rp(u,o);typeof((f=o.instance)==null?void 0:f[u])=="function"&&o.instance[u](l,...s)})})}}destroy(){this.removeAllListeners(),this.pages.clear()}}//! moment.js +//! version : 2.29.2 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +var Tc;function S(){return Tc.apply(null,arguments)}function Up(e){Tc=e}function He(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function Xt(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function j(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Go(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(j(e,t))return!1;return!0}function Se(e){return e===void 0}function dt(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function Qr(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Nc(e,t){var n=[],r,i=e.length;for(r=0;r>>0,r;for(r=0;r0)for(n=0;n=0;return(l?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var Xo=/(\[[^\[]*\])|(\\)?([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,fi=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,rs={},Cn={};function x(e,t,n,r){var i=r;typeof r=="string"&&(i=function(){return this[r]()}),e&&(Cn[e]=i),t&&(Cn[t[0]]=function(){return Je(i.apply(this,arguments),t[1],t[2])}),n&&(Cn[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function Vp(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function $p(e){var t=e.match(Xo),n,r;for(n=0,r=t.length;n=0&&fi.test(e);)e=e.replace(fi,r),fi.lastIndex=0,n-=1;return e}var Bp={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 Gp(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(Xo).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var Qp="Invalid date";function Zp(){return this._invalidDate}var Kp="%d",Xp=/\d{1,2}/;function Jp(e){return this._ordinal.replace("%d",e)}var qp={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 bp(e,t,n,r){var i=this._relativeTime[n];return et(i)?i(e,t,n,r):i.replace(/%d/i,e)}function em(e,t){var n=this._relativeTime[e>0?"future":"past"];return et(n)?n(t):n.replace(/%s/i,t)}var Er={};function ye(e,t){var n=e.toLowerCase();Er[n]=Er[n+"s"]=Er[t]=e}function Ue(e){return typeof e=="string"?Er[e]||Er[e.toLowerCase()]:void 0}function Jo(e){var t={},n,r;for(r in e)j(e,r)&&(n=Ue(r),n&&(t[n]=e[r]));return t}var Yc={};function ve(e,t){Yc[e]=t}function tm(e){var t=[],n;for(n in e)j(e,n)&&t.push({unit:n,priority:Yc[n]});return t.sort(function(r,i){return r.priority-i.priority}),t}function gl(e){return e%4===0&&e%100!==0||e%400===0}function Ce(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function I(e){var t=+e,n=0;return t!==0&&isFinite(t)&&(n=Ce(t)),n}function Hn(e,t){return function(n){return n!=null?(Rc(this,e,n),S.updateOffset(this,t),this):Ki(this,e)}}function Ki(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Rc(e,t,n){e.isValid()&&!isNaN(n)&&(t==="FullYear"&&gl(e.year())&&e.month()===1&&e.date()===29?(n=I(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Ml(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function nm(e){return e=Ue(e),et(this[e])?this[e]():this}function rm(e,t){if(typeof e=="object"){e=Jo(e);var n=tm(e),r,i=n.length;for(r=0;r68?1900:2e3)};var $c=Hn("FullYear",!0);function km(){return gl(this.year())}function Em(e,t,n,r,i,l,s){var o;return e<100&&e>=0?(o=new Date(e+400,t,n,r,i,l,s),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,r,i,l,s),o}function jr(e){var t,n;return e<100&&e>=0?(n=Array.prototype.slice.call(arguments),n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ji(e,t,n){var r=7+t-n,i=(7+jr(e,0,r).getUTCDay()-t)%7;return-i+r-1}function Bc(e,t,n,r,i){var l=(7+n-r)%7,s=Ji(e,r,i),o=1+7*(t-1)+l+s,u,f;return o<=0?(u=e-1,f=Mr(u)+o):o>Mr(e)?(u=e+1,f=o-Mr(e)):(u=e,f=o),{year:u,dayOfYear:f}}function zr(e,t,n){var r=Ji(e.year(),t,n),i=Math.floor((e.dayOfYear()-r-1)/7)+1,l,s;return i<1?(s=e.year()-1,l=i+ft(s,t,n)):i>ft(e.year(),t,n)?(l=i-ft(e.year(),t,n),s=e.year()+1):(s=e.year(),l=i),{week:l,year:s}}function ft(e,t,n){var r=Ji(e,t,n),i=Ji(e+1,t,n);return(Mr(e)-r+i)/7}x("w",["ww",2],"wo","week");x("W",["WW",2],"Wo","isoWeek");ye("week","w");ye("isoWeek","W");ve("week",5);ve("isoWeek",5);k("w",Q);k("ww",Q,Te);k("W",Q);k("WW",Q,Te);Xr(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=I(e)});function Mm(e){return zr(e,this._week.dow,this._week.doy).week}var Om={dow:0,doy:6};function xm(){return this._week.dow}function Dm(){return this._week.doy}function Tm(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function Nm(e){var t=zr(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}x("d",0,"do","day");x("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});x("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});x("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});x("e",0,0,"weekday");x("E",0,0,"isoWeekday");ye("day","d");ye("weekday","e");ye("isoWeekday","E");ve("day",11);ve("weekday",11);ve("isoWeekday",11);k("d",Q);k("e",Q);k("E",Q);k("dd",function(e,t){return t.weekdaysMinRegex(e)});k("ddd",function(e,t){return t.weekdaysShortRegex(e)});k("dddd",function(e,t){return t.weekdaysRegex(e)});Xr(["dd","ddd","dddd"],function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);i!=null?t.d=i:F(n).invalidWeekday=e});Xr(["d","e","E"],function(e,t,n,r){t[r]=I(e)});function Cm(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function Pm(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function eu(e,t){return e.slice(t,7).concat(e.slice(0,t))}var Lm="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gc="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ym="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Rm=Kr,Fm=Kr,Im=Kr;function Wm(e,t){var n=He(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?eu(n,this._week.dow):e?n[e.day()]:n}function Um(e){return e===!0?eu(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function jm(e){return e===!0?eu(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function zm(e,t,n){var r,i,l,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)l=be([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(l,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(l,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(l,"").toLocaleLowerCase();return n?t==="dddd"?(i=b.call(this._weekdaysParse,s),i!==-1?i:null):t==="ddd"?(i=b.call(this._shortWeekdaysParse,s),i!==-1?i:null):(i=b.call(this._minWeekdaysParse,s),i!==-1?i:null):t==="dddd"?(i=b.call(this._weekdaysParse,s),i!==-1||(i=b.call(this._shortWeekdaysParse,s),i!==-1)?i:(i=b.call(this._minWeekdaysParse,s),i!==-1?i:null)):t==="ddd"?(i=b.call(this._shortWeekdaysParse,s),i!==-1||(i=b.call(this._weekdaysParse,s),i!==-1)?i:(i=b.call(this._minWeekdaysParse,s),i!==-1?i:null)):(i=b.call(this._minWeekdaysParse,s),i!==-1||(i=b.call(this._weekdaysParse,s),i!==-1)?i:(i=b.call(this._shortWeekdaysParse,s),i!==-1?i:null))}function Am(e,t,n){var r,i,l;if(this._weekdaysParseExact)return zm.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=be([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(l="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(l.replace(".",""),"i")),n&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(n&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(n&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Hm(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=Cm(e,this.localeData()),this.add(e-t,"d")):t}function Vm(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function $m(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=Pm(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function Bm(e){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||tu.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=Rm),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gm(e){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||tu.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Fm),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Qm(e){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||tu.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Im),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function tu(){function e(v,O){return O.length-v.length}var t=[],n=[],r=[],i=[],l,s,o,u,f;for(l=0;l<7;l++)s=be([2e3,1]).day(l),o=Oe(this.weekdaysMin(s,"")),u=Oe(this.weekdaysShort(s,"")),f=Oe(this.weekdays(s,"")),t.push(o),n.push(u),r.push(f),i.push(o),i.push(u),i.push(f);t.sort(e),n.sort(e),r.sort(e),i.sort(e),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function nu(){return this.hours()%12||12}function Zm(){return this.hours()||24}x("H",["HH",2],0,"hour");x("h",["hh",2],0,nu);x("k",["kk",2],0,Zm);x("hmm",0,0,function(){return""+nu.apply(this)+Je(this.minutes(),2)});x("hmmss",0,0,function(){return""+nu.apply(this)+Je(this.minutes(),2)+Je(this.seconds(),2)});x("Hmm",0,0,function(){return""+this.hours()+Je(this.minutes(),2)});x("Hmmss",0,0,function(){return""+this.hours()+Je(this.minutes(),2)+Je(this.seconds(),2)});function Qc(e,t){x(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}Qc("a",!0);Qc("A",!1);ye("hour","h");ve("hour",13);function Zc(e,t){return t._meridiemParse}k("a",Zc);k("A",Zc);k("H",Q);k("h",Q);k("k",Q);k("HH",Q,Te);k("hh",Q,Te);k("kk",Q,Te);k("hmm",Wc);k("hmmss",Uc);k("Hmm",Wc);k("Hmmss",Uc);H(["H","HH"],ne);H(["k","kk"],function(e,t,n){var r=I(e);t[ne]=r===24?0:r});H(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e});H(["h","hh"],function(e,t,n){t[ne]=I(e),F(n).bigHour=!0});H("hmm",function(e,t,n){var r=e.length-2;t[ne]=I(e.substr(0,r)),t[Ae]=I(e.substr(r)),F(n).bigHour=!0});H("hmmss",function(e,t,n){var r=e.length-4,i=e.length-2;t[ne]=I(e.substr(0,r)),t[Ae]=I(e.substr(r,2)),t[ut]=I(e.substr(i)),F(n).bigHour=!0});H("Hmm",function(e,t,n){var r=e.length-2;t[ne]=I(e.substr(0,r)),t[Ae]=I(e.substr(r))});H("Hmmss",function(e,t,n){var r=e.length-4,i=e.length-2;t[ne]=I(e.substr(0,r)),t[Ae]=I(e.substr(r,2)),t[ut]=I(e.substr(i))});function Km(e){return(e+"").toLowerCase().charAt(0)==="p"}var Xm=/[ap]\.?m?\.?/i,Jm=Hn("Hours",!0);function qm(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var Kc={calendar:Ap,longDateFormat:Bp,invalidDate:Qp,ordinal:Kp,dayOfMonthOrdinalParse:Xp,relativeTime:qp,months:dm,monthsShort:jc,week:Om,weekdays:Lm,weekdaysMin:Ym,weekdaysShort:Gc,meridiemParse:Xm},Z={},ir={},Ar;function bm(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0;){if(i=Ol(l.slice(0,n).join("-")),i)return i;if(r&&r.length>=n&&bm(l,r)>=n-1)break;n--}t++}return Ar}function t0(e){return e.match("^[^/\\\\]*$")!=null}function Ol(e){var t=null,n;if(Z[e]===void 0&&typeof module!="undefined"&&module&&module.exports&&t0(e))try{t=Ar._abbr,n=require,n("./locale/"+e),Ct(t)}catch{Z[e]=null}return Z[e]}function Ct(e,t){var n;return e&&(Se(t)?n=ht(e):n=ru(e,t),n?Ar=n:typeof console!="undefined"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Ar._abbr}function ru(e,t){if(t!==null){var n,r=Kc;if(t.abbr=e,Z[e]!=null)Pc("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."),r=Z[e]._config;else if(t.parentLocale!=null)if(Z[t.parentLocale]!=null)r=Z[t.parentLocale]._config;else if(n=Ol(t.parentLocale),n!=null)r=n._config;else return ir[t.parentLocale]||(ir[t.parentLocale]=[]),ir[t.parentLocale].push({name:e,config:t}),null;return Z[e]=new Ko(Zs(r,t)),ir[e]&&ir[e].forEach(function(i){ru(i.name,i.config)}),Ct(e),Z[e]}else return delete Z[e],null}function n0(e,t){if(t!=null){var n,r,i=Kc;Z[e]!=null&&Z[e].parentLocale!=null?Z[e].set(Zs(Z[e]._config,t)):(r=Ol(e),r!=null&&(i=r._config),t=Zs(i,t),r==null&&(t.abbr=e),n=new Ko(t),n.parentLocale=Z[e],Z[e]=n),Ct(e)}else Z[e]!=null&&(Z[e].parentLocale!=null?(Z[e]=Z[e].parentLocale,e===Ct()&&Ct(e)):Z[e]!=null&&delete Z[e]);return Z[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ar;if(!He(e)){if(t=Ol(e),t)return t;e=[e]}return e0(e)}function r0(){return Ks(Z)}function iu(e){var t,n=e._a;return n&&F(e).overflow===-2&&(t=n[ot]<0||n[ot]>11?ot:n[Be]<1||n[Be]>Ml(n[pe],n[ot])?Be:n[ne]<0||n[ne]>24||n[ne]===24&&(n[Ae]!==0||n[ut]!==0||n[Zt]!==0)?ne:n[Ae]<0||n[Ae]>59?Ae:n[ut]<0||n[ut]>59?ut:n[Zt]<0||n[Zt]>999?Zt:-1,F(e)._overflowDayOfYear&&(tBe)&&(t=Be),F(e)._overflowWeeks&&t===-1&&(t=am),F(e)._overflowWeekday&&t===-1&&(t=fm),F(e).overflow=t),e}var i0=/^\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)?)?$/,l0=/^\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)?)?$/,s0=/Z|[+-]\d\d(?::?\d\d)?/,ci=[["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]],is=[["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/]],o0=/^\/?Date\((-?\d+)/i,u0=/^(?:(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}))$/,a0={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 Xc(e){var t,n,r=e._i,i=i0.exec(r)||l0.exec(r),l,s,o,u,f=ci.length,v=is.length;if(i){for(F(e).iso=!0,t=0,n=f;tMr(s)||e._dayOfYear===0)&&(F(e)._overflowDayOfYear=!0),n=jr(s,0,e._dayOfYear),e._a[ot]=n.getUTCMonth(),e._a[Be]=n.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=i[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[ne]===24&&e._a[Ae]===0&&e._a[ut]===0&&e._a[Zt]===0&&(e._nextDay=!0,e._a[ne]=0),e._d=(e._useUTC?jr:Em).apply(null,r),l=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ne]=24),e._w&&typeof e._w.d!="undefined"&&e._w.d!==l&&(F(e).weekdayMismatch=!0)}}function v0(e){var t,n,r,i,l,s,o,u,f;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(l=1,s=4,n=cn(t.GG,e._a[pe],zr(G(),1,4).year),r=cn(t.W,1),i=cn(t.E,1),(i<1||i>7)&&(u=!0)):(l=e._locale._week.dow,s=e._locale._week.doy,f=zr(G(),l,s),n=cn(t.gg,e._a[pe],f.year),r=cn(t.w,f.week),t.d!=null?(i=t.d,(i<0||i>6)&&(u=!0)):t.e!=null?(i=t.e+l,(t.e<0||t.e>6)&&(u=!0)):i=l),r<1||r>ft(n,l,s)?F(e)._overflowWeeks=!0:u!=null?F(e)._overflowWeekday=!0:(o=Bc(n,r,i,l,s),e._a[pe]=o.year,e._dayOfYear=o.dayOfYear)}S.ISO_8601=function(){};S.RFC_2822=function(){};function su(e){if(e._f===S.ISO_8601){Xc(e);return}if(e._f===S.RFC_2822){Jc(e);return}e._a=[],F(e).empty=!0;var t=""+e._i,n,r,i,l,s,o=t.length,u=0,f,v;for(i=Lc(e._f,e._locale).match(Xo)||[],v=i.length,n=0;n0&&F(e).unusedInput.push(s),t=t.slice(t.indexOf(r)+r.length),u+=r.length),Cn[l]?(r?F(e).empty=!1:F(e).unusedTokens.push(l),um(l,r,e)):e._strict&&!r&&F(e).unusedTokens.push(l);F(e).charsLeftOver=o-u,t.length>0&&F(e).unusedInput.push(t),e._a[ne]<=12&&F(e).bigHour===!0&&e._a[ne]>0&&(F(e).bigHour=void 0),F(e).parsedDateParts=e._a.slice(0),F(e).meridiem=e._meridiem,e._a[ne]=g0(e._locale,e._a[ne],e._meridiem),f=F(e).era,f!==null&&(e._a[pe]=e._locale.erasConvertYear(f,e._a[pe])),lu(e),iu(e)}function g0(e,t,n){var r;return n==null?t:e.meridiemHour!=null?e.meridiemHour(t,n):(e.isPM!=null&&(r=e.isPM(n),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function w0(e){var t,n,r,i,l,s,o=!1,u=e._f.length;if(u===0){F(e).invalidFormat=!0,e._d=new Date(NaN);return}for(i=0;ithis?this:e:vl()});function ed(e,t){var n,r;if(t.length===1&&He(t[0])&&(t=t[0]),!t.length)return G();for(n=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function z0(){if(!Se(this._isDSTShifted))return this._isDSTShifted;var e={},t;return Zo(e,this),e=qc(e),e._a?(t=e._isUTC?be(e._a):G(e._a),this._isDSTShifted=this.isValid()&&P0(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function A0(){return this.isValid()?!this._isUTC:!1}function H0(){return this.isValid()?this._isUTC:!1}function nd(){return this.isValid()?this._isUTC&&this._offset===0:!1}var V0=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,$0=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function $e(e,t){var n=e,r=null,i,l,s;return Mi(e)?n={ms:e._milliseconds,d:e._days,M:e._months}:dt(e)||!isNaN(+e)?(n={},t?n[t]=+e:n.milliseconds=+e):(r=V0.exec(e))?(i=r[1]==="-"?-1:1,n={y:0,d:I(r[Be])*i,h:I(r[ne])*i,m:I(r[Ae])*i,s:I(r[ut])*i,ms:I(Js(r[Zt]*1e3))*i}):(r=$0.exec(e))?(i=r[1]==="-"?-1:1,n={y:At(r[2],i),M:At(r[3],i),w:At(r[4],i),d:At(r[5],i),h:At(r[6],i),m:At(r[7],i),s:At(r[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(s=B0(G(n.from),G(n.to)),n={},n.ms=s.milliseconds,n.M=s.months),l=new xl(n),Mi(e)&&j(e,"_locale")&&(l._locale=e._locale),Mi(e)&&j(e,"_isValid")&&(l._isValid=e._isValid),l}$e.fn=xl.prototype;$e.invalid=C0;function At(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Wa(e,t){var n={};return n.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function B0(e,t){var n;return e.isValid()&&t.isValid()?(t=uu(t,e),e.isBefore(t)?n=Wa(e,t):(n=Wa(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function rd(e,t){return function(n,r){var i,l;return r!==null&&!isNaN(+r)&&(Pc(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),l=n,n=r,r=l),i=$e(n,r),id(this,i,e),this}}function id(e,t,n,r){var i=t._milliseconds,l=Js(t._days),s=Js(t._months);!e.isValid()||(r=r==null?!0:r,s&&Ac(e,Ki(e,"Month")+s*n),l&&Rc(e,"Date",Ki(e,"Date")+l*n),i&&e._d.setTime(e._d.valueOf()+i*n),r&&S.updateOffset(e,l||s))}var G0=rd(1,"add"),Q0=rd(-1,"subtract");function ld(e){return typeof e=="string"||e instanceof String}function Z0(e){return Ve(e)||Qr(e)||ld(e)||dt(e)||X0(e)||K0(e)||e===null||e===void 0}function K0(e){var t=Xt(e)&&!Go(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,l,s=r.length;for(i=0;in.valueOf():n.valueOf()9999?Ei(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):et(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Ei(n,"Z")):Ei(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function fy(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",n,r,i,l;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",l=t+'[")]',this.format(n+r+i+l)}function cy(e){e||(e=this.isUtc()?S.defaultFormatUtc:S.defaultFormat);var t=Ei(this,e);return this.localeData().postformat(t)}function dy(e,t){return this.isValid()&&(Ve(e)&&e.isValid()||G(e).isValid())?$e({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function hy(e){return this.from(G(),e)}function py(e,t){return this.isValid()&&(Ve(e)&&e.isValid()||G(e).isValid())?$e({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function my(e){return this.to(G(),e)}function sd(e){var t;return e===void 0?this._locale._abbr:(t=ht(e),t!=null&&(this._locale=t),this)}var od=We("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function ud(){return this._locale}var qi=1e3,Pn=60*qi,bi=60*Pn,ad=(365*400+97)*24*bi;function Ln(e,t){return(e%t+t)%t}function fd(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-ad:new Date(e,t,n).valueOf()}function cd(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-ad:Date.UTC(e,t,n)}function yy(e){var t,n;if(e=Ue(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?cd:fd,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=Ln(t+(this._isUTC?0:this.utcOffset()*Pn),bi);break;case"minute":t=this._d.valueOf(),t-=Ln(t,Pn);break;case"second":t=this._d.valueOf(),t-=Ln(t,qi);break}return this._d.setTime(t),S.updateOffset(this,!0),this}function vy(e){var t,n;if(e=Ue(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?cd:fd,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=bi-Ln(t+(this._isUTC?0:this.utcOffset()*Pn),bi)-1;break;case"minute":t=this._d.valueOf(),t+=Pn-Ln(t,Pn)-1;break;case"second":t=this._d.valueOf(),t+=qi-Ln(t,qi)-1;break}return this._d.setTime(t),S.updateOffset(this,!0),this}function gy(){return this._d.valueOf()-(this._offset||0)*6e4}function wy(){return Math.floor(this.valueOf()/1e3)}function _y(){return new Date(this.valueOf())}function Sy(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function ky(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function Ey(){return this.isValid()?this.toISOString():null}function My(){return Qo(this)}function Oy(){return _t({},F(this))}function xy(){return F(this).overflow}function Dy(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}x("N",0,0,"eraAbbr");x("NN",0,0,"eraAbbr");x("NNN",0,0,"eraAbbr");x("NNNN",0,0,"eraName");x("NNNNN",0,0,"eraNarrow");x("y",["y",1],"yo","eraYear");x("y",["yy",2],0,"eraYear");x("y",["yyy",3],0,"eraYear");x("y",["yyyy",4],0,"eraYear");k("N",au);k("NN",au);k("NNN",au);k("NNNN",Uy);k("NNNNN",jy);H(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,r){var i=n._locale.erasParse(e,r,n._strict);i?F(n).era=i:F(n).invalidEra=e});k("y",Vn);k("yy",Vn);k("yyy",Vn);k("yyyy",Vn);k("yo",zy);H(["y","yy","yyy","yyyy"],pe);H(["yo"],function(e,t,n,r){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[pe]=n._locale.eraYearOrdinalParse(e,i):t[pe]=parseInt(e,10)});function Ty(e,t){var n,r,i,l=this._eras||ht("en")._eras;for(n=0,r=l.length;n=0)return l[r]}function Cy(e,t){var n=e.since<=e.until?1:-1;return t===void 0?S(e.since).year():S(e.since).year()+(t-e.offset)*n}function Py(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;el&&(t=l),Qy.call(this,e,t,n,r,i))}function Qy(e,t,n,r,i){var l=Bc(e,t,n,r,i),s=jr(l.year,0,l.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}x("Q",0,"Qo","quarter");ye("quarter","Q");ve("quarter",7);k("Q",Fc);H("Q",function(e,t){t[ot]=(I(e)-1)*3});function Zy(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}x("D",["DD",2],"Do","date");ye("date","D");ve("date",9);k("D",Q);k("DD",Q,Te);k("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});H(["D","DD"],Be);H("Do",function(e,t){t[Be]=I(e.match(Q)[0])});var hd=Hn("Date",!0);x("DDD",["DDDD",3],"DDDo","dayOfYear");ye("dayOfYear","DDD");ve("dayOfYear",4);k("DDD",_l);k("DDDD",Ic);H(["DDD","DDDD"],function(e,t,n){n._dayOfYear=I(e)});function Ky(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}x("m",["mm",2],0,"minute");ye("minute","m");ve("minute",14);k("m",Q);k("mm",Q,Te);H(["m","mm"],Ae);var Xy=Hn("Minutes",!1);x("s",["ss",2],0,"second");ye("second","s");ve("second",15);k("s",Q);k("ss",Q,Te);H(["s","ss"],ut);var Jy=Hn("Seconds",!1);x("S",0,0,function(){return~~(this.millisecond()/100)});x(0,["SS",2],0,function(){return~~(this.millisecond()/10)});x(0,["SSS",3],0,"millisecond");x(0,["SSSS",4],0,function(){return this.millisecond()*10});x(0,["SSSSS",5],0,function(){return this.millisecond()*100});x(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});x(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});x(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});x(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});ye("millisecond","ms");ve("millisecond",16);k("S",_l,Fc);k("SS",_l,Te);k("SSS",_l,Ic);var St,pd;for(St="SSSS";St.length<=9;St+="S")k(St,Vn);function qy(e,t){t[Zt]=I(("0."+e)*1e3)}for(St="S";St.length<=9;St+="S")H(St,qy);pd=Hn("Milliseconds",!1);x("z",0,0,"zoneAbbr");x("zz",0,0,"zoneName");function by(){return this._isUTC?"UTC":""}function ev(){return this._isUTC?"Coordinated Universal Time":""}var y=Zr.prototype;y.add=G0;y.calendar=b0;y.clone=ey;y.diff=oy;y.endOf=vy;y.format=cy;y.from=dy;y.fromNow=hy;y.to=py;y.toNow=my;y.get=nm;y.invalidAt=xy;y.isAfter=ty;y.isBefore=ny;y.isBetween=ry;y.isSame=iy;y.isSameOrAfter=ly;y.isSameOrBefore=sy;y.isValid=My;y.lang=od;y.locale=sd;y.localeData=ud;y.max=M0;y.min=E0;y.parsingFlags=Oy;y.set=rm;y.startOf=yy;y.subtract=Q0;y.toArray=Sy;y.toObject=ky;y.toDate=_y;y.toISOString=ay;y.inspect=fy;typeof Symbol!="undefined"&&Symbol.for!=null&&(y[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});y.toJSON=Ey;y.toString=uy;y.unix=wy;y.valueOf=gy;y.creationData=Dy;y.eraName=Py;y.eraNarrow=Ly;y.eraAbbr=Yy;y.eraYear=Ry;y.year=$c;y.isLeapYear=km;y.weekYear=Ay;y.isoWeekYear=Hy;y.quarter=y.quarters=Zy;y.month=Hc;y.daysInMonth=wm;y.week=y.weeks=Tm;y.isoWeek=y.isoWeeks=Nm;y.weeksInYear=By;y.weeksInWeekYear=Gy;y.isoWeeksInYear=Vy;y.isoWeeksInISOWeekYear=$y;y.date=hd;y.day=y.days=Hm;y.weekday=Vm;y.isoWeekday=$m;y.dayOfYear=Ky;y.hour=y.hours=Jm;y.minute=y.minutes=Xy;y.second=y.seconds=Jy;y.millisecond=y.milliseconds=pd;y.utcOffset=Y0;y.utc=F0;y.local=I0;y.parseZone=W0;y.hasAlignedHourOffset=U0;y.isDST=j0;y.isLocal=A0;y.isUtcOffset=H0;y.isUtc=nd;y.isUTC=nd;y.zoneAbbr=by;y.zoneName=ev;y.dates=We("dates accessor is deprecated. Use date instead.",hd);y.months=We("months accessor is deprecated. Use month instead",Hc);y.years=We("years accessor is deprecated. Use year instead",$c);y.zone=We("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",R0);y.isDSTShifted=We("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",z0);function tv(e){return G(e*1e3)}function nv(){return G.apply(null,arguments).parseZone()}function md(e){return e}var z=Ko.prototype;z.calendar=Hp;z.longDateFormat=Gp;z.invalidDate=Zp;z.ordinal=Jp;z.preparse=md;z.postformat=md;z.relativeTime=bp;z.pastFuture=em;z.set=zp;z.eras=Ty;z.erasParse=Ny;z.erasConvertYear=Cy;z.erasAbbrRegex=Iy;z.erasNameRegex=Fy;z.erasNarrowRegex=Wy;z.months=mm;z.monthsShort=ym;z.monthsParse=gm;z.monthsRegex=Sm;z.monthsShortRegex=_m;z.week=Mm;z.firstDayOfYear=Dm;z.firstDayOfWeek=xm;z.weekdays=Wm;z.weekdaysMin=jm;z.weekdaysShort=Um;z.weekdaysParse=Am;z.weekdaysRegex=Bm;z.weekdaysShortRegex=Gm;z.weekdaysMinRegex=Qm;z.isPM=Km;z.meridiem=qm;function el(e,t,n,r){var i=ht(),l=be().set(r,t);return i[n](l,e)}function yd(e,t,n){if(dt(e)&&(t=e,e=void 0),e=e||"",t!=null)return el(e,t,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=el(e,r,n,"month");return i}function cu(e,t,n,r){typeof e=="boolean"?(dt(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,dt(t)&&(n=t,t=void 0),t=t||"");var i=ht(),l=e?i._week.dow:0,s,o=[];if(n!=null)return el(t,(n+l)%7,r,"day");for(s=0;s<7;s++)o[s]=el(t,(s+l)%7,r,"day");return o}function rv(e,t){return yd(e,t,"months")}function iv(e,t){return yd(e,t,"monthsShort")}function lv(e,t,n){return cu(e,t,n,"weekdays")}function sv(e,t,n){return cu(e,t,n,"weekdaysShort")}function ov(e,t,n){return cu(e,t,n,"weekdaysMin")}Ct("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(e){var t=e%10,n=I(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}});S.lang=We("moment.lang is deprecated. Use moment.locale instead.",Ct);S.langData=We("moment.langData is deprecated. Use moment.localeData instead.",ht);var tt=Math.abs;function uv(){var e=this._data;return this._milliseconds=tt(this._milliseconds),this._days=tt(this._days),this._months=tt(this._months),e.milliseconds=tt(e.milliseconds),e.seconds=tt(e.seconds),e.minutes=tt(e.minutes),e.hours=tt(e.hours),e.months=tt(e.months),e.years=tt(e.years),this}function vd(e,t,n,r){var i=$e(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function av(e,t){return vd(this,e,t,1)}function fv(e,t){return vd(this,e,t,-1)}function Ua(e){return e<0?Math.floor(e):Math.ceil(e)}function cv(){var e=this._milliseconds,t=this._days,n=this._months,r=this._data,i,l,s,o,u;return e>=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0||(e+=Ua(bs(n)+t)*864e5,t=0,n=0),r.milliseconds=e%1e3,i=Ce(e/1e3),r.seconds=i%60,l=Ce(i/60),r.minutes=l%60,s=Ce(l/60),r.hours=s%24,t+=Ce(s/24),u=Ce(gd(t)),n+=u,t-=Ua(bs(u)),o=Ce(n/12),n%=12,r.days=t,r.months=n,r.years=o,this}function gd(e){return e*4800/146097}function bs(e){return e*146097/4800}function dv(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(e=Ue(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,n=this._months+gd(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(bs(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function hv(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+I(this._months/12)*31536e6:NaN}function pt(e){return function(){return this.as(e)}}var pv=pt("ms"),mv=pt("s"),yv=pt("m"),vv=pt("h"),gv=pt("d"),wv=pt("w"),_v=pt("M"),Sv=pt("Q"),kv=pt("y");function Ev(){return $e(this)}function Mv(e){return e=Ue(e),this.isValid()?this[e+"s"]():NaN}function ln(e){return function(){return this.isValid()?this._data[e]:NaN}}var Ov=ln("milliseconds"),xv=ln("seconds"),Dv=ln("minutes"),Tv=ln("hours"),Nv=ln("days"),Cv=ln("months"),Pv=ln("years");function Lv(){return Ce(this.days()/7)}var nt=Math.round,gn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Yv(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function Rv(e,t,n,r){var i=$e(e).abs(),l=nt(i.as("s")),s=nt(i.as("m")),o=nt(i.as("h")),u=nt(i.as("d")),f=nt(i.as("M")),v=nt(i.as("w")),O=nt(i.as("y")),m=l<=n.ss&&["s",l]||l0,m[4]=r,Yv.apply(null,m)}function Fv(e){return e===void 0?nt:typeof e=="function"?(nt=e,!0):!1}function Iv(e,t){return gn[e]===void 0?!1:t===void 0?gn[e]:(gn[e]=t,e==="s"&&(gn.ss=t-1),!0)}function Wv(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=!1,r=gn,i,l;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(n=e),typeof t=="object"&&(r=Object.assign({},gn,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),i=this.localeData(),l=Rv(this,!n,r,i),n&&(l=i.pastFuture(+this,l)),i.postformat(l)}var ls=Math.abs;function un(e){return(e>0)-(e<0)||+e}function Tl(){if(!this.isValid())return this.localeData().invalidDate();var e=ls(this._milliseconds)/1e3,t=ls(this._days),n=ls(this._months),r,i,l,s,o=this.asSeconds(),u,f,v,O;return o?(r=Ce(e/60),i=Ce(r/60),e%=60,r%=60,l=Ce(n/12),n%=12,s=e?e.toFixed(3).replace(/\.?0+$/,""):"",u=o<0?"-":"",f=un(this._months)!==un(o)?"-":"",v=un(this._days)!==un(o)?"-":"",O=un(this._milliseconds)!==un(o)?"-":"",u+"P"+(l?f+l+"Y":"")+(n?f+n+"M":"")+(t?v+t+"D":"")+(i||r||e?"T":"")+(i?O+i+"H":"")+(r?O+r+"M":"")+(e?O+s+"S":"")):"P0D"}var U=xl.prototype;U.isValid=N0;U.abs=uv;U.add=av;U.subtract=fv;U.as=dv;U.asMilliseconds=pv;U.asSeconds=mv;U.asMinutes=yv;U.asHours=vv;U.asDays=gv;U.asWeeks=wv;U.asMonths=_v;U.asQuarters=Sv;U.asYears=kv;U.valueOf=hv;U._bubble=cv;U.clone=Ev;U.get=Mv;U.milliseconds=Ov;U.seconds=xv;U.minutes=Dv;U.hours=Tv;U.days=Nv;U.weeks=Lv;U.months=Cv;U.years=Pv;U.humanize=Wv;U.toISOString=Tl;U.toString=Tl;U.toJSON=Tl;U.locale=sd;U.localeData=ud;U.toIsoString=We("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Tl);U.lang=od;x("X",0,0,"unix");x("x",0,0,"valueOf");k("x",kl);k("X",lm);H("X",function(e,t,n){n._d=new Date(parseFloat(e)*1e3)});H("x",function(e,t,n){n._d=new Date(I(e))});//! moment.js +S.version="2.29.2";Up(G);S.fn=y;S.min=O0;S.max=x0;S.now=D0;S.utc=be;S.unix=tv;S.months=rv;S.isDate=Qr;S.locale=Ct;S.invalid=vl;S.duration=$e;S.isMoment=Ve;S.weekdays=lv;S.parseZone=nv;S.localeData=ht;S.isDuration=Mi;S.monthsShort=iv;S.weekdaysMin=ov;S.defineLocale=ru;S.updateLocale=n0;S.locales=r0;S.weekdaysShort=sv;S.normalizeUnits=Ue;S.relativeTimeRounding=Fv;S.relativeTimeThreshold=Iv;S.calendarFormat=q0;S.prototype=y;S.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"};const Uv=e=>e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Vv=(e,t)=>{const n=t||location.href,r=new RegExp(`[?&#]${e}=([^&#]+)`,"gi"),i=n.match(r);let l;return i&&i.length>0?(l=i[i.length-1].split("="),l&&l.length>1?Uv(l[1]):""):""};export{Hv as A,Av as R,Vv as g}; diff --git a/magic-admin/web/public/runtime/react/assets/index.aa7399fc.css b/magic-admin/web/public/runtime/react/assets/index.aa7399fc.css new file mode 100644 index 00000000..e27eab5c --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/index.aa7399fc.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;*display: inline;*zoom: 1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left: -7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align: middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow: visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height: 13px;*width: 13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html,button,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0} diff --git a/magic-admin/web/public/runtime/react/assets/page.5884789a.css b/magic-admin/web/public/runtime/react/assets/page.5884789a.css new file mode 100644 index 00000000..f0898c34 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/page.5884789a.css @@ -0,0 +1 @@ +html,body,#app{width:100%;height:100%}#app{position:relative;overflow:auto} diff --git a/magic-admin/web/public/runtime/react/assets/page.js b/magic-admin/web/public/runtime/react/assets/page.js new file mode 100644 index 00000000..24a912f8 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/page.js @@ -0,0 +1 @@ +import{A as App$2,g as getUrlParam,R as ReactDOM}from"./index.144d287e.js";import{r as react,A as AppContent,R as React}from"./Text.000ec384.js";import{e as entry}from"./components.js";var App$1="";function App(){var t,r;const e=react.exports.useContext(AppContent);if(!((t=e==null?void 0:e.page)!=null&&t.data))return null;const n=e.resolveComponent("page");return React.createElement(n,{config:(r=e==null?void 0:e.page)==null?void 0:r.data})}const getLocalConfig=()=>{const configStr=localStorage.getItem("magicUiConfig");if(!configStr)return[];try{return[eval(`(${configStr})`)]}catch(e){return[]}},app=new App$2({config:((getUrlParam("localPreview")?getLocalConfig():window.magicUiConfig)||[])[0]||{},curPage:getUrlParam("page")});Object.keys(entry.components).forEach(e=>app.registerComponent(e,entry.components[e]));ReactDOM.render(React.createElement(React.StrictMode,null,React.createElement(AppContent.Provider,{value:app},React.createElement(App,null))),document.getElementById("root")); diff --git a/magic-admin/web/public/runtime/react/assets/playground.d0149121.css b/magic-admin/web/public/runtime/react/assets/playground.d0149121.css new file mode 100644 index 00000000..06cd38c4 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/playground.d0149121.css @@ -0,0 +1 @@ +html{-ms-overflow-style:none;overflow:-moz-scrollbars-none}html,body{height:100%;margin:0;padding:0}body{height:fit-content;min-height:100%}html::-webkit-scrollbar,.body::-webkit-scrollbar{width:0!important}.magic-ui-page{overflow:hidden}html,body,#app{width:100%;height:100%}#app{position:relative;overflow:auto}#app::-webkit-scrollbar{width:0}.magic-ui-container{background-color:#88888880}.action-area{background-color:#3399ff80!important} diff --git a/magic-admin/web/public/runtime/react/assets/playground.js b/magic-admin/web/public/runtime/react/assets/playground.js new file mode 100644 index 00000000..99d275f0 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/playground.js @@ -0,0 +1 @@ +import{A as d,g as f,R as p}from"./index.144d287e.js";import{r as E,A as m,R as a}from"./Text.000ec384.js";const P="modulepreload",g={},h="/tmagic-editor/playground/runtime/react/",y=function(t,c){return!c||c.length===0?t():Promise.all(c.map(n=>{if(n=`${h}${n}`,n in g)return;g[n]=!0;const s=n.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${l}`))return;const r=document.createElement("link");if(r.rel=s?"stylesheet":P,s||(r.as="script",r.crossOrigin=""),r.href=n,document.head.appendChild(r),s)return new Promise((e,i)=>{r.addEventListener("load",e),r.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())};function C(){var c,n;const o=E.exports.useContext(m);if(!((c=o==null?void 0:o.page)!=null&&c.data))return null;const t=o.resolveComponent("page");return a.createElement(t,{config:(n=o==null?void 0:o.page)==null?void 0:n.data})}const v="/tamgic-editor/playground/runtime/react/assets/components.js";y(()=>import(v),[]).then(()=>{var r;const{components:o}=window.magicPresetComponents,t=new d({config:{},curPage:f("page")});let c="";const n=e=>{t==null||t.setConfig(e),s(),window.magic.onPageElUpdate(document.querySelector(".magic-ui-page"))},s=()=>{p.render(a.createElement(a.StrictMode,null,a.createElement(m.Provider,{value:t},a.createElement(C,null))),document.getElementById("root"))},l={app:t,updateRootConfig(e){console.log("update root config",e),t==null||t.setConfig(e)},updatePageId(e){console.log("update page id",e),c=e,t==null||t.setPage(c),s()},getSnapElementQuerySelector(){return"[class*=magic-ui][id]"},select(e){console.log("select config",e);const i=document.getElementById(e);return i||new Promise(u=>{setTimeout(()=>{u(document.getElementById(e))},0)})},add({root:e}){console.log("add config",e),n(e)},update({root:e}){console.log("update config",e),n(e)},sortNode({root:e}){console.log("sort config",e),n(e)},remove({root:e}){console.log("remove config",e),n(e)}};Object.keys(o).forEach(e=>t.registerComponent(e,o[e])),(r=window.magic)==null||r.onRuntimeReady(l)}); diff --git a/magic-admin/web/public/runtime/react/assets/value.js b/magic-admin/web/public/runtime/react/assets/value.js new file mode 100644 index 00000000..491a1c67 --- /dev/null +++ b/magic-admin/web/public/runtime/react/assets/value.js @@ -0,0 +1 @@ +var e={text:"\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00"}},u={items:[],style:{width:"375",height:"100"}},i={items:[],style:{width:"100%",height:"100%"}},a={type:"text",text:"\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9",multiple:!0,style:{width:"100",height:"auto"}};(function(){const t={page:i,container:u,button:e,text:a};window.magicPresetValues=t})(); diff --git a/magic-admin/web/public/runtime/react/page.html b/magic-admin/web/public/runtime/react/page.html new file mode 100644 index 00000000..da5f3efb --- /dev/null +++ b/magic-admin/web/public/runtime/react/page.html @@ -0,0 +1,19 @@ + + + + + + + React Page + + + + + + + + +
+ + + diff --git a/magic-admin/web/public/runtime/react/playground.html b/magic-admin/web/public/runtime/react/playground.html new file mode 100644 index 00000000..96049ee8 --- /dev/null +++ b/magic-admin/web/public/runtime/react/playground.html @@ -0,0 +1,23 @@ + + + + + + + React Playground + + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue2/assets/components.js b/magic-admin/web/public/runtime/vue2/assets/components.js new file mode 100644 index 00000000..e37fd829 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/components.js @@ -0,0 +1 @@ +var Ce=Object.defineProperty;var Z=Object.getOwnPropertySymbols;var je=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable;var q=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,W=(e,t)=>{for(var n in t||(t={}))je.call(t,n)&&q(e,n,t[n]);if(Z)for(var n of Z(t))Ee.call(t,n)&&q(e,n,t[n]);return e};import{n as A,t as Me}from"./vueComponentNormalizer.e7d45796.js";var ke=function(e){return Object.prototype.toString.call(e)};function ee(e){return typeof e=="function"&&/native code/.test(e.toString())}var Ae=typeof Symbol!="undefined"&&ee(Symbol)&&typeof Reflect!="undefined"&&ee(Reflect.ownKeys),x=function(e){return e};function p(e,t,n){var r=n.get,i=n.set;Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:r||x,set:i||x})}function le(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function S(e,t){return Object.hasOwnProperty.call(e,t)}function k(e){return Array.isArray(e)}function ve(e){return e!==null&&typeof e=="object"}function h(e){return ke(e)==="[object Object]"}function m(e){return typeof e=="function"}var G=void 0;try{var b=require("vue");b&&te(b)?G=b:b&&"default"in b&&te(b.default)&&(G=b.default)}catch{}var Q=null,D=null,de="__composition_api_installed__";function te(e){return e&&m(e)&&e.name==="Vue"}function Pe(e){return S(e,de)}function C(){return Q}function Ne(){var e=Q||G;return e}function Te(e){Q=e,Object.defineProperty(e,de,{configurable:!0,writable:!0,value:!0})}function K(e){D=e}function Fe(){return D}function y(){return D?I(D):null}var B=new WeakMap;function I(e){if(B.has(e))return B.get(e);var t={proxy:e,update:e.$forceUpdate,uid:e._uid,emit:e.$emit.bind(e),parent:null,root:null},n=["data","props","attrs","refs","vnode","slots"];return n.forEach(function(r){p(t,r,{get:function(){return e["$"+r]}})}),p(t,"isMounted",{get:function(){return e._isMounted}}),p(t,"isUnmounted",{get:function(){return e._isDestroyed}}),p(t,"isDeactivated",{get:function(){return e._inactive}}),p(t,"emitted",{get:function(){return e._events}}),B.set(e,t),e.$parent&&(t.parent=I(e.$parent)),e.$root&&(t.root=I(e.$root)),t}function _e(e){var t=y();return t==null?void 0:t.proxy}function H(e,t){t===void 0&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function De(e){var t=C();return t&&e instanceof t}function Ke(e,t){return function(){for(var n=[],r=0;r=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Be(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,u=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)u.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return u}function Ue(e,t){for(var n=0,r=t.length,i=e.length;n{var i,u;const t=be("app"),n=(i=t==null?void 0:t.page)==null?void 0:i.getNode(e.config.id),r=(u=y())==null?void 0:u.proxy;return n==null||n.emit("created",r),Ze(()=>{n==null||n.emit("mounted",r)}),qe(()=>{n==null||n.emit("destroy",r)}),t},ct={name:"magic-ui-page",props:{config:{type:Object,defautl:()=>({})}},setup(e){e.config&&Y(e)}},ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("magic-ui-container",{staticClass:"magic-ui-page",attrs:{config:e.config}},[e._t("default")],2)},st=[];const ae={};var lt=A(ct,ft,st,!1,vt,null,null,null);function vt(e){for(let t in ae)this[t]=ae[t]}var dt=function(){return lt.exports}(),Se=()=>{var t;const e=(t=y())==null?void 0:t.proxy;return{show:()=>{e.$set(e.config.style,"display","initial")},hide:()=>{e.$set(e.config.style,"display","none")}}},_t={name:"magic-ui-component",props:{config:{type:Object,default:()=>({})}},setup(e){var r;const t=(r=y())==null?void 0:r.proxy,n=Y(e);return tt("hoc",t),W({tagName:R(()=>`magic-ui-${Me(e.config.type)}`),style:R(()=>n==null?void 0:n.transformStyle(e.config.style||{})),display:()=>{var u;const i=(u=e.config)==null?void 0:u.display;return typeof i=="function"?i(n):i!==!1}},Se())}},pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.display()?n(e.tagName,{tag:"component",class:"magic-ui-component"+(e.config.className?" "+e.config.className:""),style:e.style,attrs:{id:e.config.id,config:e.config}}):e._e()},gt=[];const ue={};var yt=A(_t,pt,gt,!1,mt,null,null,null);function mt(e){for(let t in ue)this[t]=ue[t]}var we=function(){return yt.exports}(),ht={name:"magic-ui-container",components:{"magic-ui-component":we},props:{config:{type:Object,default:()=>({})}},setup(e){const t=Y(e);return W({style:R(()=>t==null?void 0:t.transformStyle(e.config.style||{})),display:()=>{var r;const n=(r=e.config)==null?void 0:r.display;return typeof n=="function"?n(t):n!==!1}},Se())}},$t=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.display()?n("div",{class:"magic-ui-container"+(e.config.className?" "+e.config.className:""),style:e.style,attrs:{id:e.config.id}},[e._t("default"),e._l(e.config.items,function(r){return n("magic-ui-component",{key:r.id,attrs:{config:r}})})],2):e._e()},bt=[];const ce={};var xt=A(ht,$t,bt,!1,St,null,null,null);function St(e){for(let t in ce)this[t]=ce[t]}var wt=function(){return xt.exports}(),Ot={name:"magic-ui-button",props:{config:{type:Object,default:()=>({})},model:{type:Object,default:()=>({})}},setup(e){var a;const t=(a=y())==null?void 0:a.proxy,n=X([]),r=R(()=>[typeof e.config.preAction=="function"?e.config.preAction:()=>!0,...n,typeof e.config.postAction=="function"?e.config.postAction:()=>!0]);function i(c){n.push(c)}async function u(){for(const c of r.value)if(typeof c=="function"&&await c(t,{model:e.model})===!1)break}const o=R(()=>{var c,v,f;return{type:"text",text:((c=e.config)==null?void 0:c.text)||"",disabledText:((v=e.config)==null?void 0:v.disabledText)||"",html:((f=e.config)==null?void 0:f.html)||""}});return{pushAction:i,clickHandler:u,textConfig:o}}},Rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",{staticClass:"magic-ui-button",on:{click:e.clickHandler}},[e._t("default",function(){return[n("magic-ui-text",{attrs:{config:e.textConfig}})]})],2)},Ct=[];const fe={};var jt=A(Ot,Rt,Ct,!1,Et,null,null,null);function Et(e){for(let t in fe)this[t]=fe[t]}var Mt=function(){return jt.exports}(),kt={name:"magic-ui-text",props:{config:{type:Object,default:()=>({})},model:{type:Object,default:()=>({})},vars:{type:Object,default:()=>({})}},setup(e){var i;const t=(i=y())==null?void 0:i.proxy,n=be("hoc");return{displayText:R(()=>{var a,c;let u=((a=e.config)==null?void 0:a.text)||"";const{vars:o}=e;if((n==null?void 0:n.disabled)&&((c=e.config)==null?void 0:c.disabledText)&&(u=e.config.disabledText),typeof u=="function")return u.bind(t)(t,{model:e.model});if(Object.prototype.toString.call(o)==="[object Object]"){let v=u;return Object.entries(o).forEach(([f,s])=>{v=v.replace(new RegExp(`{{${f}}}`,"g"),s)}),v}return u||""})}},render(){var t,n,r,i;const e=(t=this.config)!=null&&t.multiple?"magic-ui-text":"magic-ui-text magic-ui-text--single-line";return typeof((n=this.$slots)==null?void 0:n.default)=="function"?ie("span",{class:e},[((i=(r=this.$slots)==null?void 0:r.default)==null?void 0:i.call(r))||""]):ie("span",{class:e,domProps:{innerHTML:this.displayText}})}};let At,Pt;const se={};var Nt=A(kt,At,Pt,!1,Tt,null,null,null);function Tt(e){for(let t in se)this[t]=se[t]}var Ft=function(){return Nt.exports}();const Dt={page:dt,container:wt,button:Mt,text:Ft,component:we},Kt={},Ht={components:Dt,plugins:Kt};window.magicPresetComponents=Ht;export{Ht as e}; diff --git a/magic-admin/web/public/runtime/vue2/assets/config.js b/magic-admin/web/public/runtime/vue2/assets/config.js new file mode 100644 index 00000000..4ea232d9 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/config.js @@ -0,0 +1 @@ +var n=[],a=[],o=[],e=[];(function(){const t={page:n,container:a,button:o,text:e};window.magicPresetConfigs=t})(); diff --git a/magic-admin/web/public/runtime/vue2/assets/page.5884789a.css b/magic-admin/web/public/runtime/vue2/assets/page.5884789a.css new file mode 100644 index 00000000..f0898c34 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/page.5884789a.css @@ -0,0 +1 @@ +html,body,#app{width:100%;height:100%}#app{position:relative;overflow:auto} diff --git a/magic-admin/web/public/runtime/vue2/assets/page.js b/magic-admin/web/public/runtime/vue2/assets/page.js new file mode 100644 index 00000000..93e45169 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/page.js @@ -0,0 +1,2 @@ +import{d as defineComponent,i as inject,r as reactive,C as CompositionApi,A as App}from"./resetcss.494d822a.js";import{n as normalizeComponent,g as getUrlParam}from"./vueComponentNormalizer.e7d45796.js";import{e as entry}from"./components.js";const getLocalConfig=()=>{const configStr=localStorage.getItem("magicUiConfig");if(!configStr)return[];try{return[eval(`(${configStr})`)]}catch(t){return[]}};var axios$2={exports:{}},bind$2=function t(e,r){return function(){for(var n=new Array(arguments.length),a=0;a=0)return;s==="set-cookie"?r[s]=(r[s]?r[s]:[]).concat([n]):r[s]=r[s]?r[s]+", "+n:n}}),r},utils$8=utils$e,isURLSameOrigin$1=utils$8.isStandardBrowserEnv()?function t(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),s;function n(a){var o=a;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return s=n(window.location.href),function(o){var u=utils$8.isString(o)?n(o):o;return u.protocol===s.protocol&&u.host===s.host}}():function t(){return function(){return!0}}();function Cancel$3(t){this.message=t}Cancel$3.prototype.toString=function t(){return"Cancel"+(this.message?": "+this.message:"")};Cancel$3.prototype.__CANCEL__=!0;var Cancel_1=Cancel$3,utils$7=utils$e,settle=settle$1,cookies=cookies$1,buildURL$1=buildURL$2,buildFullPath=buildFullPath$1,parseHeaders=parseHeaders$1,isURLSameOrigin=isURLSameOrigin$1,createError=createError$2,defaults$4=defaults_1,Cancel$2=Cancel_1,xhr=function t(e){return new Promise(function(s,n){var a=e.data,o=e.headers,u=e.responseType,l;function d(){e.cancelToken&&e.cancelToken.unsubscribe(l),e.signal&&e.signal.removeEventListener("abort",l)}utils$7.isFormData(a)&&delete o["Content-Type"];var i=new XMLHttpRequest;if(e.auth){var c=e.auth.username||"",h=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(c+":"+h)}var f=buildFullPath(e.baseURL,e.url);i.open(e.method.toUpperCase(),buildURL$1(f,e.params,e.paramsSerializer),!0),i.timeout=e.timeout;function b(){if(!!i){var p="getAllResponseHeaders"in i?parseHeaders(i.getAllResponseHeaders()):null,v=!u||u==="text"||u==="json"?i.responseText:i.response,m={data:v,status:i.status,statusText:i.statusText,headers:p,config:e,request:i};settle(function($){s($),d()},function($){n($),d()},m),i=null}}if("onloadend"in i?i.onloadend=b:i.onreadystatechange=function(){!i||i.readyState!==4||i.status===0&&!(i.responseURL&&i.responseURL.indexOf("file:")===0)||setTimeout(b)},i.onabort=function(){!i||(n(createError("Request aborted",e,"ECONNABORTED",i)),i=null)},i.onerror=function(){n(createError("Network Error",e,null,i)),i=null},i.ontimeout=function(){var v=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",m=e.transitional||defaults$4.transitional;e.timeoutErrorMessage&&(v=e.timeoutErrorMessage),n(createError(v,e,m.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",i)),i=null},utils$7.isStandardBrowserEnv()){var y=(e.withCredentials||isURLSameOrigin(f))&&e.xsrfCookieName?cookies.read(e.xsrfCookieName):void 0;y&&(o[e.xsrfHeaderName]=y)}"setRequestHeader"in i&&utils$7.forEach(o,function(v,m){typeof a=="undefined"&&m.toLowerCase()==="content-type"?delete o[m]:i.setRequestHeader(m,v)}),utils$7.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),u&&u!=="json"&&(i.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&i.addEventListener("progress",e.onDownloadProgress),typeof e.onUploadProgress=="function"&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(l=function(p){!i||(n(!p||p&&p.type?new Cancel$2("canceled"):p),i.abort(),i=null)},e.cancelToken&&e.cancelToken.subscribe(l),e.signal&&(e.signal.aborted?l():e.signal.addEventListener("abort",l))),a||(a=null),i.send(a)})},utils$6=utils$e,normalizeHeaderName=normalizeHeaderName$1,enhanceError=enhanceError$2,DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(t,e){!utils$6.isUndefined(t)&&utils$6.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function getDefaultAdapter(){var t;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(t=xhr),t}function stringifySafely(t,e,r){if(utils$6.isString(t))try{return(e||JSON.parse)(t),utils$6.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(r||JSON.stringify)(t)}var defaults$3={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:getDefaultAdapter(),transformRequest:[function t(e,r){return normalizeHeaderName(r,"Accept"),normalizeHeaderName(r,"Content-Type"),utils$6.isFormData(e)||utils$6.isArrayBuffer(e)||utils$6.isBuffer(e)||utils$6.isStream(e)||utils$6.isFile(e)||utils$6.isBlob(e)?e:utils$6.isArrayBufferView(e)?e.buffer:utils$6.isURLSearchParams(e)?(setContentTypeIfUnset(r,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):utils$6.isObject(e)||r&&r["Content-Type"]==="application/json"?(setContentTypeIfUnset(r,"application/json"),stringifySafely(e)):e}],transformResponse:[function t(e){var r=this.transitional||defaults$3.transitional,s=r&&r.silentJSONParsing,n=r&&r.forcedJSONParsing,a=!s&&this.responseType==="json";if(a||n&&utils$6.isString(e)&&e.length)try{return JSON.parse(e)}catch(o){if(a)throw o.name==="SyntaxError"?enhanceError(o,this,"E_JSON_PARSE"):o}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function t(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils$6.forEach(["delete","get","head"],function t(e){defaults$3.headers[e]={}});utils$6.forEach(["post","put","patch"],function t(e){defaults$3.headers[e]=utils$6.merge(DEFAULT_CONTENT_TYPE)});var defaults_1=defaults$3,utils$5=utils$e,defaults$2=defaults_1,transformData$1=function t(e,r,s){var n=this||defaults$2;return utils$5.forEach(s,function(o){e=o.call(n,e,r)}),e},isCancel$1=function t(e){return!!(e&&e.__CANCEL__)},utils$4=utils$e,transformData=transformData$1,isCancel=isCancel$1,defaults$1=defaults_1,Cancel$1=Cancel_1;function throwIfCancellationRequested(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Cancel$1("canceled")}var dispatchRequest$1=function t(e){throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData.call(e,e.data,e.headers,e.transformRequest),e.headers=utils$4.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils$4.forEach(["delete","get","head","post","put","patch","common"],function(n){delete e.headers[n]});var r=e.adapter||defaults$1.adapter;return r(e).then(function(n){return throwIfCancellationRequested(e),n.data=transformData.call(e,n.data,n.headers,e.transformResponse),n},function(n){return isCancel(n)||(throwIfCancellationRequested(e),n&&n.response&&(n.response.data=transformData.call(e,n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)})},utils$3=utils$e,mergeConfig$2=function t(e,r){r=r||{};var s={};function n(i,c){return utils$3.isPlainObject(i)&&utils$3.isPlainObject(c)?utils$3.merge(i,c):utils$3.isPlainObject(c)?utils$3.merge({},c):utils$3.isArray(c)?c.slice():c}function a(i){if(utils$3.isUndefined(r[i])){if(!utils$3.isUndefined(e[i]))return n(void 0,e[i])}else return n(e[i],r[i])}function o(i){if(!utils$3.isUndefined(r[i]))return n(void 0,r[i])}function u(i){if(utils$3.isUndefined(r[i])){if(!utils$3.isUndefined(e[i]))return n(void 0,e[i])}else return n(void 0,r[i])}function l(i){if(i in r)return n(e[i],r[i]);if(i in e)return n(void 0,e[i])}var d={url:o,method:o,data:o,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:l};return utils$3.forEach(Object.keys(e).concat(Object.keys(r)),function(c){var h=d[c]||a,f=h(c);utils$3.isUndefined(f)&&h!==l||(s[c]=f)}),s},data={version:"0.25.0"},VERSION=data.version,validators$1={};["object","boolean","number","function","string","symbol"].forEach(function(t,e){validators$1[t]=function(s){return typeof s===t||"a"+(e<1?"n ":" ")+t}});var deprecatedWarnings={};validators$1.transitional=function t(e,r,s){function n(a,o){return"[Axios v"+VERSION+"] Transitional option '"+a+"'"+o+(s?". "+s:"")}return function(a,o,u){if(e===!1)throw new Error(n(o," has been removed"+(r?" in "+r:"")));return r&&!deprecatedWarnings[o]&&(deprecatedWarnings[o]=!0,console.warn(n(o," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(a,o,u):!0}};function assertOptions(t,e,r){if(typeof t!="object")throw new TypeError("options must be an object");for(var s=Object.keys(t),n=s.length;n-- >0;){var a=s[n],o=e[a];if(o){var u=t[a],l=u===void 0||o(u,a,t);if(l!==!0)throw new TypeError("option "+a+" must be "+l);continue}if(r!==!0)throw Error("Unknown option "+a)}}var validator$1={assertOptions,validators:validators$1},utils$2=utils$e,buildURL=buildURL$2,InterceptorManager=InterceptorManager_1,dispatchRequest=dispatchRequest$1,mergeConfig$1=mergeConfig$2,validator=validator$1,validators=validator.validators;function Axios$1(t){this.defaults=t,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios$1.prototype.request=function t(e,r){if(typeof e=="string"?(r=r||{},r.url=e):r=e||{},!r.url)throw new Error("Provided config url is not valid");r=mergeConfig$1(this.defaults,r),r.method?r.method=r.method.toLowerCase():this.defaults.method?r.method=this.defaults.method.toLowerCase():r.method="get";var s=r.transitional;s!==void 0&&validator.assertOptions(s,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1);var n=[],a=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(r)===!1||(a=a&&f.synchronous,n.unshift(f.fulfilled,f.rejected))});var o=[];this.interceptors.response.forEach(function(f){o.push(f.fulfilled,f.rejected)});var u;if(!a){var l=[dispatchRequest,void 0];for(Array.prototype.unshift.apply(l,n),l=l.concat(o),u=Promise.resolve(r);l.length;)u=u.then(l.shift(),l.shift());return u}for(var d=r;n.length;){var i=n.shift(),c=n.shift();try{d=i(d)}catch(h){c(h);break}}try{u=dispatchRequest(d)}catch(h){return Promise.reject(h)}for(;o.length;)u=u.then(o.shift(),o.shift());return u};Axios$1.prototype.getUri=function t(e){if(!e.url)throw new Error("Provided config url is not valid");return e=mergeConfig$1(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")};utils$2.forEach(["delete","get","head","options"],function t(e){Axios$1.prototype[e]=function(r,s){return this.request(mergeConfig$1(s||{},{method:e,url:r,data:(s||{}).data}))}});utils$2.forEach(["post","put","patch"],function t(e){Axios$1.prototype[e]=function(r,s,n){return this.request(mergeConfig$1(n||{},{method:e,url:r,data:s}))}});var Axios_1=Axios$1,Cancel=Cancel_1;function CancelToken(t){if(typeof t!="function")throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(n){e=n});var r=this;this.promise.then(function(s){if(!!r._listeners){var n,a=r._listeners.length;for(n=0;n{const e=entry.components[t];Vue.component(e.name,e),app.registerComponent(t,e)});Object.values(entry.plugins).forEach(t=>{Vue.use(t)});Vue.prototype.app=app;const magicApp=new Vue({provide:{app},render:t=>t(AppComponent)});magicApp.$mount("#app"); diff --git a/magic-admin/web/public/runtime/vue2/assets/playground.d0149121.css b/magic-admin/web/public/runtime/vue2/assets/playground.d0149121.css new file mode 100644 index 00000000..06cd38c4 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/playground.d0149121.css @@ -0,0 +1 @@ +html{-ms-overflow-style:none;overflow:-moz-scrollbars-none}html,body{height:100%;margin:0;padding:0}body{height:fit-content;min-height:100%}html::-webkit-scrollbar,.body::-webkit-scrollbar{width:0!important}.magic-ui-page{overflow:hidden}html,body,#app{width:100%;height:100%}#app{position:relative;overflow:auto}#app::-webkit-scrollbar{width:0}.magic-ui-container{background-color:#88888880}.action-area{background-color:#3399ff80!important} diff --git a/magic-admin/web/public/runtime/vue2/assets/playground.js b/magic-admin/web/public/runtime/vue2/assets/playground.js new file mode 100644 index 00000000..927a407c --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/playground.js @@ -0,0 +1 @@ +import{A as d,r as h}from"./resetcss.494d822a.js";import{a as c,n as g}from"./vueComponentNormalizer.e7d45796.js";const m="modulepreload",a={},f="/tmagic-editor/playground/runtime/vue2/",_=function(t,n){return!n||n.length===0?t():Promise.all(n.map(o=>{if(o=`${f}${o}`,o in a)return;a[o]=!0;const r=o.endsWith(".css"),s=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${s}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":m,r||(i.as="script",i.crossOrigin=""),i.href=o,document.head.appendChild(i),r)return new Promise((p,l)=>{i.addEventListener("load",p),i.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())};var E=Vue.extend({data(){return{app:null,config:void 0,curPageId:"",selectedId:""}},computed:{pageConfig(){var e,t,n,o;return((t=(e=this.config)==null?void 0:e.items)==null?void 0:t.find(r=>r.id===this.curPageId))||((o=(n=this.config)==null?void 0:n.items)==null?void 0:o[0])}},provide(){return this.app=new d({config:this.config,platform:"editor"}),{app:this.app}},mounted(){var e;(e=globalThis.magic)==null||e.onRuntimeReady(this)},watch:{async pageConfig(){await this.$nextTick(),globalThis.magic.onPageElUpdate(document.querySelector(".magic-ui-page"))}},methods:{updateRootConfig(e){var t;console.log("update config",e),this.config=e,(t=this.app)==null||t.setConfig(e,this.curPageId)},updatePageId(e){var t;console.log("update page id",e),this.curPageId=e,(t=this.app)==null||t.setPage(e)},getSnapElementQuerySelector(){return"[class*=magic-ui][id]"},select(e){console.log("select config",e),this.selectedId=e;const t=document.getElementById(e);return t||this.$nextTick().then(()=>document.getElementById(e))},add({config:e}){var r;if(console.log("add config",e),!this.config)throw new Error("error");const t=c(this.selectedId,[this.config]),n=t.pop(),o=n!=null&&n.items?n:t.pop();if(!o)throw new Error("\u672A\u627E\u5230\u7236\u8282\u70B9");(r=o.items)==null||r.push(e)},update({config:e}){var s;if(console.log("update config",e),!this.config)throw new Error("error");const t=c(e.id,[this.config]),n=t.pop(),o=t.pop();if(!n)throw new Error("\u672A\u627E\u5230\u76EE\u6807\u8282\u70B9");if(!o)throw new Error("\u672A\u627E\u5230\u7236\u8282\u70B9");const r=(s=o.items)==null?void 0:s.findIndex(i=>i.id===n.id);o.items.splice(r,1,h(e))},sortNode({src:e,dist:t}){if(!this.config)throw new Error("error");const n=c(this.selectedId,[this.config]);n.pop();const o=n.pop();if(!o)return;const r=o.items.findIndex(i=>i.id===t);if(r<0)return;const s=o.items.findIndex(i=>i.id===e);o.items.splice(r,0,...o.items.splice(s,1))},remove({id:e}){var s;if(!this.config)throw new Error("error");const t=c(e,[this.config]),n=t.pop();if(!n)throw new Error("\u672A\u627E\u5230\u76EE\u6807\u5143\u7D20");const o=t.pop();if(!o)throw new Error("\u672A\u627E\u5230\u7236\u5143\u7D20");const r=(s=o.items)==null?void 0:s.findIndex(i=>i.id===n.id);o.items.splice(r,1)}}}),v=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.pageConfig?n("magic-ui-page",{attrs:{config:e.pageConfig}}):e._e()},w=[];const u={};var x=g(E,v,w,!1,y,null,null,null);function y(e){for(let t in u)this[t]=u[t]}var I=function(){return x.exports}();const P="/tamgic-editor/playground/runtime/vue2/assets/components.js";_(()=>import(P),[]).then(()=>{const{components:e,plugins:t}=window.magicPresetComponents;Object.values(e).forEach(n=>{Vue.component(n.name,n)}),Object.values(t).forEach(n=>{Vue.use(n)}),new Vue({render:n=>n(I),el:"#app"})}); diff --git a/magic-admin/web/public/runtime/vue2/assets/resetcss.494d822a.js b/magic-admin/web/public/runtime/vue2/assets/resetcss.494d822a.js new file mode 100644 index 00000000..1b42551a --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/resetcss.494d822a.js @@ -0,0 +1 @@ +var Pe=Object.defineProperty;var Q=Object.getOwnPropertySymbols;var Ae=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;var X=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,q=(e,t)=>{for(var n in t||(t={}))Ae.call(t,n)&&X(e,n,t[n]);if(Q)for(var n of Q(t))je.call(t,n)&&X(e,n,t[n]);return e};const Ie=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}};Ie();var Te=function(e){return Object.prototype.toString.call(e)};function G(e){return typeof e=="function"&&/native code/.test(e.toString())}var We=typeof Symbol!="undefined"&&G(Symbol)&&typeof Reflect!="undefined"&&G(Reflect.ownKeys),L=function(e){return e};function p(e,t,n){var r=n.get,i=n.set;Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:r||L,set:i||L})}function oe(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function O(e,t){return Object.hasOwnProperty.call(e,t)}function M(e){return Array.isArray(e)}function fe(e){return e!==null&&typeof e=="object"}function y(e){return Te(e)==="[object Object]"}function _(e){return typeof e=="function"}var B=void 0;try{var w=require("vue");w&&J(w)?B=w:w&&"default"in w&&J(w.default)&&(B=w.default)}catch{}var V=null,T=null,ue="__composition_api_installed__";function J(e){return e&&_(e)&&e.name==="Vue"}function ke(e){return O(e,ue)}function ae(){return V}function Fe(){var e=V||B;return e}function De(e){V=e,Object.defineProperty(e,ue,{configurable:!0,writable:!0,value:!0})}function Y(e){T=e}function Ke(){return T}function Be(){return T?H(T):null}var F=new WeakMap;function H(e){if(F.has(e))return F.get(e);var t={proxy:e,update:e.$forceUpdate,uid:e._uid,emit:e.$emit.bind(e),parent:null,root:null},n=["data","props","attrs","refs","vnode","slots"];return n.forEach(function(r){p(t,r,{get:function(){return e["$"+r]}})}),p(t,"isMounted",{get:function(){return e._isMounted}}),p(t,"isUnmounted",{get:function(){return e._isDestroyed}}),p(t,"isDeactivated",{get:function(){return e._inactive}}),p(t,"emitted",{get:function(){return e._events}}),F.set(e,t),e.$parent&&(t.parent=H(e.$parent)),e.$root&&(t.root=H(e.$root)),t}function He(e,t){t===void 0&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function ze(e){var t=ae();return t&&e instanceof t}function Ue(e,t){return function(){for(var n=[],r=0;r=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var R="composition-api.refKey",Z=new WeakMap,Qe=new WeakMap,le=function(){function e(t){var n=t.get,r=t.set;p(this,"value",{get:n,set:r})}return e}();function de(e,t){var n=new le(e),r=Object.seal(n);return Qe.set(r,!0),r}function ee(e){var t;if(g(e))return e;var n=pe((t={},t[R]=e,t));return de({get:function(){return n[R]},set:function(r){return n[R]=r}})}function g(e){return e instanceof le}function Xe(e){if(!y(e))return e;var t={};for(var n in e)t[n]=qe(e,n);return t}function qe(e,t){var n=e[t];return g(n)?n:de({get:function(){return e[t]},set:function(r){return e[t]=r}})}function S(e){var t;return Boolean(e&&O(e,"__ob__")&&typeof e.__ob__=="object"&&((t=e.__ob__)===null||t===void 0?void 0:t.__raw__))}function $(e){var t;return Boolean(e&&O(e,"__ob__")&&typeof e.__ob__=="object"&&!(!((t=e.__ob__)===null||t===void 0)&&t.__raw__))}function z(e){if(!(!y(e)||S(e)||M(e)||g(e)||ze(e)||Z.has(e))){Z.set(e,!0);for(var t=Object.keys(e),n=0;n0&&(s=n[0]),s instanceof Error)throw s;var f=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw f.context=s,f}var u=o[t];if(u===void 0)return!1;if(typeof u=="function")ne(u,this,n);else for(var h=u.length,l=xe(u,h),r=0;r0&&s.length>i&&!s.warned){s.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=e,f.type=t,f.count=s.length,st(f)}return e}a.prototype.addListener=function(t,n){return we(this,t,n,!1)};a.prototype.on=a.prototype.addListener;a.prototype.prependListener=function(t,n){return we(this,t,n,!0)};function ot(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Oe(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=ot.bind(r);return i.listener=n,r.wrapFn=i,i}a.prototype.once=function(t,n){return k(n),this.on(t,Oe(this,t,n)),this};a.prototype.prependOnceListener=function(t,n){return k(n),this.prependListener(t,Oe(this,t,n)),this};a.prototype.removeListener=function(t,n){var r,i,o,s,f;if(k(n),i=this._events,i===void 0)return this;if(r=i[t],r===void 0)return this;if(r===n||r.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||n));else if(typeof r!="function"){for(o=-1,s=r.length-1;s>=0;s--)if(r[s]===n||r[s].listener===n){f=r[s].listener,o=s;break}if(o<0)return this;o===0?r.shift():ft(r,o),r.length===1&&(i[t]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",t,f||n)}return this};a.prototype.off=a.prototype.removeListener;a.prototype.removeAllListeners=function(t){var n,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[t]),this;if(arguments.length===0){var o=Object.keys(r),s;for(i=0;i=0;i--)this.removeListener(t,n[i]);return this};function Le(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i=="function"?n?[i.listener||i]:[i]:n?ut(i):xe(i,i.length)}a.prototype.listeners=function(t){return Le(this,t,!0)};a.prototype.rawListeners=function(t){return Le(this,t,!1)};a.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Ee.call(e,t)};a.prototype.listenerCount=Ee;function Ee(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?I(this._events):[]};function xe(e,t){for(var n=new Array(t),r=0;r=0,this.isIpad=/(iPad).*OS\s([\d_]+)/.test(t),this.isIos=this.isIphone||this.isIpad,this.isAndroid=t.indexOf("Android")>=0,this.isAnroidPad=this.isAndroid&&t.indexOf("Mobile")<0,this.isMac=t.indexOf("Macintosh")>=0,this.isWin=t.indexOf("Windows")>=0,this.isMqq=/QQ\/([\d.]+)/.test(t),this.isWechat=t.indexOf("MicroMessenger")>=0&&t.indexOf("wxwork")<0,this.isWeb=!this.isIos&&!this.isAndroid&&!/(WebOS|BlackBerry)/.test(t),Object.entries(n).forEach(([r,i])=>{this[r]=i})}}const U="magic:common:events:",Ce="magic:common:actions:",j={SHOW:"show",HIDE:"hide",SCROLL_TO_VIEW:"scrollIntoView",SCROLL_TO_TOP:"scrollToTop"},dt=[{label:"\u70B9\u51FB",value:`${U}click`}],$e=(e,t)=>{const n=`${e}:${t}`;return e.startsWith(U)?n:`${U}${n}`},ht=e=>e.startsWith(Ce),Re=(e,t)=>{var r;if(!e)return!1;if(!e.id)return Re(e.parentElement,t);const n=(r=t.page)==null?void 0:r.getNode(e.id);return n||!1},ie=(e,t,n)=>{const r=Re(n.target,e);if(r){const{instance:i,data:o}=r;e.emit($e(t,o.id),i)}},vt=e=>{window.document.body.addEventListener("click",t=>{ie(e,"click",t)}),window.document.body.addEventListener("click",t=>{ie(e,"click:capture",t)},!0)},pt=(e,t)=>{const{instance:n}=t;switch(e.replace(Ce,"")){case j.SHOW:n.show();break;case j.HIDE:n.hide();break;case j.SCROLL_TO_VIEW:n.$el.scrollIntoView({behavior:"smooth"});break;case j.SCROLL_TO_TOP:window.scrollTo({top:0,behavior:"smooth"});break}};class se extends W.exports.EventEmitter{constructor(t){super();const{events:n}=t;this.data=t,this.events=n,this.listenLifeSafe(),this.once("destroy",()=>{this.instance=null,typeof this.data.destroy=="function"&&this.data.destroy(this),this.listenLifeSafe()})}listenLifeSafe(){this.once("created",t=>{this.instance=t,typeof this.data.created=="function"&&this.data.created(this)}),this.once("mounted",t=>{this.instance=t,typeof this.data.mounted=="function"&&this.data.mounted(this)})}}class gt extends se{constructor(t){super(t.config),this.nodes=new Map,this.setNode(t.config.id,this),this.initNode(t.config)}initNode(t){var n;this.setNode(t.id,new se(t)),(n=t.items)==null||n.forEach(r=>{this.initNode(r)})}getNode(t){return this.nodes.get(t)}setNode(t,n){this.nodes.set(t,n)}deleteNode(t){this.nodes.delete(t)}}const mt=e=>{if(typeof e!="string")return e;const t={};return e.split(";").forEach(n=>{if(!n)return;const r=n.split(":");let i=r.shift(),o=r.join(":");!i||(i=i.replace(/^\s*/,"").replace(/\s*$/,""),o=o.replace(/^\s*/,"").replace(/\s*$/,""),i=i.split("-").map((s,f)=>f>0?`${s[0].toUpperCase()}${s.substr(1)}`:s).join(""),t[i]=o)}),t},yt=e=>e&&!/^url/.test(e)&&!/^linear-gradient/.test(e)?`url(${e})`:e;class Lt extends W.exports.EventEmitter{constructor(t){if(super(),this.pages=new Map,this.platform="mobile",this.jsEngine="browser",this.components=new Map,this.env=new lt(t.ua),t.platform&&(this.platform=t.platform),t.jsEngine&&(this.jsEngine=t.jsEngine),this.platform==="mobile"||this.platform==="editor"){const n=()=>{let{width:r}=document.documentElement.getBoundingClientRect();r=Math.min(800,r);const i=r/3.75;document.documentElement.style.fontSize=`${i}px`};n(),document.body.style.fontSize="14px",globalThis.addEventListener("resize",n)}t.transformStyle&&(this.transformStyle=t.transformStyle),t.config&&this.setConfig(t.config,t.curPage),vt(this)}transformStyle(t){if(!t)return{};let n={};const r={};typeof t=="string"?n=mt(t):n=q({},t);const i=["zIndex","opacity","fontWeight"];return Object.entries(n).forEach(([o,s])=>{o==="backgroundImage"?s&&(r[o]=yt(s)):!i.includes(o)&&s&&/^[-]?[0-9]*[.]?[0-9]*$/.test(s)?r[o]=`${s/100}rem`:r[o]=s}),r}setConfig(t,n){var r,i,o;this.pages=new Map,(r=t.items)==null||r.forEach(s=>{this.pages.set(s.id,new gt({config:s}))}),this.setPage(n||((o=(i=this.page)==null?void 0:i.data)==null?void 0:o.id))}setPage(t){let n;t&&(n=this.pages.get(t)),n||(n=this.pages.get(this.pages.keys().next().value)),this.page=n,this.platform!=="magic"&&this.bindEvents()}registerComponent(t,n){this.components.set(t,n)}unregisterComponent(t){this.components.delete(t)}resolveComponent(t){return this.components.get(t)}bindEvents(){var t;if(!!this.page){this.removeAllListeners();for(const[,n]of this.page.nodes)(t=n.events)==null||t.forEach(r=>{let{name:i}=r;dt.findIndex(o=>o.value===i)>-1&&(i=$e(i,`${n.data.id}`)),this.on(i,(o,...s)=>{var h;if(!this.page)throw new Error("\u5F53\u524D\u6CA1\u6709\u9875\u9762");const f=this.page.getNode(r.to);if(!f)throw`ID\u4E3A${r.to}\u7684\u7EC4\u4EF6\u4E0D\u5B58\u5728`;const{method:u}=r;if(ht(u))return pt(u,f);typeof((h=f.instance)==null?void 0:h[u])=="function"&&f.instance[u](o,...s)})})}}destroy(){this.removeAllListeners(),this.pages.clear()}}export{Lt as A,Ot as C,wt as d,bt as i,pe as r}; diff --git a/magic-admin/web/public/runtime/vue2/assets/resetcss.ced1f647.css b/magic-admin/web/public/runtime/vue2/assets/resetcss.ced1f647.css new file mode 100644 index 00000000..e27eab5c --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/resetcss.ced1f647.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;*display: inline;*zoom: 1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left: -7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align: middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow: visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height: 13px;*width: 13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}html,button,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0} diff --git a/magic-admin/web/public/runtime/vue2/assets/value.js b/magic-admin/web/public/runtime/vue2/assets/value.js new file mode 100644 index 00000000..1045ab33 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/value.js @@ -0,0 +1 @@ +var e={items:[],style:{width:"100%",height:"100%"}},u={},i={text:"\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00"}},a={type:"text",text:"\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9",multiple:!0,style:{width:"100",height:"auto"}};(function(){const t={page:e,container:u,button:i,text:a};window.magicPresetValues=t})(); diff --git a/magic-admin/web/public/runtime/vue2/assets/vueComponentNormalizer.e7d45796.js b/magic-admin/web/public/runtime/vue2/assets/vueComponentNormalizer.e7d45796.js new file mode 100644 index 00000000..fb566377 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/assets/vueComponentNormalizer.e7d45796.js @@ -0,0 +1,10 @@ +//! moment.js +//! version : 2.29.2 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +var Pt;function l(){return Pt.apply(null,arguments)}function vs(e){Pt=e}function U(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function ae(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function w(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nt(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(w(e,t))return!1;return!0}function N(e){return e===void 0}function J(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function Me(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Wt(e,t){var s=[],r,a=e.length;for(r=0;r>>0,r;for(r=0;r0)for(s=0;s=0;return(n?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var ut=/(\[[^\[]*\])|(\\)?([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,Ye=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,qe={},ue={};function f(e,t,s,r){var a=r;typeof r=="string"&&(a=function(){return this[r]()}),e&&(ue[e]=a),t&&(ue[t[0]]=function(){return V(a.apply(this,arguments),t[1],t[2])}),s&&(ue[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function bs(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function xs(e){var t=e.match(ut),s,r;for(s=0,r=t.length;s=0&&Ye.test(e);)e=e.replace(Ye,r),Ye.lastIndex=0,s-=1;return e}var Ns={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 Ps(e){var t=this._longDateFormat[e],s=this._longDateFormat[e.toUpperCase()];return t||!s?t:(this._longDateFormat[e]=s.match(ut).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var Ws="Invalid date";function Rs(){return this._invalidDate}var Fs="%d",Cs=/\d{1,2}/;function Ls(e){return this._ordinal.replace("%d",e)}var Is={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 Us(e,t,s,r){var a=this._relativeTime[s];return j(a)?a(e,t,s,r):a.replace(/%d/i,e)}function Es(e,t){var s=this._relativeTime[e>0?"future":"past"];return j(s)?s(t):s.replace(/%s/i,t)}var ye={};function b(e,t){var s=e.toLowerCase();ye[s]=ye[s+"s"]=ye[t]=e}function L(e){return typeof e=="string"?ye[e]||ye[e.toLowerCase()]:void 0}function dt(e){var t={},s,r;for(r in e)w(e,r)&&(s=L(r),s&&(t[s]=e[r]));return t}var Lt={};function x(e,t){Lt[e]=t}function As(e){var t=[],s;for(s in e)w(e,s)&&t.push({unit:s,priority:Lt[s]});return t.sort(function(r,a){return r.priority-a.priority}),t}function Ie(e){return e%4===0&&e%100!==0||e%400===0}function F(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function m(e){var t=+e,s=0;return t!==0&&isFinite(t)&&(s=F(t)),s}function fe(e,t){return function(s){return s!=null?(It(this,e,s),l.updateOffset(this,t),this):Ne(this,e)}}function Ne(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function It(e,t,s){e.isValid()&&!isNaN(s)&&(t==="FullYear"&&Ie(e.year())&&e.month()===1&&e.date()===29?(s=m(s),e._d["set"+(e._isUTC?"UTC":"")+t](s,e.month(),Ge(s,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](s))}function Hs(e){return e=L(e),j(this[e])?this[e]():this}function Vs(e,t){if(typeof e=="object"){e=dt(e);var s=As(e),r,a=s.length;for(r=0;r68?1900:2e3)};var Zt=fe("FullYear",!0);function or(){return Ie(this.year())}function lr(e,t,s,r,a,n,i){var h;return e<100&&e>=0?(h=new Date(e+400,t,s,r,a,n,i),isFinite(h.getFullYear())&&h.setFullYear(e)):h=new Date(e,t,s,r,a,n,i),h}function Se(e){var t,s;return e<100&&e>=0?(s=Array.prototype.slice.call(arguments),s[0]=e+400,t=new Date(Date.UTC.apply(null,s)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function We(e,t,s){var r=7+t-s,a=(7+Se(e,0,r).getUTCDay()-t)%7;return-a+r-1}function Bt(e,t,s,r,a){var n=(7+s-r)%7,i=We(e,r,a),h=1+7*(t-1)+n+i,d,_;return h<=0?(d=e-1,_=we(d)+h):h>we(e)?(d=e+1,_=h-we(e)):(d=e,_=h),{year:d,dayOfYear:_}}function ke(e,t,s){var r=We(e.year(),t,s),a=Math.floor((e.dayOfYear()-r-1)/7)+1,n,i;return a<1?(i=e.year()-1,n=a+q(i,t,s)):a>q(e.year(),t,s)?(n=a-q(e.year(),t,s),i=e.year()+1):(i=e.year(),n=a),{week:n,year:i}}function q(e,t,s){var r=We(e,t,s),a=We(e+1,t,s);return(we(e)-r+a)/7}f("w",["ww",2],"wo","week");f("W",["WW",2],"Wo","isoWeek");b("week","w");b("isoWeek","W");x("week",5);x("isoWeek",5);u("w",M);u("ww",M,W);u("W",M);u("WW",M,W);pe(["w","ww","W","WW"],function(e,t,s,r){t[r.substr(0,1)]=m(e)});function ur(e){return ke(e,this._week.dow,this._week.doy).week}var dr={dow:0,doy:6};function hr(){return this._week.dow}function fr(){return this._week.doy}function cr(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function _r(e){var t=ke(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}f("d",0,"do","day");f("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});f("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});f("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});f("e",0,0,"weekday");f("E",0,0,"isoWeekday");b("day","d");b("weekday","e");b("isoWeekday","E");x("day",11);x("weekday",11);x("isoWeekday",11);u("d",M);u("e",M);u("E",M);u("dd",function(e,t){return t.weekdaysMinRegex(e)});u("ddd",function(e,t){return t.weekdaysShortRegex(e)});u("dddd",function(e,t){return t.weekdaysRegex(e)});pe(["dd","ddd","dddd"],function(e,t,s,r){var a=s._locale.weekdaysParse(e,r,s._strict);a!=null?t.d=a:c(s).invalidWeekday=e});pe(["d","e","E"],function(e,t,s,r){t[r]=m(e)});function mr(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function yr(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function ct(e,t){return e.slice(t,7).concat(e.slice(0,t))}var wr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Sr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kr=ve,gr=ve,Mr=ve;function Dr(e,t){var s=U(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?ct(s,this._week.dow):e?s[e.day()]:s}function vr(e){return e===!0?ct(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function pr(e){return e===!0?ct(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Yr(e,t,s){var r,a,n,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)n=G([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(n,"").toLocaleLowerCase();return s?t==="dddd"?(a=v.call(this._weekdaysParse,i),a!==-1?a:null):t==="ddd"?(a=v.call(this._shortWeekdaysParse,i),a!==-1?a:null):(a=v.call(this._minWeekdaysParse,i),a!==-1?a:null):t==="dddd"?(a=v.call(this._weekdaysParse,i),a!==-1||(a=v.call(this._shortWeekdaysParse,i),a!==-1)?a:(a=v.call(this._minWeekdaysParse,i),a!==-1?a:null)):t==="ddd"?(a=v.call(this._shortWeekdaysParse,i),a!==-1||(a=v.call(this._weekdaysParse,i),a!==-1)?a:(a=v.call(this._minWeekdaysParse,i),a!==-1?a:null)):(a=v.call(this._minWeekdaysParse,i),a!==-1||(a=v.call(this._weekdaysParse,i),a!==-1)?a:(a=v.call(this._shortWeekdaysParse,i),a!==-1?a:null))}function Or(e,t,s){var r,a,n;if(this._weekdaysParseExact)return Yr.call(this,e,t,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=G([2e3,1]).day(r),s&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(n="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(n.replace(".",""),"i")),s&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(s&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(s&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!s&&this._weekdaysParse[r].test(e))return r}}function Tr(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=mr(e,this.localeData()),this.add(e-t,"d")):t}function br(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function xr(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=yr(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function Nr(e){return this._weekdaysParseExact?(w(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(w(this,"_weekdaysRegex")||(this._weekdaysRegex=kr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Pr(e){return this._weekdaysParseExact?(w(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(w(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=gr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wr(e){return this._weekdaysParseExact?(w(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(w(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _t(){function e(O,R){return R.length-O.length}var t=[],s=[],r=[],a=[],n,i,h,d,_;for(n=0;n<7;n++)i=G([2e3,1]).day(n),h=P(this.weekdaysMin(i,"")),d=P(this.weekdaysShort(i,"")),_=P(this.weekdays(i,"")),t.push(h),s.push(d),r.push(_),a.push(h),a.push(d),a.push(_);t.sort(e),s.sort(e),r.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function mt(){return this.hours()%12||12}function Rr(){return this.hours()||24}f("H",["HH",2],0,"hour");f("h",["hh",2],0,mt);f("k",["kk",2],0,Rr);f("hmm",0,0,function(){return""+mt.apply(this)+V(this.minutes(),2)});f("hmmss",0,0,function(){return""+mt.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)});f("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)});f("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)});function Jt(e,t){f(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}Jt("a",!0);Jt("A",!1);b("hour","h");x("hour",13);function Qt(e,t){return t._meridiemParse}u("a",Qt);u("A",Qt);u("H",M);u("h",M);u("k",M);u("HH",M,W);u("hh",M,W);u("kk",M,W);u("hmm",At);u("hmmss",Ht);u("Hmm",At);u("Hmmss",Ht);k(["H","HH"],p);k(["k","kk"],function(e,t,s){var r=m(e);t[p]=r===24?0:r});k(["a","A"],function(e,t,s){s._isPm=s._locale.isPM(e),s._meridiem=e});k(["h","hh"],function(e,t,s){t[p]=m(e),c(s).bigHour=!0});k("hmm",function(e,t,s){var r=e.length-2;t[p]=m(e.substr(0,r)),t[I]=m(e.substr(r)),c(s).bigHour=!0});k("hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[p]=m(e.substr(0,r)),t[I]=m(e.substr(r,2)),t[B]=m(e.substr(a)),c(s).bigHour=!0});k("Hmm",function(e,t,s){var r=e.length-2;t[p]=m(e.substr(0,r)),t[I]=m(e.substr(r))});k("Hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[p]=m(e.substr(0,r)),t[I]=m(e.substr(r,2)),t[B]=m(e.substr(a))});function Fr(e){return(e+"").toLowerCase().charAt(0)==="p"}var Cr=/[ap]\.?m?\.?/i,Lr=fe("Hours",!0);function Ir(e,t,s){return e>11?s?"pm":"PM":s?"am":"AM"}var Xt={calendar:Os,longDateFormat:Ns,invalidDate:Ws,ordinal:Fs,dayOfMonthOrdinalParse:Cs,relativeTime:Is,months:Qs,monthsShort:Vt,week:dr,weekdays:wr,weekdaysMin:Sr,weekdaysShort:qt,meridiemParse:Cr},D={},_e={},ge;function Ur(e,t){var s,r=Math.min(e.length,t.length);for(s=0;s0;){if(a=je(n.slice(0,s).join("-")),a)return a;if(r&&r.length>=s&&Ur(n,r)>=s-1)break;s--}t++}return ge}function Ar(e){return e.match("^[^/\\\\]*$")!=null}function je(e){var t=null,s;if(D[e]===void 0&&typeof module!="undefined"&&module&&module.exports&&Ar(e))try{t=ge._abbr,s=require,s("./locale/"+e),te(t)}catch{D[e]=null}return D[e]}function te(e,t){var s;return e&&(N(t)?s=Q(e):s=yt(e,t),s?ge=s:typeof console!="undefined"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ge._abbr}function yt(e,t){if(t!==null){var s,r=Xt;if(t.abbr=e,D[e]!=null)Ft("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."),r=D[e]._config;else if(t.parentLocale!=null)if(D[t.parentLocale]!=null)r=D[t.parentLocale]._config;else if(s=je(t.parentLocale),s!=null)r=s._config;else return _e[t.parentLocale]||(_e[t.parentLocale]=[]),_e[t.parentLocale].push({name:e,config:t}),null;return D[e]=new lt(Ke(r,t)),_e[e]&&_e[e].forEach(function(a){yt(a.name,a.config)}),te(e),D[e]}else return delete D[e],null}function Hr(e,t){if(t!=null){var s,r,a=Xt;D[e]!=null&&D[e].parentLocale!=null?D[e].set(Ke(D[e]._config,t)):(r=je(e),r!=null&&(a=r._config),t=Ke(a,t),r==null&&(t.abbr=e),s=new lt(t),s.parentLocale=D[e],D[e]=s),te(e)}else D[e]!=null&&(D[e].parentLocale!=null?(D[e]=D[e].parentLocale,e===te()&&te(e)):D[e]!=null&&delete D[e]);return D[e]}function Q(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return ge;if(!U(e)){if(t=je(e),t)return t;e=[e]}return Er(e)}function Vr(){return et(D)}function wt(e){var t,s=e._a;return s&&c(e).overflow===-2&&(t=s[Z]<0||s[Z]>11?Z:s[H]<1||s[H]>Ge(s[T],s[Z])?H:s[p]<0||s[p]>24||s[p]===24&&(s[I]!==0||s[B]!==0||s[re]!==0)?p:s[I]<0||s[I]>59?I:s[B]<0||s[B]>59?B:s[re]<0||s[re]>999?re:-1,c(e)._overflowDayOfYear&&(tH)&&(t=H),c(e)._overflowWeeks&&t===-1&&(t=Bs),c(e)._overflowWeekday&&t===-1&&(t=qs),c(e).overflow=t),e}var Gr=/^\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)?)?$/,jr=/^\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)?)?$/,$r=/Z|[+-]\d\d(?::?\d\d)?/,Oe=[["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]],Je=[["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/]],zr=/^\/?Date\((-?\d+)/i,Zr=/^(?:(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}))$/,Br={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 Kt(e){var t,s,r=e._i,a=Gr.exec(r)||jr.exec(r),n,i,h,d,_=Oe.length,O=Je.length;if(a){for(c(e).iso=!0,t=0,s=_;twe(i)||e._dayOfYear===0)&&(c(e)._overflowDayOfYear=!0),s=Se(i,0,e._dayOfYear),e._a[Z]=s.getUTCMonth(),e._a[H]=s.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=a[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[p]===24&&e._a[I]===0&&e._a[B]===0&&e._a[re]===0&&(e._nextDay=!0,e._a[p]=0),e._d=(e._useUTC?Se:lr).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[p]=24),e._w&&typeof e._w.d!="undefined"&&e._w.d!==n&&(c(e).weekdayMismatch=!0)}}function sa(e){var t,s,r,a,n,i,h,d,_;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(n=1,i=4,s=oe(t.GG,e._a[T],ke(g(),1,4).year),r=oe(t.W,1),a=oe(t.E,1),(a<1||a>7)&&(d=!0)):(n=e._locale._week.dow,i=e._locale._week.doy,_=ke(g(),n,i),s=oe(t.gg,e._a[T],_.year),r=oe(t.w,_.week),t.d!=null?(a=t.d,(a<0||a>6)&&(d=!0)):t.e!=null?(a=t.e+n,(t.e<0||t.e>6)&&(d=!0)):a=n),r<1||r>q(s,n,i)?c(e)._overflowWeeks=!0:d!=null?c(e)._overflowWeekday=!0:(h=Bt(s,r,a,n,i),e._a[T]=h.year,e._dayOfYear=h.dayOfYear)}l.ISO_8601=function(){};l.RFC_2822=function(){};function kt(e){if(e._f===l.ISO_8601){Kt(e);return}if(e._f===l.RFC_2822){es(e);return}e._a=[],c(e).empty=!0;var t=""+e._i,s,r,a,n,i,h=t.length,d=0,_,O;for(a=Ct(e._f,e._locale).match(ut)||[],O=a.length,s=0;s0&&c(e).unusedInput.push(i),t=t.slice(t.indexOf(r)+r.length),d+=r.length),ue[n]?(r?c(e).empty=!1:c(e).unusedTokens.push(n),Zs(n,r,e)):e._strict&&!r&&c(e).unusedTokens.push(n);c(e).charsLeftOver=h-d,t.length>0&&c(e).unusedInput.push(t),e._a[p]<=12&&c(e).bigHour===!0&&e._a[p]>0&&(c(e).bigHour=void 0),c(e).parsedDateParts=e._a.slice(0),c(e).meridiem=e._meridiem,e._a[p]=ra(e._locale,e._a[p],e._meridiem),_=c(e).era,_!==null&&(e._a[T]=e._locale.erasConvertYear(_,e._a[T])),St(e),wt(e)}function ra(e,t,s){var r;return s==null?t:e.meridiemHour!=null?e.meridiemHour(t,s):(e.isPM!=null&&(r=e.isPM(s),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function aa(e){var t,s,r,a,n,i,h=!1,d=e._f.length;if(d===0){c(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;athis?this:e:Le()});function rs(e,t){var s,r;if(t.length===1&&U(t[0])&&(t=t[0]),!t.length)return g();for(s=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ya(){if(!N(this._isDSTShifted))return this._isDSTShifted;var e={},t;return ot(e,this),e=ts(e),e._a?(t=e._isUTC?G(e._a):g(e._a),this._isDSTShifted=this.isValid()&&ya(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Oa(){return this.isValid()?!this._isUTC:!1}function Ta(){return this.isValid()?this._isUTC:!1}function ns(){return this.isValid()?this._isUTC&&this._offset===0:!1}var ba=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,xa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function A(e,t){var s=e,r=null,a,n,i;return be(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:J(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(r=ba.exec(e))?(a=r[1]==="-"?-1:1,s={y:0,d:m(r[H])*a,h:m(r[p])*a,m:m(r[I])*a,s:m(r[B])*a,ms:m(st(r[re]*1e3))*a}):(r=xa.exec(e))?(a=r[1]==="-"?-1:1,s={y:se(r[2],a),M:se(r[3],a),w:se(r[4],a),d:se(r[5],a),h:se(r[6],a),m:se(r[7],a),s:se(r[8],a)}):s==null?s={}:typeof s=="object"&&("from"in s||"to"in s)&&(i=Na(g(s.from),g(s.to)),s={},s.ms=i.milliseconds,s.M=i.months),n=new $e(s),be(e)&&w(e,"_locale")&&(n._locale=e._locale),be(e)&&w(e,"_isValid")&&(n._isValid=e._isValid),n}A.fn=$e.prototype;A.invalid=ma;function se(e,t){var s=e&&parseFloat(e.replace(",","."));return(isNaN(s)?0:s)*t}function xt(e,t){var s={};return s.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(s.months,"M").isAfter(t)&&--s.months,s.milliseconds=+t-+e.clone().add(s.months,"M"),s}function Na(e,t){var s;return e.isValid()&&t.isValid()?(t=Mt(t,e),e.isBefore(t)?s=xt(e,t):(s=xt(t,e),s.milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0}}function is(e,t){return function(s,r){var a,n;return r!==null&&!isNaN(+r)&&(Ft(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=r,r=n),a=A(s,r),os(this,a,e),this}}function os(e,t,s,r){var a=t._milliseconds,n=st(t._days),i=st(t._months);!e.isValid()||(r=r==null?!0:r,i&&jt(e,Ne(e,"Month")+i*s),n&&It(e,"Date",Ne(e,"Date")+n*s),a&&e._d.setTime(e._d.valueOf()+a*s),r&&l.updateOffset(e,n||i))}var Pa=is(1,"add"),Wa=is(-1,"subtract");function ls(e){return typeof e=="string"||e instanceof String}function Ra(e){return E(e)||Me(e)||ls(e)||J(e)||Ca(e)||Fa(e)||e===null||e===void 0}function Fa(e){var t=ae(e)&&!nt(e),s=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,n,i=r.length;for(a=0;as.valueOf():s.valueOf()9999?Te(s,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):j(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Te(s,"Z")):Te(s,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function qa(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",s,r,a,n;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),s="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",n=t+'[")]',this.format(s+r+a+n)}function Ja(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var t=Te(this,e);return this.localeData().postformat(t)}function Qa(e,t){return this.isValid()&&(E(e)&&e.isValid()||g(e).isValid())?A({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Xa(e){return this.from(g(),e)}function Ka(e,t){return this.isValid()&&(E(e)&&e.isValid()||g(e).isValid())?A({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function en(e){return this.to(g(),e)}function us(e){var t;return e===void 0?this._locale._abbr:(t=Q(e),t!=null&&(this._locale=t),this)}var ds=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function hs(){return this._locale}var Re=1e3,de=60*Re,Fe=60*de,fs=(365*400+97)*24*Fe;function he(e,t){return(e%t+t)%t}function cs(e,t,s){return e<100&&e>=0?new Date(e+400,t,s)-fs:new Date(e,t,s).valueOf()}function _s(e,t,s){return e<100&&e>=0?Date.UTC(e+400,t,s)-fs:Date.UTC(e,t,s)}function tn(e){var t,s;if(e=L(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?_s:cs,e){case"year":t=s(this.year(),0,1);break;case"quarter":t=s(this.year(),this.month()-this.month()%3,1);break;case"month":t=s(this.year(),this.month(),1);break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=s(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=he(t+(this._isUTC?0:this.utcOffset()*de),Fe);break;case"minute":t=this._d.valueOf(),t-=he(t,de);break;case"second":t=this._d.valueOf(),t-=he(t,Re);break}return this._d.setTime(t),l.updateOffset(this,!0),this}function sn(e){var t,s;if(e=L(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?_s:cs,e){case"year":t=s(this.year()+1,0,1)-1;break;case"quarter":t=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=s(this.year(),this.month()+1,1)-1;break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=Fe-he(t+(this._isUTC?0:this.utcOffset()*de),Fe)-1;break;case"minute":t=this._d.valueOf(),t+=de-he(t,de)-1;break;case"second":t=this._d.valueOf(),t+=Re-he(t,Re)-1;break}return this._d.setTime(t),l.updateOffset(this,!0),this}function rn(){return this._d.valueOf()-(this._offset||0)*6e4}function an(){return Math.floor(this.valueOf()/1e3)}function nn(){return new Date(this.valueOf())}function on(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function ln(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function un(){return this.isValid()?this.toISOString():null}function dn(){return it(this)}function hn(){return K({},c(this))}function fn(){return c(this).overflow}function cn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}f("N",0,0,"eraAbbr");f("NN",0,0,"eraAbbr");f("NNN",0,0,"eraAbbr");f("NNNN",0,0,"eraName");f("NNNNN",0,0,"eraNarrow");f("y",["y",1],"yo","eraYear");f("y",["yy",2],0,"eraYear");f("y",["yyy",3],0,"eraYear");f("y",["yyyy",4],0,"eraYear");u("N",Dt);u("NN",Dt);u("NNN",Dt);u("NNNN",pn);u("NNNNN",Yn);k(["N","NN","NNN","NNNN","NNNNN"],function(e,t,s,r){var a=s._locale.erasParse(e,r,s._strict);a?c(s).era=a:c(s).invalidEra=e});u("y",ce);u("yy",ce);u("yyy",ce);u("yyyy",ce);u("yo",On);k(["y","yy","yyy","yyyy"],T);k(["yo"],function(e,t,s,r){var a;s._locale._eraYearOrdinalRegex&&(a=e.match(s._locale._eraYearOrdinalRegex)),s._locale.eraYearOrdinalParse?t[T]=s._locale.eraYearOrdinalParse(e,a):t[T]=parseInt(e,10)});function _n(e,t){var s,r,a,n=this._eras||Q("en")._eras;for(s=0,r=n.length;s=0)return n[r]}function yn(e,t){var s=e.since<=e.until?1:-1;return t===void 0?l(e.since).year():l(e.since).year()+(t-e.offset)*s}function wn(){var e,t,s,r=this.localeData().eras();for(e=0,t=r.length;en&&(t=n),Rn.call(this,e,t,s,r,a))}function Rn(e,t,s,r,a){var n=Bt(e,t,s,r,a),i=Se(n.year,0,n.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}f("Q",0,"Qo","quarter");b("quarter","Q");x("quarter",7);u("Q",Ut);k("Q",function(e,t){t[Z]=(m(e)-1)*3});function Fn(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}f("D",["DD",2],"Do","date");b("date","D");x("date",9);u("D",M);u("DD",M,W);u("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});k(["D","DD"],H);k("Do",function(e,t){t[H]=m(e.match(M)[0])});var ys=fe("Date",!0);f("DDD",["DDDD",3],"DDDo","dayOfYear");b("dayOfYear","DDD");x("dayOfYear",4);u("DDD",Ee);u("DDDD",Et);k(["DDD","DDDD"],function(e,t,s){s._dayOfYear=m(e)});function Cn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}f("m",["mm",2],0,"minute");b("minute","m");x("minute",14);u("m",M);u("mm",M,W);k(["m","mm"],I);var Ln=fe("Minutes",!1);f("s",["ss",2],0,"second");b("second","s");x("second",15);u("s",M);u("ss",M,W);k(["s","ss"],B);var In=fe("Seconds",!1);f("S",0,0,function(){return~~(this.millisecond()/100)});f(0,["SS",2],0,function(){return~~(this.millisecond()/10)});f(0,["SSS",3],0,"millisecond");f(0,["SSSS",4],0,function(){return this.millisecond()*10});f(0,["SSSSS",5],0,function(){return this.millisecond()*100});f(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});f(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});f(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});f(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});b("millisecond","ms");x("millisecond",16);u("S",Ee,Ut);u("SS",Ee,W);u("SSS",Ee,Et);var ee,ws;for(ee="SSSS";ee.length<=9;ee+="S")u(ee,ce);function Un(e,t){t[re]=m(("0."+e)*1e3)}for(ee="S";ee.length<=9;ee+="S")k(ee,Un);ws=fe("Milliseconds",!1);f("z",0,0,"zoneAbbr");f("zz",0,0,"zoneName");function En(){return this._isUTC?"UTC":""}function An(){return this._isUTC?"Coordinated Universal Time":""}var o=De.prototype;o.add=Pa;o.calendar=Ua;o.clone=Ea;o.diff=za;o.endOf=sn;o.format=Ja;o.from=Qa;o.fromNow=Xa;o.to=Ka;o.toNow=en;o.get=Hs;o.invalidAt=fn;o.isAfter=Aa;o.isBefore=Ha;o.isBetween=Va;o.isSame=Ga;o.isSameOrAfter=ja;o.isSameOrBefore=$a;o.isValid=dn;o.lang=ds;o.locale=us;o.localeData=hs;o.max=ua;o.min=la;o.parsingFlags=hn;o.set=Vs;o.startOf=tn;o.subtract=Wa;o.toArray=on;o.toObject=ln;o.toDate=nn;o.toISOString=Ba;o.inspect=qa;typeof Symbol!="undefined"&&Symbol.for!=null&&(o[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});o.toJSON=un;o.toString=Za;o.unix=an;o.valueOf=rn;o.creationData=cn;o.eraName=wn;o.eraNarrow=Sn;o.eraAbbr=kn;o.eraYear=gn;o.year=Zt;o.isLeapYear=or;o.weekYear=Tn;o.isoWeekYear=bn;o.quarter=o.quarters=Fn;o.month=$t;o.daysInMonth=ar;o.week=o.weeks=cr;o.isoWeek=o.isoWeeks=_r;o.weeksInYear=Pn;o.weeksInWeekYear=Wn;o.isoWeeksInYear=xn;o.isoWeeksInISOWeekYear=Nn;o.date=ys;o.day=o.days=Tr;o.weekday=br;o.isoWeekday=xr;o.dayOfYear=Cn;o.hour=o.hours=Lr;o.minute=o.minutes=Ln;o.second=o.seconds=In;o.millisecond=o.milliseconds=ws;o.utcOffset=Sa;o.utc=ga;o.local=Ma;o.parseZone=Da;o.hasAlignedHourOffset=va;o.isDST=pa;o.isLocal=Oa;o.isUtcOffset=Ta;o.isUtc=ns;o.isUTC=ns;o.zoneAbbr=En;o.zoneName=An;o.dates=C("dates accessor is deprecated. Use date instead.",ys);o.months=C("months accessor is deprecated. Use month instead",$t);o.years=C("years accessor is deprecated. Use year instead",Zt);o.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",ka);o.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ya);function Hn(e){return g(e*1e3)}function Vn(){return g.apply(null,arguments).parseZone()}function Ss(e){return e}var S=lt.prototype;S.calendar=Ts;S.longDateFormat=Ps;S.invalidDate=Rs;S.ordinal=Ls;S.preparse=Ss;S.postformat=Ss;S.relativeTime=Us;S.pastFuture=Es;S.set=Ys;S.eras=_n;S.erasParse=mn;S.erasConvertYear=yn;S.erasAbbrRegex=Dn;S.erasNameRegex=Mn;S.erasNarrowRegex=vn;S.months=er;S.monthsShort=tr;S.monthsParse=rr;S.monthsRegex=ir;S.monthsShortRegex=nr;S.week=ur;S.firstDayOfYear=fr;S.firstDayOfWeek=hr;S.weekdays=Dr;S.weekdaysMin=pr;S.weekdaysShort=vr;S.weekdaysParse=Or;S.weekdaysRegex=Nr;S.weekdaysShortRegex=Pr;S.weekdaysMinRegex=Wr;S.isPM=Fr;S.meridiem=Ir;function Ce(e,t,s,r){var a=Q(),n=G().set(r,t);return a[s](n,e)}function ks(e,t,s){if(J(e)&&(t=e,e=void 0),e=e||"",t!=null)return Ce(e,t,s,"month");var r,a=[];for(r=0;r<12;r++)a[r]=Ce(e,r,s,"month");return a}function pt(e,t,s,r){typeof e=="boolean"?(J(t)&&(s=t,t=void 0),t=t||""):(t=e,s=t,e=!1,J(t)&&(s=t,t=void 0),t=t||"");var a=Q(),n=e?a._week.dow:0,i,h=[];if(s!=null)return Ce(t,(s+n)%7,r,"day");for(i=0;i<7;i++)h[i]=Ce(t,(i+n)%7,r,"day");return h}function Gn(e,t){return ks(e,t,"months")}function jn(e,t){return ks(e,t,"monthsShort")}function $n(e,t,s){return pt(e,t,s,"weekdays")}function zn(e,t,s){return pt(e,t,s,"weekdaysShort")}function Zn(e,t,s){return pt(e,t,s,"weekdaysMin")}te("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(e){var t=e%10,s=m(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+s}});l.lang=C("moment.lang is deprecated. Use moment.locale instead.",te);l.langData=C("moment.langData is deprecated. Use moment.localeData instead.",Q);var $=Math.abs;function Bn(){var e=this._data;return this._milliseconds=$(this._milliseconds),this._days=$(this._days),this._months=$(this._months),e.milliseconds=$(e.milliseconds),e.seconds=$(e.seconds),e.minutes=$(e.minutes),e.hours=$(e.hours),e.months=$(e.months),e.years=$(e.years),this}function gs(e,t,s,r){var a=A(t,s);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function qn(e,t){return gs(this,e,t,1)}function Jn(e,t){return gs(this,e,t,-1)}function Nt(e){return e<0?Math.floor(e):Math.ceil(e)}function Qn(){var e=this._milliseconds,t=this._days,s=this._months,r=this._data,a,n,i,h,d;return e>=0&&t>=0&&s>=0||e<=0&&t<=0&&s<=0||(e+=Nt(at(s)+t)*864e5,t=0,s=0),r.milliseconds=e%1e3,a=F(e/1e3),r.seconds=a%60,n=F(a/60),r.minutes=n%60,i=F(n/60),r.hours=i%24,t+=F(i/24),d=F(Ms(t)),s+=d,t-=Nt(at(d)),h=F(s/12),s%=12,r.days=t,r.months=s,r.years=h,this}function Ms(e){return e*4800/146097}function at(e){return e*146097/4800}function Xn(e){if(!this.isValid())return NaN;var t,s,r=this._milliseconds;if(e=L(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,s=this._months+Ms(t),e){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(t=this._days+Math.round(at(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function Kn(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+m(this._months/12)*31536e6:NaN}function X(e){return function(){return this.as(e)}}var ei=X("ms"),ti=X("s"),si=X("m"),ri=X("h"),ai=X("d"),ni=X("w"),ii=X("M"),oi=X("Q"),li=X("y");function ui(){return A(this)}function di(e){return e=L(e),this.isValid()?this[e+"s"]():NaN}function ne(e){return function(){return this.isValid()?this._data[e]:NaN}}var hi=ne("milliseconds"),fi=ne("seconds"),ci=ne("minutes"),_i=ne("hours"),mi=ne("days"),yi=ne("months"),wi=ne("years");function Si(){return F(this.days()/7)}var z=Math.round,le={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ki(e,t,s,r,a){return a.relativeTime(t||1,!!s,e,r)}function gi(e,t,s,r){var a=A(e).abs(),n=z(a.as("s")),i=z(a.as("m")),h=z(a.as("h")),d=z(a.as("d")),_=z(a.as("M")),O=z(a.as("w")),R=z(a.as("y")),Y=n<=s.ss&&["s",n]||n0,Y[4]=r,ki.apply(null,Y)}function Mi(e){return e===void 0?z:typeof e=="function"?(z=e,!0):!1}function Di(e,t){return le[e]===void 0?!1:t===void 0?le[e]:(le[e]=t,e==="s"&&(le.ss=t-1),!0)}function vi(e,t){if(!this.isValid())return this.localeData().invalidDate();var s=!1,r=le,a,n;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(s=e),typeof t=="object"&&(r=Object.assign({},le,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),a=this.localeData(),n=gi(this,!s,r,a),s&&(n=a.pastFuture(+this,n)),a.postformat(n)}var Qe=Math.abs;function ie(e){return(e>0)-(e<0)||+e}function Ze(){if(!this.isValid())return this.localeData().invalidDate();var e=Qe(this._milliseconds)/1e3,t=Qe(this._days),s=Qe(this._months),r,a,n,i,h=this.asSeconds(),d,_,O,R;return h?(r=F(e/60),a=F(r/60),e%=60,r%=60,n=F(s/12),s%=12,i=e?e.toFixed(3).replace(/\.?0+$/,""):"",d=h<0?"-":"",_=ie(this._months)!==ie(h)?"-":"",O=ie(this._days)!==ie(h)?"-":"",R=ie(this._milliseconds)!==ie(h)?"-":"",d+"P"+(n?_+n+"Y":"")+(s?_+s+"M":"")+(t?O+t+"D":"")+(a||r||e?"T":"")+(a?R+a+"H":"")+(r?R+r+"M":"")+(e?R+i+"S":"")):"P0D"}var y=$e.prototype;y.isValid=_a;y.abs=Bn;y.add=qn;y.subtract=Jn;y.as=Xn;y.asMilliseconds=ei;y.asSeconds=ti;y.asMinutes=si;y.asHours=ri;y.asDays=ai;y.asWeeks=ni;y.asMonths=ii;y.asQuarters=oi;y.asYears=li;y.valueOf=Kn;y._bubble=Qn;y.clone=ui;y.get=di;y.milliseconds=hi;y.seconds=fi;y.minutes=ci;y.hours=_i;y.days=mi;y.weeks=Si;y.months=yi;y.years=wi;y.humanize=vi;y.toISOString=Ze;y.toString=Ze;y.toJSON=Ze;y.locale=us;y.localeData=hs;y.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ze);y.lang=ds;f("X",0,0,"unix");f("x",0,0,"valueOf");u("x",He);u("X",js);k("X",function(e,t,s){s._d=new Date(parseFloat(e)*1e3)});k("x",function(e,t,s){s._d=new Date(m(e))});//! moment.js +l.version="2.29.2";vs(g);l.fn=o;l.min=da;l.max=ha;l.now=fa;l.utc=G;l.unix=Hn;l.months=Gn;l.isDate=Me;l.locale=te;l.invalid=Le;l.duration=A;l.isMoment=E;l.weekdays=$n;l.parseZone=Vn;l.localeData=Q;l.isDuration=be;l.monthsShort=jn;l.weekdaysMin=Zn;l.defineLocale=yt;l.updateLocale=Hr;l.locales=Vr;l.weekdaysShort=zn;l.normalizeUnits=L;l.relativeTimeRounding=Mi;l.relativeTimeThreshold=Di;l.calendarFormat=Ia;l.prototype=o;l.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"};const Yi=(e="")=>e.replace(/\B([A-Z])/g,"-$1").toLowerCase(),Oi=(e,t=[])=>{const s=[],r=function(a,n){if(!Array.isArray(n))return null;for(let i=0,h=n.length;ie.replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),Ti=(e,t)=>{const s=t||location.href,r=new RegExp(`[?&#]${e}=([^&#]+)`,"gi"),a=s.match(r);let n;return a&&a.length>0?(n=a[a.length-1].split("="),n&&n.length>1?pi(n[1]):""):""};function bi(e,t,s,r,a,n,i,h){var d=typeof e=="function"?e.options:e;t&&(d.render=t,d.staticRenderFns=s,d._compiled=!0),r&&(d.functional=!0),n&&(d._scopeId="data-v-"+n);var _;if(i?(_=function(Y){Y=Y||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!Y&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(Y=__VUE_SSR_CONTEXT__),a&&a.call(this,Y),Y&&Y._registeredComponents&&Y._registeredComponents.add(i)},d._ssrRegister=_):a&&(_=h?function(){a.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:a),_)if(d.functional){d._injectStyles=_;var O=d.render;d.render=function(Ds,Yt){return _.call(Yt),O(Ds,Yt)}}else{var R=d.beforeCreate;d.beforeCreate=R?[].concat(R,_):[_]}return{exports:e,options:d}}export{Oi as a,Ti as g,bi as n,Yi as t}; diff --git a/magic-admin/web/public/runtime/vue2/page.html b/magic-admin/web/public/runtime/vue2/page.html new file mode 100644 index 00000000..8a7ed938 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/page.html @@ -0,0 +1,19 @@ + + + + + + Vue2 Page + + + + + + + + + +
+ + + diff --git a/magic-admin/web/public/runtime/vue2/playground.html b/magic-admin/web/public/runtime/vue2/playground.html new file mode 100644 index 00000000..ecc900d4 --- /dev/null +++ b/magic-admin/web/public/runtime/vue2/playground.html @@ -0,0 +1,24 @@ + + + + + + + Vue2 Playground + + + + + + + + + +
+ + + + + + + \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/components.js b/magic-admin/web/public/runtime/vue3/assets/components.js new file mode 100644 index 00000000..3ebf2104 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/components.js @@ -0,0 +1,278 @@ +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +import { _ as _export_sfc, t as toLine } from "./plugin-vue_export-helper.adee6e2f.js"; +var useApp = (props) => { + var _a, _b; + const app = Vue.inject("app"); + const node = (_a = app == null ? void 0 : app.page) == null ? void 0 : _a.getNode(props.config.id); + const vm = (_b = Vue.getCurrentInstance()) == null ? void 0 : _b.proxy; + node == null ? void 0 : node.emit("created", vm); + Vue.onMounted(() => { + node == null ? void 0 : node.emit("mounted", vm); + }); + Vue.onUnmounted(() => { + node == null ? void 0 : node.emit("destroy", vm); + }); + return app; +}; +const _sfc_main$4 = Vue.defineComponent({ + name: "magic-ui-page", + props: { + config: { + type: Object, + defautl: () => ({}) + } + }, + setup(props) { + if (props.config) { + useApp(props); + } + } +}); +function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { + const _component_magic_ui_container = Vue.resolveComponent("magic-ui-container"); + return Vue.openBlock(), Vue.createBlock(_component_magic_ui_container, { + class: "magic-ui-page", + config: _ctx.config + }, { + default: Vue.withCtx(() => [ + Vue.renderSlot(_ctx.$slots, "default") + ]), + _: 3 + }, 8, ["config"]); +} +var page = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3]]); +var useCommonMethod = (props) => ({ + show: () => { + props.config.style.display = "initial"; + }, + hide: () => { + props.config.style.display = "none"; + } +}); +const _sfc_main$3 = Vue.defineComponent({ + name: "magic-ui-component", + props: { + config: { + type: Object, + default: () => ({}) + } + }, + setup(props) { + var _a; + const vm = (_a = Vue.getCurrentInstance()) == null ? void 0 : _a.proxy; + const app = useApp(props); + Vue.provide("hoc", vm); + return __spreadValues({ + tagName: Vue.computed(() => `magic-ui-${toLine(props.config.type)}`), + style: Vue.computed(() => app == null ? void 0 : app.transformStyle(props.config.style)), + display: () => { + var _a2; + const displayCfg = (_a2 = props.config) == null ? void 0 : _a2.display; + if (typeof displayCfg === "function") { + return displayCfg(app); + } + return displayCfg !== false; + } + }, useCommonMethod(props)); + } +}); +function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) { + return _ctx.display() ? (Vue.openBlock(), Vue.createBlock(Vue.resolveDynamicComponent(_ctx.tagName), { + key: 0, + id: _ctx.config.id, + class: Vue.normalizeClass(`magic-ui-component${_ctx.config.className ? ` ${_ctx.config.className}` : ""}`), + style: Vue.normalizeStyle(_ctx.style), + config: _ctx.config + }, null, 8, ["id", "class", "style", "config"])) : Vue.createCommentVNode("", true); +} +var Component = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$2]]); +const _sfc_main$2 = Vue.defineComponent({ + name: "magic-ui-container", + components: { + "magic-ui-component": Component + }, + props: { + config: { + type: Object, + default: () => ({}) + } + }, + setup(props) { + const app = useApp(props); + return __spreadValues({ + style: Vue.computed(() => app == null ? void 0 : app.transformStyle(props.config.style || {})), + display: () => { + var _a; + const displayCfg = (_a = props.config) == null ? void 0 : _a.display; + if (typeof displayCfg === "function") { + return displayCfg(app); + } + return displayCfg !== false; + } + }, useCommonMethod(props)); + } +}); +const _hoisted_1 = ["id"]; +function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) { + const _component_magic_ui_component = Vue.resolveComponent("magic-ui-component"); + return _ctx.display() ? (Vue.openBlock(), Vue.createElementBlock("div", { + key: 0, + id: _ctx.config.id, + class: Vue.normalizeClass(`magic-ui-container${_ctx.config.className ? ` ${_ctx.config.className}` : ""}`), + style: Vue.normalizeStyle(_ctx.style) + }, [ + Vue.renderSlot(_ctx.$slots, "default"), + (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(_ctx.config.items, (item) => { + return Vue.openBlock(), Vue.createBlock(_component_magic_ui_component, { + key: item.id, + config: item + }, null, 8, ["config"]); + }), 128)) + ], 14, _hoisted_1)) : Vue.createCommentVNode("", true); +} +var container = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$1]]); +const _sfc_main$1 = Vue.defineComponent({ + name: "magic-ui-button", + props: { + config: { + type: Object, + default: () => ({}) + }, + model: { + type: Object, + default: () => ({}) + } + }, + setup(props) { + var _a; + const vm = (_a = Vue.getCurrentInstance()) == null ? void 0 : _a.proxy; + const actions = Vue.reactive([]); + const actualActions = Vue.computed(() => [ + typeof props.config.preAction === "function" ? props.config.preAction : () => true, + ...actions, + typeof props.config.postAction === "function" ? props.config.postAction : () => true + ]); + function pushAction(action) { + actions.push(action); + } + async function clickHandler() { + for (const fn of actualActions.value) { + if (typeof fn === "function") { + const ret = await fn(vm, { model: props.model }); + if (ret === false) { + break; + } + } + } + } + const textConfig = Vue.computed(() => { + var _a2, _b, _c; + return { + type: "text", + text: ((_a2 = props.config) == null ? void 0 : _a2.text) || "", + disabledText: ((_b = props.config) == null ? void 0 : _b.disabledText) || "", + html: ((_c = props.config) == null ? void 0 : _c.html) || "" + }; + }); + return { + pushAction, + clickHandler, + textConfig + }; + } +}); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_magic_ui_text = Vue.resolveComponent("magic-ui-text"); + return Vue.openBlock(), Vue.createElementBlock("button", { + class: "magic-ui-button", + onClick: _cache[0] || (_cache[0] = (...args) => _ctx.clickHandler && _ctx.clickHandler(...args)) + }, [ + Vue.renderSlot(_ctx.$slots, "default", {}, () => [ + Vue.createVNode(_component_magic_ui_text, { config: _ctx.textConfig }, null, 8, ["config"]) + ]) + ]); +} +var button = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render]]); +const _sfc_main = Vue.defineComponent({ + name: "magic-ui-text", + props: { + config: { + type: Object, + default: () => ({}) + }, + model: { + type: Object, + default: () => ({}) + }, + vars: { + type: Object, + default: () => ({}) + } + }, + setup(props) { + var _a; + const vm = (_a = Vue.getCurrentInstance()) == null ? void 0 : _a.proxy; + const hoc = Vue.inject("hoc"); + const displayText = Vue.computed(() => { + var _a2, _b; + let text = ((_a2 = props.config) == null ? void 0 : _a2.text) || ""; + const { vars } = props; + if ((hoc == null ? void 0 : hoc.disabled) && ((_b = props.config) == null ? void 0 : _b.disabledText)) { + text = props.config.disabledText; + } + if (typeof text === "function") { + return text.bind(vm)(vm, { model: props.model }); + } + if (Object.prototype.toString.call(vars) === "[object Object]") { + let tmp = text; + Object.entries(vars).forEach(([key, value]) => { + tmp = tmp.replace(new RegExp(`{{${key}}}`, "g"), value); + }); + return tmp; + } + return text || ""; + }); + return { + displayText + }; + }, + render() { + var _a, _b, _c, _d; + const className = ((_a = this.config) == null ? void 0 : _a.multiple) ? "magic-ui-text" : "magic-ui-text magic-ui-text--single-line"; + if (typeof ((_b = this.$slots) == null ? void 0 : _b.default) === "function") { + return Vue.h("span", { class: className }, [((_d = (_c = this.$slots) == null ? void 0 : _c.default) == null ? void 0 : _d.call(_c)) || ""]); + } + return Vue.h("span", __spreadValues({ + class: className + }, this.displayText ? { innerHTML: this.displayText } : {})); + } +}); +const components = { + "page": page, + "container": container, + "button": button, + "text": _sfc_main +}; +const plugins = {}; +const entry = { + components, + plugins +}; +window.magicPresetComponents = entry; +export { entry as e }; +//# sourceMappingURL=components.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/components.js.map b/magic-admin/web/public/runtime/vue3/assets/components.js.map new file mode 100644 index 00000000..d83a14e9 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/components.js.map @@ -0,0 +1 @@ +{"version":3,"file":"components.js","sources":["../../../../packages/ui/src/useApp.ts","../../../../packages/ui/src/page/src/index.vue","../../../../packages/ui/src/useCommonMethod.ts","../../../../packages/ui/src/Component.vue","../../../../packages/ui/src/container/src/Container.vue","../../../../packages/ui/src/button/src/index.vue","../../../../packages/ui/src/text/src/index.vue","../../src/comp-entry.ts"],"sourcesContent":["/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getCurrentInstance, inject, onMounted, onUnmounted } from 'vue';\n\nimport Core from '@tmagic/core';\n\nexport default (props: any) => {\n const app: Core | undefined = inject('app');\n const node = app?.page?.getNode(props.config.id);\n\n const vm = getCurrentInstance()?.proxy;\n\n node?.emit('created', vm);\n\n onMounted(() => {\n node?.emit('mounted', vm);\n });\n\n onUnmounted(() => {\n node?.emit('destroy', vm);\n });\n\n return app;\n};\n","\n\n\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default (props: any) => ({\n show: () => {\n props.config.style.display = 'initial';\n },\n hide: () => {\n props.config.style.display = 'none';\n },\n});\n","\n\n\n","\n\n\n","\n\n","\n","import page from '/parisma/github/tmagic-editor/packages/ui/src/page/src/index.vue';\nimport container from '/parisma/github/tmagic-editor/packages/ui/src/container/src/Container.vue';\nimport button from '/parisma/github/tmagic-editor/packages/ui/src/button/src/index.vue';\nimport text from '/parisma/github/tmagic-editor/packages/ui/src/text/src/index.vue';\n\nconst components: Record = {\n 'page': page,\n 'container': container,\n 'button': button,\n 'text': text,\n};\n\nconst plugins = {};\n\nconst entry = {\n components,\n plugins,\n};\n\nwindow.magicPresetComponents = entry;\nexport default entry;"],"names":["_sfc_main","text"],"mappings":"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"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/config.js b/magic-admin/web/public/runtime/vue3/assets/config.js new file mode 100644 index 00000000..40fadc73 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/config.js @@ -0,0 +1,61 @@ +var page = [ + { + text: "\u9875\u9762\u6807\u8BC6", + name: "name", + disabled: true, + extra: "\u5728\u591A\u9875\u9762\u7684\u60C5\u51B5\u4E0B\u7528\u6765\u6307\u5B9A\u8981\u6253\u5F00\u7684\u9875\u9762" + }, + { + text: "\u9875\u9762\u6807\u9898", + name: "title" + }, + { + name: "layout", + text: "\u5BB9\u5668\u5E03\u5C40", + type: "select", + defaultValue: "absolute", + options: [ + { value: "absolute", text: "\u7EDD\u5BF9\u5B9A\u4F4D" }, + { value: "relative", text: "\u6D41\u5F0F\u5E03\u5C40" } + ] + } +]; +var container = [ + { + name: "layout", + text: "\u5BB9\u5668\u5E03\u5C40", + type: "select", + defaultValue: "absolute", + options: [ + { value: "absolute", text: "\u7EDD\u5BF9\u5B9A\u4F4D" }, + { value: "relative", text: "\u6D41\u5F0F\u5E03\u5C40" } + ] + } +]; +var button = [ + { + text: "\u6587\u672C", + name: "text" + } +]; +var text = [ + { + name: "text", + text: "\u6587\u672C" + }, + { + name: "multiple", + text: "\u591A\u884C\u6587\u672C", + type: "switch" + } +]; +(function() { + const configs = { + "page": page, + "container": container, + "button": button, + "text": text + }; + window.magicPresetConfigs = configs; +})(); +//# sourceMappingURL=config.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/config.js.map b/magic-admin/web/public/runtime/vue3/assets/config.js.map new file mode 100644 index 00000000..7f768e02 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"config.js","sources":["../../../../packages/ui/src/page/src/formConfig.ts","../../../../packages/ui/src/container/src/formConfig.ts","../../../../packages/ui/src/button/src/formConfig.ts","../../../../packages/ui/src/text/src/formConfig.ts","../../src/config-entry.ts"],"sourcesContent":["/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default [\n {\n text: '页面标识',\n name: 'name',\n disabled: true,\n extra: '在多页面的情况下用来指定要打开的页面',\n },\n {\n text: '页面标题',\n name: 'title',\n },\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局' },\n ],\n },\n];\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default [\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局' },\n ],\n },\n];\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default [\n {\n text: '文本',\n name: 'text',\n },\n];\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default [\n {\n name: 'text',\n text: '文本',\n },\n {\n name: 'multiple',\n text: '多行文本',\n type: 'switch',\n },\n];\n","import page from '/parisma/github/tmagic-editor/packages/ui/src/page/src/formConfig';\nimport container from '/parisma/github/tmagic-editor/packages/ui/src/container/src/formConfig';\nimport button from '/parisma/github/tmagic-editor/packages/ui/src/button/src/formConfig';\nimport text from '/parisma/github/tmagic-editor/packages/ui/src/text/src/formConfig';\n\n(function() {\n const configs: Record = {\n 'page': page,\n 'container': container,\n 'button': button,\n 'text': text,\n };\n\n window.magicPresetConfigs = configs;\n})();"],"names":[],"mappings":"AAkBA,IAAe,OAAA;AAAA,EACb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,SAAS;AAAA,MACP,EAAE,OAAO,YAAY,MAAM,2BAAO;AAAA,MAClC,EAAE,OAAO,YAAY,MAAM,2BAAO;AAAA,IACpC;AAAA,EACF;AACF;ACrBA,IAAe,YAAA;AAAA,EACb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,SAAS;AAAA,MACP,EAAE,OAAO,YAAY,MAAM,2BAAO;AAAA,MAClC,EAAE,OAAO,YAAY,MAAM,2BAAO;AAAA,IACpC;AAAA,EACF;AACF;ACXA,IAAe,SAAA;AAAA,EACb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;ACLA,IAAe,OAAA;AAAA,EACb;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;ACvBC,AAAW,YAAA;AACV,QAAM,UAA+B;AAAA,IACnC,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAGV,SAAO,qBAAqB;AAC9B,GAAG;"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/event.js b/magic-admin/web/public/runtime/vue3/assets/event.js new file mode 100644 index 00000000..bb1c4af8 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/event.js @@ -0,0 +1,5 @@ +(function() { + const events = {}; + window.magicPresetEvents = events; +})(); +//# sourceMappingURL=event.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/event.js.map b/magic-admin/web/public/runtime/vue3/assets/event.js.map new file mode 100644 index 00000000..d4c93af9 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/event.js.map @@ -0,0 +1 @@ +{"version":3,"file":"event.js","sources":["../../src/event-entry.ts"],"sourcesContent":["(function() {\n const events: Record = {};\n window.magicPresetEvents = events;\n})();"],"names":[],"mappings":"AAAC,AAAW,YAAA;AACV,QAAM,SAA8B,CAAA;AACpC,SAAO,oBAAoB;AAC7B,GAAG;"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/page.f43f55a4.css b/magic-admin/web/public/runtime/vue3/assets/page.f43f55a4.css new file mode 100644 index 00000000..450038d2 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/page.f43f55a4.css @@ -0,0 +1,10 @@ +html, +body, +#app { + width: 100%; + height: 100%; +} +#app { + position: relative; + overflow: auto; +} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/page.js b/magic-admin/web/public/runtime/vue3/assets/page.js new file mode 100644 index 00000000..f565e173 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/page.js @@ -0,0 +1,1113 @@ +import { A as App } from "./resetcss.e39ac995.js"; +import { _ as _export_sfc, g as getUrlParam } from "./plugin-vue_export-helper.adee6e2f.js"; +import { e as entry } from "./components.js"; +const getLocalConfig = () => { + const configStr = localStorage.getItem("magicUiConfig"); + if (!configStr) + return []; + try { + return [eval(`(${configStr})`)]; + } catch (err) { + return []; + } +}; +var axios$2 = { exports: {} }; +var bind$2 = function bind2(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; +var bind$1 = bind$2; +var toString = Object.prototype.toString; +function isArray(val) { + return Array.isArray(val); +} +function isUndefined(val) { + return typeof val === "undefined"; +} +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val); +} +function isArrayBuffer(val) { + return toString.call(val) === "[object ArrayBuffer]"; +} +function isFormData(val) { + return toString.call(val) === "[object FormData]"; +} +function isArrayBufferView(val) { + var result; + if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; +} +function isString(val) { + return typeof val === "string"; +} +function isNumber(val) { + return typeof val === "number"; +} +function isObject(val) { + return val !== null && typeof val === "object"; +} +function isPlainObject(val) { + if (toString.call(val) !== "[object Object]") { + return false; + } + var prototype = Object.getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; +} +function isDate(val) { + return toString.call(val) === "[object Date]"; +} +function isFile(val) { + return toString.call(val) === "[object File]"; +} +function isBlob(val) { + return toString.call(val) === "[object Blob]"; +} +function isFunction(val) { + return toString.call(val) === "[object Function]"; +} +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} +function isURLSearchParams(val) { + return toString.call(val) === "[object URLSearchParams]"; +} +function trim(str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ""); +} +function isStandardBrowserEnv() { + if (typeof navigator !== "undefined" && (navigator.product === "ReactNative" || navigator.product === "NativeScript" || navigator.product === "NS")) { + return false; + } + return typeof window !== "undefined" && typeof document !== "undefined"; +} +function forEach(obj, fn) { + if (obj === null || typeof obj === "undefined") { + return; + } + if (typeof obj !== "object") { + obj = [obj]; + } + if (isArray(obj)) { + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} +function merge() { + var result = {}; + function assignValue(val, key) { + if (isPlainObject(result[key]) && isPlainObject(val)) { + result[key] = merge(result[key], val); + } else if (isPlainObject(val)) { + result[key] = merge({}, val); + } else if (isArray(val)) { + result[key] = val.slice(); + } else { + result[key] = val; + } + } + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === "function") { + a[key] = bind$1(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} +function stripBOM(content) { + if (content.charCodeAt(0) === 65279) { + content = content.slice(1); + } + return content; +} +var utils$e = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isObject, + isPlainObject, + isUndefined, + isDate, + isFile, + isBlob, + isFunction, + isStream, + isURLSearchParams, + isStandardBrowserEnv, + forEach, + merge, + extend, + trim, + stripBOM +}; +var utils$d = utils$e; +function encode(val) { + return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); +} +var buildURL$2 = function buildURL2(url, params, paramsSerializer) { + if (!params) { + return url; + } + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils$d.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + utils$d.forEach(params, function serialize(val, key) { + if (val === null || typeof val === "undefined") { + return; + } + if (utils$d.isArray(val)) { + key = key + "[]"; + } else { + val = [val]; + } + utils$d.forEach(val, function parseValue(v) { + if (utils$d.isDate(v)) { + v = v.toISOString(); + } else if (utils$d.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + "=" + encode(v)); + }); + }); + serializedParams = parts.join("&"); + } + if (serializedParams) { + var hashmarkIndex = url.indexOf("#"); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams; + } + return url; +}; +var utils$c = utils$e; +function InterceptorManager$1() { + this.handlers = []; +} +InterceptorManager$1.prototype.use = function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; +}; +InterceptorManager$1.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } +}; +InterceptorManager$1.prototype.forEach = function forEach2(fn) { + utils$c.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); +}; +var InterceptorManager_1 = InterceptorManager$1; +var utils$b = utils$e; +var normalizeHeaderName$1 = function normalizeHeaderName2(headers, normalizedName) { + utils$b.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); +}; +var enhanceError$2 = function enhanceError2(error, config, code, request3, response) { + error.config = config; + if (code) { + error.code = code; + } + error.request = request3; + error.response = response; + error.isAxiosError = true; + error.toJSON = function toJSON() { + return { + message: this.message, + name: this.name, + description: this.description, + number: this.number, + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + config: this.config, + code: this.code, + status: this.response && this.response.status ? this.response.status : null + }; + }; + return error; +}; +var enhanceError$1 = enhanceError$2; +var createError$2 = function createError2(message, config, code, request3, response) { + var error = new Error(message); + return enhanceError$1(error, config, code, request3, response); +}; +var createError$1 = createError$2; +var settle$1 = function settle2(resolve, reject, response) { + var validateStatus2 = response.config.validateStatus; + if (!response.status || !validateStatus2 || validateStatus2(response.status)) { + resolve(response); + } else { + reject(createError$1("Request failed with status code " + response.status, response.config, null, response.request, response)); + } +}; +var utils$a = utils$e; +var cookies$1 = utils$a.isStandardBrowserEnv() ? function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + "=" + encodeURIComponent(value)); + if (utils$a.isNumber(expires)) { + cookie.push("expires=" + new Date(expires).toGMTString()); + } + if (utils$a.isString(path)) { + cookie.push("path=" + path); + } + if (utils$a.isString(domain)) { + cookie.push("domain=" + domain); + } + if (secure === true) { + cookie.push("secure"); + } + document.cookie = cookie.join("; "); + }, + read: function read(name) { + var match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); + return match ? decodeURIComponent(match[3]) : null; + }, + remove: function remove(name) { + this.write(name, "", Date.now() - 864e5); + } + }; +}() : function nonStandardBrowserEnv() { + return { + write: function write() { + }, + read: function read() { + return null; + }, + remove: function remove() { + } + }; +}(); +var isAbsoluteURL$1 = function isAbsoluteURL2(url) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +}; +var combineURLs$1 = function combineURLs2(baseURL, relativeURL) { + return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; +}; +var isAbsoluteURL = isAbsoluteURL$1; +var combineURLs = combineURLs$1; +var buildFullPath$1 = function buildFullPath2(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +}; +var utils$9 = utils$e; +var ignoreDuplicateOf = [ + "age", + "authorization", + "content-length", + "content-type", + "etag", + "expires", + "from", + "host", + "if-modified-since", + "if-unmodified-since", + "last-modified", + "location", + "max-forwards", + "proxy-authorization", + "referer", + "retry-after", + "user-agent" +]; +var parseHeaders$1 = function parseHeaders2(headers) { + var parsed = {}; + var key; + var val; + var i; + if (!headers) { + return parsed; + } + utils$9.forEach(headers.split("\n"), function parser(line) { + i = line.indexOf(":"); + key = utils$9.trim(line.substr(0, i)).toLowerCase(); + val = utils$9.trim(line.substr(i + 1)); + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === "set-cookie") { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ", " + val : val; + } + } + }); + return parsed; +}; +var utils$8 = utils$e; +var isURLSameOrigin$1 = utils$8.isStandardBrowserEnv() ? function standardBrowserEnv2() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement("a"); + var originURL; + function resolveURL(url) { + var href = url; + if (msie) { + urlParsingNode.setAttribute("href", href); + href = urlParsingNode.href; + } + urlParsingNode.setAttribute("href", href); + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "", + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "", + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "", + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname + }; + } + originURL = resolveURL(window.location.href); + return function isURLSameOrigin2(requestURL) { + var parsed = utils$8.isString(requestURL) ? resolveURL(requestURL) : requestURL; + return parsed.protocol === originURL.protocol && parsed.host === originURL.host; + }; +}() : function nonStandardBrowserEnv2() { + return function isURLSameOrigin2() { + return true; + }; +}(); +function Cancel$3(message) { + this.message = message; +} +Cancel$3.prototype.toString = function toString2() { + return "Cancel" + (this.message ? ": " + this.message : ""); +}; +Cancel$3.prototype.__CANCEL__ = true; +var Cancel_1 = Cancel$3; +var utils$7 = utils$e; +var settle = settle$1; +var cookies = cookies$1; +var buildURL$1 = buildURL$2; +var buildFullPath = buildFullPath$1; +var parseHeaders = parseHeaders$1; +var isURLSameOrigin = isURLSameOrigin$1; +var createError = createError$2; +var defaults$4 = defaults_1; +var Cancel$2 = Cancel_1; +var xhr = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + var responseType = config.responseType; + var onCanceled; + function done() { + if (config.cancelToken) { + config.cancelToken.unsubscribe(onCanceled); + } + if (config.signal) { + config.signal.removeEventListener("abort", onCanceled); + } + } + if (utils$7.isFormData(requestData)) { + delete requestHeaders["Content-Type"]; + } + var request3 = new XMLHttpRequest(); + if (config.auth) { + var username = config.auth.username || ""; + var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ""; + requestHeaders.Authorization = "Basic " + btoa(username + ":" + password); + } + var fullPath = buildFullPath(config.baseURL, config.url); + request3.open(config.method.toUpperCase(), buildURL$1(fullPath, config.params, config.paramsSerializer), true); + request3.timeout = config.timeout; + function onloadend() { + if (!request3) { + return; + } + var responseHeaders = "getAllResponseHeaders" in request3 ? parseHeaders(request3.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === "text" || responseType === "json" ? request3.responseText : request3.response; + var response = { + data: responseData, + status: request3.status, + statusText: request3.statusText, + headers: responseHeaders, + config, + request: request3 + }; + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + request3 = null; + } + if ("onloadend" in request3) { + request3.onloadend = onloadend; + } else { + request3.onreadystatechange = function handleLoad() { + if (!request3 || request3.readyState !== 4) { + return; + } + if (request3.status === 0 && !(request3.responseURL && request3.responseURL.indexOf("file:") === 0)) { + return; + } + setTimeout(onloadend); + }; + } + request3.onabort = function handleAbort() { + if (!request3) { + return; + } + reject(createError("Request aborted", config, "ECONNABORTED", request3)); + request3 = null; + }; + request3.onerror = function handleError() { + reject(createError("Network Error", config, null, request3)); + request3 = null; + }; + request3.ontimeout = function handleTimeout() { + var timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded"; + var transitional2 = config.transitional || defaults$4.transitional; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError(timeoutErrorMessage, config, transitional2.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED", request3)); + request3 = null; + }; + if (utils$7.isStandardBrowserEnv()) { + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : void 0; + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + if ("setRequestHeader" in request3) { + utils$7.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === "undefined" && key.toLowerCase() === "content-type") { + delete requestHeaders[key]; + } else { + request3.setRequestHeader(key, val); + } + }); + } + if (!utils$7.isUndefined(config.withCredentials)) { + request3.withCredentials = !!config.withCredentials; + } + if (responseType && responseType !== "json") { + request3.responseType = config.responseType; + } + if (typeof config.onDownloadProgress === "function") { + request3.addEventListener("progress", config.onDownloadProgress); + } + if (typeof config.onUploadProgress === "function" && request3.upload) { + request3.upload.addEventListener("progress", config.onUploadProgress); + } + if (config.cancelToken || config.signal) { + onCanceled = function(cancel) { + if (!request3) { + return; + } + reject(!cancel || cancel && cancel.type ? new Cancel$2("canceled") : cancel); + request3.abort(); + request3 = null; + }; + config.cancelToken && config.cancelToken.subscribe(onCanceled); + if (config.signal) { + config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled); + } + } + if (!requestData) { + requestData = null; + } + request3.send(requestData); + }); +}; +var utils$6 = utils$e; +var normalizeHeaderName = normalizeHeaderName$1; +var enhanceError = enhanceError$2; +var DEFAULT_CONTENT_TYPE = { + "Content-Type": "application/x-www-form-urlencoded" +}; +function setContentTypeIfUnset(headers, value) { + if (!utils$6.isUndefined(headers) && utils$6.isUndefined(headers["Content-Type"])) { + headers["Content-Type"] = value; + } +} +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== "undefined") { + adapter = xhr; + } else if (typeof process !== "undefined" && Object.prototype.toString.call(process) === "[object process]") { + adapter = xhr; + } + return adapter; +} +function stringifySafely(rawValue, parser, encoder) { + if (utils$6.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils$6.trim(rawValue); + } catch (e) { + if (e.name !== "SyntaxError") { + throw e; + } + } + } + return (encoder || JSON.stringify)(rawValue); +} +var defaults$3 = { + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + adapter: getDefaultAdapter(), + transformRequest: [function transformRequest(data2, headers) { + normalizeHeaderName(headers, "Accept"); + normalizeHeaderName(headers, "Content-Type"); + if (utils$6.isFormData(data2) || utils$6.isArrayBuffer(data2) || utils$6.isBuffer(data2) || utils$6.isStream(data2) || utils$6.isFile(data2) || utils$6.isBlob(data2)) { + return data2; + } + if (utils$6.isArrayBufferView(data2)) { + return data2.buffer; + } + if (utils$6.isURLSearchParams(data2)) { + setContentTypeIfUnset(headers, "application/x-www-form-urlencoded;charset=utf-8"); + return data2.toString(); + } + if (utils$6.isObject(data2) || headers && headers["Content-Type"] === "application/json") { + setContentTypeIfUnset(headers, "application/json"); + return stringifySafely(data2); + } + return data2; + }], + transformResponse: [function transformResponse(data2) { + var transitional2 = this.transitional || defaults$3.transitional; + var silentJSONParsing = transitional2 && transitional2.silentJSONParsing; + var forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === "json"; + if (strictJSONParsing || forcedJSONParsing && utils$6.isString(data2) && data2.length) { + try { + return JSON.parse(data2); + } catch (e) { + if (strictJSONParsing) { + if (e.name === "SyntaxError") { + throw enhanceError(e, this, "E_JSON_PARSE"); + } + throw e; + } + } + } + return data2; + }], + timeout: 0, + xsrfCookieName: "XSRF-TOKEN", + xsrfHeaderName: "X-XSRF-TOKEN", + maxContentLength: -1, + maxBodyLength: -1, + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + headers: { + common: { + "Accept": "application/json, text/plain, */*" + } + } +}; +utils$6.forEach(["delete", "get", "head"], function forEachMethodNoData(method) { + defaults$3.headers[method] = {}; +}); +utils$6.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { + defaults$3.headers[method] = utils$6.merge(DEFAULT_CONTENT_TYPE); +}); +var defaults_1 = defaults$3; +var utils$5 = utils$e; +var defaults$2 = defaults_1; +var transformData$1 = function transformData2(data2, headers, fns) { + var context = this || defaults$2; + utils$5.forEach(fns, function transform(fn) { + data2 = fn.call(context, data2, headers); + }); + return data2; +}; +var isCancel$1 = function isCancel2(value) { + return !!(value && value.__CANCEL__); +}; +var utils$4 = utils$e; +var transformData = transformData$1; +var isCancel = isCancel$1; +var defaults$1 = defaults_1; +var Cancel$1 = Cancel_1; +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + if (config.signal && config.signal.aborted) { + throw new Cancel$1("canceled"); + } +} +var dispatchRequest$1 = function dispatchRequest2(config) { + throwIfCancellationRequested(config); + config.headers = config.headers || {}; + config.data = transformData.call(config, config.data, config.headers, config.transformRequest); + config.headers = utils$4.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers); + utils$4.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function cleanHeaderConfig(method) { + delete config.headers[method]; + }); + var adapter = config.adapter || defaults$1.adapter; + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + response.data = transformData.call(config, response.data, response.headers, config.transformResponse); + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + if (reason && reason.response) { + reason.response.data = transformData.call(config, reason.response.data, reason.response.headers, config.transformResponse); + } + } + return Promise.reject(reason); + }); +}; +var utils$3 = utils$e; +var mergeConfig$2 = function mergeConfig2(config1, config2) { + config2 = config2 || {}; + var config = {}; + function getMergedValue(target, source2) { + if (utils$3.isPlainObject(target) && utils$3.isPlainObject(source2)) { + return utils$3.merge(target, source2); + } else if (utils$3.isPlainObject(source2)) { + return utils$3.merge({}, source2); + } else if (utils$3.isArray(source2)) { + return source2.slice(); + } + return source2; + } + function mergeDeepProperties(prop) { + if (!utils$3.isUndefined(config2[prop])) { + return getMergedValue(config1[prop], config2[prop]); + } else if (!utils$3.isUndefined(config1[prop])) { + return getMergedValue(void 0, config1[prop]); + } + } + function valueFromConfig2(prop) { + if (!utils$3.isUndefined(config2[prop])) { + return getMergedValue(void 0, config2[prop]); + } + } + function defaultToConfig2(prop) { + if (!utils$3.isUndefined(config2[prop])) { + return getMergedValue(void 0, config2[prop]); + } else if (!utils$3.isUndefined(config1[prop])) { + return getMergedValue(void 0, config1[prop]); + } + } + function mergeDirectKeys(prop) { + if (prop in config2) { + return getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + return getMergedValue(void 0, config1[prop]); + } + } + var mergeMap = { + "url": valueFromConfig2, + "method": valueFromConfig2, + "data": valueFromConfig2, + "baseURL": defaultToConfig2, + "transformRequest": defaultToConfig2, + "transformResponse": defaultToConfig2, + "paramsSerializer": defaultToConfig2, + "timeout": defaultToConfig2, + "timeoutMessage": defaultToConfig2, + "withCredentials": defaultToConfig2, + "adapter": defaultToConfig2, + "responseType": defaultToConfig2, + "xsrfCookieName": defaultToConfig2, + "xsrfHeaderName": defaultToConfig2, + "onUploadProgress": defaultToConfig2, + "onDownloadProgress": defaultToConfig2, + "decompress": defaultToConfig2, + "maxContentLength": defaultToConfig2, + "maxBodyLength": defaultToConfig2, + "transport": defaultToConfig2, + "httpAgent": defaultToConfig2, + "httpsAgent": defaultToConfig2, + "cancelToken": defaultToConfig2, + "socketPath": defaultToConfig2, + "responseEncoding": defaultToConfig2, + "validateStatus": mergeDirectKeys + }; + utils$3.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { + var merge2 = mergeMap[prop] || mergeDeepProperties; + var configValue = merge2(prop); + utils$3.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue); + }); + return config; +}; +var data = { + "version": "0.25.0" +}; +var VERSION = data.version; +var validators$1 = {}; +["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i) { + validators$1[type] = function validator2(thing) { + return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type; + }; +}); +var deprecatedWarnings = {}; +validators$1.transitional = function transitional(validator2, version, message) { + function formatMessage(opt, desc) { + return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); + } + return function(value, opt, opts) { + if (validator2 === false) { + throw new Error(formatMessage(opt, " has been removed" + (version ? " in " + version : ""))); + } + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + console.warn(formatMessage(opt, " has been deprecated since v" + version + " and will be removed in the near future")); + } + return validator2 ? validator2(value, opt, opts) : true; + }; +}; +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== "object") { + throw new TypeError("options must be an object"); + } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator2 = schema[opt]; + if (validator2) { + var value = options[opt]; + var result = value === void 0 || validator2(value, opt, options); + if (result !== true) { + throw new TypeError("option " + opt + " must be " + result); + } + continue; + } + if (allowUnknown !== true) { + throw Error("Unknown option " + opt); + } + } +} +var validator$1 = { + assertOptions, + validators: validators$1 +}; +var utils$2 = utils$e; +var buildURL = buildURL$2; +var InterceptorManager = InterceptorManager_1; +var dispatchRequest = dispatchRequest$1; +var mergeConfig$1 = mergeConfig$2; +var validator = validator$1; +var validators = validator.validators; +function Axios$1(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} +Axios$1.prototype.request = function request2(configOrUrl, config) { + if (typeof configOrUrl === "string") { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + if (!config.url) { + throw new Error("Provided config url is not valid"); + } + config = mergeConfig$1(this.defaults, config); + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = "get"; + } + var transitional2 = config.transitional; + if (transitional2 !== void 0) { + validator.assertOptions(transitional2, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) { + return; + } + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + var promise; + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, void 0]; + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + return promise; + } + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + return promise; +}; +Axios$1.prototype.getUri = function getUri(config) { + if (!config.url) { + throw new Error("Provided config url is not valid"); + } + config = mergeConfig$1(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ""); +}; +utils$2.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { + Axios$1.prototype[method] = function(url, config) { + return this.request(mergeConfig$1(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); +utils$2.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { + Axios$1.prototype[method] = function(url, data2, config) { + return this.request(mergeConfig$1(config || {}, { + method, + url, + data: data2 + })); + }; +}); +var Axios_1 = Axios$1; +var Cancel = Cancel_1; +function CancelToken(executor) { + if (typeof executor !== "function") { + throw new TypeError("executor must be a function."); + } + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + var token = this; + this.promise.then(function(cancel) { + if (!token._listeners) + return; + var i; + var l = token._listeners.length; + for (i = 0; i < l; i++) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + this.promise.then = function(onfulfilled) { + var _resolve; + var promise = new Promise(function(resolve) { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + return promise; + }; + executor(function cancel(message) { + if (token.reason) { + return; + } + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); +} +CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } +}; +CancelToken.prototype.subscribe = function subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } +}; +CancelToken.prototype.unsubscribe = function unsubscribe(listener) { + if (!this._listeners) { + return; + } + var index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } +}; +CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; +}; +var CancelToken_1 = CancelToken; +var spread = function spread2(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; +var utils$1 = utils$e; +var isAxiosError = function isAxiosError2(payload) { + return utils$1.isObject(payload) && payload.isAxiosError === true; +}; +var utils = utils$e; +var bind = bind$2; +var Axios = Axios_1; +var mergeConfig = mergeConfig$2; +var defaults = defaults_1; +function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + utils.extend(instance, Axios.prototype, context); + utils.extend(instance, context); + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + return instance; +} +var axios$1 = createInstance(defaults); +axios$1.Axios = Axios; +axios$1.Cancel = Cancel_1; +axios$1.CancelToken = CancelToken_1; +axios$1.isCancel = isCancel$1; +axios$1.VERSION = data.version; +axios$1.all = function all(promises) { + return Promise.all(promises); +}; +axios$1.spread = spread; +axios$1.isAxiosError = isAxiosError; +axios$2.exports = axios$1; +axios$2.exports.default = axios$1; +var axios = axios$2.exports; +const service = axios.create({ + withCredentials: true, + timeout: 7e3 +}); +const requestHandler = function(config) { + return config; +}; +const responseHandler = function(response) { + return response; +}; +service.interceptors.request.use(requestHandler); +service.interceptors.response.use(responseHandler); +var request = { + install(app2) { + app2.provide("request", service); + } +}; +var App_vue_vue_type_style_index_0_lang = ""; +const _sfc_main = Vue.defineComponent({ + name: "App", + setup() { + var _a; + const app2 = Vue.inject("app"); + const pageConfig = Vue.reactive(((_a = app2 == null ? void 0 : app2.page) == null ? void 0 : _a.data) || {}); + return { + pageConfig + }; + } +}); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_magic_ui_page = Vue.resolveComponent("magic-ui-page"); + return Vue.openBlock(), Vue.createBlock(_component_magic_ui_page, { config: _ctx.pageConfig }, null, 8, ["config"]); +} +var AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); +const magicApp = Vue.createApp(AppComponent); +magicApp.use(request); +Object.values(entry.components).forEach((component) => { + magicApp.component(component.name, component); +}); +Object.values(entry.plugins).forEach((plugin) => { + magicApp.use(plugin); +}); +const app = new App({ + config: ((getUrlParam("localPreview") ? getLocalConfig() : window.magicUiConfig) || [])[0] || {}, + curPage: getUrlParam("page") +}); +magicApp.config.globalProperties.app = app; +magicApp.provide("app", app); +magicApp.mount("#app"); +//# sourceMappingURL=page.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/page.js.map b/magic-admin/web/public/runtime/vue3/assets/page.js.map new file mode 100644 index 00000000..5962bf99 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/page.js.map @@ -0,0 +1 @@ +{"version":3,"file":"page.js","sources":["../../src/utils/index.ts","../../../../node_modules/axios/lib/helpers/bind.js","../../../../node_modules/axios/lib/utils.js","../../../../node_modules/axios/lib/helpers/buildURL.js","../../../../node_modules/axios/lib/core/InterceptorManager.js","../../../../node_modules/axios/lib/helpers/normalizeHeaderName.js","../../../../node_modules/axios/lib/core/enhanceError.js","../../../../node_modules/axios/lib/core/createError.js","../../../../node_modules/axios/lib/core/settle.js","../../../../node_modules/axios/lib/helpers/cookies.js","../../../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../node_modules/axios/lib/helpers/combineURLs.js","../../../../node_modules/axios/lib/core/buildFullPath.js","../../../../node_modules/axios/lib/helpers/parseHeaders.js","../../../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../node_modules/axios/lib/cancel/Cancel.js","../../../../node_modules/axios/lib/adapters/xhr.js","../../../../node_modules/axios/lib/defaults.js","../../../../node_modules/axios/lib/core/transformData.js","../../../../node_modules/axios/lib/cancel/isCancel.js","../../../../node_modules/axios/lib/core/dispatchRequest.js","../../../../node_modules/axios/lib/core/mergeConfig.js","../../../../node_modules/axios/lib/env/data.js","../../../../node_modules/axios/lib/helpers/validator.js","../../../../node_modules/axios/lib/core/Axios.js","../../../../node_modules/axios/lib/cancel/CancelToken.js","../../../../node_modules/axios/lib/helpers/spread.js","../../../../node_modules/axios/lib/helpers/isAxiosError.js","../../../../node_modules/axios/lib/axios.js","../../../../node_modules/axios/index.js","../../src/utils/request.ts","../../src/page/App.vue","../../src/page/main.ts"],"sourcesContent":["/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { MApp } from '@tmagic/schema';\n\nexport const getLocalConfig = (): MApp[] => {\n const configStr = localStorage.getItem('magicUiConfig');\n if (!configStr) return [];\n try {\n // eslint-disable-next-line no-eval\n return [eval(`(${configStr})`)];\n } catch (err) {\n return [];\n }\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","module.exports = {\n \"version\": \"0.25.0\"\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n if (!config.url) {\n throw new Error('Provided config url is not valid');\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n if (!config.url) {\n throw new Error('Provided config url is not valid');\n }\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { App } from 'vue';\nimport axios, { AxiosResponse } from 'axios';\n\nconst service = axios.create({\n withCredentials: true,\n timeout: 7000,\n});\n\nconst requestHandler = function (config: Record) {\n return config;\n};\n\nconst responseHandler = function (response: AxiosResponse) {\n return response;\n};\n\nservice.interceptors.request.use(requestHandler);\nservice.interceptors.response.use(responseHandler);\n\nexport default {\n install(app: App) {\n app.provide('request', service);\n },\n};\n","\n\n\n\n\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createApp } from 'vue';\n\nimport Core from '@tmagic/core';\nimport { getUrlParam } from '@tmagic/utils';\n\nimport entry from '../comp-entry';\nimport { getLocalConfig } from '../utils';\nimport request from '../utils/request';\n\nimport AppComponent from './App.vue';\n\nconst magicApp = createApp(AppComponent);\n\nmagicApp.use(request);\n\nObject.values(entry.components).forEach((component: any) => {\n magicApp.component(component.name, component);\n});\n\nObject.values(entry.plugins).forEach((plugin: any) => {\n magicApp.use(plugin);\n});\n\nconst app = new Core({\n config: ((getUrlParam('localPreview') ? getLocalConfig() : window.magicUiConfig) || [])[0] || {},\n curPage: getUrlParam('page'),\n});\n\nmagicApp.config.globalProperties.app = app;\nmagicApp.provide('app', app);\n\nmagicApp.mount('#app');\n"],"names":["bind","require$$0","utils","buildURL","InterceptorManager","normalizeHeaderName","enhanceError","createError","settle","cookies","isAbsoluteURL","combineURLs","require$$1","buildFullPath","parseHeaders","isURLSameOrigin","Cancel","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","defaults","require$$8","require$$9","transformData","isCancel","dispatchRequest","mergeConfig","validators","validator","Axios","axios","require$$10","axiosModule","axios_1","Core"],"mappings":"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"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/playground.830d3c1b.css b/magic-admin/web/public/runtime/vue3/assets/playground.830d3c1b.css new file mode 100644 index 00000000..9c91e621 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/playground.830d3c1b.css @@ -0,0 +1,30 @@ + + html{-ms-overflow-style: none; overflow: -moz-scrollbars-none;} + html,body {height: 100%; margin: 0; padding: 0} + body { + height: fit-content; + min-height: 100%; + } + html::-webkit-scrollbar, .body::-webkit-scrollbar { width: 0 !important } + .magic-ui-page { + overflow: hidden; + } + html, +body, +#app { + width: 100%; + height: 100%; +} +#app { + position: relative; + overflow: auto; +} +#app::-webkit-scrollbar { + width: 0; +} +.magic-ui-container { + background-color: rgba(136, 136, 136, 0.5); +} +.action-area { + background-color: rgba(51, 153, 255, 0.5) !important; +} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/playground.js b/magic-admin/web/public/runtime/vue3/assets/playground.js new file mode 100644 index 00000000..23b25ead --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/playground.js @@ -0,0 +1,151 @@ +import { A as App$1 } from "./resetcss.e39ac995.js"; +import { a as getNodePath, _ as _export_sfc } from "./plugin-vue_export-helper.adee6e2f.js"; +var playground_html_htmlProxy_index_0 = ""; +const scriptRel = "modulepreload"; +const seen = {}; +const base = "/tmagic-editor/playground/runtime/vue3/"; +const __vitePreload = function preload(baseModule, deps) { + if (!deps || deps.length === 0) { + return baseModule(); + } + return Promise.all(deps.map((dep) => { + dep = `${base}${dep}`; + if (dep in seen) + return; + seen[dep] = true; + const isCss = dep.endsWith(".css"); + const cssSelector = isCss ? '[rel="stylesheet"]' : ""; + if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) { + return; + } + const link = document.createElement("link"); + link.rel = isCss ? "stylesheet" : scriptRel; + if (!isCss) { + link.as = "script"; + link.crossOrigin = ""; + } + link.href = dep; + document.head.appendChild(link); + if (isCss) { + return new Promise((res, rej) => { + link.addEventListener("load", res); + link.addEventListener("error", () => rej(new Error(`Unable to preload CSS for ${dep}`))); + }); + } + })).then(() => baseModule()); +}; +var App_vue_vue_type_style_index_0_lang = ""; +const _sfc_main = Vue.defineComponent({ + setup() { + const root = Vue.ref(); + const curPageId = Vue.ref(); + const selectedId = Vue.ref(); + const pageConfig = Vue.computed(() => { + var _a, _b, _c, _d; + return ((_b = (_a = root.value) == null ? void 0 : _a.items) == null ? void 0 : _b.find((item) => item.id === curPageId.value)) || ((_d = (_c = root.value) == null ? void 0 : _c.items) == null ? void 0 : _d[0]); + }); + const app = new App$1({ + config: root.value, + platform: "editor" + }); + Vue.provide("app", app); + Vue.watch(pageConfig, async () => { + await Vue.nextTick(); + const page = document.querySelector(".magic-ui-page"); + page && window.magic.onPageElUpdate(page); + }); + Vue.onMounted(() => { + var _a; + (_a = window.magic) == null ? void 0 : _a.onRuntimeReady({ + updateRootConfig(config) { + console.log("update config", config); + root.value = config; + app == null ? void 0 : app.setConfig(config, curPageId.value); + }, + updatePageId(id) { + console.log("update page id", id); + curPageId.value = id; + app == null ? void 0 : app.setPage(id); + }, + getSnapElements() { + return Array.from(document.querySelectorAll("[class*=magic-ui][id]")); + }, + select(id) { + console.log("select config", id); + selectedId.value = id; + const el = document.getElementById(`${id}`); + if (el) + return el; + return Vue.nextTick().then(() => document.getElementById(`${id}`)); + }, + add({ config }) { + var _a2; + console.log("add config", config); + if (!root.value) + throw new Error("error"); + if (!selectedId.value) + throw new Error("error"); + const path = getNodePath(selectedId.value, [root.value]); + const node = path.pop(); + const parent = (node == null ? void 0 : node.items) ? node : path.pop(); + if (!parent) + throw new Error("\u672A\u627E\u5230\u7236\u8282\u70B9"); + (_a2 = parent.items) == null ? void 0 : _a2.push(config); + }, + update({ config }) { + var _a2; + console.log("update config", config); + if (!root.value) + throw new Error("error"); + const path = getNodePath(config.id, [root.value]); + const node = path.pop(); + const parent = path.pop(); + if (!node) + throw new Error("\u672A\u627E\u5230\u76EE\u6807\u8282\u70B9"); + if (!parent) + throw new Error("\u672A\u627E\u5230\u7236\u8282\u70B9"); + const index = (_a2 = parent.items) == null ? void 0 : _a2.findIndex((child) => child.id === node.id); + parent.items.splice(index, 1, Vue.reactive(config)); + }, + remove({ id }) { + var _a2; + if (!root.value) + throw new Error("error"); + const path = getNodePath(id, [root.value]); + const node = path.pop(); + if (!node) + throw new Error("\u672A\u627E\u5230\u76EE\u6807\u5143\u7D20"); + const parent = path.pop(); + if (!parent) + throw new Error("\u672A\u627E\u5230\u7236\u5143\u7D20"); + const index = (_a2 = parent.items) == null ? void 0 : _a2.findIndex((child) => child.id === node.id); + parent.items.splice(index, 1); + } + }); + }); + return { + pageConfig + }; + } +}); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_magic_ui_page = Vue.resolveComponent("magic-ui-page"); + return _ctx.pageConfig ? (Vue.openBlock(), Vue.createBlock(_component_magic_ui_page, { + key: 0, + config: _ctx.pageConfig + }, null, 8, ["config"])) : Vue.createCommentVNode("", true); +} +var App = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); +const componentUrl = "/tmagic-editor/playground/runtime/vue3/assets/components.js"; +__vitePreload(() => import(componentUrl), true ? [] : void 0).then(() => { + const magicApp = Vue.createApp(App); + const { components, plugins } = window.magicPresetComponents; + Object.values(components).forEach((component) => { + magicApp.component(component.name, component); + }); + Object.values(plugins).forEach((plugin) => { + magicApp.use(plugin); + }); + magicApp.mount("#app"); +}); +//# sourceMappingURL=playground.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/playground.js.map b/magic-admin/web/public/runtime/vue3/assets/playground.js.map new file mode 100644 index 00000000..523d3786 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/playground.js.map @@ -0,0 +1 @@ +{"version":3,"file":"playground.js","sources":["../../vite/preload-helper","../../src/playground/App.vue","../../src/playground/main.ts"],"sourcesContent":["const scriptRel = 'modulepreload';const seen = {};const base = '/tmagic-editor/playground/runtime/vue3/';export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps || deps.length === 0) {\n return baseModule();\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n dep = `${base}${dep}`;\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', () => rej(new Error(`Unable to preload CSS for ${dep}`)));\n });\n }\n })).then(() => baseModule());\n}","\n\n\n\n\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createApp } from 'vue';\n\nimport App from './App.vue';\n\nconst componentUrl = '/tmagic-editor/playground/runtime/vue3/assets/components.js';\n\nimport(componentUrl).then(() => {\n const magicApp = createApp(App);\n const { components, plugins } = window.magicPresetComponents;\n\n Object.values(components).forEach((component: any) => {\n magicApp.component(component.name, component);\n });\n\n Object.values(plugins).forEach((plugin: any) => {\n magicApp.use(plugin);\n });\n\n magicApp.mount('#app');\n});\n"],"names":["Core"],"mappings":";;;AAAA,MAAM,YAAY;AAAgB,MAAM,OAAO,CAAE;AAAC,MAAM,OAAO;AAAiD,MAAM,gBAAgB,iBAAiB,YAAY,MAAM;AAErK,MAAI,AAAuB,CAAC,QAAQ,KAAK,WAAW,GAAG;AACnD,WAAO,WAAU;AAAA,EACpB;AACD,SAAO,QAAQ,IAAI,KAAK,IAAI,CAAC,QAAQ;AAEjC,UAAM,GAAG,OAAO;AAEhB,QAAI,OAAO;AACP;AAEJ,SAAK,OAAO;AACZ,UAAM,QAAQ,IAAI,SAAS,MAAM;AACjC,UAAM,cAAc,QAAQ,uBAAuB;AAEnD,QAAI,SAAS,cAAc,cAAc,QAAQ,aAAa,GAAG;AAC7D;AAAA,IACH;AAED,UAAM,OAAO,SAAS,cAAc,MAAM;AAE1C,SAAK,MAAM,QAAQ,eAAe;AAClC,QAAI,CAAC,OAAO;AACR,WAAK,KAAK;AACV,WAAK,cAAc;AAAA,IACtB;AACD,SAAK,OAAO;AAEZ,aAAS,KAAK,YAAY,IAAI;AAC9B,QAAI,OAAO;AACP,aAAO,IAAI,QAAQ,CAAC,KAAK,QAAQ;AAC7B,aAAK,iBAAiB,QAAQ,GAAG;AACjC,aAAK,iBAAiB,SAAS,MAAM,IAAI,IAAI,MAAM,6BAA6B,KAAK,CAAC,CAAC;AAAA,MACvG,CAAa;AAAA,IACJ;AAAA,EACJ,CAAA,CAAC,EAAE,KAAK,MAAM,WAAY,CAAA;AAC/B;;ACnBA,MAAA,YAAkB,IAAa,gBAAA;AAAA,EAAA,QAAA;AAE3B,UAAA,OAAa,IAAU;AACvB,UAAA,YAAkB,IAAQ;AAC1B,UAAA,aAAmB,IAAQ;AAE3B,UAAA,aAAmB,IACjB,SAAA,MAAA;;AAAA,+BAAA,UAAA,mBAAA,UAAA,mBAAA,KAAA,CAAA,SAAA,KAAA,OAAA,UAAA,WAAA,kBAAA,UAAA,mBAAA,UAAA,mBAAA;AAAA,KAAA;AAGF,UAAA,MAAA,IAAAA,MAAA;AAAA,MAAqB,QAAA,KAAA;AAAA,MACN,UAAA;AAAA,IACH,CAAA;AAGZ,QAAA,QAAA,OAAA,GAAA;AAEA,QAAA,MAAA,YAAA,YAAA;AACE,YAAM,IAAS;AACf,YAAA,OAAA,SAAA,cAAA,gBAAA;AACA,cAAA,OAAA,MAAA,eAAA,IAAA;AAAA,IAAwC,CAAA;AAG1C,QAAA,UAAA,MAAA;;AACE,mBAAA,UAAA,mBAAA,eAAA;AAAA,QAA6B,iBAAA,QAAA;AAEzB,kBAAA,IAAA,iBAAA,MAAA;AACA,eAAA,QAAA;AACA,qCAAA,UAAA,QAAA,UAAA;AAAA,QAAsC;AAAA,QACxC,aAAA,IAAA;AAGE,kBAAA,IAAA,kBAAA,EAAA;AACA,oBAAA,QAAA;AACA,qCAAA,QAAA;AAAA,QAAe;AAAA,QACjB,kBAAA;AAGE,iBAAA,MAAA,KAAA,SAAA,iBAAA,uBAAA,CAAA;AAAA,QAAiF;AAAA,QACnF,OAAA,IAAA;AAGE,kBAAA,IAAA,iBAAA,EAAA;AACA,qBAAA,QAAA;AACA,gBAAA,KAAA,SAAA,eAAA,GAAA,IAAA;AACA,cAAA;AAAQ,mBAAA;AAER,iBAAO,IAAA,WAAA,KAAA,MAAA,SAAA,eAAA,GAAA,IAAA,CAAA;AAAA,QAAqE;AAAA,QAC9E,IAAA,EAAA,UAAA;;AAGE,kBAAA,IAAA,cAAA,MAAA;AACA,cAAA,CAAA,KAAA;AAAiB,kBAAA,IAAA,MAAA,OAAA;AACjB,cAAA,CAAA,WAAA;AAAuB,kBAAA,IAAA,MAAA,OAAA;AACvB,gBAAA,OAAA,YAAA,WAAA,OAAA,CAAA,KAAA,KAAA,CAAA;AACA,gBAAA,OAAA,KAAA;AACA,gBAAA,SAAA,8BAAA,SAAA,OAAA,KAAA;AACA,cAAA,CAAA;AAAa,kBAAA,IAAA,MAAA,sCAAA;AACb,wBAAA,UAAA,oBAAA,KAAA;AAAA,QAAyB;AAAA,QAC3B,OAAA,EAAA,UAAA;;AAGE,kBAAA,IAAA,iBAAA,MAAA;AACA,cAAA,CAAA,KAAA;AAAiB,kBAAA,IAAA,MAAA,OAAA;AACjB,gBAAA,OAAA,YAAA,OAAA,IAAA,CAAA,KAAA,KAAA,CAAA;AACA,gBAAA,OAAA,KAAA;AACA,gBAAA,SAAA,KAAA;AACA,cAAA,CAAA;AAAW,kBAAA,IAAA,MAAA,4CAAA;AACX,cAAA,CAAA;AAAa,kBAAA,IAAA,MAAA,sCAAA;AACb,gBAAA,QAAA,cAAA,UAAA,oBAAA,UAAA,CAAA,UAAA,MAAA,OAAA,KAAA;AACA,iBAAA,MAAA,OAAA,OAAA,GAA8B,IAAA,SAAA,MAAA,CAAA;AAAA,QAAgB;AAAA,QAChD,OAAA,EAAA,MAAA;;AAGE,cAAA,CAAA,KAAA;AAAiB,kBAAA,IAAA,MAAA,OAAA;AACjB,gBAAA,OAAA,YAAA,IAAA,CAAA,KAAA,KAAA,CAAA;AACA,gBAAA,OAAA,KAAA;AACA,cAAA,CAAA;AAAW,kBAAA,IAAA,MAAA,4CAAA;AACX,gBAAA,SAAA,KAAA;AACA,cAAA,CAAA;AAAa,kBAAA,IAAA,MAAA,sCAAA;AACb,gBAAA,QAAA,cAAA,UAAA,oBAAA,UAAA,CAAA,UAAA,MAAA,OAAA,KAAA;AACA,iBAAA,MAAA,OAAA,OAAA,CAAA;AAAA,QAA4B;AAAA,MAC9B;AAAA,IACD,CAAA;AAGH,WAAA;AAAA,MAAO;AAAA,IACL;AAAA,EACF;AAEJ,CAAA;;;;IA3GoC,KAAA;AAAA,IAAA,QAAA,KAAA;AAAA;;;ACqBpC,MAAA,eAAA;AAEA,cAAA,MAAA,OAAA,eAAA,OAAA,qBAAA,MAAA,EAAA,KAAA,MAAA;AACE,QAAA,WAAiB;AACjB,QAAA,EAAA,YAAA,YAAA,OAAA;AAEA,SAAA,OAAA,UAAA,EAAA,QAAA,CAAA,cAAA;AACE,aAAA,UAAA,UAAA,MAAA,SAAA;AAAA,EAA4C,CAAA;AAG9C,SAAA,OAAA,OAAA,EAAA,QAAA,CAAA,WAAA;AACE,aAAA,IAAA,MAAA;AAAA,EAAmB,CAAA;AAGrB,WAAA,MAAA,MAAA;AACF,CAAA;"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js b/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js new file mode 100644 index 00000000..a1804db7 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js @@ -0,0 +1,3743 @@ +//! moment.js +//! version : 2.29.2 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +var hookCallback; +function hooks() { + return hookCallback.apply(null, arguments); +} +function setHookCallback(callback) { + hookCallback = callback; +} +function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === "[object Array]"; +} +function isObject(input) { + return input != null && Object.prototype.toString.call(input) === "[object Object]"; +} +function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); +} +function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return Object.getOwnPropertyNames(obj).length === 0; + } else { + var k; + for (k in obj) { + if (hasOwnProp(obj, k)) { + return false; + } + } + return true; + } +} +function isUndefined(input) { + return input === void 0; +} +function isNumber(input) { + return typeof input === "number" || Object.prototype.toString.call(input) === "[object Number]"; +} +function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === "[object Date]"; +} +function map(arr, fn) { + var res = [], i, arrLen = arr.length; + for (i = 0; i < arrLen; ++i) { + res.push(fn(arr[i], i)); + } + return res; +} +function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + if (hasOwnProp(b, "toString")) { + a.toString = b.toString; + } + if (hasOwnProp(b, "valueOf")) { + a.valueOf = b.valueOf; + } + return a; +} +function createUTC(input, format2, locale2, strict) { + return createLocalOrUTC(input, format2, locale2, strict, true).utc(); +} +function defaultParsingFlags() { + return { + empty: false, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: false, + invalidEra: null, + invalidMonth: null, + invalidFormat: false, + userInvalidated: false, + iso: false, + parsedDateParts: [], + era: null, + meridiem: null, + rfc2822: false, + weekdayMismatch: false + }; +} +function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; +} +var some; +if (Array.prototype.some) { + some = Array.prototype.some; +} else { + some = function(fun) { + var t = Object(this), len = t.length >>> 0, i; + for (i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + return false; + }; +} +function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m), parsedParts = some.call(flags.parsedDateParts, function(i) { + return i != null; + }), isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts); + if (m._strict) { + isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === void 0; + } + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; +} +function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = true; + } + return m; +} +var momentProperties = hooks.momentProperties = [], updateInProgress = false; +function copyConfig(to2, from2) { + var i, prop, val, momentPropertiesLen = momentProperties.length; + if (!isUndefined(from2._isAMomentObject)) { + to2._isAMomentObject = from2._isAMomentObject; + } + if (!isUndefined(from2._i)) { + to2._i = from2._i; + } + if (!isUndefined(from2._f)) { + to2._f = from2._f; + } + if (!isUndefined(from2._l)) { + to2._l = from2._l; + } + if (!isUndefined(from2._strict)) { + to2._strict = from2._strict; + } + if (!isUndefined(from2._tzm)) { + to2._tzm = from2._tzm; + } + if (!isUndefined(from2._isUTC)) { + to2._isUTC = from2._isUTC; + } + if (!isUndefined(from2._offset)) { + to2._offset = from2._offset; + } + if (!isUndefined(from2._pf)) { + to2._pf = getParsingFlags(from2); + } + if (!isUndefined(from2._locale)) { + to2._locale = from2._locale; + } + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from2[prop]; + if (!isUndefined(val)) { + to2[prop] = val; + } + } + } + return to2; +} +function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } +} +function isMoment(obj) { + return obj instanceof Moment || obj != null && obj._isAMomentObject != null; +} +function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) { + console.warn("Deprecation warning: " + msg); + } +} +function deprecate(msg, fn) { + var firstTime = true; + return extend(function() { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = [], arg, i, key, argLen = arguments.length; + for (i = 0; i < argLen; i++) { + arg = ""; + if (typeof arguments[i] === "object") { + arg += "\n[" + i + "] "; + for (key in arguments[0]) { + if (hasOwnProp(arguments[0], key)) { + arg += key + ": " + arguments[0][key] + ", "; + } + } + arg = arg.slice(0, -2); + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + "\nArguments: " + Array.prototype.slice.call(args).join("") + "\n" + new Error().stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); +} +var deprecations = {}; +function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } +} +hooks.suppressDeprecationWarnings = false; +hooks.deprecationHandler = null; +function isFunction(input) { + return typeof Function !== "undefined" && input instanceof Function || Object.prototype.toString.call(input) === "[object Function]"; +} +function set(config) { + var prop, i; + for (i in config) { + if (hasOwnProp(config, i)) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this["_" + i] = prop; + } + } + } + this._config = config; + this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source); +} +function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) { + res[prop] = extend({}, res[prop]); + } + } + return res; +} +function Locale(config) { + if (config != null) { + this.set(config); + } +} +var keys; +if (Object.keys) { + keys = Object.keys; +} else { + keys = function(obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; +} +var defaultCalendar = { + sameDay: "[Today at] LT", + nextDay: "[Tomorrow at] LT", + nextWeek: "dddd [at] LT", + lastDay: "[Yesterday at] LT", + lastWeek: "[Last] dddd [at] LT", + sameElse: "L" +}; +function calendar(key, mom, now2) { + var output = this._calendar[key] || this._calendar["sameElse"]; + return isFunction(output) ? output.call(mom, now2) : output; +} +function zeroFill(number, targetLength, forceSign) { + var absNumber = "" + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign2 = number >= 0; + return (sign2 ? forceSign ? "+" : "" : "-") + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; +} +var formattingTokens = /(\[[^\[]*\])|(\\)?([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, localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, formatFunctions = {}, formatTokenFunctions = {}; +function addFormatToken(token2, padded, ordinal2, callback) { + var func = callback; + if (typeof callback === "string") { + func = function() { + return this[callback](); + }; + } + if (token2) { + formatTokenFunctions[token2] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function() { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal2) { + formatTokenFunctions[ordinal2] = function() { + return this.localeData().ordinal(func.apply(this, arguments), token2); + }; + } +} +function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ""); + } + return input.replace(/\\/g, ""); +} +function makeFormatFunction(format2) { + var array = format2.match(formattingTokens), i, length; + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + return function(mom) { + var output = "", i2; + for (i2 = 0; i2 < length; i2++) { + output += isFunction(array[i2]) ? array[i2].call(mom, format2) : array[i2]; + } + return output; + }; +} +function formatMoment(m, format2) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + format2 = expandFormat(format2, m.localeData()); + formatFunctions[format2] = formatFunctions[format2] || makeFormatFunction(format2); + return formatFunctions[format2](m); +} +function expandFormat(format2, locale2) { + var i = 5; + function replaceLongDateFormatTokens(input) { + return locale2.longDateFormat(input) || input; + } + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format2)) { + format2 = format2.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + return format2; +} +var defaultLongDateFormat = { + 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 longDateFormat(key) { + var format2 = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()]; + if (format2 || !formatUpper) { + return format2; + } + this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function(tok) { + if (tok === "MMMM" || tok === "MM" || tok === "DD" || tok === "dddd") { + return tok.slice(1); + } + return tok; + }).join(""); + return this._longDateFormat[key]; +} +var defaultInvalidDate = "Invalid date"; +function invalidDate() { + return this._invalidDate; +} +var defaultOrdinal = "%d", defaultDayOfMonthOrdinalParse = /\d{1,2}/; +function ordinal(number) { + return this._ordinal.replace("%d", number); +} +var defaultRelativeTime = { + 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 relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number); +} +function pastFuture(diff2, output) { + var format2 = this._relativeTime[diff2 > 0 ? "future" : "past"]; + return isFunction(format2) ? format2(output) : format2.replace(/%s/i, output); +} +var aliases = {}; +function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + "s"] = aliases[shorthand] = unit; +} +function normalizeUnits(units) { + return typeof units === "string" ? aliases[units] || aliases[units.toLowerCase()] : void 0; +} +function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, normalizedProp, prop; + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + return normalizedInput; +} +var priorities = {}; +function addUnitPriority(unit, priority) { + priorities[unit] = priority; +} +function getPrioritizedUnits(unitsObj) { + var units = [], u; + for (u in unitsObj) { + if (hasOwnProp(unitsObj, u)) { + units.push({ unit: u, priority: priorities[u] }); + } + } + units.sort(function(a, b) { + return a.priority - b.priority; + }); + return units; +} +function isLeapYear(year) { + return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; +} +function absFloor(number) { + if (number < 0) { + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } +} +function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, value = 0; + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + return value; +} +function makeGetSet(unit, keepTime) { + return function(value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; +} +function get(mom, unit) { + return mom.isValid() ? mom._d["get" + (mom._isUTC ? "UTC" : "") + unit]() : NaN; +} +function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === "FullYear" && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + value = toInt(value); + mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value, mom.month(), daysInMonth(value, mom.month())); + } else { + mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value); + } + } +} +function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; +} +function stringSet(units, value) { + if (typeof units === "object") { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units), i, prioritizedLen = prioritized.length; + for (i = 0; i < prioritizedLen; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; +} +var match1 = /\d/, match2 = /\d\d/, match3 = /\d{3}/, match4 = /\d{4}/, match6 = /[+-]?\d{6}/, match1to2 = /\d\d?/, match3to4 = /\d\d\d\d?/, match5to6 = /\d\d\d\d\d\d?/, match1to3 = /\d{1,3}/, match1to4 = /\d{1,4}/, match1to6 = /[+-]?\d{1,6}/, matchUnsigned = /\d+/, matchSigned = /[+-]?\d+/, matchOffset = /Z|[+-]\d\d:?\d\d/gi, matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, matchWord = /[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, regexes; +regexes = {}; +function addRegexToken(token2, regex, strictRegex) { + regexes[token2] = isFunction(regex) ? regex : function(isStrict, localeData2) { + return isStrict && strictRegex ? strictRegex : regex; + }; +} +function getParseRegexForToken(token2, config) { + if (!hasOwnProp(regexes, token2)) { + return new RegExp(unescapeFormat(token2)); + } + return regexes[token2](config._strict, config._locale); +} +function unescapeFormat(s) { + return regexEscape(s.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); +} +function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); +} +var tokens = {}; +function addParseToken(token2, callback) { + var i, func = callback, tokenLen; + if (typeof token2 === "string") { + token2 = [token2]; + } + if (isNumber(callback)) { + func = function(input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token2.length; + for (i = 0; i < tokenLen; i++) { + tokens[token2[i]] = func; + } +} +function addWeekParseToken(token2, callback) { + addParseToken(token2, function(input, array, config, token3) { + config._w = config._w || {}; + callback(input, config._w, config, token3); + }); +} +function addTimeToArrayFromToken(token2, input, config) { + if (input != null && hasOwnProp(tokens, token2)) { + tokens[token2](input, config._a, config, token2); + } +} +var YEAR = 0, MONTH = 1, DATE = 2, HOUR = 3, MINUTE = 4, SECOND = 5, MILLISECOND = 6, WEEK = 7, WEEKDAY = 8; +function mod(n, x) { + return (n % x + x) % x; +} +var indexOf; +if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; +} else { + indexOf = function(o) { + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; +} +function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2; +} +addFormatToken("M", ["MM", 2], "Mo", function() { + return this.month() + 1; +}); +addFormatToken("MMM", 0, 0, function(format2) { + return this.localeData().monthsShort(this, format2); +}); +addFormatToken("MMMM", 0, 0, function(format2) { + return this.localeData().months(this, format2); +}); +addUnitAlias("month", "M"); +addUnitPriority("month", 8); +addRegexToken("M", match1to2); +addRegexToken("MM", match1to2, match2); +addRegexToken("MMM", function(isStrict, locale2) { + return locale2.monthsShortRegex(isStrict); +}); +addRegexToken("MMMM", function(isStrict, locale2) { + return locale2.monthsRegex(isStrict); +}); +addParseToken(["M", "MM"], function(input, array) { + array[MONTH] = toInt(input) - 1; +}); +addParseToken(["MMM", "MMMM"], function(input, array, config, token2) { + var month = config._locale.monthsParse(input, token2, config._strict); + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } +}); +var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, defaultMonthsShortRegex = matchWord, defaultMonthsRegex = matchWord; +function localeMonths(m, format2) { + if (!m) { + return isArray(this._months) ? this._months : this._months["standalone"]; + } + return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format2) ? "format" : "standalone"][m.month()]; +} +function localeMonthsShort(m, format2) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort["standalone"]; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format2) ? "format" : "standalone"][m.month()]; +} +function handleStrictParse(monthName, format2, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2e3, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, "").toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, "").toLocaleLowerCase(); + } + } + if (strict) { + if (format2 === "MMM") { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format2 === "MMM") { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } +} +function localeMonthsParse(monthName, format2, strict) { + var i, mom, regex; + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format2, strict); + } + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + for (i = 0; i < 12; i++) { + mom = createUTC([2e3, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp("^" + this.months(mom, "").replace(".", "") + "$", "i"); + this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(mom, "").replace(".", "") + "$", "i"); + } + if (!strict && !this._monthsParse[i]) { + regex = "^" + this.months(mom, "") + "|^" + this.monthsShort(mom, ""); + this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i"); + } + if (strict && format2 === "MMMM" && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format2 === "MMM" && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } +} +function setMonth(mom, value) { + var dayOfMonth; + if (!mom.isValid()) { + return mom; + } + if (typeof value === "string") { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + if (!isNumber(value)) { + return mom; + } + } + } + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d["set" + (mom._isUTC ? "UTC" : "") + "Month"](value, dayOfMonth); + return mom; +} +function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, "Month"); + } +} +function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); +} +function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, "_monthsRegex")) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, "_monthsShortRegex")) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex; + } +} +function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, "_monthsRegex")) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, "_monthsRegex")) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex; + } +} +function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + var shortPieces = [], longPieces = [], mixedPieces = [], i, mom; + for (i = 0; i < 12; i++) { + mom = createUTC([2e3, i]); + shortPieces.push(this.monthsShort(mom, "")); + longPieces.push(this.months(mom, "")); + mixedPieces.push(this.months(mom, "")); + mixedPieces.push(this.monthsShort(mom, "")); + } + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + this._monthsRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i"); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp("^(" + longPieces.join("|") + ")", "i"); + this._monthsShortStrictRegex = new RegExp("^(" + shortPieces.join("|") + ")", "i"); +} +addFormatToken("Y", 0, 0, function() { + var y = this.year(); + return y <= 9999 ? zeroFill(y, 4) : "+" + y; +}); +addFormatToken(0, ["YY", 2], 0, function() { + return this.year() % 100; +}); +addFormatToken(0, ["YYYY", 4], 0, "year"); +addFormatToken(0, ["YYYYY", 5], 0, "year"); +addFormatToken(0, ["YYYYYY", 6, true], 0, "year"); +addUnitAlias("year", "y"); +addUnitPriority("year", 1); +addRegexToken("Y", matchSigned); +addRegexToken("YY", match1to2, match2); +addRegexToken("YYYY", match1to4, match4); +addRegexToken("YYYYY", match1to6, match6); +addRegexToken("YYYYYY", match1to6, match6); +addParseToken(["YYYYY", "YYYYYY"], YEAR); +addParseToken("YYYY", function(input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); +}); +addParseToken("YY", function(input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); +}); +addParseToken("Y", function(input, array) { + array[YEAR] = parseInt(input, 10); +}); +function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; +} +hooks.parseTwoDigitYear = function(input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2e3); +}; +var getSetYear = makeGetSet("FullYear", true); +function getIsLeapYear() { + return isLeapYear(this.year()); +} +function createDate(y, m, d, h, M, s, ms) { + var date; + if (y < 100 && y >= 0) { + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + return date; +} +function createUTCDate(y) { + var date, args; + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + return date; +} +function firstWeekOffset(year, dow, doy) { + var fwd = 7 + dow - doy, fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + return -fwdlw + fwd - 1; +} +function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, resYear, resDayOfYear; + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + return { + year: resYear, + dayOfYear: resDayOfYear + }; +} +function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, resWeek, resYear; + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + return { + week: resWeek, + year: resYear + }; +} +function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; +} +addFormatToken("w", ["ww", 2], "wo", "week"); +addFormatToken("W", ["WW", 2], "Wo", "isoWeek"); +addUnitAlias("week", "w"); +addUnitAlias("isoWeek", "W"); +addUnitPriority("week", 5); +addUnitPriority("isoWeek", 5); +addRegexToken("w", match1to2); +addRegexToken("ww", match1to2, match2); +addRegexToken("W", match1to2); +addRegexToken("WW", match1to2, match2); +addWeekParseToken(["w", "ww", "W", "WW"], function(input, week, config, token2) { + week[token2.substr(0, 1)] = toInt(input); +}); +function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; +} +var defaultLocaleWeek = { + dow: 0, + doy: 6 +}; +function localeFirstDayOfWeek() { + return this._week.dow; +} +function localeFirstDayOfYear() { + return this._week.doy; +} +function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, "d"); +} +function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, "d"); +} +addFormatToken("d", 0, "do", "day"); +addFormatToken("dd", 0, 0, function(format2) { + return this.localeData().weekdaysMin(this, format2); +}); +addFormatToken("ddd", 0, 0, function(format2) { + return this.localeData().weekdaysShort(this, format2); +}); +addFormatToken("dddd", 0, 0, function(format2) { + return this.localeData().weekdays(this, format2); +}); +addFormatToken("e", 0, 0, "weekday"); +addFormatToken("E", 0, 0, "isoWeekday"); +addUnitAlias("day", "d"); +addUnitAlias("weekday", "e"); +addUnitAlias("isoWeekday", "E"); +addUnitPriority("day", 11); +addUnitPriority("weekday", 11); +addUnitPriority("isoWeekday", 11); +addRegexToken("d", match1to2); +addRegexToken("e", match1to2); +addRegexToken("E", match1to2); +addRegexToken("dd", function(isStrict, locale2) { + return locale2.weekdaysMinRegex(isStrict); +}); +addRegexToken("ddd", function(isStrict, locale2) { + return locale2.weekdaysShortRegex(isStrict); +}); +addRegexToken("dddd", function(isStrict, locale2) { + return locale2.weekdaysRegex(isStrict); +}); +addWeekParseToken(["dd", "ddd", "dddd"], function(input, week, config, token2) { + var weekday = config._locale.weekdaysParse(input, token2, config._strict); + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } +}); +addWeekParseToken(["d", "e", "E"], function(input, week, config, token2) { + week[token2] = toInt(input); +}); +function parseWeekday(input, locale2) { + if (typeof input !== "string") { + return input; + } + if (!isNaN(input)) { + return parseInt(input, 10); + } + input = locale2.weekdaysParse(input); + if (typeof input === "number") { + return input; + } + return null; +} +function parseIsoWeekday(input, locale2) { + if (typeof input === "string") { + return locale2.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; +} +function shiftWeekdays(ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); +} +var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), defaultWeekdaysRegex = matchWord, defaultWeekdaysShortRegex = matchWord, defaultWeekdaysMinRegex = matchWord; +function localeWeekdays(m, format2) { + var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format2) ? "format" : "standalone"]; + return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays; +} +function localeWeekdaysShort(m) { + return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort; +} +function localeWeekdaysMin(m) { + return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin; +} +function handleStrictParse$1(weekdayName, format2, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + for (i = 0; i < 7; ++i) { + mom = createUTC([2e3, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, "").toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, "").toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, "").toLocaleLowerCase(); + } + } + if (strict) { + if (format2 === "dddd") { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format2 === "ddd") { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format2 === "dddd") { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format2 === "ddd") { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } +} +function localeWeekdaysParse(weekdayName, format2, strict) { + var i, mom, regex; + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format2, strict); + } + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + for (i = 0; i < 7; i++) { + mom = createUTC([2e3, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp("^" + this.weekdays(mom, "").replace(".", "\\.?") + "$", "i"); + this._shortWeekdaysParse[i] = new RegExp("^" + this.weekdaysShort(mom, "").replace(".", "\\.?") + "$", "i"); + this._minWeekdaysParse[i] = new RegExp("^" + this.weekdaysMin(mom, "").replace(".", "\\.?") + "$", "i"); + } + if (!this._weekdaysParse[i]) { + regex = "^" + this.weekdays(mom, "") + "|^" + this.weekdaysShort(mom, "") + "|^" + this.weekdaysMin(mom, ""); + this._weekdaysParse[i] = new RegExp(regex.replace(".", ""), "i"); + } + if (strict && format2 === "dddd" && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format2 === "ddd" && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format2 === "dd" && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } +} +function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, "d"); + } else { + return day; + } +} +function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, "d"); +} +function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } +} +function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysRegex")) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex; + } +} +function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysShortRegex")) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } +} +function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysMinRegex")) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } +} +function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + mom = createUTC([2e3, 1]).day(i); + minp = regexEscape(this.weekdaysMin(mom, "")); + shortp = regexEscape(this.weekdaysShort(mom, "")); + longp = regexEscape(this.weekdays(mom, "")); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + this._weekdaysRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i"); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + this._weekdaysStrictRegex = new RegExp("^(" + longPieces.join("|") + ")", "i"); + this._weekdaysShortStrictRegex = new RegExp("^(" + shortPieces.join("|") + ")", "i"); + this._weekdaysMinStrictRegex = new RegExp("^(" + minPieces.join("|") + ")", "i"); +} +function hFormat() { + return this.hours() % 12 || 12; +} +function kFormat() { + return this.hours() || 24; +} +addFormatToken("H", ["HH", 2], 0, "hour"); +addFormatToken("h", ["hh", 2], 0, hFormat); +addFormatToken("k", ["kk", 2], 0, kFormat); +addFormatToken("hmm", 0, 0, function() { + return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2); +}); +addFormatToken("hmmss", 0, 0, function() { + return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2); +}); +addFormatToken("Hmm", 0, 0, function() { + return "" + this.hours() + zeroFill(this.minutes(), 2); +}); +addFormatToken("Hmmss", 0, 0, function() { + return "" + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2); +}); +function meridiem(token2, lowercase) { + addFormatToken(token2, 0, 0, function() { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); +} +meridiem("a", true); +meridiem("A", false); +addUnitAlias("hour", "h"); +addUnitPriority("hour", 13); +function matchMeridiem(isStrict, locale2) { + return locale2._meridiemParse; +} +addRegexToken("a", matchMeridiem); +addRegexToken("A", matchMeridiem); +addRegexToken("H", match1to2); +addRegexToken("h", match1to2); +addRegexToken("k", match1to2); +addRegexToken("HH", match1to2, match2); +addRegexToken("hh", match1to2, match2); +addRegexToken("kk", match1to2, match2); +addRegexToken("hmm", match3to4); +addRegexToken("hmmss", match5to6); +addRegexToken("Hmm", match3to4); +addRegexToken("Hmmss", match5to6); +addParseToken(["H", "HH"], HOUR); +addParseToken(["k", "kk"], function(input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; +}); +addParseToken(["a", "A"], function(input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; +}); +addParseToken(["h", "hh"], function(input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; +}); +addParseToken("hmm", function(input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; +}); +addParseToken("hmmss", function(input, array, config) { + var pos1 = input.length - 4, pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; +}); +addParseToken("Hmm", function(input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); +}); +addParseToken("Hmmss", function(input, array, config) { + var pos1 = input.length - 4, pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); +}); +function localeIsPM(input) { + return (input + "").toLowerCase().charAt(0) === "p"; +} +var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, getSetHour = makeGetSet("Hours", true); +function localeMeridiem(hours2, minutes2, isLower) { + if (hours2 > 11) { + return isLower ? "pm" : "PM"; + } else { + return isLower ? "am" : "AM"; + } +} +var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + week: defaultLocaleWeek, + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + meridiemParse: defaultLocaleMeridiemParse +}; +var locales = {}, localeFamilies = {}, globalLocale; +function commonPrefix(arr1, arr2) { + var i, minl = Math.min(arr1.length, arr2.length); + for (i = 0; i < minl; i += 1) { + if (arr1[i] !== arr2[i]) { + return i; + } + } + return minl; +} +function normalizeLocale(key) { + return key ? key.toLowerCase().replace("_", "-") : key; +} +function chooseLocale(names) { + var i = 0, j, next, locale2, split; + while (i < names.length) { + split = normalizeLocale(names[i]).split("-"); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split("-") : null; + while (j > 0) { + locale2 = loadLocale(split.slice(0, j).join("-")); + if (locale2) { + return locale2; + } + if (next && next.length >= j && commonPrefix(split, next) >= j - 1) { + break; + } + j--; + } + i++; + } + return globalLocale; +} +function isLocaleNameSane(name) { + return name.match("^[^/\\\\]*$") != null; +} +function loadLocale(name) { + var oldLocale = null, aliasedRequire; + if (locales[name] === void 0 && typeof module !== "undefined" && module && module.exports && isLocaleNameSane(name)) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = require; + aliasedRequire("./locale/" + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + locales[name] = null; + } + } + return locales[name]; +} +function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + if (data) { + globalLocale = data; + } else { + if (typeof console !== "undefined" && console.warn) { + console.warn("Locale " + key + " not found. Did you forget to load it?"); + } + } + } + return globalLocale._abbr; +} +function defineLocale(name, config) { + if (config !== null) { + var locale2, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple("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."); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale2 = loadLocale(config.parentLocale); + if (locale2 != null) { + parentConfig = locale2._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name, + config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + if (localeFamilies[name]) { + localeFamilies[name].forEach(function(x) { + defineLocale(x.name, x.config); + }); + } + getSetGlobalLocale(name); + return locales[name]; + } else { + delete locales[name]; + return null; + } +} +function updateLocale(name, config) { + if (config != null) { + var locale2, tmpLocale, parentConfig = baseConfig; + if (locales[name] != null && locales[name].parentLocale != null) { + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + config.abbr = name; + } + locale2 = new Locale(config); + locale2.parentLocale = locales[name]; + locales[name] = locale2; + } + getSetGlobalLocale(name); + } else { + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + if (name === getSetGlobalLocale()) { + getSetGlobalLocale(name); + } + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; +} +function getLocale(key) { + var locale2; + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + if (!key) { + return globalLocale; + } + if (!isArray(key)) { + locale2 = loadLocale(key); + if (locale2) { + return locale2; + } + key = [key]; + } + return chooseLocale(key); +} +function listLocales() { + return keys(locales); +} +function checkOverflow(m) { + var overflow, a = m._a; + if (a && getParsingFlags(m).overflow === -2) { + overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1; + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + getParsingFlags(m).overflow = overflow; + } + return m; +} +var extendedIsoRegex = /^\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)?)?$/, basicIsoRegex = /^\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)?)?$/, tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, isoDates = [ + ["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/, false], + ["YYYY-DDD", /\d{4}-\d{3}/], + ["YYYY-MM", /\d{4}-\d\d/, false], + ["YYYYYYMMDD", /[+-]\d{10}/], + ["YYYYMMDD", /\d{8}/], + ["GGGG[W]WWE", /\d{4}W\d{3}/], + ["GGGG[W]WW", /\d{4}W\d{2}/, false], + ["YYYYDDD", /\d{7}/], + ["YYYYMM", /\d{6}/, false], + ["YYYY", /\d{4}/, false] +], isoTimes = [ + ["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/] +], aspNetJsonRegex = /^\/?Date\((-?\d+)/i, rfc2822 = /^(?:(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}))$/, obsOffsets = { + 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 configFromISO(config) { + var i, l, string = config._i, match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), allowTime, dateFormat, timeFormat, tzFormat, isoDatesLen = isoDates.length, isoTimesLen = isoTimes.length; + if (match) { + getParsingFlags(config).iso = true; + for (i = 0, l = isoDatesLen; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimesLen; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + timeFormat = (match[2] || " ") + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = "Z"; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || "") + (tzFormat || ""); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } +} +function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + return result; +} +function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2e3 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; +} +function preprocessRFC2822(s) { + return s.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, ""); +} +function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; +} +function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + return 0; + } else { + var hm = parseInt(numOffset, 10), m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } +} +function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)), parsedArray; + if (match) { + parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } +} +function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + if (config._strict) { + config._isValid = false; + } else { + hooks.createFromInputFallback(config); + } +} +hooks.createFromInputFallback = deprecate("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(config) { + config._d = new Date(config._i + (config._useUTC ? " UTC" : "")); +}); +function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; +} +function currentDateArray(config) { + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate() + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; +} +function configFromArray(config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + if (config._d) { + return; + } + currentDate = currentDateArray(config); + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + for (; i < 7; i++) { + config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i]; + } + if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + if (config._nextDay) { + config._a[HOUR] = 24; + } + if (config._w && typeof config._w.d !== "undefined" && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } +} +function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + curWeek = weekOfYear(createLocal(), dow, doy); + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + week = defaults(w.w, curWeek.week); + if (w.d != null) { + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } +} +hooks.ISO_8601 = function() { +}; +hooks.RFC_2822 = function() { +}; +function configFromStringAndFormat(config) { + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + var string = "" + config._i, i, parsedInput, tokens2, token2, skipped, stringLength = string.length, totalParsedInputLength = 0, era, tokenLen; + tokens2 = expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens2.length; + for (i = 0; i < tokenLen; i++) { + token2 = tokens2[i]; + parsedInput = (string.match(getParseRegexForToken(token2, config)) || [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + if (formatTokenFunctions[token2]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token2); + } + addTimeToArrayFromToken(token2, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token2); + } + } + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = void 0; + } + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + configFromArray(config); + checkOverflow(config); +} +function meridiemFixWrap(locale2, hour, meridiem2) { + var isPm; + if (meridiem2 == null) { + return hour; + } + if (locale2.meridiemHour != null) { + return locale2.meridiemHour(hour, meridiem2); + } else if (locale2.isPM != null) { + isPm = locale2.isPM(meridiem2); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + return hour; + } +} +function configFromStringAndArray(config) { + var tempConfig, bestMoment, scoreToBeat, i, currentScore, validFormatFound, bestFormatIsValid = false, configfLen = config._f.length; + if (configfLen === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + for (i = 0; i < configfLen; i++) { + currentScore = 0; + validFormatFound = false; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + if (isValid(tempConfig)) { + validFormatFound = true; + } + currentScore += getParsingFlags(tempConfig).charsLeftOver; + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + getParsingFlags(tempConfig).score = currentScore; + if (!bestFormatIsValid) { + if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + if (validFormatFound) { + bestFormatIsValid = true; + } + } + } else { + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + } + extend(config, bestMoment || tempConfig); +} +function configFromObject(config) { + if (config._d) { + return; + } + var i = normalizeObjectUnits(config._i), dayOrDate = i.day === void 0 ? i.date : i.day; + config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function(obj) { + return obj && parseInt(obj, 10); + }); + configFromArray(config); +} +function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + res.add(1, "d"); + res._nextDay = void 0; + } + return res; +} +function prepareConfig(config) { + var input = config._i, format2 = config._f; + config._locale = config._locale || getLocale(config._l); + if (input === null || format2 === void 0 && input === "") { + return createInvalid({ nullInput: true }); + } + if (typeof input === "string") { + config._i = input = config._locale.preparse(input); + } + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format2)) { + configFromStringAndArray(config); + } else if (format2) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + if (!isValid(config)) { + config._d = null; + } + return config; +} +function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === "string") { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function(obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } +} +function createLocalOrUTC(input, format2, locale2, strict, isUTC) { + var c = {}; + if (format2 === true || format2 === false) { + strict = format2; + format2 = void 0; + } + if (locale2 === true || locale2 === false) { + strict = locale2; + locale2 = void 0; + } + if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) { + input = void 0; + } + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale2; + c._i = input; + c._f = format2; + c._strict = strict; + return createFromConfig(c); +} +function createLocal(input, format2, locale2, strict) { + return createLocalOrUTC(input, format2, locale2, strict, false); +} +var prototypeMin = deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } +}), prototypeMax = deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } +}); +function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; +} +function min() { + var args = [].slice.call(arguments, 0); + return pickBy("isBefore", args); +} +function max() { + var args = [].slice.call(arguments, 0); + return pickBy("isAfter", args); +} +var now = function() { + return Date.now ? Date.now() : +new Date(); +}; +var ordering = [ + "year", + "quarter", + "month", + "week", + "day", + "hour", + "minute", + "second", + "millisecond" +]; +function isDurationValid(m) { + var key, unitHasDecimal = false, i, orderLen = ordering.length; + for (key in m) { + if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + for (i = 0; i < orderLen; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + return true; +} +function isValid$1() { + return this._isValid; +} +function createInvalid$1() { + return createDuration(NaN); +} +function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), years2 = normalizedInput.year || 0, quarters = normalizedInput.quarter || 0, months2 = normalizedInput.month || 0, weeks2 = normalizedInput.week || normalizedInput.isoWeek || 0, days2 = normalizedInput.day || 0, hours2 = normalizedInput.hour || 0, minutes2 = normalizedInput.minute || 0, seconds2 = normalizedInput.second || 0, milliseconds2 = normalizedInput.millisecond || 0; + this._isValid = isDurationValid(normalizedInput); + this._milliseconds = +milliseconds2 + seconds2 * 1e3 + minutes2 * 6e4 + hours2 * 1e3 * 60 * 60; + this._days = +days2 + weeks2 * 7; + this._months = +months2 + quarters * 3 + years2 * 12; + this._data = {}; + this._locale = getLocale(); + this._bubble(); +} +function isDuration(obj) { + return obj instanceof Duration; +} +function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } +} +function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length), diffs = 0, i; + for (i = 0; i < len; i++) { + if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) { + diffs++; + } + } + return diffs + lengthDiff; +} +function offset(token2, separator) { + addFormatToken(token2, 0, 0, function() { + var offset2 = this.utcOffset(), sign2 = "+"; + if (offset2 < 0) { + offset2 = -offset2; + sign2 = "-"; + } + return sign2 + zeroFill(~~(offset2 / 60), 2) + separator + zeroFill(~~offset2 % 60, 2); + }); +} +offset("Z", ":"); +offset("ZZ", ""); +addRegexToken("Z", matchShortOffset); +addRegexToken("ZZ", matchShortOffset); +addParseToken(["Z", "ZZ"], function(input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); +}); +var chunkOffset = /([\+\-]|\d\d)/gi; +function offsetFromString(matcher, string) { + var matches = (string || "").match(matcher), chunk, parts, minutes2; + if (matches === null) { + return null; + } + chunk = matches[matches.length - 1] || []; + parts = (chunk + "").match(chunkOffset) || ["-", 0, 0]; + minutes2 = +(parts[1] * 60) + toInt(parts[2]); + return minutes2 === 0 ? 0 : parts[0] === "+" ? minutes2 : -minutes2; +} +function cloneWithOffset(input, model) { + var res, diff2; + if (model._isUTC) { + res = model.clone(); + diff2 = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + res._d.setTime(res._d.valueOf() + diff2); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } +} +function getDateOffset(m) { + return -Math.round(m._d.getTimezoneOffset()); +} +hooks.updateOffset = function() { +}; +function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset2 = this._offset || 0, localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === "string") { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, "m"); + } + if (offset2 !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset2, "m"), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset2 : getDateOffset(this); + } +} +function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== "string") { + input = -input; + } + this.utcOffset(input, keepLocalTime); + return this; + } else { + return -this.utcOffset(); + } +} +function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); +} +function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + if (keepLocalTime) { + this.subtract(getDateOffset(this), "m"); + } + } + return this; +} +function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === "string") { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, true); + } + } + return this; +} +function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + return (this.utcOffset() - input) % 60 === 0; +} +function isDaylightSavingTime() { + return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset(); +} +function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + var c = {}, other; + copyConfig(c, this); + c = prepareConfig(c); + if (c._a) { + other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + return this._isDSTShifted; +} +function isLocal() { + return this.isValid() ? !this._isUTC : false; +} +function isUtcOffset() { + return this.isValid() ? this._isUTC : false; +} +function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : false; +} +var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; +function createDuration(input, key) { + var duration = input, match = null, sign2, ret, diffRes; + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (isNumber(input) || !isNaN(+input)) { + duration = {}; + if (key) { + duration[key] = +input; + } else { + duration.milliseconds = +input; + } + } else if (match = aspNetRegex.exec(input)) { + sign2 = match[1] === "-" ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign2, + h: toInt(match[HOUR]) * sign2, + m: toInt(match[MINUTE]) * sign2, + s: toInt(match[SECOND]) * sign2, + ms: toInt(absRound(match[MILLISECOND] * 1e3)) * sign2 + }; + } else if (match = isoRegex.exec(input)) { + sign2 = match[1] === "-" ? -1 : 1; + duration = { + y: parseIso(match[2], sign2), + M: parseIso(match[3], sign2), + w: parseIso(match[4], sign2), + d: parseIso(match[5], sign2), + h: parseIso(match[6], sign2), + m: parseIso(match[7], sign2), + s: parseIso(match[8], sign2) + }; + } else if (duration == null) { + duration = {}; + } else if (typeof duration === "object" && ("from" in duration || "to" in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + ret = new Duration(duration); + if (isDuration(input) && hasOwnProp(input, "_locale")) { + ret._locale = input._locale; + } + if (isDuration(input) && hasOwnProp(input, "_isValid")) { + ret._isValid = input._isValid; + } + return ret; +} +createDuration.fn = Duration.prototype; +createDuration.invalid = createInvalid$1; +function parseIso(inp, sign2) { + var res = inp && parseFloat(inp.replace(",", ".")); + return (isNaN(res) ? 0 : res) * sign2; +} +function positiveMomentsDifference(base, other) { + var res = {}; + res.months = other.month() - base.month() + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, "M").isAfter(other)) { + --res.months; + } + res.milliseconds = +other - +base.clone().add(res.months, "M"); + return res; +} +function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { milliseconds: 0, months: 0 }; + } + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + return res; +} +function createAdder(direction, name) { + return function(val, period) { + var dur, tmp; + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."); + tmp = val; + val = period; + period = tmp; + } + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; +} +function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds2 = duration._milliseconds, days2 = absRound(duration._days), months2 = absRound(duration._months); + if (!mom.isValid()) { + return; + } + updateOffset = updateOffset == null ? true : updateOffset; + if (months2) { + setMonth(mom, get(mom, "Month") + months2 * isAdding); + } + if (days2) { + set$1(mom, "Date", get(mom, "Date") + days2 * isAdding); + } + if (milliseconds2) { + mom._d.setTime(mom._d.valueOf() + milliseconds2 * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days2 || months2); + } +} +var add = createAdder(1, "add"), subtract = createAdder(-1, "subtract"); +function isString(input) { + return typeof input === "string" || input instanceof String; +} +function isMomentInput(input) { + return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === void 0; +} +function isMomentInputObject(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [ + "years", + "year", + "y", + "months", + "month", + "M", + "days", + "day", + "d", + "dates", + "date", + "D", + "hours", + "hour", + "h", + "minutes", + "minute", + "m", + "seconds", + "second", + "s", + "milliseconds", + "millisecond", + "ms" + ], i, property, propertyLen = properties.length; + for (i = 0; i < propertyLen; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + return objectTest && propertyTest; +} +function isNumberOrStringArray(input) { + var arrayTest = isArray(input), dataTypeTest = false; + if (arrayTest) { + dataTypeTest = input.filter(function(item) { + return !isNumber(item) && isString(input); + }).length === 0; + } + return arrayTest && dataTypeTest; +} +function isCalendarSpec(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [ + "sameDay", + "nextDay", + "lastDay", + "nextWeek", + "lastWeek", + "sameElse" + ], i, property; + for (i = 0; i < properties.length; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + return objectTest && propertyTest; +} +function getCalendarFormat(myMoment, now2) { + var diff2 = myMoment.diff(now2, "days", true); + return diff2 < -6 ? "sameElse" : diff2 < -1 ? "lastWeek" : diff2 < 0 ? "lastDay" : diff2 < 1 ? "sameDay" : diff2 < 2 ? "nextDay" : diff2 < 7 ? "nextWeek" : "sameElse"; +} +function calendar$1(time, formats) { + if (arguments.length === 1) { + if (!arguments[0]) { + time = void 0; + formats = void 0; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = void 0; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = void 0; + } + } + var now2 = time || createLocal(), sod = cloneWithOffset(now2, this).startOf("day"), format2 = hooks.calendarFormat(this, sod) || "sameElse", output = formats && (isFunction(formats[format2]) ? formats[format2].call(this, now2) : formats[format2]); + return this.format(output || this.localeData().calendar(format2, this, createLocal(now2))); +} +function clone() { + return new Moment(this); +} +function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || "millisecond"; + if (units === "millisecond") { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } +} +function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || "millisecond"; + if (units === "millisecond") { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } +} +function isBetween(from2, to2, units, inclusivity) { + var localFrom = isMoment(from2) ? from2 : createLocal(from2), localTo = isMoment(to2) ? to2 : createLocal(to2); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || "()"; + return (inclusivity[0] === "(" ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ")" ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); +} +function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || "millisecond"; + if (units === "millisecond") { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } +} +function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); +} +function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); +} +function diff(input, units, asFloat) { + var that, zoneDelta, output; + if (!this.isValid()) { + return NaN; + } + that = cloneWithOffset(input, this); + if (!that.isValid()) { + return NaN; + } + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + units = normalizeUnits(units); + switch (units) { + case "year": + output = monthDiff(this, that) / 12; + break; + case "month": + output = monthDiff(this, that); + break; + case "quarter": + output = monthDiff(this, that) / 3; + break; + case "second": + output = (this - that) / 1e3; + break; + case "minute": + output = (this - that) / 6e4; + break; + case "hour": + output = (this - that) / 36e5; + break; + case "day": + output = (this - that - zoneDelta) / 864e5; + break; + case "week": + output = (this - that - zoneDelta) / 6048e5; + break; + default: + output = this - that; + } + return asFloat ? output : absFloor(output); +} +function monthDiff(a, b) { + if (a.date() < b.date()) { + return -monthDiff(b, a); + } + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), anchor = a.clone().add(wholeMonthDiff, "months"), anchor2, adjust; + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, "months"); + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, "months"); + adjust = (b - anchor) / (anchor2 - anchor); + } + return -(wholeMonthDiff + adjust) || 0; +} +hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"; +hooks.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"; +function toString() { + return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); +} +function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true, m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"); + } + if (isFunction(Date.prototype.toISOString)) { + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", formatMoment(m, "Z")); + } + } + return formatMoment(m, utc ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"); +} +function inspect() { + if (!this.isValid()) { + return "moment.invalid(/* " + this._i + " */)"; + } + var func = "moment", zone = "", prefix, year, datetime, suffix; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone"; + zone = "Z"; + } + prefix = "[" + func + '("]'; + year = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"; + datetime = "-MM-DD[T]HH:mm:ss.SSS"; + suffix = zone + '[")]'; + return this.format(prefix + year + datetime + suffix); +} +function format(inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); +} +function from(time, withoutSuffix) { + if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) { + return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } +} +function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); +} +function to(time, withoutSuffix) { + if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) { + return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } +} +function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); +} +function locale(key) { + var newLocaleData; + if (key === void 0) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } +} +var lang = deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(key) { + if (key === void 0) { + return this.localeData(); + } else { + return this.locale(key); + } +}); +function localeData() { + return this._locale; +} +var MS_PER_SECOND = 1e3, MS_PER_MINUTE = 60 * MS_PER_SECOND, MS_PER_HOUR = 60 * MS_PER_MINUTE, MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; +function mod$1(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; +} +function localStartOfDate(y, m, d) { + if (y < 100 && y >= 0) { + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } +} +function utcStartOfDate(y, m, d) { + if (y < 100 && y >= 0) { + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } +} +function startOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === void 0 || units === "millisecond" || !this.isValid()) { + return this; + } + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + switch (units) { + case "year": + time = startOfDate(this.year(), 0, 1); + break; + case "quarter": + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case "month": + time = startOfDate(this.year(), this.month(), 1); + break; + case "week": + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case "isoWeek": + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case "day": + case "date": + time = startOfDate(this.year(), this.month(), this.date()); + break; + case "hour": + time = this._d.valueOf(); + time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case "minute": + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case "second": + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; +} +function endOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === void 0 || units === "millisecond" || !this.isValid()) { + return this; + } + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + switch (units) { + case "year": + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case "quarter": + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case "month": + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case "week": + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case "isoWeek": + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case "day": + case "date": + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case "hour": + time = this._d.valueOf(); + time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case "minute": + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case "second": + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; +} +function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 6e4; +} +function unix() { + return Math.floor(this.valueOf() / 1e3); +} +function toDate() { + return new Date(this.valueOf()); +} +function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond() + ]; +} +function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; +} +function toJSON() { + return this.isValid() ? this.toISOString() : null; +} +function isValid$2() { + return isValid(this); +} +function parsingFlags() { + return extend({}, getParsingFlags(this)); +} +function invalidAt() { + return getParsingFlags(this).overflow; +} +function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; +} +addFormatToken("N", 0, 0, "eraAbbr"); +addFormatToken("NN", 0, 0, "eraAbbr"); +addFormatToken("NNN", 0, 0, "eraAbbr"); +addFormatToken("NNNN", 0, 0, "eraName"); +addFormatToken("NNNNN", 0, 0, "eraNarrow"); +addFormatToken("y", ["y", 1], "yo", "eraYear"); +addFormatToken("y", ["yy", 2], 0, "eraYear"); +addFormatToken("y", ["yyy", 3], 0, "eraYear"); +addFormatToken("y", ["yyyy", 4], 0, "eraYear"); +addRegexToken("N", matchEraAbbr); +addRegexToken("NN", matchEraAbbr); +addRegexToken("NNN", matchEraAbbr); +addRegexToken("NNNN", matchEraName); +addRegexToken("NNNNN", matchEraNarrow); +addParseToken(["N", "NN", "NNN", "NNNN", "NNNNN"], function(input, array, config, token2) { + var era = config._locale.erasParse(input, token2, config._strict); + if (era) { + getParsingFlags(config).era = era; + } else { + getParsingFlags(config).invalidEra = input; + } +}); +addRegexToken("y", matchUnsigned); +addRegexToken("yy", matchUnsigned); +addRegexToken("yyy", matchUnsigned); +addRegexToken("yyyy", matchUnsigned); +addRegexToken("yo", matchEraYearOrdinal); +addParseToken(["y", "yy", "yyy", "yyyy"], YEAR); +addParseToken(["yo"], function(input, array, config, token2) { + var match; + if (config._locale._eraYearOrdinalRegex) { + match = input.match(config._locale._eraYearOrdinalRegex); + } + if (config._locale.eraYearOrdinalParse) { + array[YEAR] = config._locale.eraYearOrdinalParse(input, match); + } else { + array[YEAR] = parseInt(input, 10); + } +}); +function localeEras(m, format2) { + var i, l, date, eras = this._eras || getLocale("en")._eras; + for (i = 0, l = eras.length; i < l; ++i) { + switch (typeof eras[i].since) { + case "string": + date = hooks(eras[i].since).startOf("day"); + eras[i].since = date.valueOf(); + break; + } + switch (typeof eras[i].until) { + case "undefined": + eras[i].until = Infinity; + break; + case "string": + date = hooks(eras[i].until).startOf("day").valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; +} +function localeErasParse(eraName, format2, strict) { + var i, l, eras = this.eras(), name, abbr, narrow; + eraName = eraName.toUpperCase(); + for (i = 0, l = eras.length; i < l; ++i) { + name = eras[i].name.toUpperCase(); + abbr = eras[i].abbr.toUpperCase(); + narrow = eras[i].narrow.toUpperCase(); + if (strict) { + switch (format2) { + case "N": + case "NN": + case "NNN": + if (abbr === eraName) { + return eras[i]; + } + break; + case "NNNN": + if (name === eraName) { + return eras[i]; + } + break; + case "NNNNN": + if (narrow === eraName) { + return eras[i]; + } + break; + } + } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { + return eras[i]; + } + } +} +function localeErasConvertYear(era, year) { + var dir = era.since <= era.until ? 1 : -1; + if (year === void 0) { + return hooks(era.since).year(); + } else { + return hooks(era.since).year() + (year - era.offset) * dir; + } +} +function getEraName() { + var i, l, val, eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + val = this.clone().startOf("day").valueOf(); + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].name; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].name; + } + } + return ""; +} +function getEraNarrow() { + var i, l, val, eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + val = this.clone().startOf("day").valueOf(); + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].narrow; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].narrow; + } + } + return ""; +} +function getEraAbbr() { + var i, l, val, eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + val = this.clone().startOf("day").valueOf(); + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].abbr; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].abbr; + } + } + return ""; +} +function getEraYear() { + var i, l, dir, val, eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + dir = eras[i].since <= eras[i].until ? 1 : -1; + val = this.clone().startOf("day").valueOf(); + if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) { + return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset; + } + } + return this.year(); +} +function erasNameRegex(isStrict) { + if (!hasOwnProp(this, "_erasNameRegex")) { + computeErasParse.call(this); + } + return isStrict ? this._erasNameRegex : this._erasRegex; +} +function erasAbbrRegex(isStrict) { + if (!hasOwnProp(this, "_erasAbbrRegex")) { + computeErasParse.call(this); + } + return isStrict ? this._erasAbbrRegex : this._erasRegex; +} +function erasNarrowRegex(isStrict) { + if (!hasOwnProp(this, "_erasNarrowRegex")) { + computeErasParse.call(this); + } + return isStrict ? this._erasNarrowRegex : this._erasRegex; +} +function matchEraAbbr(isStrict, locale2) { + return locale2.erasAbbrRegex(isStrict); +} +function matchEraName(isStrict, locale2) { + return locale2.erasNameRegex(isStrict); +} +function matchEraNarrow(isStrict, locale2) { + return locale2.erasNarrowRegex(isStrict); +} +function matchEraYearOrdinal(isStrict, locale2) { + return locale2._eraYearOrdinalRegex || matchUnsigned; +} +function computeErasParse() { + var abbrPieces = [], namePieces = [], narrowPieces = [], mixedPieces = [], i, l, eras = this.eras(); + for (i = 0, l = eras.length; i < l; ++i) { + namePieces.push(regexEscape(eras[i].name)); + abbrPieces.push(regexEscape(eras[i].abbr)); + narrowPieces.push(regexEscape(eras[i].narrow)); + mixedPieces.push(regexEscape(eras[i].name)); + mixedPieces.push(regexEscape(eras[i].abbr)); + mixedPieces.push(regexEscape(eras[i].narrow)); + } + this._erasRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i"); + this._erasNameRegex = new RegExp("^(" + namePieces.join("|") + ")", "i"); + this._erasAbbrRegex = new RegExp("^(" + abbrPieces.join("|") + ")", "i"); + this._erasNarrowRegex = new RegExp("^(" + narrowPieces.join("|") + ")", "i"); +} +addFormatToken(0, ["gg", 2], 0, function() { + return this.weekYear() % 100; +}); +addFormatToken(0, ["GG", 2], 0, function() { + return this.isoWeekYear() % 100; +}); +function addWeekYearFormatToken(token2, getter) { + addFormatToken(0, [token2, token2.length], 0, getter); +} +addWeekYearFormatToken("gggg", "weekYear"); +addWeekYearFormatToken("ggggg", "weekYear"); +addWeekYearFormatToken("GGGG", "isoWeekYear"); +addWeekYearFormatToken("GGGGG", "isoWeekYear"); +addUnitAlias("weekYear", "gg"); +addUnitAlias("isoWeekYear", "GG"); +addUnitPriority("weekYear", 1); +addUnitPriority("isoWeekYear", 1); +addRegexToken("G", matchSigned); +addRegexToken("g", matchSigned); +addRegexToken("GG", match1to2, match2); +addRegexToken("gg", match1to2, match2); +addRegexToken("GGGG", match1to4, match4); +addRegexToken("gggg", match1to4, match4); +addRegexToken("GGGGG", match1to6, match6); +addRegexToken("ggggg", match1to6, match6); +addWeekParseToken(["gggg", "ggggg", "GGGG", "GGGGG"], function(input, week, config, token2) { + week[token2.substr(0, 2)] = toInt(input); +}); +addWeekParseToken(["gg", "GG"], function(input, week, config, token2) { + week[token2] = hooks.parseTwoDigitYear(input); +}); +function getSetWeekYear(input) { + return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy); +} +function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4); +} +function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); +} +function getISOWeeksInISOWeekYear() { + return weeksInYear(this.isoWeekYear(), 1, 4); +} +function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); +} +function getWeeksInWeekYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); +} +function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } +} +function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; +} +addFormatToken("Q", 0, "Qo", "quarter"); +addUnitAlias("quarter", "Q"); +addUnitPriority("quarter", 7); +addRegexToken("Q", match1); +addParseToken("Q", function(input, array) { + array[MONTH] = (toInt(input) - 1) * 3; +}); +function getSetQuarter(input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); +} +addFormatToken("D", ["DD", 2], "Do", "date"); +addUnitAlias("date", "D"); +addUnitPriority("date", 9); +addRegexToken("D", match1to2); +addRegexToken("DD", match1to2, match2); +addRegexToken("Do", function(isStrict, locale2) { + return isStrict ? locale2._dayOfMonthOrdinalParse || locale2._ordinalParse : locale2._dayOfMonthOrdinalParseLenient; +}); +addParseToken(["D", "DD"], DATE); +addParseToken("Do", function(input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); +}); +var getSetDayOfMonth = makeGetSet("Date", true); +addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear"); +addUnitAlias("dayOfYear", "DDD"); +addUnitPriority("dayOfYear", 4); +addRegexToken("DDD", match1to3); +addRegexToken("DDDD", match3); +addParseToken(["DDD", "DDDD"], function(input, array, config) { + config._dayOfYear = toInt(input); +}); +function getSetDayOfYear(input) { + var dayOfYear = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, "d"); +} +addFormatToken("m", ["mm", 2], 0, "minute"); +addUnitAlias("minute", "m"); +addUnitPriority("minute", 14); +addRegexToken("m", match1to2); +addRegexToken("mm", match1to2, match2); +addParseToken(["m", "mm"], MINUTE); +var getSetMinute = makeGetSet("Minutes", false); +addFormatToken("s", ["ss", 2], 0, "second"); +addUnitAlias("second", "s"); +addUnitPriority("second", 15); +addRegexToken("s", match1to2); +addRegexToken("ss", match1to2, match2); +addParseToken(["s", "ss"], SECOND); +var getSetSecond = makeGetSet("Seconds", false); +addFormatToken("S", 0, 0, function() { + return ~~(this.millisecond() / 100); +}); +addFormatToken(0, ["SS", 2], 0, function() { + return ~~(this.millisecond() / 10); +}); +addFormatToken(0, ["SSS", 3], 0, "millisecond"); +addFormatToken(0, ["SSSS", 4], 0, function() { + return this.millisecond() * 10; +}); +addFormatToken(0, ["SSSSS", 5], 0, function() { + return this.millisecond() * 100; +}); +addFormatToken(0, ["SSSSSS", 6], 0, function() { + return this.millisecond() * 1e3; +}); +addFormatToken(0, ["SSSSSSS", 7], 0, function() { + return this.millisecond() * 1e4; +}); +addFormatToken(0, ["SSSSSSSS", 8], 0, function() { + return this.millisecond() * 1e5; +}); +addFormatToken(0, ["SSSSSSSSS", 9], 0, function() { + return this.millisecond() * 1e6; +}); +addUnitAlias("millisecond", "ms"); +addUnitPriority("millisecond", 16); +addRegexToken("S", match1to3, match1); +addRegexToken("SS", match1to3, match2); +addRegexToken("SSS", match1to3, match3); +var token, getSetMillisecond; +for (token = "SSSS"; token.length <= 9; token += "S") { + addRegexToken(token, matchUnsigned); +} +function parseMs(input, array) { + array[MILLISECOND] = toInt(("0." + input) * 1e3); +} +for (token = "S"; token.length <= 9; token += "S") { + addParseToken(token, parseMs); +} +getSetMillisecond = makeGetSet("Milliseconds", false); +addFormatToken("z", 0, 0, "zoneAbbr"); +addFormatToken("zz", 0, 0, "zoneName"); +function getZoneAbbr() { + return this._isUTC ? "UTC" : ""; +} +function getZoneName() { + return this._isUTC ? "Coordinated Universal Time" : ""; +} +var proto = Moment.prototype; +proto.add = add; +proto.calendar = calendar$1; +proto.clone = clone; +proto.diff = diff; +proto.endOf = endOf; +proto.format = format; +proto.from = from; +proto.fromNow = fromNow; +proto.to = to; +proto.toNow = toNow; +proto.get = stringGet; +proto.invalidAt = invalidAt; +proto.isAfter = isAfter; +proto.isBefore = isBefore; +proto.isBetween = isBetween; +proto.isSame = isSame; +proto.isSameOrAfter = isSameOrAfter; +proto.isSameOrBefore = isSameOrBefore; +proto.isValid = isValid$2; +proto.lang = lang; +proto.locale = locale; +proto.localeData = localeData; +proto.max = prototypeMax; +proto.min = prototypeMin; +proto.parsingFlags = parsingFlags; +proto.set = stringSet; +proto.startOf = startOf; +proto.subtract = subtract; +proto.toArray = toArray; +proto.toObject = toObject; +proto.toDate = toDate; +proto.toISOString = toISOString; +proto.inspect = inspect; +if (typeof Symbol !== "undefined" && Symbol.for != null) { + proto[Symbol.for("nodejs.util.inspect.custom")] = function() { + return "Moment<" + this.format() + ">"; + }; +} +proto.toJSON = toJSON; +proto.toString = toString; +proto.unix = unix; +proto.valueOf = valueOf; +proto.creationData = creationData; +proto.eraName = getEraName; +proto.eraNarrow = getEraNarrow; +proto.eraAbbr = getEraAbbr; +proto.eraYear = getEraYear; +proto.year = getSetYear; +proto.isLeapYear = getIsLeapYear; +proto.weekYear = getSetWeekYear; +proto.isoWeekYear = getSetISOWeekYear; +proto.quarter = proto.quarters = getSetQuarter; +proto.month = getSetMonth; +proto.daysInMonth = getDaysInMonth; +proto.week = proto.weeks = getSetWeek; +proto.isoWeek = proto.isoWeeks = getSetISOWeek; +proto.weeksInYear = getWeeksInYear; +proto.weeksInWeekYear = getWeeksInWeekYear; +proto.isoWeeksInYear = getISOWeeksInYear; +proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; +proto.date = getSetDayOfMonth; +proto.day = proto.days = getSetDayOfWeek; +proto.weekday = getSetLocaleDayOfWeek; +proto.isoWeekday = getSetISODayOfWeek; +proto.dayOfYear = getSetDayOfYear; +proto.hour = proto.hours = getSetHour; +proto.minute = proto.minutes = getSetMinute; +proto.second = proto.seconds = getSetSecond; +proto.millisecond = proto.milliseconds = getSetMillisecond; +proto.utcOffset = getSetOffset; +proto.utc = setOffsetToUTC; +proto.local = setOffsetToLocal; +proto.parseZone = setOffsetToParsedOffset; +proto.hasAlignedHourOffset = hasAlignedHourOffset; +proto.isDST = isDaylightSavingTime; +proto.isLocal = isLocal; +proto.isUtcOffset = isUtcOffset; +proto.isUtc = isUtc; +proto.isUTC = isUtc; +proto.zoneAbbr = getZoneAbbr; +proto.zoneName = getZoneName; +proto.dates = deprecate("dates accessor is deprecated. Use date instead.", getSetDayOfMonth); +proto.months = deprecate("months accessor is deprecated. Use month instead", getSetMonth); +proto.years = deprecate("years accessor is deprecated. Use year instead", getSetYear); +proto.zone = deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", getSetZone); +proto.isDSTShifted = deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", isDaylightSavingTimeShifted); +function createUnix(input) { + return createLocal(input * 1e3); +} +function createInZone() { + return createLocal.apply(null, arguments).parseZone(); +} +function preParsePostFormat(string) { + return string; +} +var proto$1 = Locale.prototype; +proto$1.calendar = calendar; +proto$1.longDateFormat = longDateFormat; +proto$1.invalidDate = invalidDate; +proto$1.ordinal = ordinal; +proto$1.preparse = preParsePostFormat; +proto$1.postformat = preParsePostFormat; +proto$1.relativeTime = relativeTime; +proto$1.pastFuture = pastFuture; +proto$1.set = set; +proto$1.eras = localeEras; +proto$1.erasParse = localeErasParse; +proto$1.erasConvertYear = localeErasConvertYear; +proto$1.erasAbbrRegex = erasAbbrRegex; +proto$1.erasNameRegex = erasNameRegex; +proto$1.erasNarrowRegex = erasNarrowRegex; +proto$1.months = localeMonths; +proto$1.monthsShort = localeMonthsShort; +proto$1.monthsParse = localeMonthsParse; +proto$1.monthsRegex = monthsRegex; +proto$1.monthsShortRegex = monthsShortRegex; +proto$1.week = localeWeek; +proto$1.firstDayOfYear = localeFirstDayOfYear; +proto$1.firstDayOfWeek = localeFirstDayOfWeek; +proto$1.weekdays = localeWeekdays; +proto$1.weekdaysMin = localeWeekdaysMin; +proto$1.weekdaysShort = localeWeekdaysShort; +proto$1.weekdaysParse = localeWeekdaysParse; +proto$1.weekdaysRegex = weekdaysRegex; +proto$1.weekdaysShortRegex = weekdaysShortRegex; +proto$1.weekdaysMinRegex = weekdaysMinRegex; +proto$1.isPM = localeIsPM; +proto$1.meridiem = localeMeridiem; +function get$1(format2, index, field, setter) { + var locale2 = getLocale(), utc = createUTC().set(setter, index); + return locale2[field](utc, format2); +} +function listMonthsImpl(format2, index, field) { + if (isNumber(format2)) { + index = format2; + format2 = void 0; + } + format2 = format2 || ""; + if (index != null) { + return get$1(format2, index, field, "month"); + } + var i, out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format2, i, field, "month"); + } + return out; +} +function listWeekdaysImpl(localeSorted, format2, index, field) { + if (typeof localeSorted === "boolean") { + if (isNumber(format2)) { + index = format2; + format2 = void 0; + } + format2 = format2 || ""; + } else { + format2 = localeSorted; + index = format2; + localeSorted = false; + if (isNumber(format2)) { + index = format2; + format2 = void 0; + } + format2 = format2 || ""; + } + var locale2 = getLocale(), shift = localeSorted ? locale2._week.dow : 0, i, out = []; + if (index != null) { + return get$1(format2, (index + shift) % 7, field, "day"); + } + for (i = 0; i < 7; i++) { + out[i] = get$1(format2, (i + shift) % 7, field, "day"); + } + return out; +} +function listMonths(format2, index) { + return listMonthsImpl(format2, index, "months"); +} +function listMonthsShort(format2, index) { + return listMonthsImpl(format2, index, "monthsShort"); +} +function listWeekdays(localeSorted, format2, index) { + return listWeekdaysImpl(localeSorted, format2, index, "weekdays"); +} +function listWeekdaysShort(localeSorted, format2, index) { + return listWeekdaysImpl(localeSorted, format2, index, "weekdaysShort"); +} +function listWeekdaysMin(localeSorted, format2, index) { + return listWeekdaysImpl(localeSorted, format2, index, "weekdaysMin"); +} +getSetGlobalLocale("en", { + eras: [ + { + since: "0001-01-01", + until: Infinity, + offset: 1, + name: "Anno Domini", + narrow: "AD", + abbr: "AD" + }, + { + since: "0000-12-31", + until: -Infinity, + offset: 1, + name: "Before Christ", + narrow: "BC", + abbr: "BC" + } + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function(number) { + var b = number % 10, output = toInt(number % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th"; + return number + output; + } +}); +hooks.lang = deprecate("moment.lang is deprecated. Use moment.locale instead.", getSetGlobalLocale); +hooks.langData = deprecate("moment.langData is deprecated. Use moment.localeData instead.", getLocale); +var mathAbs = Math.abs; +function abs() { + var data = this._data; + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + return this; +} +function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + return duration._bubble(); +} +function add$1(input, value) { + return addSubtract$1(this, input, value, 1); +} +function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); +} +function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } +} +function bubble() { + var milliseconds2 = this._milliseconds, days2 = this._days, months2 = this._months, data = this._data, seconds2, minutes2, hours2, years2, monthsFromDays; + if (!(milliseconds2 >= 0 && days2 >= 0 && months2 >= 0 || milliseconds2 <= 0 && days2 <= 0 && months2 <= 0)) { + milliseconds2 += absCeil(monthsToDays(months2) + days2) * 864e5; + days2 = 0; + months2 = 0; + } + data.milliseconds = milliseconds2 % 1e3; + seconds2 = absFloor(milliseconds2 / 1e3); + data.seconds = seconds2 % 60; + minutes2 = absFloor(seconds2 / 60); + data.minutes = minutes2 % 60; + hours2 = absFloor(minutes2 / 60); + data.hours = hours2 % 24; + days2 += absFloor(hours2 / 24); + monthsFromDays = absFloor(daysToMonths(days2)); + months2 += monthsFromDays; + days2 -= absCeil(monthsToDays(monthsFromDays)); + years2 = absFloor(months2 / 12); + months2 %= 12; + data.days = days2; + data.months = months2; + data.years = years2; + return this; +} +function daysToMonths(days2) { + return days2 * 4800 / 146097; +} +function monthsToDays(months2) { + return months2 * 146097 / 4800; +} +function as(units) { + if (!this.isValid()) { + return NaN; + } + var days2, months2, milliseconds2 = this._milliseconds; + units = normalizeUnits(units); + if (units === "month" || units === "quarter" || units === "year") { + days2 = this._days + milliseconds2 / 864e5; + months2 = this._months + daysToMonths(days2); + switch (units) { + case "month": + return months2; + case "quarter": + return months2 / 3; + case "year": + return months2 / 12; + } + } else { + days2 = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case "week": + return days2 / 7 + milliseconds2 / 6048e5; + case "day": + return days2 + milliseconds2 / 864e5; + case "hour": + return days2 * 24 + milliseconds2 / 36e5; + case "minute": + return days2 * 1440 + milliseconds2 / 6e4; + case "second": + return days2 * 86400 + milliseconds2 / 1e3; + case "millisecond": + return Math.floor(days2 * 864e5) + milliseconds2; + default: + throw new Error("Unknown unit " + units); + } + } +} +function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6; +} +function makeAs(alias) { + return function() { + return this.as(alias); + }; +} +var asMilliseconds = makeAs("ms"), asSeconds = makeAs("s"), asMinutes = makeAs("m"), asHours = makeAs("h"), asDays = makeAs("d"), asWeeks = makeAs("w"), asMonths = makeAs("M"), asQuarters = makeAs("Q"), asYears = makeAs("y"); +function clone$1() { + return createDuration(this); +} +function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + "s"]() : NaN; +} +function makeGetter(name) { + return function() { + return this.isValid() ? this._data[name] : NaN; + }; +} +var milliseconds = makeGetter("milliseconds"), seconds = makeGetter("seconds"), minutes = makeGetter("minutes"), hours = makeGetter("hours"), days = makeGetter("days"), months = makeGetter("months"), years = makeGetter("years"); +function weeks() { + return absFloor(this.days() / 7); +} +var round = Math.round, thresholds = { + ss: 44, + s: 45, + m: 45, + h: 22, + d: 26, + w: null, + M: 11 +}; +function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale2) { + return locale2.relativeTime(number || 1, !!withoutSuffix, string, isFuture); +} +function relativeTime$1(posNegDuration, withoutSuffix, thresholds2, locale2) { + var duration = createDuration(posNegDuration).abs(), seconds2 = round(duration.as("s")), minutes2 = round(duration.as("m")), hours2 = round(duration.as("h")), days2 = round(duration.as("d")), months2 = round(duration.as("M")), weeks2 = round(duration.as("w")), years2 = round(duration.as("y")), a = seconds2 <= thresholds2.ss && ["s", seconds2] || seconds2 < thresholds2.s && ["ss", seconds2] || minutes2 <= 1 && ["m"] || minutes2 < thresholds2.m && ["mm", minutes2] || hours2 <= 1 && ["h"] || hours2 < thresholds2.h && ["hh", hours2] || days2 <= 1 && ["d"] || days2 < thresholds2.d && ["dd", days2]; + if (thresholds2.w != null) { + a = a || weeks2 <= 1 && ["w"] || weeks2 < thresholds2.w && ["ww", weeks2]; + } + a = a || months2 <= 1 && ["M"] || months2 < thresholds2.M && ["MM", months2] || years2 <= 1 && ["y"] || ["yy", years2]; + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale2; + return substituteTimeAgo.apply(null, a); +} +function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === void 0) { + return round; + } + if (typeof roundingFunction === "function") { + round = roundingFunction; + return true; + } + return false; +} +function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === void 0) { + return false; + } + if (limit === void 0) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === "s") { + thresholds.ss = limit - 1; + } + return true; +} +function humanize(argWithSuffix, argThresholds) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var withSuffix = false, th = thresholds, locale2, output; + if (typeof argWithSuffix === "object") { + argThresholds = argWithSuffix; + argWithSuffix = false; + } + if (typeof argWithSuffix === "boolean") { + withSuffix = argWithSuffix; + } + if (typeof argThresholds === "object") { + th = Object.assign({}, thresholds, argThresholds); + if (argThresholds.s != null && argThresholds.ss == null) { + th.ss = argThresholds.s - 1; + } + } + locale2 = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale2); + if (withSuffix) { + output = locale2.pastFuture(+this, output); + } + return locale2.postformat(output); +} +var abs$1 = Math.abs; +function sign(x) { + return (x > 0) - (x < 0) || +x; +} +function toISOString$1() { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var seconds2 = abs$1(this._milliseconds) / 1e3, days2 = abs$1(this._days), months2 = abs$1(this._months), minutes2, hours2, years2, s, total = this.asSeconds(), totalSign, ymSign, daysSign, hmsSign; + if (!total) { + return "P0D"; + } + minutes2 = absFloor(seconds2 / 60); + hours2 = absFloor(minutes2 / 60); + seconds2 %= 60; + minutes2 %= 60; + years2 = absFloor(months2 / 12); + months2 %= 12; + s = seconds2 ? seconds2.toFixed(3).replace(/\.?0+$/, "") : ""; + totalSign = total < 0 ? "-" : ""; + ymSign = sign(this._months) !== sign(total) ? "-" : ""; + daysSign = sign(this._days) !== sign(total) ? "-" : ""; + hmsSign = sign(this._milliseconds) !== sign(total) ? "-" : ""; + return totalSign + "P" + (years2 ? ymSign + years2 + "Y" : "") + (months2 ? ymSign + months2 + "M" : "") + (days2 ? daysSign + days2 + "D" : "") + (hours2 || minutes2 || seconds2 ? "T" : "") + (hours2 ? hmsSign + hours2 + "H" : "") + (minutes2 ? hmsSign + minutes2 + "M" : "") + (seconds2 ? hmsSign + s + "S" : ""); +} +var proto$2 = Duration.prototype; +proto$2.isValid = isValid$1; +proto$2.abs = abs; +proto$2.add = add$1; +proto$2.subtract = subtract$1; +proto$2.as = as; +proto$2.asMilliseconds = asMilliseconds; +proto$2.asSeconds = asSeconds; +proto$2.asMinutes = asMinutes; +proto$2.asHours = asHours; +proto$2.asDays = asDays; +proto$2.asWeeks = asWeeks; +proto$2.asMonths = asMonths; +proto$2.asQuarters = asQuarters; +proto$2.asYears = asYears; +proto$2.valueOf = valueOf$1; +proto$2._bubble = bubble; +proto$2.clone = clone$1; +proto$2.get = get$2; +proto$2.milliseconds = milliseconds; +proto$2.seconds = seconds; +proto$2.minutes = minutes; +proto$2.hours = hours; +proto$2.days = days; +proto$2.weeks = weeks; +proto$2.months = months; +proto$2.years = years; +proto$2.humanize = humanize; +proto$2.toISOString = toISOString$1; +proto$2.toString = toISOString$1; +proto$2.toJSON = toISOString$1; +proto$2.locale = locale; +proto$2.localeData = localeData; +proto$2.toIsoString = deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", toISOString$1); +proto$2.lang = lang; +addFormatToken("X", 0, 0, "unix"); +addFormatToken("x", 0, 0, "valueOf"); +addRegexToken("x", matchSigned); +addRegexToken("X", matchTimestamp); +addParseToken("X", function(input, array, config) { + config._d = new Date(parseFloat(input) * 1e3); +}); +addParseToken("x", function(input, array, config) { + config._d = new Date(toInt(input)); +}); +//! moment.js +hooks.version = "2.29.2"; +setHookCallback(createLocal); +hooks.fn = proto; +hooks.min = min; +hooks.max = max; +hooks.now = now; +hooks.utc = createUTC; +hooks.unix = createUnix; +hooks.months = listMonths; +hooks.isDate = isDate; +hooks.locale = getSetGlobalLocale; +hooks.invalid = createInvalid; +hooks.duration = createDuration; +hooks.isMoment = isMoment; +hooks.weekdays = listWeekdays; +hooks.parseZone = createInZone; +hooks.localeData = getLocale; +hooks.isDuration = isDuration; +hooks.monthsShort = listMonthsShort; +hooks.weekdaysMin = listWeekdaysMin; +hooks.defineLocale = defineLocale; +hooks.updateLocale = updateLocale; +hooks.locales = listLocales; +hooks.weekdaysShort = listWeekdaysShort; +hooks.normalizeUnits = normalizeUnits; +hooks.relativeTimeRounding = getSetRelativeTimeRounding; +hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; +hooks.calendarFormat = getCalendarFormat; +hooks.prototype = proto; +hooks.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" +}; +const toLine = (name = "") => name.replace(/\B([A-Z])/g, "-$1").toLowerCase(); +const getNodePath = (id, data = []) => { + const path = []; + const get2 = function(id2, data2) { + if (!Array.isArray(data2)) { + return null; + } + for (let i = 0, l = data2.length; i < l; i++) { + const item = data2[i]; + path.push(item); + if (`${item.id}` === `${id2}`) { + return item; + } + if (item.items) { + const node = get2(id2, item.items); + if (node) { + return node; + } + } + path.pop(); + } + return null; + }; + get2(id, data); + return path; +}; +const filterXSS = (str) => str.replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); +const getUrlParam = (param, url) => { + const u = url || location.href; + const reg = new RegExp(`[?&#]${param}=([^&#]+)`, "gi"); + const matches = u.match(reg); + let strArr; + if (matches && matches.length > 0) { + strArr = matches[matches.length - 1].split("="); + if (strArr && strArr.length > 1) { + return filterXSS(strArr[1]); + } + return ""; + } + return ""; +}; +var _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +export { _export_sfc as _, getNodePath as a, getUrlParam as g, toLine as t }; +//# sourceMappingURL=plugin-vue_export-helper.adee6e2f.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js.map b/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js.map new file mode 100644 index 00000000..6535129e --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/plugin-vue_export-helper.adee6e2f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"plugin-vue_export-helper.adee6e2f.js","sources":["../../../../node_modules/moment/dist/moment.js","../../../../packages/utils/src/index.ts","../../plugin-vue:export-helper"],"sourcesContent":["//! moment.js\n//! version : 2.29.2\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\nvar hookCallback;\n\nfunction hooks() {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback(callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n}\n\nfunction isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n}\n\nfunction map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\nfunction copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n}\n\n// Moment prototype object\nfunction Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n}\n\nfunction isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n}\n\nfunction warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n}\n\nfunction set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n}\n\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (Object.keys) {\n keys = Object.keys;\n} else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n}\n\nvar defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n};\n\nfunction calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n}\n\nvar formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([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,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n}\n\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n}\n\nvar defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n};\n\nfunction longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate() {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal(number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n};\n\nfunction relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n}\n\nfunction pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\nfunction absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n}\n\nfunction toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n\nfunction makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n}\n\nfunction get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n}\n\nfunction set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n}\n\n// MOMENTS\n\nfunction stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\nfunction stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n}\n\nvar match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[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,\n regexes;\n\nregexes = {};\n\nfunction addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n}\n\nfunction getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n}\n\nfunction addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\nfunction mod(n, x) {\n return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n} else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n}\n\nfunction daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n});\n\n// LOCALES\n\nvar defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\nfunction localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n}\n\nfunction localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n}\n\nfunction getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n}\n\nfunction getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n}\n\nfunction monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n}\n\nfunction monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n}\n\nfunction computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear() {\n return isLeapYear(this.year());\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n}\n\nfunction weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n);\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek() {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear() {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n}\n\n// LOCALES\nfunction shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n}\n\nvar defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\nfunction localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n}\n\nfunction localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n}\n\nfunction localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n}\n\nfunction getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n}\n\nfunction weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n}\n\nfunction weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n}\n\nfunction weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n}\n\nfunction computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n});\n\nfunction meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\nfunction localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n}\n\nvar baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n};\n\n// internal storage for locale config files\nvar locales = {},\n localeFamilies = {},\n globalLocale;\n\nfunction commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n}\n\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n}\n\nfunction isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n}\n\nfunction loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n}\n\n// This function will load locale and then set the global locale. If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n}\n\nfunction defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n}\n\nfunction updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n\n// returns locale data\nfunction getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n}\n\nfunction listLocales() {\n return keys(locales);\n}\n\nfunction checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex =\n /^\\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)?)?$/,\n basicIsoRegex =\n /^\\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)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(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}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n// date from iso format\nfunction configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n}\n\nfunction extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n}\n\nfunction untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n}\n\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n}\n\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n}\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n}\n\n// date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\nfunction configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n}\n\nhooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n);\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n}\n\nfunction currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n}\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n}\n\nfunction meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n}\n\nfunction createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n}\n\nfunction prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n}\n\nfunction configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n}\n\nfunction createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n}\n\nfunction createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +new Date();\n};\n\nvar ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n];\n\nfunction isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n}\n\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n}\n\nfunction isDuration(obj) {\n return obj instanceof Duration;\n}\n\nfunction absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n\n// FORMATTING\n\nfunction offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n}\n\nfunction getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n}\n\nfunction getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n}\n\nfunction setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n}\n\nfunction setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n}\n\nfunction hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}\n\nfunction isLocal() {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\nfunction createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n}\n\nfunction momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n}\n\nfunction addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n}\n\nvar add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\nfunction isString(input) {\n return typeof input === 'string' || input instanceof String;\n}\n\n// type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\nfunction isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n}\n\nfunction isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n}\n\nfunction isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n}\n\nfunction isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n}\n\nfunction getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n}\n\nfunction calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n}\n\nfunction clone() {\n return new Moment(this);\n}\n\nfunction isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n}\n\nfunction isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n}\n\nfunction isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n}\n\nfunction isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n}\n\nfunction isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n}\n\nfunction isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n}\n\nfunction diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n}\n\nfunction from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance. Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n}\n\nvar lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n);\n\nfunction localeData() {\n return this._locale;\n}\n\nvar MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n// actual modulo - handles negative numbers (for dates before 1970):\nfunction mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n}\n\nfunction localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n}\n\nfunction utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n}\n\nfunction startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n}\n\nfunction endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n}\n\nfunction valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n}\n\nfunction unix() {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate() {\n return new Date(this.valueOf());\n}\n\nfunction toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n}\n\nfunction toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n}\n\nfunction toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2() {\n return isValid(this);\n}\n\nfunction parsingFlags() {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt() {\n return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n}\n\naddFormatToken('N', 0, 0, 'eraAbbr');\naddFormatToken('NN', 0, 0, 'eraAbbr');\naddFormatToken('NNN', 0, 0, 'eraAbbr');\naddFormatToken('NNNN', 0, 0, 'eraName');\naddFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\naddFormatToken('y', ['y', 1], 'yo', 'eraYear');\naddFormatToken('y', ['yy', 2], 0, 'eraYear');\naddFormatToken('y', ['yyy', 3], 0, 'eraYear');\naddFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\naddRegexToken('N', matchEraAbbr);\naddRegexToken('NN', matchEraAbbr);\naddRegexToken('NNN', matchEraAbbr);\naddRegexToken('NNNN', matchEraName);\naddRegexToken('NNNNN', matchEraNarrow);\n\naddParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n);\n\naddRegexToken('y', matchUnsigned);\naddRegexToken('yy', matchUnsigned);\naddRegexToken('yyy', matchUnsigned);\naddRegexToken('yyyy', matchUnsigned);\naddRegexToken('yo', matchEraYearOrdinal);\n\naddParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\naddParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n});\n\nfunction localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n}\n\nfunction localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n}\n\nfunction localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n}\n\nfunction getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n}\n\nfunction getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n}\n\nfunction getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n}\n\nfunction getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n}\n\nfunction erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n}\n\nfunction erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n}\n\nfunction erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n}\n\nfunction matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n}\n\nfunction matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n}\n\nfunction matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n}\n\nfunction matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n}\n\nfunction computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n);\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n}\n\nfunction getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n}\n\nfunction getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n}\n\nfunction getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIORITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token, getSetMillisecond;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n\ngetSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nif (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n}\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\nproto.eraName = getEraName;\nproto.eraNarrow = getEraNarrow;\nproto.eraAbbr = getEraAbbr;\nproto.eraYear = getEraYear;\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\nproto.quarter = proto.quarters = getSetQuarter;\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.weeksInWeekYear = getWeeksInWeekYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\nproto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\nproto.hour = proto.hours = getSetHour;\nproto.minute = proto.minutes = getSetMinute;\nproto.second = proto.seconds = getSetSecond;\nproto.millisecond = proto.milliseconds = getSetMillisecond;\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\nproto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n);\nproto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n);\nproto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n);\nproto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n);\nproto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n);\n\nfunction createUnix(input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat(string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\nproto$1.eras = localeEras;\nproto$1.erasParse = localeErasParse;\nproto$1.erasConvertYear = localeErasConvertYear;\nproto$1.erasAbbrRegex = erasAbbrRegex;\nproto$1.erasNameRegex = erasNameRegex;\nproto$1.erasNarrowRegex = erasNarrowRegex;\n\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n}\n\nfunction listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n}\n\nfunction listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n});\n\n// Side effect imports\n\nhooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n);\nhooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n);\n\nvar mathAbs = Math.abs;\n\nfunction abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n}\n\nfunction addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n}\n\nfunction daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n}\n\nfunction monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n}\n\nfunction as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n}\n\nfunction makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\nfunction clone$1() {\n return createDuration(this);\n}\n\nfunction get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\nfunction weeks() {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n}\n\nfunction humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n return (x > 0) - (x < 0) || +x;\n}\n\nfunction toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asQuarters = asQuarters;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.clone = clone$1;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\nproto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n);\nproto$2.lang = lang;\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n//! moment.js\n\nhooks.version = '2.29.2';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\n// currently HTML5 input type only supports 24-hour formats\nhooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n};\n\nexport default hooks;\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport moment from 'moment';\n\nimport { MNode, NodeType } from '@tmagic/schema';\n\nexport const sleep = (ms: number): Promise =>\n new Promise((resolve) => {\n const timer = setTimeout(() => {\n clearTimeout(timer);\n resolve();\n }, ms);\n });\n\nexport const datetimeFormatter = (v: string | Date, defaultValue = '-', f = 'YYYY-MM-DD HH:mm:ss') => {\n let format = f;\n if (format === 'timestamp') {\n format = 'x';\n }\n\n if (v) {\n let time = null;\n if ((typeof v === 'string' && v.includes('Z')) || v.constructor === Date) {\n // UTC字符串时间或Date对象格式化为北京时间\n time = moment(v).utcOffset('+08:00').format(format);\n } else {\n time = moment(v).format(format);\n }\n\n if (format === 'x') {\n return +time;\n }\n // 格式化为北京时间\n if (time !== 'Invalid date') {\n return time;\n }\n return defaultValue;\n }\n return defaultValue;\n};\n\nexport const asyncLoadJs = (() => {\n // 正在加载或加载成功的存入此Map中\n const documentMap = new Map();\n\n return (url: string, crossOrigin?: string, document = globalThis.document) => {\n let loaded = documentMap.get(document);\n if (!loaded) {\n loaded = new Map();\n documentMap.set(document, loaded);\n }\n\n // 正在加载或已经加载成功的,直接返回\n if (loaded.get(url)) return loaded.get(url);\n\n const load = new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n if (crossOrigin) {\n script.crossOrigin = crossOrigin;\n }\n script.src = url;\n document.body.appendChild(script);\n script.onload = () => {\n resolve();\n };\n script.onerror = () => {\n reject(new Error('加载失败'));\n };\n setTimeout(() => {\n reject(new Error('timeout'));\n }, 60 * 1000);\n }).catch((err) => {\n // 加载失败的,从map中移除,第二次加载时,可以再次执行加载\n loaded.delete(url);\n throw err;\n });\n\n loaded.set(url, load);\n return loaded.get(url);\n };\n})();\n\nexport const asyncLoadCss = (() => {\n // 正在加载或加载成功的存入此Map中\n const documentMap = new Map();\n\n return (url: string, document = globalThis.document) => {\n let loaded = documentMap.get(document);\n if (!loaded) {\n loaded = new Map();\n documentMap.set(document, loaded);\n }\n\n // 正在加载或已经加载成功的,直接返回\n if (loaded.get(url)) return loaded.get(url);\n\n const load = new Promise((resolve, reject) => {\n const node = document.createElement('link');\n node.rel = 'stylesheet';\n node.href = url;\n document.head.appendChild(node);\n node.onload = () => {\n resolve();\n };\n node.onerror = () => {\n reject(new Error('加载失败'));\n };\n setTimeout(() => {\n reject(new Error('timeout'));\n }, 60 * 1000);\n }).catch((err) => {\n // 加载失败的,从map中移除,第二次加载时,可以再次执行加载\n loaded.delete(url);\n throw err;\n });\n\n loaded.set(url, load);\n return loaded.get(url);\n };\n})();\n\n// 驼峰转换横线\nexport const toLine = (name = '') => name.replace(/\\B([A-Z])/g, '-$1').toLowerCase();\n\nexport const toHump = (name = ''): string => name.replace(/-(\\w)/g, (all, letter) => letter.toUpperCase());\n\nexport const emptyFn = (): any => undefined;\n\n/**\n * 通过id获取组件在应用的子孙路径\n * @param {number | string} id 组件id\n * @param {Array} data 要查找的根容器节点\n * @return {Array} 组件在data中的子孙路径\n */\nexport const getNodePath = (id: number | string, data: MNode[] = []): MNode[] => {\n const path: MNode[] = [];\n\n const get = function (id: number | string, data: MNode[]): MNode | null {\n if (!Array.isArray(data)) {\n return null;\n }\n\n for (let i = 0, l = data.length; i < l; i++) {\n const item: any = data[i];\n\n path.push(item);\n if (`${item.id}` === `${id}`) {\n return item;\n }\n\n if (item.items) {\n const node = get(id, item.items);\n if (node) {\n return node;\n }\n }\n\n path.pop();\n }\n\n return null;\n };\n\n get(id, data);\n\n return path;\n};\n\nexport const filterXSS = (str: string) =>\n str.replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n\nexport const getUrlParam = (param: string, url?: string) => {\n const u = url || location.href;\n const reg = new RegExp(`[?&#]${param}=([^&#]+)`, 'gi');\n\n const matches = u.match(reg);\n let strArr;\n if (matches && matches.length > 0) {\n strArr = matches[matches.length - 1].split('=');\n if (strArr && strArr.length > 1) {\n // 过滤XSS字符\n return filterXSS(strArr[1]);\n }\n return '';\n }\n return '';\n};\n\nexport const isPop = (node: MNode): boolean => Boolean(node.type?.toLowerCase().endsWith('pop'));\n\nexport const isPage = (node: MNode): boolean => Boolean(node.type?.toLowerCase() === NodeType.PAGE);\n\nexport const isNumber = (value: string) => /^(-?\\d+)(\\.\\d+)?$/.test(value);\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/resetcss.52e41e6b.css b/magic-admin/web/public/runtime/vue3/assets/resetcss.52e41e6b.css new file mode 100644 index 00000000..1858c149 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/resetcss.52e41e6b.css @@ -0,0 +1,446 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0-modified | 20110126 + License: none (public domain) +*/ + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* make sure to set some focus styles for accessibility */ +:focus { + outline: 0; +} + +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +input[type='search']::-webkit-search-cancel-button, +input[type='search']::-webkit-search-decoration, +input[type='search']::-webkit-search-results-button, +input[type='search']::-webkit-search-results-decoration { + -webkit-appearance: none; + -moz-appearance: none; +} + +input[type='search'] { + -webkit-appearance: none; + -moz-appearance: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +textarea { + overflow: auto; + vertical-align: top; + resize: vertical; +} + +/** + * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + */ + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; + max-width: 100%; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * Known issue: no IE 6 support. + */ + +[hidden] { + display: none; +} + +/** + * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * `em` units. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-size: 100%; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/** + * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * 2. Improve image quality when scaled in IE 7. + */ + +img { + border: 0; /* 1 */ + -ms-interpolation-mode: bicubic; /* 2 */ +} + +/** + * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. + */ + +figure { + margin: 0; +} + +/** + * Correct margin displayed oddly in IE 6/7. + */ + +form { + margin: 0; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct color not being inherited in IE 6/7/8/9. + * 2. Correct text not wrapping in Firefox 3. + * 3. Correct alignment displayed oddly in IE 6/7. + */ + +legend { + border: 0; /* 1 */ + padding: 0; + white-space: normal; /* 2 */ + *margin-left: -7px; /* 3 */ +} + +/** + * 1. Correct font size not being inherited in all browsers. + * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improve appearance and consistency in all browsers. + */ + +button, +input, +select, +textarea { + font-size: 100%; /* 1 */ + margin: 0; /* 2 */ + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ +} + +/** + * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + *overflow: visible; /* 4 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * 1. Address box sizing set to content-box in IE 8/9. + * 2. Remove excess padding in IE 8/9. + * 3. Remove excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ + +input[type='checkbox'], +input[type='radio'] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type='search'] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type='search']::-webkit-search-cancel-button, +input[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Remove inner padding and border in Firefox 3+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * 2. Improve readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +html, +button, +input, +select, +textarea { + color: #222; +} + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +img { + vertical-align: middle; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +textarea { + resize: vertical; +} + +.chromeframe { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; +} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js b/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js new file mode 100644 index 00000000..94e98e88 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js @@ -0,0 +1,708 @@ +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const p = function polyfill() { + const relList = document.createElement("link").relList; + if (relList && relList.supports && relList.supports("modulepreload")) { + return; + } + for (const link of document.querySelectorAll('link[rel="modulepreload"]')) { + processPreload(link); + } + new MutationObserver((mutations) => { + for (const mutation of mutations) { + if (mutation.type !== "childList") { + continue; + } + for (const node of mutation.addedNodes) { + if (node.tagName === "LINK" && node.rel === "modulepreload") + processPreload(node); + } + } + }).observe(document, { childList: true, subtree: true }); + function getFetchOpts(script) { + const fetchOpts = {}; + if (script.integrity) + fetchOpts.integrity = script.integrity; + if (script.referrerpolicy) + fetchOpts.referrerPolicy = script.referrerpolicy; + if (script.crossorigin === "use-credentials") + fetchOpts.credentials = "include"; + else if (script.crossorigin === "anonymous") + fetchOpts.credentials = "omit"; + else + fetchOpts.credentials = "same-origin"; + return fetchOpts; + } + function processPreload(link) { + if (link.ep) + return; + link.ep = true; + const fetchOpts = getFetchOpts(link); + fetch(link.href, fetchOpts); + } +}; +p(); +var events = { exports: {} }; +var R = typeof Reflect === "object" ? Reflect : null; +var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args); +}; +var ReflectOwnKeys; +if (R && typeof R.ownKeys === "function") { + ReflectOwnKeys = R.ownKeys; +} else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys2(target) { + return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)); + }; +} else { + ReflectOwnKeys = function ReflectOwnKeys2(target) { + return Object.getOwnPropertyNames(target); + }; +} +function ProcessEmitWarning(warning) { + if (console && console.warn) + console.warn(warning); +} +var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) { + return value !== value; +}; +function EventEmitter() { + EventEmitter.init.call(this); +} +events.exports = EventEmitter; +events.exports.once = once2; +EventEmitter.EventEmitter = EventEmitter; +EventEmitter.prototype._events = void 0; +EventEmitter.prototype._eventsCount = 0; +EventEmitter.prototype._maxListeners = void 0; +var defaultMaxListeners = 10; +function checkListener(listener) { + if (typeof listener !== "function") { + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); + } +} +Object.defineProperty(EventEmitter, "defaultMaxListeners", { + enumerable: true, + get: function() { + return defaultMaxListeners; + }, + set: function(arg) { + if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + "."); + } + defaultMaxListeners = arg; + } +}); +EventEmitter.init = function() { + if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) { + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + } + this._maxListeners = this._maxListeners || void 0; +}; +EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + "."); + } + this._maxListeners = n; + return this; +}; +function _getMaxListeners(that) { + if (that._maxListeners === void 0) + return EventEmitter.defaultMaxListeners; + return that._maxListeners; +} +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this); +}; +EventEmitter.prototype.emit = function emit(type) { + var args = []; + for (var i = 1; i < arguments.length; i++) + args.push(arguments[i]); + var doError = type === "error"; + var events2 = this._events; + if (events2 !== void 0) + doError = doError && events2.error === void 0; + else if (!doError) + return false; + if (doError) { + var er; + if (args.length > 0) + er = args[0]; + if (er instanceof Error) { + throw er; + } + var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : "")); + err.context = er; + throw err; + } + var handler = events2[type]; + if (handler === void 0) + return false; + if (typeof handler === "function") { + ReflectApply(handler, this, args); + } else { + var len = handler.length; + var listeners2 = arrayClone(handler, len); + for (var i = 0; i < len; ++i) + ReflectApply(listeners2[i], this, args); + } + return true; +}; +function _addListener(target, type, listener, prepend) { + var m; + var events2; + var existing; + checkListener(listener); + events2 = target._events; + if (events2 === void 0) { + events2 = target._events = /* @__PURE__ */ Object.create(null); + target._eventsCount = 0; + } else { + if (events2.newListener !== void 0) { + target.emit("newListener", type, listener.listener ? listener.listener : listener); + events2 = target._events; + } + existing = events2[type]; + } + if (existing === void 0) { + existing = events2[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === "function") { + existing = events2[type] = prepend ? [listener, existing] : [existing, listener]; + } else if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } + m = _getMaxListeners(target); + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true; + var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit"); + w.name = "MaxListenersExceededWarning"; + w.emitter = target; + w.type = type; + w.count = existing.length; + ProcessEmitWarning(w); + } + } + return target; +} +EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); +}; +EventEmitter.prototype.on = EventEmitter.prototype.addListener; +EventEmitter.prototype.prependListener = function prependListener(type, listener) { + return _addListener(this, type, listener, true); +}; +function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + if (arguments.length === 0) + return this.listener.call(this.target); + return this.listener.apply(this.target, arguments); + } +} +function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: void 0, target, type, listener }; + var wrapped = onceWrapper.bind(state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; +} +EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener); + this.on(type, _onceWrap(this, type, listener)); + return this; +}; +EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) { + checkListener(listener); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; +}; +EventEmitter.prototype.removeListener = function removeListener(type, listener) { + var list, events2, position, i, originalListener; + checkListener(listener); + events2 = this._events; + if (events2 === void 0) + return this; + list = events2[type]; + if (list === void 0) + return this; + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) + this._events = /* @__PURE__ */ Object.create(null); + else { + delete events2[type]; + if (events2.removeListener) + this.emit("removeListener", type, list.listener || listener); + } + } else if (typeof list !== "function") { + position = -1; + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } + } + if (position < 0) + return this; + if (position === 0) + list.shift(); + else { + spliceOne(list, position); + } + if (list.length === 1) + events2[type] = list[0]; + if (events2.removeListener !== void 0) + this.emit("removeListener", type, originalListener || listener); + } + return this; +}; +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { + var listeners2, events2, i; + events2 = this._events; + if (events2 === void 0) + return this; + if (events2.removeListener === void 0) { + if (arguments.length === 0) { + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + } else if (events2[type] !== void 0) { + if (--this._eventsCount === 0) + this._events = /* @__PURE__ */ Object.create(null); + else + delete events2[type]; + } + return this; + } + if (arguments.length === 0) { + var keys = Object.keys(events2); + var key; + for (i = 0; i < keys.length; ++i) { + key = keys[i]; + if (key === "removeListener") + continue; + this.removeAllListeners(key); + } + this.removeAllListeners("removeListener"); + this._events = /* @__PURE__ */ Object.create(null); + this._eventsCount = 0; + return this; + } + listeners2 = events2[type]; + if (typeof listeners2 === "function") { + this.removeListener(type, listeners2); + } else if (listeners2 !== void 0) { + for (i = listeners2.length - 1; i >= 0; i--) { + this.removeListener(type, listeners2[i]); + } + } + return this; +}; +function _listeners(target, type, unwrap) { + var events2 = target._events; + if (events2 === void 0) + return []; + var evlistener = events2[type]; + if (evlistener === void 0) + return []; + if (typeof evlistener === "function") + return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); +} +EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); +}; +EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); +}; +EventEmitter.listenerCount = function(emitter, type) { + if (typeof emitter.listenerCount === "function") { + return emitter.listenerCount(type); + } else { + return listenerCount.call(emitter, type); + } +}; +EventEmitter.prototype.listenerCount = listenerCount; +function listenerCount(type) { + var events2 = this._events; + if (events2 !== void 0) { + var evlistener = events2[type]; + if (typeof evlistener === "function") { + return 1; + } else if (evlistener !== void 0) { + return evlistener.length; + } + } + return 0; +} +EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; +}; +function arrayClone(arr, n) { + var copy = new Array(n); + for (var i = 0; i < n; ++i) + copy[i] = arr[i]; + return copy; +} +function spliceOne(list, index) { + for (; index + 1 < list.length; index++) + list[index] = list[index + 1]; + list.pop(); +} +function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; + } + return ret; +} +function once2(emitter, name) { + return new Promise(function(resolve, reject) { + function errorListener(err) { + emitter.removeListener(name, resolver); + reject(err); + } + function resolver() { + if (typeof emitter.removeListener === "function") { + emitter.removeListener("error", errorListener); + } + resolve([].slice.call(arguments)); + } + eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); + if (name !== "error") { + addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); + } + }); +} +function addErrorHandlerIfEventEmitter(emitter, handler, flags) { + if (typeof emitter.on === "function") { + eventTargetAgnosticAddListener(emitter, "error", handler, flags); + } +} +function eventTargetAgnosticAddListener(emitter, name, listener, flags) { + if (typeof emitter.on === "function") { + if (flags.once) { + emitter.once(name, listener); + } else { + emitter.on(name, listener); + } + } else if (typeof emitter.addEventListener === "function") { + emitter.addEventListener(name, function wrapListener(arg) { + if (flags.once) { + emitter.removeEventListener(name, wrapListener); + } + listener(arg); + }); + } else { + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); + } +} +class Env { + constructor(ua = globalThis.navigator.userAgent, options = {}) { + this.isIos = false; + this.isIphone = false; + this.isIpad = false; + this.isAndroid = false; + this.isAnroidPad = false; + this.isMac = false; + this.isWin = false; + this.isMqq = false; + this.isWechat = false; + this.isWeb = false; + this.isIphone = ua.indexOf("iPhone") >= 0; + this.isIpad = /(iPad).*OS\s([\d_]+)/.test(ua); + this.isIos = this.isIphone || this.isIpad; + this.isAndroid = ua.indexOf("Android") >= 0; + this.isAnroidPad = this.isAndroid && ua.indexOf("Mobile") < 0; + this.isMac = ua.indexOf("Macintosh") >= 0; + this.isWin = ua.indexOf("Windows") >= 0; + this.isMqq = /QQ\/([\d.]+)/.test(ua); + this.isWechat = ua.indexOf("MicroMessenger") >= 0 && ua.indexOf("wxwork") < 0; + this.isWeb = !this.isIos && !this.isAndroid && !/(WebOS|BlackBerry)/.test(ua); + Object.entries(options).forEach(([key, value]) => { + this[key] = value; + }); + } +} +const COMMON_EVENT_PREFIX = "magic:common:events:"; +const COMMON_METHOD_PREFIX = "magic:common:actions:"; +const CommonMethod = { + SHOW: "show", + HIDE: "hide", + SCROLL_TO_VIEW: "scrollIntoView", + SCROLL_TO_TOP: "scrollToTop" +}; +const DEFAULT_EVENTS = [{ label: "\u70B9\u51FB", value: `${COMMON_EVENT_PREFIX}click` }]; +const getCommonEventName = (commonEventName, nodeId) => { + const returnName = `${commonEventName}:${nodeId}`; + if (commonEventName.startsWith(COMMON_EVENT_PREFIX)) + return returnName; + return `${COMMON_EVENT_PREFIX}${returnName}`; +}; +const isCommonMethod = (methodName) => methodName.startsWith(COMMON_METHOD_PREFIX); +const getDirectComponent = (element, app) => { + var _a; + if (!element) { + return false; + } + if (!element.id) { + return getDirectComponent(element.parentElement, app); + } + const node = (_a = app.page) == null ? void 0 : _a.getNode(element.id); + if (!node) { + return false; + } + return node; +}; +const commonClickEventHandler = (app, eventName, e) => { + const node = getDirectComponent(e.target, app); + if (node) { + const { instance, data } = node; + app.emit(getCommonEventName(eventName, data.id), instance); + } +}; +const bindCommonEventListener = (app) => { + window.document.body.addEventListener("click", (e) => { + commonClickEventHandler(app, "click", e); + }); + window.document.body.addEventListener("click", (e) => { + commonClickEventHandler(app, "click:capture", e); + }, true); +}; +const triggerCommonMethod = (methodName, node) => { + const { instance } = node; + switch (methodName.replace(COMMON_METHOD_PREFIX, "")) { + case CommonMethod.SHOW: + instance.show(); + break; + case CommonMethod.HIDE: + instance.hide(); + break; + case CommonMethod.SCROLL_TO_VIEW: + instance.$el.scrollIntoView({ behavior: "smooth" }); + break; + case CommonMethod.SCROLL_TO_TOP: + window.scrollTo({ top: 0, behavior: "smooth" }); + break; + } +}; +class Node extends events.exports.EventEmitter { + constructor(config) { + super(); + const { events: events2 } = config; + this.data = config; + this.events = events2; + this.listenLifeSafe(); + this.once("destroy", () => { + this.instance = null; + if (typeof this.data.destroy === "function") { + this.data.destroy(this); + } + this.listenLifeSafe(); + }); + } + listenLifeSafe() { + this.once("created", (instance) => { + this.instance = instance; + if (typeof this.data.created === "function") { + this.data.created(this); + } + }); + this.once("mounted", (instance) => { + this.instance = instance; + if (typeof this.data.mounted === "function") { + this.data.mounted(this); + } + }); + } +} +class Page extends Node { + constructor(options) { + super(options.config); + this.nodes = /* @__PURE__ */ new Map(); + this.setNode(options.config.id, this); + this.initNode(options.config); + } + initNode(config) { + var _a; + this.setNode(config.id, new Node(config)); + (_a = config.items) == null ? void 0 : _a.forEach((element) => { + this.initNode(element); + }); + } + getNode(id) { + return this.nodes.get(id); + } + setNode(id, node) { + this.nodes.set(id, node); + } + deleteNode(id) { + this.nodes.delete(id); + } +} +const style2Obj = (style) => { + if (typeof style !== "string") { + return style; + } + const obj = {}; + style.split(";").forEach((element) => { + if (!element) { + return; + } + const items = element.split(":"); + let key = items.shift(); + let value = items.join(":"); + if (!key) + return; + key = key.replace(/^\s*/, "").replace(/\s*$/, ""); + value = value.replace(/^\s*/, "").replace(/\s*$/, ""); + key = key.split("-").map((v, i) => i > 0 ? `${v[0].toUpperCase()}${v.substr(1)}` : v).join(""); + obj[key] = value; + }); + return obj; +}; +const fillBackgroundImage = (value) => { + if (value && !/^url/.test(value) && !/^linear-gradient/.test(value)) { + return `url(${value})`; + } + return value; +}; +class App extends events.exports.EventEmitter { + constructor(options) { + super(); + this.pages = /* @__PURE__ */ new Map(); + this.platform = "mobile"; + this.jsEngine = "browser"; + this.components = /* @__PURE__ */ new Map(); + this.env = new Env(options.ua); + options.platform && (this.platform = options.platform); + options.jsEngine && (this.jsEngine = options.jsEngine); + if (this.platform === "mobile" || this.platform === "editor") { + const calcFontsize = () => { + let { width } = document.documentElement.getBoundingClientRect(); + width = Math.min(800, width); + const fontSize = width / 3.75; + document.documentElement.style.fontSize = `${fontSize}px`; + }; + calcFontsize(); + document.body.style.fontSize = "14px"; + globalThis.addEventListener("resize", calcFontsize); + } + if (options.transformStyle) { + this.transformStyle = options.transformStyle; + } + options.config && this.setConfig(options.config, options.curPage); + bindCommonEventListener(this); + } + transformStyle(style) { + if (!style) { + return {}; + } + let styleObj = {}; + const results = {}; + if (typeof style === "string") { + styleObj = style2Obj(style); + } else { + styleObj = __spreadValues({}, style); + } + const whiteList = ["zIndex", "opacity", "fontWeight"]; + Object.entries(styleObj).forEach(([key, value]) => { + if (key === "backgroundImage") { + value && (results[key] = fillBackgroundImage(value)); + } else if (!whiteList.includes(key) && value && /^[-]?[0-9]*[.]?[0-9]*$/.test(value)) { + results[key] = `${value / 100}rem`; + } else { + results[key] = value; + } + }); + return results; + } + setConfig(config, curPage) { + var _a, _b, _c; + this.pages = /* @__PURE__ */ new Map(); + (_a = config.items) == null ? void 0 : _a.forEach((page) => { + this.pages.set(page.id, new Page({ + config: page + })); + }); + this.setPage(curPage || ((_c = (_b = this.page) == null ? void 0 : _b.data) == null ? void 0 : _c.id)); + } + setPage(id) { + let page; + if (id) { + page = this.pages.get(id); + } + if (!page) { + page = this.pages.get(this.pages.keys().next().value); + } + this.page = page; + if (this.platform !== "magic") { + this.bindEvents(); + } + } + registerComponent(type, Component) { + this.components.set(type, Component); + } + unregisterComponent(type) { + this.components.delete(type); + } + resolveComponent(type) { + return this.components.get(type); + } + bindEvents() { + var _a; + if (!this.page) + return; + this.removeAllListeners(); + for (const [, value] of this.page.nodes) { + (_a = value.events) == null ? void 0 : _a.forEach((event) => { + let { name: eventName } = event; + if (DEFAULT_EVENTS.findIndex((defaultEvent) => defaultEvent.value === eventName) > -1) { + eventName = getCommonEventName(eventName, `${value.data.id}`); + } + this.on(eventName, (fromCpt, ...args) => { + var _a2; + if (!this.page) + throw new Error("\u5F53\u524D\u6CA1\u6709\u9875\u9762"); + const toNode = this.page.getNode(event.to); + if (!toNode) + throw `ID\u4E3A${event.to}\u7684\u7EC4\u4EF6\u4E0D\u5B58\u5728`; + const { method: methodName } = event; + if (isCommonMethod(methodName)) { + return triggerCommonMethod(methodName, toNode); + } + if (typeof ((_a2 = toNode.instance) == null ? void 0 : _a2[methodName]) === "function") { + toNode.instance[methodName](fromCpt, ...args); + } + }); + }); + } + } + destroy() { + this.removeAllListeners(); + this.pages.clear(); + } +} +var resetcss = ""; +export { App as A }; +//# sourceMappingURL=resetcss.e39ac995.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js.map b/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js.map new file mode 100644 index 00000000..fe42d22b --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/resetcss.e39ac995.js.map @@ -0,0 +1 @@ +{"version":3,"file":"resetcss.e39ac995.js","sources":["../../vite/modulepreload-polyfill","../../../../node_modules/events/events.js","../../../../packages/core/src/Env.ts","../../../../packages/core/src/events.ts","../../../../packages/core/src/Node.ts","../../../../packages/core/src/Page.ts","../../../../packages/core/src/utils.ts","../../../../packages/core/src/App.ts"],"sourcesContent":["const p = function polyfill() {\n const relList = document.createElement('link').relList;\n if (relList && relList.supports && relList.supports('modulepreload')) {\n return;\n }\n for (const link of document.querySelectorAll('link[rel=\"modulepreload\"]')) {\n processPreload(link);\n }\n new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type !== 'childList') {\n continue;\n }\n for (const node of mutation.addedNodes) {\n if (node.tagName === 'LINK' && node.rel === 'modulepreload')\n processPreload(node);\n }\n }\n }).observe(document, { childList: true, subtree: true });\n function getFetchOpts(script) {\n const fetchOpts = {};\n if (script.integrity)\n fetchOpts.integrity = script.integrity;\n if (script.referrerpolicy)\n fetchOpts.referrerPolicy = script.referrerpolicy;\n if (script.crossorigin === 'use-credentials')\n fetchOpts.credentials = 'include';\n else if (script.crossorigin === 'anonymous')\n fetchOpts.credentials = 'omit';\n else\n fetchOpts.credentials = 'same-origin';\n return fetchOpts;\n }\n function processPreload(link) {\n if (link.ep)\n // ep marker = processed\n return;\n link.ep = true;\n // prepopulate the load record\n const fetchOpts = getFetchOpts(link);\n fetch(link.href, fetchOpts);\n }\n};__VITE_IS_MODERN__&&p();","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass Env {\n isIos = false;\n isIphone = false;\n isIpad = false;\n isAndroid = false;\n isAnroidPad = false;\n isMac = false;\n isWin = false;\n isMqq = false;\n isWechat = false;\n isWeb = false;\n\n constructor(ua = globalThis.navigator.userAgent, options: Record = {}) {\n this.isIphone = ua.indexOf('iPhone') >= 0;\n\n this.isIpad = /(iPad).*OS\\s([\\d_]+)/.test(ua);\n\n this.isIos = this.isIphone || this.isIpad;\n\n this.isAndroid = ua.indexOf('Android') >= 0;\n\n this.isAnroidPad = this.isAndroid && ua.indexOf('Mobile') < 0;\n\n this.isMac = ua.indexOf('Macintosh') >= 0;\n\n this.isWin = ua.indexOf('Windows') >= 0;\n\n this.isMqq = /QQ\\/([\\d.]+)/.test(ua);\n\n this.isWechat = ua.indexOf('MicroMessenger') >= 0 && ua.indexOf('wxwork') < 0;\n\n this.isWeb = !this.isIos && !this.isAndroid && !/(WebOS|BlackBerry)/.test(ua);\n\n Object.entries(options).forEach(([key, value]) => {\n (this as any)[key] = value;\n });\n }\n}\n\nexport default Env;\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * 通用的事件处理\n */\n\nimport App from './App';\nimport Node from './Node';\n\nexport interface EventOption {\n label: string;\n value: string;\n}\n\nconst COMMON_EVENT_PREFIX = 'magic:common:events:';\nconst COMMON_METHOD_PREFIX = 'magic:common:actions:';\nconst CommonMethod = {\n SHOW: 'show',\n HIDE: 'hide',\n SCROLL_TO_VIEW: 'scrollIntoView',\n SCROLL_TO_TOP: 'scrollToTop',\n};\n\nexport const DEFAULT_EVENTS: EventOption[] = [{ label: '点击', value: `${COMMON_EVENT_PREFIX}click` }];\n\nexport const DEFAULT_METHODS: EventOption[] = [\n { label: '显示', value: `${COMMON_METHOD_PREFIX}${CommonMethod.SHOW}` },\n { label: '隐藏', value: `${COMMON_METHOD_PREFIX}${CommonMethod.HIDE}` },\n { label: '滚动到该组件', value: `${COMMON_METHOD_PREFIX}${CommonMethod.SCROLL_TO_VIEW}` },\n { label: '回到顶部', value: `${COMMON_METHOD_PREFIX}${CommonMethod.SCROLL_TO_TOP}` },\n];\n\nexport const getCommonEventName = (commonEventName: string, nodeId: string | number) => {\n const returnName = `${commonEventName}:${nodeId}`;\n\n if (commonEventName.startsWith(COMMON_EVENT_PREFIX)) return returnName;\n\n return `${COMMON_EVENT_PREFIX}${returnName}`;\n};\n\nexport const isCommonMethod = (methodName: string) => methodName.startsWith(COMMON_METHOD_PREFIX);\n\n// 点击在组件内的某个元素上,需要向上寻找到当前组件\nconst getDirectComponent = (element: HTMLElement | null, app: App): Node | Boolean => {\n if (!element) {\n return false;\n }\n\n if (!element.id) {\n return getDirectComponent(element.parentElement, app);\n }\n\n const node = app.page?.getNode(element.id);\n if (!node) {\n return false;\n }\n\n return node;\n};\n\nconst commonClickEventHandler = (app: App, eventName: string, e: any) => {\n const node = getDirectComponent(e.target, app);\n\n if (node) {\n const { instance, data } = node as Node;\n app.emit(getCommonEventName(eventName, data.id), instance);\n }\n};\n\nexport const bindCommonEventListener = (app: App) => {\n window.document.body.addEventListener('click', (e: any) => {\n commonClickEventHandler(app, 'click', e);\n });\n\n window.document.body.addEventListener(\n 'click',\n (e: any) => {\n commonClickEventHandler(app, 'click:capture', e);\n },\n true,\n );\n};\n\nexport const triggerCommonMethod = (methodName: string, node: Node) => {\n const { instance } = node;\n\n switch (methodName.replace(COMMON_METHOD_PREFIX, '')) {\n case CommonMethod.SHOW:\n instance.show();\n break;\n\n case CommonMethod.HIDE:\n instance.hide();\n break;\n\n case CommonMethod.SCROLL_TO_VIEW:\n instance.$el.scrollIntoView({ behavior: 'smooth' });\n break;\n\n case CommonMethod.SCROLL_TO_TOP:\n window.scrollTo({ top: 0, behavior: 'smooth' });\n break;\n\n default:\n break;\n }\n};\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'events';\n\nimport { EventItemConfig, MComponent, MContainer, MPage } from '@tmagic/schema';\n\nclass Node extends EventEmitter {\n data: MComponent | MContainer | MPage;\n style?: {\n [key: string]: any;\n };\n events?: EventItemConfig[];\n instance?: any;\n\n constructor(config: MComponent | MContainer) {\n super();\n\n const { events } = config;\n this.data = config;\n this.events = events;\n\n this.listenLifeSafe();\n\n this.once('destroy', () => {\n this.instance = null;\n if (typeof this.data.destroy === 'function') {\n this.data.destroy(this);\n }\n\n this.listenLifeSafe();\n });\n }\n\n listenLifeSafe() {\n this.once('created', (instance: any) => {\n this.instance = instance;\n if (typeof this.data.created === 'function') {\n this.data.created(this);\n }\n });\n\n this.once('mounted', (instance: any) => {\n this.instance = instance;\n if (typeof this.data.mounted === 'function') {\n this.data.mounted(this);\n }\n });\n }\n}\n\nexport default Node;\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Id, MComponent, MContainer, MPage } from '@tmagic/schema';\n\nimport Node from './Node';\ninterface ConfigOptions {\n config: MPage;\n}\n\nclass Page extends Node {\n nodes = new Map();\n\n constructor(options: ConfigOptions) {\n super(options.config);\n\n this.setNode(options.config.id, this);\n this.initNode(options.config);\n }\n\n initNode(config: MComponent | MContainer) {\n this.setNode(config.id, new Node(config));\n\n config.items?.forEach((element: MComponent | MContainer) => {\n this.initNode(element);\n });\n }\n\n getNode(id: Id) {\n return this.nodes.get(id);\n }\n\n setNode(id: Id, node: Node) {\n this.nodes.set(id, node);\n }\n\n deleteNode(id: Id) {\n this.nodes.delete(id);\n }\n}\n\nexport default Page;\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const style2Obj = (style: string) => {\n if (typeof style !== 'string') {\n return style;\n }\n\n const obj: Record = {};\n style.split(';').forEach((element) => {\n if (!element) {\n return;\n }\n\n const items = element.split(':');\n\n let key = items.shift();\n let value = items.join(':');\n\n if (!key) return;\n\n key = key.replace(/^\\s*/, '').replace(/\\s*$/, '');\n value = value.replace(/^\\s*/, '').replace(/\\s*$/, '');\n\n key = key\n .split('-')\n .map((v, i) => (i > 0 ? `${v[0].toUpperCase()}${v.substr(1)}` : v))\n .join('');\n\n obj[key] = value;\n });\n return obj;\n};\n\nexport const fillBackgroundImage = (value: string) => {\n if (value && !/^url/.test(value) && !/^linear-gradient/.test(value)) {\n return `url(${value})`;\n }\n return value;\n};\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'events';\n\nimport { Id, MApp } from '@tmagic/schema';\n\nimport Env from './Env';\nimport {\n bindCommonEventListener,\n DEFAULT_EVENTS,\n getCommonEventName,\n isCommonMethod,\n triggerCommonMethod,\n} from './events';\nimport Page from './Page';\nimport { fillBackgroundImage, style2Obj } from './utils';\n\ninterface AppOptionsConfig {\n ua?: string;\n config?: MApp;\n platform?: 'editor' | 'mobile' | 'tv' | 'pc';\n jsEngine?: 'browser' | 'hippy';\n curPage?: Id;\n transformStyle?: (style: Record) => Record;\n}\n\nclass App extends EventEmitter {\n env;\n\n pages = new Map();\n\n page: Page | undefined;\n\n platform = 'mobile';\n jsEngine = 'browser';\n\n components = new Map();\n\n constructor(options: AppOptionsConfig) {\n super();\n\n this.env = new Env(options.ua);\n options.platform && (this.platform = options.platform);\n options.jsEngine && (this.jsEngine = options.jsEngine);\n\n // 根据屏幕大小计算出跟节点的font-size,用于rem样式的适配\n if (this.platform === 'mobile' || this.platform === 'editor') {\n const calcFontsize = () => {\n let { width } = document.documentElement.getBoundingClientRect();\n width = Math.min(800, width);\n const fontSize = width / 3.75;\n document.documentElement.style.fontSize = `${fontSize}px`;\n };\n\n calcFontsize();\n\n document.body.style.fontSize = '14px';\n\n globalThis.addEventListener('resize', calcFontsize);\n }\n\n if (options.transformStyle) {\n this.transformStyle = options.transformStyle;\n }\n\n options.config && this.setConfig(options.config, options.curPage);\n\n bindCommonEventListener(this);\n }\n\n /**\n * 将dsl中的style配置转换成css,主要是将数子转成rem为单位的样式值,例如100将被转换成1rem\n * @param style Object\n * @returns Object\n */\n transformStyle(style: Record | string) {\n if (!style) {\n return {};\n }\n\n let styleObj: Record = {};\n const results: Record = {};\n\n if (typeof style === 'string') {\n styleObj = style2Obj(style);\n } else {\n styleObj = { ...style };\n }\n\n const whiteList = ['zIndex', 'opacity', 'fontWeight'];\n Object.entries(styleObj).forEach(([key, value]) => {\n if (key === 'backgroundImage') {\n value && (results[key] = fillBackgroundImage(value));\n } else if (!whiteList.includes(key) && value && /^[-]?[0-9]*[.]?[0-9]*$/.test(value)) {\n results[key] = `${value / 100}rem`;\n } else {\n results[key] = value;\n }\n });\n\n return results;\n }\n\n /**\n * 设置dsl\n * @param config dsl跟节点\n * @param curPage 当前页面id\n */\n setConfig(config: MApp, curPage?: Id) {\n this.pages = new Map();\n\n config.items?.forEach((page) => {\n this.pages.set(\n page.id,\n new Page({\n config: page,\n }),\n );\n });\n\n this.setPage(curPage || this.page?.data?.id);\n }\n\n setPage(id?: Id) {\n let page;\n\n if (id) {\n page = this.pages.get(id);\n }\n\n if (!page) {\n page = this.pages.get(this.pages.keys().next().value);\n }\n\n this.page = page;\n\n if (this.platform !== 'magic') {\n this.bindEvents();\n }\n }\n\n registerComponent(type: string, Component: any) {\n this.components.set(type, Component);\n }\n\n unregisterComponent(type: string) {\n this.components.delete(type);\n }\n\n resolveComponent(type: string) {\n return this.components.get(type);\n }\n\n bindEvents() {\n if (!this.page) return;\n\n this.removeAllListeners();\n\n for (const [, value] of this.page.nodes) {\n value.events?.forEach((event) => {\n let { name: eventName } = event;\n if (DEFAULT_EVENTS.findIndex((defaultEvent) => defaultEvent.value === eventName) > -1) {\n // common 事件名通过 node id 避免重复触发\n eventName = getCommonEventName(eventName, `${value.data.id}`);\n }\n\n this.on(eventName, (fromCpt, ...args) => {\n if (!this.page) throw new Error('当前没有页面');\n\n const toNode = this.page.getNode(event.to);\n if (!toNode) throw `ID为${event.to}的组件不存在`;\n\n const { method: methodName } = event;\n if (isCommonMethod(methodName)) {\n return triggerCommonMethod(methodName, toNode);\n }\n\n if (typeof toNode.instance?.[methodName] === 'function') {\n toNode.instance[methodName](fromCpt, ...args);\n }\n });\n });\n }\n }\n\n destroy() {\n this.removeAllListeners();\n this.pages.clear();\n }\n}\n\nexport default App;\n"],"names":["eventsModule","events","EventEmitter"],"mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,IAAI,oBAAoB;AAC1B,QAAM,UAAU,SAAS,cAAc,MAAM,EAAE;AAC/C,MAAI,WAAW,QAAQ,YAAY,QAAQ,SAAS,eAAe,GAAG;AAClE;AAAA,EACH;AACD,aAAW,QAAQ,SAAS,iBAAiB,2BAA2B,GAAG;AACvE,mBAAe,IAAI;AAAA,EACtB;AACD,MAAI,iBAAiB,CAAC,cAAc;AAChC,eAAW,YAAY,WAAW;AAC9B,UAAI,SAAS,SAAS,aAAa;AAC/B;AAAA,MACH;AACD,iBAAW,QAAQ,SAAS,YAAY;AACpC,YAAI,KAAK,YAAY,UAAU,KAAK,QAAQ;AACxC,yBAAe,IAAI;AAAA,MAC1B;AAAA,IACJ;AAAA,EACT,CAAK,EAAE,QAAQ,UAAU,EAAE,WAAW,MAAM,SAAS,KAAI,CAAE;AACvD,wBAAsB,QAAQ;AAC1B,UAAM,YAAY,CAAA;AAClB,QAAI,OAAO;AACP,gBAAU,YAAY,OAAO;AACjC,QAAI,OAAO;AACP,gBAAU,iBAAiB,OAAO;AACtC,QAAI,OAAO,gBAAgB;AACvB,gBAAU,cAAc;AAAA,aACnB,OAAO,gBAAgB;AAC5B,gBAAU,cAAc;AAAA;AAExB,gBAAU,cAAc;AAC5B,WAAO;AAAA,EACV;AACD,0BAAwB,MAAM;AAC1B,QAAI,KAAK;AAEL;AACJ,SAAK,KAAK;AAEV,UAAM,YAAY,aAAa,IAAI;AACnC,UAAM,KAAK,MAAM,SAAS;AAAA,EAC7B;AACL;AAAE,AAAoB,EAAG;;ACnBzB,IAAI,IAAI,OAAO,YAAY,WAAW,UAAU;AAChD,IAAI,eAAe,KAAK,OAAO,EAAE,UAAU,aACvC,EAAE,QACF,uBAAsB,QAAQ,UAAU,MAAM;AAC9C,SAAO,SAAS,UAAU,MAAM,KAAK,QAAQ,UAAU,IAAI;AAC5D;AAEH,IAAI;AACJ,IAAI,KAAK,OAAO,EAAE,YAAY,YAAY;AACxC,mBAAiB,EAAE;AACrB,WAAW,OAAO,uBAAuB;AACvC,mBAAiB,yBAAwB,QAAQ;AAC/C,WAAO,OAAO,oBAAoB,MAAM,EACrC,OAAO,OAAO,sBAAsB,MAAM,CAAC;AAAA,EAClD;AACA,OAAO;AACL,mBAAiB,yBAAwB,QAAQ;AAC/C,WAAO,OAAO,oBAAoB,MAAM;AAAA,EAC5C;AACA;AAEA,4BAA4B,SAAS;AACnC,MAAI,WAAW,QAAQ;AAAM,YAAQ,KAAK,OAAO;AACnD;AAEA,IAAI,cAAc,OAAO,SAAS,sBAAqB,OAAO;AAC5D,SAAO,UAAU;AACnB;AAEA,wBAAwB;AACtB,eAAa,KAAK,KAAK,IAAI;AAC7B;AACAA,OAAc,UAAG;AACEC,OAAA,QAAA,OAAG;AAGtB,aAAa,eAAe;AAE5B,aAAa,UAAU,UAAU;AACjC,aAAa,UAAU,eAAe;AACtC,aAAa,UAAU,gBAAgB;AAIvC,IAAI,sBAAsB;AAE1B,uBAAuB,UAAU;AAC/B,MAAI,OAAO,aAAa,YAAY;AAClC,UAAM,IAAI,UAAU,qEAAqE,OAAO,QAAQ;AAAA,EACzG;AACH;AAEA,OAAO,eAAe,cAAc,uBAAuB;AAAA,EACzD,YAAY;AAAA,EACZ,KAAK,WAAW;AACd,WAAO;AAAA,EACR;AAAA,EACD,KAAK,SAAS,KAAK;AACjB,QAAI,OAAO,QAAQ,YAAY,MAAM,KAAK,YAAY,GAAG,GAAG;AAC1D,YAAM,IAAI,WAAW,oGAAoG,MAAM,GAAG;AAAA,IACnI;AACD,0BAAsB;AAAA,EACvB;AACH,CAAC;AAED,aAAa,OAAO,WAAW;AAE7B,MAAI,KAAK,YAAY,UACjB,KAAK,YAAY,OAAO,eAAe,IAAI,EAAE,SAAS;AACxD,SAAK,UAAU,uBAAO,OAAO,IAAI;AACjC,SAAK,eAAe;AAAA,EACrB;AAED,OAAK,gBAAgB,KAAK,iBAAiB;AAC7C;AAIA,aAAa,UAAU,kBAAkB,yBAAyB,GAAG;AACnE,MAAI,OAAO,MAAM,YAAY,IAAI,KAAK,YAAY,CAAC,GAAG;AACpD,UAAM,IAAI,WAAW,kFAAkF,IAAI,GAAG;AAAA,EAC/G;AACD,OAAK,gBAAgB;AACrB,SAAO;AACT;AAEA,0BAA0B,MAAM;AAC9B,MAAI,KAAK,kBAAkB;AACzB,WAAO,aAAa;AACtB,SAAO,KAAK;AACd;AAEA,aAAa,UAAU,kBAAkB,2BAA2B;AAClE,SAAO,iBAAiB,IAAI;AAC9B;AAEA,aAAa,UAAU,OAAO,cAAc,MAAM;AAChD,MAAI,OAAO,CAAA;AACX,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ;AAAK,SAAK,KAAK,UAAU,EAAE;AACjE,MAAI,UAAW,SAAS;AAExB,MAAI,UAAS,KAAK;AAClB,MAAI,YAAW;AACb,cAAW,WAAW,QAAO,UAAU;AAAA,WAChC,CAAC;AACR,WAAO;AAGT,MAAI,SAAS;AACX,QAAI;AACJ,QAAI,KAAK,SAAS;AAChB,WAAK,KAAK;AACZ,QAAI,cAAc,OAAO;AAGvB,YAAM;AAAA,IACP;AAED,QAAI,MAAM,IAAI,MAAM,qBAAsB,MAAK,OAAO,GAAG,UAAU,MAAM,GAAG;AAC5E,QAAI,UAAU;AACd,UAAM;AAAA,EACP;AAED,MAAI,UAAU,QAAO;AAErB,MAAI,YAAY;AACd,WAAO;AAET,MAAI,OAAO,YAAY,YAAY;AACjC,iBAAa,SAAS,MAAM,IAAI;AAAA,EACpC,OAAS;AACL,QAAI,MAAM,QAAQ;AAClB,QAAI,aAAY,WAAW,SAAS,GAAG;AACvC,aAAS,IAAI,GAAG,IAAI,KAAK,EAAE;AACzB,mBAAa,WAAU,IAAI,MAAM,IAAI;AAAA,EACxC;AAED,SAAO;AACT;AAEA,sBAAsB,QAAQ,MAAM,UAAU,SAAS;AACrD,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,gBAAc,QAAQ;AAEtB,YAAS,OAAO;AAChB,MAAI,YAAW,QAAW;AACxB,cAAS,OAAO,UAAU,uBAAO,OAAO,IAAI;AAC5C,WAAO,eAAe;AAAA,EAC1B,OAAS;AAGL,QAAI,QAAO,gBAAgB,QAAW;AACpC,aAAO,KAAK,eAAe,MACf,SAAS,WAAW,SAAS,WAAW,QAAQ;AAI5D,gBAAS,OAAO;AAAA,IACjB;AACD,eAAW,QAAO;AAAA,EACnB;AAED,MAAI,aAAa,QAAW;AAE1B,eAAW,QAAO,QAAQ;AAC1B,MAAE,OAAO;AAAA,EACb,OAAS;AACL,QAAI,OAAO,aAAa,YAAY;AAElC,iBAAW,QAAO,QAChB,UAAU,CAAC,UAAU,QAAQ,IAAI,CAAC,UAAU,QAAQ;AAAA,IAEvD,WAAU,SAAS;AAClB,eAAS,QAAQ,QAAQ;AAAA,IAC/B,OAAW;AACL,eAAS,KAAK,QAAQ;AAAA,IACvB;AAGD,QAAI,iBAAiB,MAAM;AAC3B,QAAI,IAAI,KAAK,SAAS,SAAS,KAAK,CAAC,SAAS,QAAQ;AACpD,eAAS,SAAS;AAGlB,UAAI,IAAI,IAAI,MAAM,iDACE,SAAS,SAAS,MAAM,OAAO,IAAI,IAAI,mEAEvB;AACpC,QAAE,OAAO;AACT,QAAE,UAAU;AACZ,QAAE,OAAO;AACT,QAAE,QAAQ,SAAS;AACnB,yBAAmB,CAAC;AAAA,IACrB;AAAA,EACF;AAED,SAAO;AACT;AAEA,aAAa,UAAU,cAAc,qBAAqB,MAAM,UAAU;AACxE,SAAO,aAAa,MAAM,MAAM,UAAU,KAAK;AACjD;AAEA,aAAa,UAAU,KAAK,aAAa,UAAU;AAEnD,aAAa,UAAU,kBACnB,yBAAyB,MAAM,UAAU;AACvC,SAAO,aAAa,MAAM,MAAM,UAAU,IAAI;AACpD;AAEA,uBAAuB;AACrB,MAAI,CAAC,KAAK,OAAO;AACf,SAAK,OAAO,eAAe,KAAK,MAAM,KAAK,MAAM;AACjD,SAAK,QAAQ;AACb,QAAI,UAAU,WAAW;AACvB,aAAO,KAAK,SAAS,KAAK,KAAK,MAAM;AACvC,WAAO,KAAK,SAAS,MAAM,KAAK,QAAQ,SAAS;AAAA,EAClD;AACH;AAEA,mBAAmB,QAAQ,MAAM,UAAU;AACzC,MAAI,QAAQ,EAAE,OAAO,OAAO,QAAQ,QAAW,QAAgB,MAAY,SAAkB;AAC7F,MAAI,UAAU,YAAY,KAAK,KAAK;AACpC,UAAQ,WAAW;AACnB,QAAM,SAAS;AACf,SAAO;AACT;AAEA,aAAa,UAAU,OAAO,cAAc,MAAM,UAAU;AAC1D,gBAAc,QAAQ;AACtB,OAAK,GAAG,MAAM,UAAU,MAAM,MAAM,QAAQ,CAAC;AAC7C,SAAO;AACT;AAEA,aAAa,UAAU,sBACnB,6BAA6B,MAAM,UAAU;AAC3C,gBAAc,QAAQ;AACtB,OAAK,gBAAgB,MAAM,UAAU,MAAM,MAAM,QAAQ,CAAC;AAC1D,SAAO;AACb;AAGA,aAAa,UAAU,iBACnB,wBAAwB,MAAM,UAAU;AACtC,MAAI,MAAM,SAAQ,UAAU,GAAG;AAE/B,gBAAc,QAAQ;AAEtB,YAAS,KAAK;AACd,MAAI,YAAW;AACb,WAAO;AAET,SAAO,QAAO;AACd,MAAI,SAAS;AACX,WAAO;AAET,MAAI,SAAS,YAAY,KAAK,aAAa,UAAU;AACnD,QAAI,EAAE,KAAK,iBAAiB;AAC1B,WAAK,UAAU,uBAAO,OAAO,IAAI;AAAA,SAC9B;AACH,aAAO,QAAO;AACd,UAAI,QAAO;AACT,aAAK,KAAK,kBAAkB,MAAM,KAAK,YAAY,QAAQ;AAAA,IAC9D;AAAA,EACT,WAAiB,OAAO,SAAS,YAAY;AACrC,eAAW;AAEX,SAAK,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;AACrC,UAAI,KAAK,OAAO,YAAY,KAAK,GAAG,aAAa,UAAU;AACzD,2BAAmB,KAAK,GAAG;AAC3B,mBAAW;AACX;AAAA,MACD;AAAA,IACF;AAED,QAAI,WAAW;AACb,aAAO;AAET,QAAI,aAAa;AACf,WAAK,MAAK;AAAA,SACP;AACH,gBAAU,MAAM,QAAQ;AAAA,IACzB;AAED,QAAI,KAAK,WAAW;AAClB,cAAO,QAAQ,KAAK;AAEtB,QAAI,QAAO,mBAAmB;AAC5B,WAAK,KAAK,kBAAkB,MAAM,oBAAoB,QAAQ;AAAA,EACjE;AAED,SAAO;AACb;AAEA,aAAa,UAAU,MAAM,aAAa,UAAU;AAEpD,aAAa,UAAU,qBACnB,4BAA4B,MAAM;AAChC,MAAI,YAAW,SAAQ;AAEvB,YAAS,KAAK;AACd,MAAI,YAAW;AACb,WAAO;AAGT,MAAI,QAAO,mBAAmB,QAAW;AACvC,QAAI,UAAU,WAAW,GAAG;AAC1B,WAAK,UAAU,uBAAO,OAAO,IAAI;AACjC,WAAK,eAAe;AAAA,IACrB,WAAU,QAAO,UAAU,QAAW;AACrC,UAAI,EAAE,KAAK,iBAAiB;AAC1B,aAAK,UAAU,uBAAO,OAAO,IAAI;AAAA;AAEjC,eAAO,QAAO;AAAA,IACjB;AACD,WAAO;AAAA,EACR;AAGD,MAAI,UAAU,WAAW,GAAG;AAC1B,QAAI,OAAO,OAAO,KAAK,OAAM;AAC7B,QAAI;AACJ,SAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AAChC,YAAM,KAAK;AACX,UAAI,QAAQ;AAAkB;AAC9B,WAAK,mBAAmB,GAAG;AAAA,IAC5B;AACD,SAAK,mBAAmB,gBAAgB;AACxC,SAAK,UAAU,uBAAO,OAAO,IAAI;AACjC,SAAK,eAAe;AACpB,WAAO;AAAA,EACR;AAED,eAAY,QAAO;AAEnB,MAAI,OAAO,eAAc,YAAY;AACnC,SAAK,eAAe,MAAM,UAAS;AAAA,EAC3C,WAAiB,eAAc,QAAW;AAElC,SAAK,IAAI,WAAU,SAAS,GAAG,KAAK,GAAG,KAAK;AAC1C,WAAK,eAAe,MAAM,WAAU,EAAE;AAAA,IACvC;AAAA,EACF;AAED,SAAO;AACb;AAEA,oBAAoB,QAAQ,MAAM,QAAQ;AACxC,MAAI,UAAS,OAAO;AAEpB,MAAI,YAAW;AACb,WAAO;AAET,MAAI,aAAa,QAAO;AACxB,MAAI,eAAe;AACjB,WAAO;AAET,MAAI,OAAO,eAAe;AACxB,WAAO,SAAS,CAAC,WAAW,YAAY,UAAU,IAAI,CAAC,UAAU;AAEnE,SAAO,SACL,gBAAgB,UAAU,IAAI,WAAW,YAAY,WAAW,MAAM;AAC1E;AAEA,aAAa,UAAU,YAAY,mBAAmB,MAAM;AAC1D,SAAO,WAAW,MAAM,MAAM,IAAI;AACpC;AAEA,aAAa,UAAU,eAAe,sBAAsB,MAAM;AAChE,SAAO,WAAW,MAAM,MAAM,KAAK;AACrC;AAEA,aAAa,gBAAgB,SAAS,SAAS,MAAM;AACnD,MAAI,OAAO,QAAQ,kBAAkB,YAAY;AAC/C,WAAO,QAAQ,cAAc,IAAI;AAAA,EACrC,OAAS;AACL,WAAO,cAAc,KAAK,SAAS,IAAI;AAAA,EACxC;AACH;AAEA,aAAa,UAAU,gBAAgB;AACvC,uBAAuB,MAAM;AAC3B,MAAI,UAAS,KAAK;AAElB,MAAI,YAAW,QAAW;AACxB,QAAI,aAAa,QAAO;AAExB,QAAI,OAAO,eAAe,YAAY;AACpC,aAAO;AAAA,IACb,WAAe,eAAe,QAAW;AACnC,aAAO,WAAW;AAAA,IACnB;AAAA,EACF;AAED,SAAO;AACT;AAEA,aAAa,UAAU,aAAa,sBAAsB;AACxD,SAAO,KAAK,eAAe,IAAI,eAAe,KAAK,OAAO,IAAI;AAChE;AAEA,oBAAoB,KAAK,GAAG;AAC1B,MAAI,OAAO,IAAI,MAAM,CAAC;AACtB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE;AACvB,SAAK,KAAK,IAAI;AAChB,SAAO;AACT;AAEA,mBAAmB,MAAM,OAAO;AAC9B,SAAO,QAAQ,IAAI,KAAK,QAAQ;AAC9B,SAAK,SAAS,KAAK,QAAQ;AAC7B,OAAK,IAAG;AACV;AAEA,yBAAyB,KAAK;AAC5B,MAAI,MAAM,IAAI,MAAM,IAAI,MAAM;AAC9B,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,EAAE,GAAG;AACnC,QAAI,KAAK,IAAI,GAAG,YAAY,IAAI;AAAA,EACjC;AACD,SAAO;AACT;AAEA,eAAc,SAAS,MAAM;AAC3B,SAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAC5C,2BAAuB,KAAK;AAC1B,cAAQ,eAAe,MAAM,QAAQ;AACrC,aAAO,GAAG;AAAA,IACX;AAED,wBAAoB;AAClB,UAAI,OAAO,QAAQ,mBAAmB,YAAY;AAChD,gBAAQ,eAAe,SAAS,aAAa;AAAA,MAC9C;AACD,cAAQ,CAAA,EAAG,MAAM,KAAK,SAAS,CAAC;AAAA,IAEtC;AACI,mCAA+B,SAAS,MAAM,UAAU,EAAE,MAAM,KAAI,CAAE;AACtE,QAAI,SAAS,SAAS;AACpB,oCAA8B,SAAS,eAAe,EAAE,MAAM,KAAM,CAAA;AAAA,IACrE;AAAA,EACL,CAAG;AACH;AAEA,uCAAuC,SAAS,SAAS,OAAO;AAC9D,MAAI,OAAO,QAAQ,OAAO,YAAY;AACpC,mCAA+B,SAAS,SAAS,SAAS,KAAK;AAAA,EAChE;AACH;AAEA,wCAAwC,SAAS,MAAM,UAAU,OAAO;AACtE,MAAI,OAAO,QAAQ,OAAO,YAAY;AACpC,QAAI,MAAM,MAAM;AACd,cAAQ,KAAK,MAAM,QAAQ;AAAA,IACjC,OAAW;AACL,cAAQ,GAAG,MAAM,QAAQ;AAAA,IAC1B;AAAA,EACF,WAAU,OAAO,QAAQ,qBAAqB,YAAY;AAGzD,YAAQ,iBAAiB,MAAM,sBAAsB,KAAK;AAGxD,UAAI,MAAM,MAAM;AACd,gBAAQ,oBAAoB,MAAM,YAAY;AAAA,MAC/C;AACD,eAAS,GAAG;AAAA,IAClB,CAAK;AAAA,EACL,OAAS;AACL,UAAM,IAAI,UAAU,wEAAwE,OAAO,OAAO;AAAA,EAC3G;AACH;AC9dA,MAAM,IAAI;AAAA,EAYR,YAAY,KAAK,WAAW,UAAU,WAAW,UAA4C,IAAI;AAXzF,SAAA,QAAA;AACG,SAAA,WAAA;AACF,SAAA,SAAA;AACG,SAAA,YAAA;AACE,SAAA,cAAA;AACN,SAAA,QAAA;AACA,SAAA,QAAA;AACA,SAAA,QAAA;AACG,SAAA,WAAA;AACH,SAAA,QAAA;AAGN,SAAK,WAAW,GAAG,QAAQ,QAAQ,KAAK;AAEnC,SAAA,SAAS,uBAAuB,KAAK,EAAE;AAEvC,SAAA,QAAQ,KAAK,YAAY,KAAK;AAEnC,SAAK,YAAY,GAAG,QAAQ,SAAS,KAAK;AAE1C,SAAK,cAAc,KAAK,aAAa,GAAG,QAAQ,QAAQ,IAAI;AAE5D,SAAK,QAAQ,GAAG,QAAQ,WAAW,KAAK;AAExC,SAAK,QAAQ,GAAG,QAAQ,SAAS,KAAK;AAEjC,SAAA,QAAQ,eAAe,KAAK,EAAE;AAE9B,SAAA,WAAW,GAAG,QAAQ,gBAAgB,KAAK,KAAK,GAAG,QAAQ,QAAQ,IAAI;AAEvE,SAAA,QAAQ,CAAC,KAAK,SAAS,CAAC,KAAK,aAAa,CAAC,qBAAqB,KAAK,EAAE;AAE5E,WAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,WAAW;AAC/C,WAAa,OAAO;AAAA,IAAA,CACtB;AAAA,EACH;AACF;ACzBA,MAAM,sBAAsB;AAC5B,MAAM,uBAAuB;AAC7B,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAEa,MAAA,iBAAgC,CAAC,EAAE,OAAO,gBAAM,OAAO,GAAG,4BAA4B;AAStF,MAAA,qBAAqB,CAAC,iBAAyB,WAA4B;AAChF,QAAA,aAAa,GAAG,mBAAmB;AAErC,MAAA,gBAAgB,WAAW,mBAAmB;AAAU,WAAA;AAE5D,SAAO,GAAG,sBAAsB;AAClC;AAEO,MAAM,iBAAiB,CAAC,eAAuB,WAAW,WAAW,oBAAoB;AAGhG,MAAM,qBAAqB,CAAC,SAA6B,QAA6B;AH3DtF;AG4DE,MAAI,CAAC,SAAS;AACL,WAAA;AAAA,EACT;AAEI,MAAA,CAAC,QAAQ,IAAI;AACR,WAAA,mBAAmB,QAAQ,eAAe,GAAG;AAAA,EACtD;AAEA,QAAM,OAAO,UAAI,SAAJ,mBAAU,QAAQ,QAAQ;AACvC,MAAI,CAAC,MAAM;AACF,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAEA,MAAM,0BAA0B,CAAC,KAAU,WAAmB,MAAW;AACvE,QAAM,OAAO,mBAAmB,EAAE,QAAQ,GAAG;AAE7C,MAAI,MAAM;AACF,UAAA,EAAE,UAAU,SAAS;AAC3B,QAAI,KAAK,mBAAmB,WAAW,KAAK,EAAE,GAAG,QAAQ;AAAA,EAC3D;AACF;AAEa,MAAA,0BAA0B,CAAC,QAAa;AACnD,SAAO,SAAS,KAAK,iBAAiB,SAAS,CAAC,MAAW;AACjC,4BAAA,KAAK,SAAS,CAAC;AAAA,EAAA,CACxC;AAED,SAAO,SAAS,KAAK,iBACnB,SACA,CAAC,MAAW;AACc,4BAAA,KAAK,iBAAiB,CAAC;AAAA,KAEjD,IACF;AACF;AAEa,MAAA,sBAAsB,CAAC,YAAoB,SAAe;AACrE,QAAM,EAAE,aAAa;AAEb,UAAA,WAAW,QAAQ,sBAAsB,EAAE;AAAA,SAC5C,aAAa;AAChB,eAAS,KAAK;AACd;AAAA,SAEG,aAAa;AAChB,eAAS,KAAK;AACd;AAAA,SAEG,aAAa;AAChB,eAAS,IAAI,eAAe,EAAE,UAAU,SAAU,CAAA;AAClD;AAAA,SAEG,aAAa;AAChB,aAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAC9C;AAAA;AAKN;ACpGA,MAAM,aAAaC,OAAAA,QAAAA,aAAa;AAAA,EAQ9B,YAAY,QAAiC;AACrC;AAEN,UAAM,EAAE,oBAAW;AACnB,SAAK,OAAO;AACZ,SAAK,SAAS;AAEd,SAAK,eAAe;AAEf,SAAA,KAAK,WAAW,MAAM;AACzB,WAAK,WAAW;AAChB,UAAI,OAAO,KAAK,KAAK,YAAY,YAAY;AACtC,aAAA,KAAK,QAAQ,IAAI;AAAA,MACxB;AAEA,WAAK,eAAe;AAAA,IAAA,CACrB;AAAA,EACH;AAAA,EAEA,iBAAiB;AACV,SAAA,KAAK,WAAW,CAAC,aAAkB;AACtC,WAAK,WAAW;AAChB,UAAI,OAAO,KAAK,KAAK,YAAY,YAAY;AACtC,aAAA,KAAK,QAAQ,IAAI;AAAA,MACxB;AAAA,IAAA,CACD;AAEI,SAAA,KAAK,WAAW,CAAC,aAAkB;AACtC,WAAK,WAAW;AAChB,UAAI,OAAO,KAAK,KAAK,YAAY,YAAY;AACtC,aAAA,KAAK,QAAQ,IAAI;AAAA,MACxB;AAAA,IAAA,CACD;AAAA,EACH;AACF;ACvCA,MAAM,aAAa,KAAK;AAAA,EAGtB,YAAY,SAAwB;AAClC,UAAM,QAAQ,MAAM;AAHtB,SAAA,4BAAY;AAKV,SAAK,QAAQ,QAAQ,OAAO,IAAI,IAAI;AAC/B,SAAA,SAAS,QAAQ,MAAM;AAAA,EAC9B;AAAA,EAEA,SAAS,QAAiC;ALnC5C;AKoCI,SAAK,QAAQ,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC;AAEjC,iBAAA,UAAA,mBAAO,QAAQ,CAAC,YAAqC;AAC1D,WAAK,SAAS,OAAO;AAAA,IAAA;AAAA,EAEzB;AAAA,EAEA,QAAQ,IAAQ;AACP,WAAA,KAAK,MAAM,IAAI,EAAE;AAAA,EAC1B;AAAA,EAEA,QAAQ,IAAQ,MAAY;AACrB,SAAA,MAAM,IAAI,IAAI,IAAI;AAAA,EACzB;AAAA,EAEA,WAAW,IAAQ;AACZ,SAAA,MAAM,OAAO,EAAE;AAAA,EACtB;AACF;ACpCa,MAAA,YAAY,CAAC,UAAkB;AACtC,MAAA,OAAO,UAAU,UAAU;AACtB,WAAA;AAAA,EACT;AAEA,QAAM,MAA2B,CAAA;AACjC,QAAM,MAAM,GAAG,EAAE,QAAQ,CAAC,YAAY;AACpC,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AAEM,UAAA,QAAQ,QAAQ,MAAM,GAAG;AAE3B,QAAA,MAAM,MAAM;AACZ,QAAA,QAAQ,MAAM,KAAK,GAAG;AAE1B,QAAI,CAAC;AAAK;AAEV,UAAM,IAAI,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAChD,YAAQ,MAAM,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,EAAE;AAE9C,UAAA,IACH,MAAM,GAAG,EACT,IAAI,CAAC,GAAG,MAAO,IAAI,IAAI,GAAG,EAAE,GAAG,YAAA,IAAgB,EAAE,OAAO,CAAC,MAAM,CAAE,EACjE,KAAK,EAAE;AAEV,QAAI,OAAO;AAAA,EAAA,CACZ;AACM,SAAA;AACT;AAEa,MAAA,sBAAsB,CAAC,UAAkB;AAChD,MAAA,SAAS,CAAC,OAAO,KAAK,KAAK,KAAK,CAAC,mBAAmB,KAAK,KAAK,GAAG;AACnE,WAAO,OAAO;AAAA,EAChB;AACO,SAAA;AACT;ACZA,MAAM,YAAYA,OAAAA,QAAAA,aAAa;AAAA,EAY7B,YAAY,SAA2B;AAC/B;AAVR,SAAA,4BAAY;AAID,SAAA,WAAA;AACA,SAAA,WAAA;AAEX,SAAA,iCAAiB;AAKf,SAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AACrB,YAAA,YAAkB,MAAA,WAAW,QAAQ;AACrC,YAAA,YAAkB,MAAA,WAAW,QAAQ;AAG7C,QAAI,KAAK,aAAa,YAAY,KAAK,aAAa,UAAU;AAC5D,YAAM,eAAe,MAAM;AACzB,YAAI,EAAE,UAAU,SAAS,gBAAgB,sBAAsB;AACvD,gBAAA,KAAK,IAAI,KAAK,KAAK;AAC3B,cAAM,WAAW,QAAQ;AAChB,iBAAA,gBAAgB,MAAM,WAAW,GAAG;AAAA,MAAA;AAGlC;AAEJ,eAAA,KAAK,MAAM,WAAW;AAEpB,iBAAA,iBAAiB,UAAU,YAAY;AAAA,IACpD;AAEA,QAAI,QAAQ,gBAAgB;AAC1B,WAAK,iBAAiB,QAAQ;AAAA,IAChC;AAEA,YAAQ,UAAU,KAAK,UAAU,QAAQ,QAAQ,QAAQ,OAAO;AAEhE,4BAAwB,IAAI;AAAA,EAC9B;AAAA,EAOA,eAAe,OAAqC;AAClD,QAAI,CAAC,OAAO;AACV,aAAO;IACT;AAEA,QAAI,WAAgC,CAAA;AACpC,UAAM,UAA+B,CAAA;AAEjC,QAAA,OAAO,UAAU,UAAU;AAC7B,iBAAW,UAAU,KAAK;AAAA,IAAA,OACrB;AACL,iBAAW,mBAAK;AAAA,IAClB;AAEA,UAAM,YAAY,CAAC,UAAU,WAAW,YAAY;AACpD,WAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,WAAW;AACjD,UAAI,QAAQ,mBAAmB;AACnB,iBAAA,SAAQ,OAAO,oBAAoB,KAAK;AAAA,MAAA,WACzC,CAAC,UAAU,SAAS,GAAG,KAAK,SAAS,yBAAyB,KAAK,KAAK,GAAG;AAC5E,gBAAA,OAAO,GAAG,QAAQ;AAAA,MAAA,OACrB;AACL,gBAAQ,OAAO;AAAA,MACjB;AAAA,IAAA,CACD;AAEM,WAAA;AAAA,EACT;AAAA,EAOA,UAAU,QAAc,SAAc;AP5HxC;AO6HS,SAAA,4BAAY;AAEV,iBAAA,UAAA,mBAAO,QAAQ,CAAC,SAAS;AAC9B,WAAK,MAAM,IACT,KAAK,IACL,IAAI,KAAK;AAAA,QACP,QAAQ;AAAA,MACT,CAAA,CACH;AAAA,IAAA;AAGF,SAAK,QAAQ,WAAW,kBAAK,SAAL,mBAAW,SAAX,mBAAiB,GAAE;AAAA,EAC7C;AAAA,EAEA,QAAQ,IAAS;AACX,QAAA;AAEJ,QAAI,IAAI;AACC,aAAA,KAAK,MAAM,IAAI,EAAE;AAAA,IAC1B;AAEA,QAAI,CAAC,MAAM;AACF,aAAA,KAAK,MAAM,IAAI,KAAK,MAAM,OAAO,OAAO,KAAK;AAAA,IACtD;AAEA,SAAK,OAAO;AAER,QAAA,KAAK,aAAa,SAAS;AAC7B,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,kBAAkB,MAAc,WAAgB;AACzC,SAAA,WAAW,IAAI,MAAM,SAAS;AAAA,EACrC;AAAA,EAEA,oBAAoB,MAAc;AAC3B,SAAA,WAAW,OAAO,IAAI;AAAA,EAC7B;AAAA,EAEA,iBAAiB,MAAc;AACtB,WAAA,KAAK,WAAW,IAAI,IAAI;AAAA,EACjC;AAAA,EAEA,aAAa;APzKf;AO0KI,QAAI,CAAC,KAAK;AAAM;AAEhB,SAAK,mBAAmB;AAExB,eAAW,CAAA,EAAG,UAAU,KAAK,KAAK,OAAO;AACjC,kBAAA,WAAA,mBAAQ,QAAQ,CAAC,UAAU;AAC3B,YAAA,EAAE,MAAM,cAAc;AACtB,YAAA,eAAe,UAAU,CAAC,iBAAiB,aAAa,UAAU,SAAS,IAAI,IAAI;AAErF,sBAAY,mBAAmB,WAAW,GAAG,MAAM,KAAK,IAAI;AAAA,QAC9D;AAEA,aAAK,GAAG,WAAW,CAAC,YAAY,SAAS;APtLjD;AOuLU,cAAI,CAAC,KAAK;AAAY,kBAAA,IAAI,MAAM,sCAAQ;AAExC,gBAAM,SAAS,KAAK,KAAK,QAAQ,MAAM,EAAE;AACzC,cAAI,CAAC;AAAQ,kBAAM,WAAM,MAAM;AAEzB,gBAAA,EAAE,QAAQ,eAAe;AAC3B,cAAA,eAAe,UAAU,GAAG;AACvB,mBAAA,oBAAoB,YAAY,MAAM;AAAA,UAC/C;AAEA,cAAI,OAAO,eAAO,aAAP,oBAAkB,iBAAgB,YAAY;AACvD,mBAAO,SAAS,YAAY,SAAS,GAAG,IAAI;AAAA,UAC9C;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,IAEL;AAAA,EACF;AAAA,EAEA,UAAU;AACR,SAAK,mBAAmB;AACxB,SAAK,MAAM;EACb;AACF;;;"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/assets/value.js b/magic-admin/web/public/runtime/vue3/assets/value.js new file mode 100644 index 00000000..8acaf066 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/value.js @@ -0,0 +1,43 @@ +var page = { + items: [], + style: { + width: "100%", + height: "100%" + } +}; +var container = { + items: [], + style: { + width: "375", + height: "100" + } +}; +var button = { + text: "\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9", + multiple: true, + style: { + width: "270", + height: "37.5", + border: 0, + backgroundColor: "#fb6f00" + } +}; +var text = { + type: "text", + text: "\u8BF7\u8F93\u5165\u6587\u672C\u5185\u5BB9", + multiple: true, + style: { + width: "100", + height: "auto" + } +}; +(function() { + const values = { + "page": page, + "container": container, + "button": button, + "text": text + }; + window.magicPresetValues = values; +})(); +//# sourceMappingURL=value.js.map diff --git a/magic-admin/web/public/runtime/vue3/assets/value.js.map b/magic-admin/web/public/runtime/vue3/assets/value.js.map new file mode 100644 index 00000000..7d9fb5dc --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/assets/value.js.map @@ -0,0 +1 @@ +{"version":3,"file":"value.js","sources":["../../../../packages/ui/src/page/src/initValue.ts","../../../../packages/ui/src/container/src/initValue.ts","../../../../packages/ui/src/button/src/initValue.ts","../../../../packages/ui/src/text/src/initValue.ts","../../src/value-entry.ts"],"sourcesContent":["/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default {\n items: [],\n style: {\n width: '100%',\n height: '100%',\n },\n};\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default {\n items: [],\n style: {\n width: '375',\n height: '100',\n },\n};\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default {\n text: '请输入文本内容',\n multiple: true,\n style: {\n width: '270',\n height: '37.5',\n border: 0,\n backgroundColor: '#fb6f00',\n },\n};\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport default {\n type: 'text',\n text: '请输入文本内容',\n multiple: true,\n style: {\n width: '100',\n height: 'auto',\n },\n};\n","import page from '/parisma/github/tmagic-editor/packages/ui/src/page/src/initValue';\nimport container from '/parisma/github/tmagic-editor/packages/ui/src/container/src/initValue';\nimport button from '/parisma/github/tmagic-editor/packages/ui/src/button/src/initValue';\nimport text from '/parisma/github/tmagic-editor/packages/ui/src/text/src/initValue';\n\n(function() {\n const values: Record = {\n 'page': page,\n 'container': container,\n 'button': button,\n 'text': text,\n };\n\n window.magicPresetValues = values;\n})();"],"names":[],"mappings":"AAkBA,IAAe,OAAA;AAAA,EACb,OAAO,CAAC;AAAA,EACR,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;ACNA,IAAe,YAAA;AAAA,EACb,OAAO,CAAC;AAAA,EACR,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;ACNA,IAAe,SAAA;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,iBAAiB;AAAA,EACnB;AACF;ACTA,IAAe,OAAA;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AACF;ACrBC,AAAW,YAAA;AACV,QAAM,SAA8B;AAAA,IAClC,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAGV,SAAO,oBAAoB;AAC7B,GAAG;"} \ No newline at end of file diff --git a/magic-admin/web/public/runtime/vue3/page.html b/magic-admin/web/public/runtime/vue3/page.html new file mode 100644 index 00000000..3967ff57 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/page.html @@ -0,0 +1,19 @@ + + + + + + Vue3 Page + + + + + + + + + +
+ + + diff --git a/magic-admin/web/public/runtime/vue3/playground.html b/magic-admin/web/public/runtime/vue3/playground.html new file mode 100644 index 00000000..2ea543d0 --- /dev/null +++ b/magic-admin/web/public/runtime/vue3/playground.html @@ -0,0 +1,24 @@ + + + + + + + Vue3 Playground + + + + + + + + + +
+ + + + + + + \ No newline at end of file diff --git a/packages/editor/package-lock.json b/packages/editor/package-lock.json index 445b09a9..4623d5c3 100644 --- a/packages/editor/package-lock.json +++ b/packages/editor/package-lock.json @@ -62,7 +62,7 @@ }, "@popperjs/core": { "version": "npm:@sxzz/popperjs-es@2.11.7", - "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@sxzz%2fpopperjs-es/-/popperjs-es-2.11.7.tgz", "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@types/lodash": { diff --git a/packages/form/package-lock.json b/packages/form/package-lock.json index eb966096..a493094c 100644 --- a/packages/form/package-lock.json +++ b/packages/form/package-lock.json @@ -62,7 +62,7 @@ }, "@popperjs/core": { "version": "npm:@sxzz/popperjs-es@2.11.7", - "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@sxzz%2fpopperjs-es/-/popperjs-es-2.11.7.tgz", "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@types/lodash": { diff --git a/packages/table/package-lock.json b/packages/table/package-lock.json index 539326a5..8615735a 100644 --- a/packages/table/package-lock.json +++ b/packages/table/package-lock.json @@ -57,7 +57,7 @@ }, "@popperjs/core": { "version": "npm:@sxzz/popperjs-es@2.11.7", - "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@sxzz%2fpopperjs-es/-/popperjs-es-2.11.7.tgz", "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@types/lodash": { diff --git a/playground/package-lock.json b/playground/package-lock.json index 78c8936b..80390884 100644 --- a/playground/package-lock.json +++ b/playground/package-lock.json @@ -56,7 +56,7 @@ }, "@popperjs/core": { "version": "npm:@sxzz/popperjs-es@2.11.7", - "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "resolved": "https://mirrors.tencent.com/npm/@sxzz%2fpopperjs-es/-/popperjs-es-2.11.7.tgz", "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@types/lodash": {